Validate router
Router validation workflow. Used in a nightly schedule.
prepare_state(subscription_id)
Add required keys to the state for the workflow to run successfully.
Source code in gso/workflows/router/validate_router.py
verify_ipam_loopback(subscription)
Validate the IPAM resources for the loopback interface.
Raises:
Type | Description |
---|---|
ProcessFailureError
|
If IPAM is configured incorrectly. |
Source code in gso/workflows/router/validate_router.py
check_netbox_entry_exists(subscription)
Validate the Netbox entry for a Router.
This will only ensure existence of the node itself in Netbox. Validation of separate interfaces takes places in other subscriptions' validation workflows.
Source code in gso/workflows/router/validate_router.py
verify_p_ibgp(subscription)
Verify PE neighbors in P-ONLY
group on a P router.
Source code in gso/workflows/router/validate_router.py
verify_pe_mesh_in_pe(subscription)
Verify PE internal mesh neighbors on a PE router.
Source code in gso/workflows/router/validate_router.py
verify_all_p_in_pe(subscription)
Verify P neighbors in P-ONLY
group on a PE router.
Source code in gso/workflows/router/validate_router.py
check_librenms_entry_exists(subscription)
Validate the LibreNMS entry for a Router.
Raises an HTTP error 404 when the device is not present in LibreNMS.
Source code in gso/workflows/router/validate_router.py
check_kentik_entry_exists(subscription)
Validate the Kentik entry for a PE Router.
If a router has at least one layer 3 service insisting on it, there should be a valid Kentik license applied to this device. The only thing we can check for reliably, is whether this device does not have an archiving or placeholder license on it. This is because there can be multiple, valid, non-archiving licenses for devices.
Source code in gso/workflows/router/validate_router.py
verify_base_config(subscription)
Workflow step for running a playbook that checks whether base config has drifted.
Source code in gso/workflows/router/validate_router.py
validate_router()
Validate an existing, active Router subscription.
- Verify that the loopback interface is correctly configured in IPAM.
- Verify that the router is correctly configured in Netbox.
- Verify that the router is correctly configured in LibreNMS.
- Redeploy base config to verify the configuration is intact.
- Validate configuration of the iBGP mesh