Skip to content
Snippets Groups Projects

Feature/add validation workflows

Merged Karel van Klink requested to merge feature/add-validation-workflows into develop
3 files
+ 78
1
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -3,14 +3,15 @@
import json
from orchestrator.targets import Target
from orchestrator.utils.errors import ProcessFailureError
from orchestrator.utils.json import json_dumps
from orchestrator.workflow import StepList, done, init, step, workflow
from orchestrator.workflows.steps import resync, store_process_subscription, unsync
from orchestrator.workflows.utils import wrap_modify_initial_input_form
from gso.products.product_types.router import Router
from gso.services import infoblox
from gso.services.provisioning_proxy import execute_playbook, pp_interaction
from gso.workflows.router.create_router import verify_ipam_loopback
@step("Validate router configuration")
@@ -26,6 +27,18 @@ def validate_router_config(subscription: Router, callback_route: str) -> None:
)
@step("Verify IPAM resources for loopback interface")
def verify_ipam_loopback(subscription: Router) -> None:
"""Validate the :term:`IPAM` resources for the loopback interface.
Raises an :class:`orchestrator.utils.errors.ProcessFailureError` if IPAM is configured incorrectly.
"""
host_record = infoblox.find_host_by_fqdn(f"lo0.{subscription.router.router_fqdn}")
if not host_record or str(subscription.subscription_id) not in host_record.comment:
msg = "Loopback record is incorrectly configured in IPAM, please investigate this manually!"
raise ProcessFailureError(msg)
@workflow(
"Validate router configuration",
target=Target.SYSTEM,
Loading