Skip to content
Snippets Groups Projects

Added more steps in router termination including:

Merged Neda Moeini requested to merge feature/NAT-578-update-ibgp-mesh-on-terminating-router into develop
All threads resolved!
3 files
+ 254
3
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -12,7 +12,9 @@ from pydantic_forms.core import FormPage
from pydantic_forms.types import FormGenerator
from pydantic_forms.validators import Label
from gso.products.product_blocks.router import RouterRole
from gso.products.product_types.iptrunk import Iptrunk
from gso.products.product_types.router import Router
from gso.services import lso_client, subscriptions
from gso.settings import load_oss_params
@@ -160,3 +162,40 @@ def add_all_pe_to_p_real(
inventory=subscription["router"]["router_fqdn"],
extra_vars=extra_vars,
)
@step("Calculate list of all active PE routers")
def calculate_pe_router_list() -> State:
"""Calculate a list of all active PE routers in the network."""
all_routers = [
Router.from_subscription(r["subscription_id"]) for r in subscriptions.get_active_router_subscriptions()
]
all_pe_routers = [router for router in all_routers if router.router.router_role == RouterRole.PE]
return {"pe_router_list": all_pe_routers}
@step("Calculate list of all active P routers")
def calculate_p_router_list() -> State:
"""Calculate a list of all active P routers in the network."""
all_routers = [
Router.from_subscription(r["subscription_id"]) for r in subscriptions.get_active_router_subscriptions()
]
all_pe_routers = [router for router in all_routers if router.router.router_role == RouterRole.P]
return {"pe_router_list": all_pe_routers}
def generate_inventory(router_list: list[Router]) -> dict[str, Any]:
"""Generate an Ansible-compatible inventory for executing playbooks. Contains all active routers."""
return {
"all": {
"hosts": {
router.router.router_fqdn: {
"lo4": str(router.router.router_lo_ipv4_address),
"lo6": str(router.router.router_lo_ipv6_address),
"vendor": str(router.router.vendor),
}
for router in router_list
}
},
}
Loading