Skip to content
Snippets Groups Projects
create_router.md 2.18 KiB
Newer Older
# Create Router

To add a new router to the GÉANT network, the `create_router` workflow must 
be executed first. The intake form for this workflow requires the following 
fields to be filled in:

* Trouble ticket number
* Router vendor
* Router site
* Hostname
* Terminal server port
* Router role

The hostname is validated, by checking that the resulting FQDN is not 
already taken in IPAM.

!!! warning
    The validation only checks whether the FQDN is already taken in IPAM, 
    **not** whether it is registered somewhere on the internet.

When the workflow is started, a subscription object is first instantiated in 
the service database, containing all the information that was provided in 
the input form at the beginning. Then, the loopback addresses are allocated 
in IPAM, which results in both the IPv4 and IPv6 addresses in the product model.

Once allocated, the first dry run of deploying router configuration takes place.
An Ansible playbook is run, with all the attributes of the new router. This 
is where GSO communicates with LSO, and the router configuration is checked, 
but not committed to the machine.

After the dry run, the operator is presented with a view of the outcome of 
this playbook. This is their opportunity to verify successful execution of 
the Ansible playbook, and whether the difference in configuration is as 
expected. If not, this is their chance to abort the workflow, and no harm is
done to the router.

When the operator confirms the outcome of this playbook execution, the 
playbook runs once again, but it will also commit the configuration after 
checking. With the new router configured, the IPAM resources are verified to 
ensure this external system is configured correctly.

If the new router is a Nokia, all its interfaces are added to Netbox. This 
is done to keep track of interface reservations and bookkeeping. For Juniper 
routers, this does not need to take place. These existing devices are not 
migrated into Netbox.

Finally, an Ansible playbook is run to verify that the connectivity and 
optical power levels of the router are in order. Once this is completed, a 
checklist item is created in SharePoint and the router is taken into the
`PROVISIONING` state.