Automating Legacy Network Devices

Slides:



Advertisements
Similar presentations
Managing Cisco IOS Software. Overview The router boot sequence Locating IOS software The configuration register Recovering Passwords Backing Up the Cisco.
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.ICND1 v1.0—2-1 Ethernet LANs Operating Cisco IOS Software.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Configuring and Testing Your Network Network Fundamentals – Chapter 11.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.1 Configuring Network Devices Working at a Small-to-Medium Business or ISP – Chapter.
© 2004 Cisco Systems, Inc. All rights reserved. Managing Your Network Environment Managing Router Startup and Configuration INTRO v2.0—9-1.
CISCO ROUTER.  The Cisco router IOS  Enhanced editing  Administrative functions  Hostnames  Banners  Passwords  Interface descriptions  Verifying.
Netconf for Peering Automation APRICOT 2015 Tom Paseka.
Building service testbeds on FIRE D5.2.5 Virtual Cluster on Federated Cloud Demonstration Kit August 2012 Version 1.0 Copyright © 2012 CESGA. All rights.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 6 Switch Configuration.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 6 Switch Configuration.
1 CCNA 3 v3.1 Module 6 Switch Configuration Claes Larsen, CCAI.
Discovery 2 Internetworking Module 5 JEOPARDY John Celum.
Sybex CCNA Chapter 4: Cisco’s IOS and SDM Instructor & Todd Lammle.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Configuring and Testing Your Network Network Fundamentals – Chapter 11.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Configuring and Testing Your Network Network Fundamentals – Chapter.
Ansible with vCloud Air Workshop
CRaSH Portal Team. 2 Agenda Introduction to CRaSH Deployment and connection Using the CRaSH command Develop the CRaSH commands yourself.
Network Management Workshop Apricot 2010 Kuala Lumpur Managing network configuration with RANCID.
Cisco 1941W configuration Example
Copyright © 2012 Kendall Electric, Inc. All rights reserved.
Welcome to Azure App Services! Amie Seisay
Configuration Modes and TFTP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Router Initialization steps.
These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (
© 2002, Cisco Systems, Inc. All rights reserved..
Configuring and Testing Your Network Network Fundamentals.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Ansible and Ansible Tower 1 A simple IT automation platform November 2015 Leandro Fernandez and Blaž Zupanc.
NETCONFish: Speaking the network language Leonidas Poulopoulos GRNET NOC TNC2013 Maastricht, Netherlands, 3-6 June 2013 config = “
Introduction to Ansible
Some thoughts on Automation ________________________________________ Andy Davidson Allegro Networks (an IIX on twitter Monday 20 th April.
Michael DeHaan & Adrian Likins Red Hat. What is Func? A way to communicate with all your machines and query or control them over the network. Func uses.
If it’s not automated, it’s broken!
Configuring Network Devices
Ansible pour la gestion centralisée de réseau
Introduction to Ansible
Junos Automation Stack
@ Bucharest DevOps Hacker Meetup
Site Administration Tools: Ansible
Modernize Your Operations
Managing network configuration with RANCID
Operating & Configuring a Cisco IOS Device
z/Ware 2.0 Technical Overview
Cisco UCS Director – Carmel (5.0)
Get the Most Out of GoAnywhere: Agents
IT Atoumation / Conf. Mgmt...
Configuration Management
Chapter 10: Device Discovery, Management, and Maintenance
Advanced Integration and Deployment Techniques
Intro to Config Management Using Salt Open Source
Ansible and Zabbix Rushikesh Prabhune (Software Technical Consultant)
Automating an Open Source Hypervisor
Network Configuration Automation at LINX
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Chapter 10: Device Discovery, Management, and Maintenance
Configuring a Router Module 3 Semester 2.
Scaling Experiments.
Introduction to Ansible
Presented By - Avinash Pawar
Instructor & Todd Lammle
GBIF CESP Workshop, Madrid 2018 Dave Martin
Instructor & Todd Lammle
How to Improve Releasing Efficiency via i18N/L10n Test Automation.
Microsoft Flow Approvals 101
Configuration Management at its peak with
Automation of Control System Configuration TAC 18
Features Overview.
Hyperledger Fabric NodeSDK
Securing IaaS in the cloud
Demo for Partners and Customers
Presentation transcript:

Automating Legacy Network Devices Jason Edelman @jedelman8

Who Am I? Jason Edelman Traditional Network Engineer Worked for Cisco, VARs, etc. CCIE 15394, VCDX-NV 167 Shifted to software and systems ~4 years ago Provide training and consulting services on network automation technologies Blog: jedelman.com Twitter: @jedelman8

Agenda Why Automation? Network Device Programmability Python Libraries & Ansible Modules Ansible (Red Hat) Live Demo (Ansible)

Network Device Programmability How do you connect to the device? Nexus NX-API NETCONF Arista eAPI REST APIs API du jour 15-20% of all devices?

Network Device Programmability If there is an API, use it… If not, we have old faithful…SSH 85-90% of devices Legacy or Traditional?

It’s OKAY to use SSH

Python => Ansible Python Library Description Ansible Modules Specialty/Focus napalm Multi-vendor library. Uses APIs when possible, but uses SSH (netmiko) for IOS napalm_install_config Note: there are also “get” modules Managing device configurations pyntc ntc_file_copy ntc_save_config ntc_show_command ntc_config_command ntc_reboot ntc_install_os ntc_get_facts ntc_rollback System level tasks netmiko Multi-vendor SSH client (12+ vendors) Used by napalm and ntc modules SSH client

Ansible Agentless Built-in Templating Engine YAML & Jinja2 Reports, Docs, Configs, etc. Created and easily extended in Python (or language of your choice) Gaining adoption for Network Automation

Ansible Inventory File [bldg1] b1-closet1-stack1 b1-closet2-stack2 [bldg2] b2-closet1-stack1 b2-closet2-stack2 Inventory File - inventory

Ansible Inventory File & Playbook [bldg1] b1-closet1-stack1 b1-closet2-stack2 [bldg2] b2-closet1-stack1 b2-closet2-stack2 --- - name: deploy vlan on bldg2 switches hosts: bldg2 connection: local tasks: - name: ensure VLAN 10 exists nxos_vlan: vlan_id=10 name=web_vlan host={{ inventory_hostname }} Inventory File - inventory Playbook - vlan-pb.yml EXECUTE PLAYBOOK: $ ansible-playbook –i inventory vlan-pb.yml

ntc_show_command Multi-vendor Ansible module to streamline converting raw text into JSON key/value pairs Leverages TextFSM netmiko (SSH) is used for transport by default

ntc_show_command JSON data returned

Existing IOS Templates Other vendors and OSs exist too https://github.com/networktocode/ntc-templates/

Sample TextFSM Template No coding Regex in TextFsM templates is all that’s needed

ntc_config_command Send configs from list or from file 12+ device types supported (SSH)

ntc_get_facts Facts returned include: uptime (string) uptime (seconds) model vendor os_version serial_number hostname fqdn vlans interfaces

ntc_save_config Save the running configuration as the startup configuration or to a file on the network device. Performs a commit on Juniper devices / copy run start on others Optionally, save the running configuration as a file to the Ansible control host.

ntc_file_copy Copy local files via SCP to network devices

ntc_rollback Create Checkpoint file and rollback to it if there is an error Insert other tasks between

LIVE DEMO Ansible Quickstart & Overview Save & Backup configs Copying files Collecting Data: inventory & ‘show’ commands Creating Reports Pushing configs (time permitting)

DEMO FILES https://github.com/jedelman8/interop-2016/blob/master/backup-configs.yml

Slack Team slack.networktocode.com Self sign up Various channels for topics such as netmiko, napalm, ansible, trigger, and for specific vendors

Resources https://github.com/ktbyers/netmiko/ https://github.com/networktocode/pyntc https://github.com/napalm-automation/napalm https://github.com/networktocode/ntc-ansible/ https://github.com/napalm-automation/napalm-ansible https://github.com/networktocode/ntc-templates

THANK YOU! Jason Edelman @jedelman8 jedelman.com