nr_deploy_configs

This script will generate configurations by rendering our Jinja templates.

Configurations are deployed via Netmiko/Nornir to our devices. Before using this script, make sure you update the inventory host file with the correct Out of Band IP devices assigned to your lab topology.

Module Contents

Functions

load_all_data(task)

Read all the data from the associated YAML files inside data_input dir.

generate_full_mesh_list(task)

Loop through inventory hosts which are MPLS enabled devices.

render_main(task)

Render device configuration using our Jinja2 Templates.

push_config(task)

Push configurations to devices.

main()

Execute our Nornir runbook.

Attributes

__author__

__email__

DIR_PATH

nr

nr_deploy_configs.__author__ = 'Hugo Tinoco'
nr_deploy_configs.__email__ = 'hugotinoco@icloud.com'
nr_deploy_configs.DIR_PATH
nr_deploy_configs.nr
nr_deploy_configs.load_all_data(task)

Read all the data from the associated YAML files inside data_input dir.

Add all the variables into a data_input dictionary for the individual task.host.

nr_deploy_configs.generate_full_mesh_list(task)

Loop through inventory hosts which are MPLS enabled devices.

Generate a list of Loopback IP far-end addresses and add to a task_host[dict] to reference later as we deploy our full-mesh MPLS LSP Configuration.

This task 100% depends on the success of “load_all_data” task.

nr_deploy_configs.render_main(task)

Render device configuration using our Jinja2 Templates.

Write staged config to file for preview/debugging.

nr_deploy_configs.push_config(task)

Push configurations to devices.

nr_deploy_configs.main()

Execute our Nornir runbook.