• Stars
    star
    278
  • Rank 147,557 (Top 3 %)
  • Language
    Python
  • License
    Other
  • Created about 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Multi-vendor network modules

Multi-vendor Ansible Collection for Network Automation

Multi-vendor collection of Ansible Modules to automate repeateable tasks and data gathering. As of release 1.0.0 this collection is used pyntc v1.0.0 for the backend logic.

Modules

  • ntc_show_command - gets structured data from devices that don't have an API. This module uses SSH to connect to devices but via the backend pyntc library. Supports as many device types as netmiko supports.
  • ntc_config_command - sends commands to devices that don't have an API. This module uses SSH to connect to devices but via the backend pyntc library. Supports as many device types as netmiko supports.
  • ntc_save_config - saves the running config and optionally copies it to the Ansible control host for an offline backup. Uses SSH/netmiko for IOS, NX-API for Nexus, and eAPI for Arista.
  • ntc_file_copy - copies a file from the Ansible control host to a network device. Uses SSH for IOS, NX-API for Nexus, and eAPI for Arista.
  • ntc_reboot - reboots a network device. Uses SSH/netmiko for IOS, NX-API for Nexus, and eAPI for Arista.
  • ntc_rollback - performs two major functions. (1) Creates a checkpoint file or backup running config on box. (2) Rolls back to the previously created checkpoint/backup config. Use case is to create the checkpoint/backup as the first task in a playbook and then rollback to it if needed using block/rescue, i.e. try/except in Ansible. Uses SSH/netmiko for IOS, NX-API for Nexus, and eAPI for Arista.
  • ntc_install_os - installs a new operating system or just sets boot options. Depends on platform. Does not issue a "reload" command, but the device may perform an automatic reboot. Common workflow is to use ntc_file_copy, ntc_install_os, and then ntc_reboot (if needed) for upgrades. Uses SSH/netmiko for IOS, NX-API for Nexus, and eAPI for Arista. For Cisco stack switches pyntc leverages install_mode flag to install with the install command. This has an optional parameter of install_mode available on install_os.
  • ntc_validate_schema - Validate data against required schema using json schema.
  • jdiff - jdiff is a lightweight Python library allowing you to examine structured data. jdiff provides an interface to intelligently compare--via key presense/absense and value comparison--JSON data objects.

Background

These modules have a long history of using multiple different python libraries, as of 1.0.0 release of pyntc, all functionality in these modules have been moved to pyntc for easier supportability.

As more functionality and enhancements are made to pyntc, those will map over into these modules to extend them.

More Repositories

1

awesome-network-automation

Curated Awesome list about Network Automation
2,230
star
2

ntc-templates

TextFSM templates for parsing show commands of network devices
Python
1,072
star
3

ntc-netbox-plugin-onboarding

A plugin for NetBox to easily onboard new devices.
Python
245
star
4

netutils

Python library that is a collection of functions and objects for common network automation tasks.
Python
214
star
5

pyntc

Python library focused on tasks related to device level and OS management.
Python
169
star
6

network-importer

The network importer is a tool/library to analyze and/or synchronize an existing network with a Network Source of Truth (SOT), it's designed to be idempotent and by default it's only showing the difference between the running network and the remote SOT.
Python
166
star
7

diffsync

A utility library for comparing and synchronizing different datasets.
Python
144
star
8

yangify

Library to help parsing/translating YANG models from/to native text/structures
Python
113
star
9

ntc-rosetta

The missing bridge between industry standard CLIs and YANG
Python
102
star
10

circuit-maintenance-parser

Python library to parse circuit maintenances from network service providers.
HTML
71
star
11

fortimanager-ansible

Ansible Modules to manage Fortinet FortiManager
Python
65
star
12

schema-enforcer

Schema Enforcer provides a framework for testing structured data against schema definitions.
Python
46
star
13

netbox_day_2020

NetBox Day 2020 Content
41
star
14

ntc-netbox-plugin-metrics-ext

NetBox Plugin to improve the instrumentation of NetBox and expose additional metrics (Application Metrics, RQ Worker).
Python
38
star
15

ntc-soteria

ACL/Flow Auditing Tool based on Batfish
Python
30
star
16

anit

Ansible Network Infrastructure Testing Framework
Python
28
star
17

interop2020-slides

Network Automation Summit Slides
25
star
18

jdiff

Python
21
star
19

pynxos

A library for managing Cisco NX-OS devices through NX-API.
Python
17
star
20

netbox-training

Examples and demos from Network to Code's NetBox training
Jupyter Notebook
16
star
21

interop2020-ansible-molecule

Ansible Molecule demo for Network Automation
Python
14
star
22

2022-ntc-content

Content from NTCers at conferences, blogs, videos, and other events in 2022.
Python
14
star
23

nso-restconf-postman-examples

12
star
24

netscaler-ansible

Ansible Modules to manage Citrix Netscaler devices
Python
11
star
25

ansible-replay

A way to play captured Ansible output in a way that looks like a real ansible-playbook was ran
Python
10
star
26

bsn-ansible

Ansible modules for automating Big Switch Networks' products
Python
9
star
27

clemea-demo

For Cisco Live Amsterdam workshop
Python
8
star
28

cisco-test-modules

Python
6
star
29

ntc-rosetta-conf

Restconf interface for rosetta
Python
5
star
30

meetups

Relevant code and slides for Network-to-Coders meetups
5
star
31

flowtracker

Trace a flow through a data center fabric of Nexus switches
Python
5
star
32

ntc-yang-models

Usable and relevant YANG models for everyone
Python
5
star
33

arista-atd

Python
5
star
34

interop2020-batfish

4
star
35

ntc-misc

General repository used for sharing misc one-off projects
Python
4
star
36

clus-2018

Python
3
star
37

inog9

Slides and labs from iNOG 9 in Dublin
HTML
3
star
38

ntc-sample-pbs

General Testing of Playbooks
2
star
39

nornir-pyntc

Pyntc Plugin for Nornir
Python
2
star
40

nautobot-example-dns-manager

Python
2
star
41

ntc-tesuto

Menu-driven application to manage Tesuto emulations
Python
2
star
42

test-api

1
star
43

python-checker

Docker image for checking Python code easily
Shell
1
star
44

cicd-testing

1
star