Skip to content

An Ansible Collection of DevOps Playbooks, Roles, and Utilities

Notifications You must be signed in to change notification settings

model-driven-devops/ansible-mdd

Repository files navigation

Cisco Model-Driven Devops Ansible Collection

This Ansible Collection is an implementation of Model-Driven DevOps and includes the following roles:

Dependencies

Environment Variables

If using NetBox:

  • NETBOX_API
  • NETBOX_TOKEN

To use an external NSO (i.e. not deployed in CML):

  • NSO_URL Protocol, FQDN or IP address and port (e.g. http://192.168.1.100:8080)
  • NSO_USERNAME
  • NSO_PASSWORD

Playbooks

Status Check Operations

ciscops.mdd.run_check_list

- Run the list of checks defined in `check_list`
Required Data Structures
  • check_list: List of checks to run
  • check_table: Dictionary defining the checks

Note: See default values in roles/check/defaults/main.yml

ciscops.mdd.update_netbox_from_nso

- Update Netbox from NSO

Example:

ansible-playbook ciscops.mdd.update_netbox_from_nso

ciscops.mdd.netbox_init

- Initialize Netbox

Example:

ansible-playbook ciscops.mdd.netbox_init

Note: Netbox modules to not work with Ansible <4, so the entire path will need to be specified when running with Ansible <3

ciscops.mdd.netbox_init

  • Initialize Netbox

ansible-playbook ciscops.mdd.netbox_init

ciscops.mdd.cml_update_netbox

  • Add hosts from CML into netbox

Inventory Source: CML

Example:

ansible-playbook cml_update_netbox

ciscops.mdd.nso_update_netbox

  • Update Netbox devices from NSO

Example:

ansible-playbook nso_update_netbox

ciscops.mdd.nso_init

  • Initialize NSO

Example:

ansible-playbook nso_init

ciscops.mdd.nso_update_devices

  • Update NSO devices from inventory source

Example:

ansible-playbook nso_update_devices