Skip to content
Snippets Groups Projects

Reworked devices and sites - added new attribute to manage local connection to IAS

Merged Simone Spinelli requested to merge feature/NAT-251_modify_sites_and_devices into develop
All threads resolved!
2 files
+ 12
6
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -52,7 +52,7 @@ def deprovision_loopback_ips(subscription: Device) -> dict[str, HostAddresses]:
@step("Deprovision SI- interface IPs from IPAM/DNS")
def deprovision_si_ips(subscription: Device) -> dict[str, V4ServiceNetwork | V6ServiceNetwork]:
service_network = ipam.delete_network(
network=ipaddress.ip_network(subscription.device.device_si_ipv4_network),
network=ipaddress.ip_network(subscription.device.device_si_ipv4_network), # type: ignore
service_type="SI",
)
return {"service_network": service_network}
@@ -61,11 +61,11 @@ def deprovision_si_ips(subscription: Device) -> dict[str, V4ServiceNetwork | V6S
@step("Deprovision LT- interface (IAS) IPs from IPAM/DNS")
def deprovision_lt_ips(subscription: Device) -> dict[str, V4ServiceNetwork | V6ServiceNetwork]:
service_network_v4 = ipam.delete_network(
network=ipaddress.ip_network(subscription.device.device_ias_lt_ipv4_network),
network=ipaddress.ip_network(subscription.device.device_ias_lt_ipv4_network), # type: ignore
service_type="LT_IAS",
)
service_network_v6 = ipam.delete_network(
network=ipaddress.ip_network(subscription.device.device_ias_lt_ipv6_network),
network=ipaddress.ip_network(subscription.device.device_ias_lt_ipv6_network), # type: ignore
service_type="LT_IAS",
)
return {
@@ -87,8 +87,14 @@ def remove_config_from_device() -> None:
def terminate_device() -> StepList:
run_ipam_steps = conditional(lambda state: state.get("clean_up_ipam", True))
run_config_steps = conditional(lambda state: state.get("remove_configuration", True))
run_ias_removal = conditional(lambda subscription: "device_ias_lt_ipv4_network" in subscription.get("device", {}))
run_si_removal = conditional(lambda subscription: "device_si_ipv4_network" in subscription.get("device", {}))
ipam_steps = StepList([deprovision_loopback_ips, deprovision_si_ips, deprovision_lt_ips])
ipam_steps = (
StepList([deprovision_loopback_ips])
>> run_si_removal(deprovision_si_ips)
>> run_ias_removal(deprovision_lt_ips)
)
return (
init
Loading