Curated Awesome list about Network Automation
Go to file
2017-09-19 14:34:59 +02:00
.github add pull request template back 2017-09-17 20:41:02 -04:00
LICENSE update license, pull request template, api docs 2017-09-14 07:20:53 -04:00
README.md Added PRESENTATION to ToC, rearranged ToC topics to match content 2017-09-19 14:34:59 +02:00

Awesome Network Automation Awesome

A curated list of awesome about Network Automation

Community

  • Ansible Google Groups - Welcome to Ansible's mailing list / forum!
  • IRC Ansible - Ansible IRC Channels
  • Network to Code Slack - NTC Slack is the home/pseudo-home to many popular repo's (NAPALM/netmiko/netbox/nsot) and over 3000 members around Network Automation.
  • Salt Formulas - The SaltStack formulas working group.
  • Salt Networks - The goal of this group is to have a central place to communicate goals about network device automation with SaltStack.
  • Salt Users - The official forum of the Salt community.

Events / Meetup

  • AWS Reinvent - AWS re:Invent Central is designed to facilitate connections between sponsors and attendees.
  • Ansible Fest - AnsibleFest is a day-long conference bringing together Ansible users, developers and industry partners to share best practices, case studies and Ansible news.
  • London Network Automation Meetup - A community of network engineers, who have interest in the new buzz of network automation.
  • Tech Field Day - Field Day events bring together innovative IT product vendors and independent thought leaders to share information and opinions in a presentation and discussion format.
  • SaltConf - A 4 days event including two days of SaltStack customer case studies and SaltStack technical deep dives.

Training

  • IP Space - On ipSpace.net you'll find numerous courses, webinars, and videos covering SDN, network automation, cloud computing, virtualization technologies, IPv6 and VPNs.
  • Network to Code - Network Automation Training including Python, Ansible, DevOps, and much more.
  • Mircea Ulinic - Learn more about cross-vendor event-driven network automation and orchestration.
  • Python for Network Engineers - You will learn skills that make you better at network automation and that improve your capability to use programming to scale your work.

Presentations

Blogs

  • cidrblock - The Network Automation thoughts of Bradley A. Thornton
  • Coding Networker - The Network Automation thoughts of Henry Ölsner
  • Coding Packets - The Network Automation thoughts of Brad Searle
  • Jason Edelman - The Network Automation thoughts of Jason Edelman
  • IPEngineer - David Gee - Network automation, software-networking and musings from David Gee
  • ipSpace.net - Ivan Pepelnjak - Network automation blog posts by Ivan Pepelnjak
  • Mircea Ulinic - Random thoughts of Mircea Ulinic. May include event-driven network automation, vendor bashing or machine learning (TBD).
  • Napalm-automation - News and updates about the NAPALM project
  • Networklore - The Network Automation thoughts of Patrick Ogenstad
  • Networker and Coder - The Network Automation thoughts of Csilla Bessenyei
  • Network OP - The Network Automation thoughts of Michael Kashin
  • Packet Life - The Network Automation thoughts of Jeremy Strech
  • Project 10 - The Network Automation thoughts of Gabriele Gerbino
  • Scott Lowe - The Network Automation thoughts of Scott Lowe

Programming Topics

Structured Data

YAML

JSON

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

XML

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

YANG

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

Jinja2

API

RestConf

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

NETCONF

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

Python

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

Go

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

Vendor API Docs

  • Arista EAPI - The Arista Command eAPI is a simple and complete API that allows you to configure and monitor your Arista switches
  • Cisco IOS-XR - Cisco IOS-XR API Docs only
    • XR-Docs - Documentation Blogs and Tutorials on all things IOS-XR An Open, Extensible and Stable Cloud-Scale Network Operating System
  • F5 - REST API User Guide, Version 13.0.0
  • Infoblox - Externally hosted Infoblox API docs

Open Source Projects

Ansible

Salt

Puppet

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

Chef

  • Getting Started and Basics
  • Examples
  • Advanced and Tools

Products

  • NSOT - Network Source of Truth (NSoT) a source of truth database and repository for tracking inventory and metadata of network entities to ease management and automation of network infrastructure
  • ToDD - ToDD is an extensible framework for providing natively distributed testing on demand.
  • Nuts - Network Unit Testing System automates tests in the network similar to unit tests.
  • Trigger - Trigger is a robust network automation toolkit written in Python that was designed for interfacing with network devices and managing network configuration and security policy.
  • pyNMS - pyNMS is a vendor-agnostic Network Management System for network visualization, inventory and graphical automation.
  • Rundeck - Job scheduler and runbook (and Ansible playbook) automation

Library

  • Capirca - Multi-platform ACL generation system; can output Juniper/IOS/etc ACLs from the same policy
  • ciscoconfparse - Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations
  • Condoor - This is a python module providing access to Cisco devices over Telnet and SSH
  • EasySNMP - Easy to use and very fast SNMP library that uses Net-SNMP
  • JINJA2 - Jinja2 is a full featured template engine for Python
  • Napalm - NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API.
  • netaddr - Network address manipulation that supports a number of techniques (supernetting and subnetting)
  • Netmiko - Multi-vendor library to simplify Paramiko SSH connections to network devices
  • TextFSM - Python module for parsing semi-structured text into python tables.

Non-Core Ansible Modules

Pre-written Salt States (Formulas)

  • napalm-install-formula - Salt formula to simplify the installation of the necessary packages and system dependencies for NAPALM.
  • napalm-ntp-formula - Formula to manage the NTP configuration on network devices, following the OpenConfig system YANG model.

Vendor Abstraction Library

  • clicrud - Brocade specific (MLX/VDX/ICX/CER/CES) CLI driver (Telnet & SSH)
  • f5-common-python - Python SDK for configuration and monitoring of F5 BIG-IP devices via the iControl REST API.
  • infoblox - Python library for Infoblox
  • pandevice - Python library for Palo Alto
  • pyeapi - Python library for Arista EOS
  • pyfg - Python library for Fortinet
  • pyiosxr - Python library for Cisco IOSXR
  • pynxos - Python library for Cisco NXOS
  • py-junos-exnc - Python library for Junos automation

Tools

  • BGP-Dashboard - BGP Dashboard and Monitoring Web Application
  • Drawthe.net - Draw network diagrams described in YAML files
  • napalm-logs - Cross-vendor normalisation for network syslog messages, following the OpenConfig and IETF YANG models.
  • Net-Config - Automation framework for network devices
  • NetCopa - Network device configuration parser ("industry standard" -> YAML converter)
  • NetSpark-Scripts - Netmiko-based scripts to assist the Network Administrators and Engineers of the world!
  • NetTools - Simple network python scripts
  • Network-CI - Proof of Concept of CI/CD methodology applied to traditional non-SDN network topologies
  • NetGrph - Network graph modeling database

Hypervisor's

  • Docker
  • Vagrant
  • Kubernetes
  • Marathon
  • VirtualBox
  • ESX

Backups

  • Cidr - Cidr Is not as Dumb as Rancid
  • Gerty - A universal framework for device management automation. Eventually a replacement for RANCID... and much more
  • Jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet.
  • Oxidized - Oxidized is a network device configuration backup tool. It's a RANCID replacement!
  • RANCID - RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System), Subversion or Git to maintain history of changes
  • Sweet - Network device configuration backups and change alerts for the 21st century - inspired by RANCID!
  • Unimus - Configuration backup with an easy to use Web GUI. From nothing to backing-up 1000 routers in 15 minutes.

IPAM

  • bluecat - BlueCat provides network intelligence and insight into the relationship between devices, users and IP addresses that can be put into action to improve security and ensure reliable, always-on business connectivity.
  • haci - HaCi is an IP Address / Network Administration (IPAM) Tool with IPv6 support.
  • infoblox - Industry leader in DNS, DHCP, and IP address management, the category known as DDI
  • netbox - NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool.
  • nipap - nipap is a sleek, intuitive and powerful IP address management system built to handle large amounts of IP addresses.
  • NSoT - Network Source of Truth is an open source IPAM and network inventory database.
  • phpipam - phpipam is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management.

Configuration Management

  • Solarwinds - Automated network configuration and compliance management
  • ManageEngine - Network Configuration Manager is a multi vendor network change, configuration and compliance management (NCCCM) solution for switches, routers, firewalls and other network devices
  • Rconfig - A free, open source network device configuration management tool, customizable to your needs!
  • Unimus - Network-wide configuration search and config diff over time in an easy to use web GUI.

Books

Vendor Agnostic Products

  • Apstra - The Apstra Operating System (AOS) is a vendor-agnostic distributed operating system for the data center network that enables business agility, dramatically scales operational efficiency, and reduces downtime.
  • Glue - With Gluware, the Glue Networks vision and team are continuing to trail-blaze at the forefront of the networking industry with multi-vendor orchestration solutions for Data Center, WAN and LAN networks.

Network Vendor Products

  • Cisco Merkai - Cisco Meraki is the leader in cloud controlled WiFi, routing, and security. Secure and scalable, Cisco Meraki enterprise networks simply work
  • Cisco Viptela - Viptela provides Software-Defined Wide Area Network (SD-WAN) technology that allows global companies to build cost-effective WANs
  • Talari - Talari Networks SD-WAN technology

Podcasts

Podcasts Feeds

Podcasts Episodes

Contributing

Contributions about network automation are most welcome!

This list is just getting started, please contribute to make it super awesome.

License

Licensed under the Apache License, Version 2.0, see LICENSE file for more detail