SlideShare a Scribd company logo
1 of 22
NetDevOps for the Network Dude
How to get started with API's, Ansible and Python
Kevin Kuhls, Technical Leader
@sdn_dude
DEVNET- 1002
• Introduction
• Automation Motivation
• Tools
• Infrastructure as Code
• Programmable Modules
• Conclusion
Agenda
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 3DEVNET- 1002
Who’s this guy?
• 1998 – Cisco Router
• 2002 – PIX Firewall
• BIG LULL
• 2012 – DC Technologies (UCS, Nexus, VMWare)
• 2014 – OpenStack, ACI
• 2015 – Network Programmability, SDN
• Old Dog learning new tricks
…and should I listen or look at my phone?
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 4DEVNET- 1002
Motivators for Automation
• Lots of Equipment
• ~1000 Network Devices
• Multiple Operating Systems
• IOS
• IOSXR
• IOSXE
• NXOS
• ASA OS
• Multivendor Security Appliances
(WAF, DDoS, LB)
• Small team
• 6 people
• Rapid Deployment
• Several new Datacenters per year
• Several Service Deployments
requiring changes
Demo – Automated Fabric Install
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 6DEVNET- 1002
Automation Requirements
• Efficient
• Repeatable
• Reusable
• Observable
• Revision controlled
• Standard
We need an Automation framework that is full of ERRORS
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is Ansible
Ansible, an open source community project sponsored by Red Hat, is the simplest
way to automate IT. Ansible is the only automation language that can be used
across entire IT teams – from systems and network administrators to developers
and managers.
Ansible by Red Hat provides enterprise-ready solutions to automate your entire application
lifecycle – from servers to clouds to containers and everything in between.
It uses no agents and no additional custom security infrastructure, so it's easy to deploy -
and most importantly, it uses a very simple language (YAML, in the form of Ansible
Playbooks) that allow you to describe your automation jobs in a way that approaches plain
English.
7DEVNET- 1002
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Why did we choose Ansible?
• Agentless
• Server and support teams already using Ansible
• Infrastructure as code
• Simple to use and learn
• Community and vendor driven
• Modular framework, easily modified
• Leverage many common programming languages
8DEVNET- 1002
Exercise 1 - Ansible 2.1 IOS
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 10DEVNET- 1002
Jinja Template
# Simple Variable Replacment
hostname {{sitecode}}-fw
# Variable Replacement based on Dictionary
route outside 0.0.0.0 0.0.0.0 {{config['vlan101']['ip'][1]}}
# Loop Through set of data to create multiple lines
{%for route in config['routes'] %}
route oob-vpn {{config['routes'][route]['network']}} {{config['routes'][route]['mask']}} {{config['vlan90']['ip'][1]}}
{% endfor %}
# Conditional Statements
{% if config[‘vlan41’] is defined %}
route dmzext {{config['vlan41']['ip'][0]}} {{config['vlan41']['ip'].netmask}} {{config['vlan102']['ip'][1]}}
{endif %}
Contains variables and/or expressions which get replaced with values when rendered
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 11DEVNET- 1002
Yaml
• Structure to define:
• dictionary (unordered set of key value
pairs, lists)
• list of items
• key value pair
# A sample employee record
name: Kevin Kuhls
job: Network Engineer
skill: Advanced
employed: True
certifications:
- CCIE RS
- CCIE DC
- CISSP
- VCP
languages:
perl: Novice
python: Intermediate
education: |
BS in Computer Engineering
Exercise 2 – Ansible 2.1 IOS
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 13DEVNET- 1002
Infrastructure as Code
svc_object_groups:
- name: ossdm-elk-ports-tcp
protocol: tcp
values:
- 9092
net_object_groups:
- name: ossdm-elk
values:
- '{{ ossdm_kfk_001 }}'
- '{{ ossdm_kfk_002 }}'
- '{{ ossdm_kfk_003 }}’
Represent a Configuration as a set of machine-processable definition files
access_lists:
- name: APPS-IN
entry:
dest_address: ossdm-elk
src_address: cis-apps
dest_service: ossdm-elk-
ports-tcp
permit: true
protocol: tcp
position: 1
Infrastructure as Code exercise
Customize or Write your own
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 16DEVNET- 1002
Network Device Application Program Interfaces
• IOS
• CLI
• IOS-XE
• CLI
• Netconf (with ConfD)
• IOS-XR
• CLI
• Netconf
• NXOS
• CLI
• NXAPI
• ACI
• APIC Rest API
• ASA
• CLI
• ASA Rest API
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
References
Ansible – http://www.Ansible.com
Jinja - https://kontrolissues.net/2016/01/14/intro-to-jinja2/
YAML - http://www.yaml.org/start.html
VIRL – Virtual Internet Routing Lab (how the demos were deployed) http://virl.cisco.com/
dCloud – The Cisco Demo Cloud (where the demos were deployed) https://dcloud.cisco.com/
Source code in Github:
• Clone exercises from session: git clone git@github.com:kuhlskev/devnet1002.git
• Ansible Networking - https://github.com/ansible/ansible-modules-core/tree/stable-2.1/network
• Napalm - https://github.com/napalm-automation/napalm
• Pycsco - https://github.com/jedelman8/pycsco
• Pyiosxr - https://github.com/fooelisa/pyiosxr
• ASA - https://github.com/networklore/ansible-cisco-asa, https://github.com/kuhlskev/ansible-cisco-asa
• Netmiko - https://github.com/ktbyers/netmiko
Blogs:
• https://pynet.twb-tech.com/
• http://jedelman.com/home/ansible-for-networking/
• https://pynet.twb-tech.com/blog/automation/napalm-ios.html
• https://networklore.com/
17DEVNET- 1002
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Complete Your Online Session Evaluation
Don’t forget: Cisco Live sessions will be available
for viewing on-demand after the event at
CiscoLive.com/Online
• Give us your feedback to be
entered into a Daily Survey
Drawing. A daily winner will
receive a $750 Amazon gift card.
• Complete your session surveys
through the Cisco Live mobile
app or from the Session Catalog
on CiscoLive.com/us.
18DEVNET- 1002
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Lunch & Learn
• Meet the Engineer 1:1 meetings
• Related sessions:
• DEVNET-1016 Transforming Network Operations from Configuration Automation
Through State Validation with Ansible
• LABNMS-1023 NX-OS Programming Lab
• BRKDCT-2459 Programmability and Automation on Cisco Nexus Platforms
19DEVNET- 1002
Thank you
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Network Programmability Cisco Education Offerings
Course Description Cisco Certification
Integrating Business Applications with Network
Programmability (NIPBA);
Integrating Business Applications with Network
Programmability for Cisco ACI (NPIBAACI)
Learn networking concepts, and how to deploy and troubleshoot
programmable network architectures with these self-paced courses.
Cisco Business Application
Engineer Specialist Certification
Developing with Cisco Network Programmability
(NPDEV);
Developing with Cisco Network Programmability
for Cisco ACI (NPDEVACI)
Learn how to build applications for network environments and effectively
bridge the gap between IT professionals and software developers.
Cisco Network Programmability
Developer Specialist Certification
Designing with Cisco Network Programmability
(NPDES);
Designing with Cisco Network Programmability
for Cisco ACI (NPDESACI)
Learn how to expand your skill set from traditional IT infrastructure to
application integration through programmability.
Cisco Network Programmability
Design Specialist Certification
Implementing Cisco Network Programmability
(NPENG);
Implementing Cisco Network Programmability
for Cisco ACI (NPENGACI)
Learn how to implement and troubleshoot open IT infrastructure
technologies.
Cisco Network Programmability
Engineer Specialist Certification
For more details, please visit: http://learningnetwork.cisco.com
Questions? Visit the Learning@Cisco Booth or contact ask-edu-pm-dcv@cisco.com
22DEVNET- 1002

More Related Content

What's hot

PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...
PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...
PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...PROIDEA
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackAbderrahmane TEKFI
 
Network automation ansible_nx-api
Network automation ansible_nx-apiNetwork automation ansible_nx-api
Network automation ansible_nx-apiJoel W. King
 
Microsoft Windows 10 Bootcamp - Active directory
Microsoft Windows 10 Bootcamp - Active directoryMicrosoft Windows 10 Bootcamp - Active directory
Microsoft Windows 10 Bootcamp - Active directoryOlav Tvedt
 
An Evaluation of OpenStack Deployment Frameworks
An Evaluation of OpenStack Deployment FrameworksAn Evaluation of OpenStack Deployment Frameworks
An Evaluation of OpenStack Deployment Frameworksshane_gibson
 
1 my sql20151219-kaji_ivan
1 my sql20151219-kaji_ivan1 my sql20151219-kaji_ivan
1 my sql20151219-kaji_ivanIvan Tu
 
Websockets: Pushing the web forward
Websockets: Pushing the web forwardWebsockets: Pushing the web forward
Websockets: Pushing the web forwardMark Roden
 
[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform
[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform
[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack PlatformOpenStack Korea Community
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
Introducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep diveIntroducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep diveCisco DevNet
 
Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet
 
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'OpenStack Korea Community
 
Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?Елена Ежова
 
What's New in Grizzly & Deploying OpenStack with Puppet
What's New in Grizzly & Deploying OpenStack with PuppetWhat's New in Grizzly & Deploying OpenStack with Puppet
What's New in Grizzly & Deploying OpenStack with PuppetMark Voelker
 
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's HotOpenStack Korea Community
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-worldopenstackindia
 
Unlock Your Cloud Potential with Mirantis OpenStack & Cumulus Linux
Unlock Your Cloud Potential with Mirantis OpenStack & Cumulus LinuxUnlock Your Cloud Potential with Mirantis OpenStack & Cumulus Linux
Unlock Your Cloud Potential with Mirantis OpenStack & Cumulus LinuxCumulus Networks
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015Mark Voelker
 
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinAdvanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinMasahiro Nagano
 

What's hot (20)

PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...
PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...
PLNOG16: Automatyzacja kreaowania usług operatorskich w separacji od rodzaju ...
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStack
 
Network automation ansible_nx-api
Network automation ansible_nx-apiNetwork automation ansible_nx-api
Network automation ansible_nx-api
 
Microsoft Windows 10 Bootcamp - Active directory
Microsoft Windows 10 Bootcamp - Active directoryMicrosoft Windows 10 Bootcamp - Active directory
Microsoft Windows 10 Bootcamp - Active directory
 
An Evaluation of OpenStack Deployment Frameworks
An Evaluation of OpenStack Deployment FrameworksAn Evaluation of OpenStack Deployment Frameworks
An Evaluation of OpenStack Deployment Frameworks
 
1 my sql20151219-kaji_ivan
1 my sql20151219-kaji_ivan1 my sql20151219-kaji_ivan
1 my sql20151219-kaji_ivan
 
Websockets: Pushing the web forward
Websockets: Pushing the web forwardWebsockets: Pushing the web forward
Websockets: Pushing the web forward
 
[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform
[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform
[OpenStack Days Korea 2016] Track1 - Red Hat enterprise Linux OpenStack Platform
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Introducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep diveIntroducing Cloud Development with Project Shipped and Mantl: a deep dive
Introducing Cloud Development with Project Shipped and Mantl: a deep dive
 
Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with Puppet
 
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
[OpenStack Day in Korea 2015] Track 2-3 - 오픈스택 클라우드에 최적화된 네트워크 가상화 '누아지(Nuage)'
 
Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?
 
What's New in Grizzly & Deploying OpenStack with Puppet
What's New in Grizzly & Deploying OpenStack with PuppetWhat's New in Grizzly & Deploying OpenStack with Puppet
What's New in Grizzly & Deploying OpenStack with Puppet
 
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
 
Unlock Your Cloud Potential with Mirantis OpenStack & Cumulus Linux
Unlock Your Cloud Potential with Mirantis OpenStack & Cumulus LinuxUnlock Your Cloud Potential with Mirantis OpenStack & Cumulus Linux
Unlock Your Cloud Potential with Mirantis OpenStack & Cumulus Linux
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
Monkey man
Monkey manMonkey man
Monkey man
 
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinAdvanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
 

Similar to NetDevOps for the Network Dude: How to get started with API's, Ansible and Python

Show and Tell: VIRL for Network Programmability and Development
Show and Tell: VIRL for Network Programmability and DevelopmentShow and Tell: VIRL for Network Programmability and Development
Show and Tell: VIRL for Network Programmability and DevelopmentCisco DevNet
 
NCS: NEtwork Control System Hands-on Labs
NCS:  NEtwork Control System Hands-on Labs NCS:  NEtwork Control System Hands-on Labs
NCS: NEtwork Control System Hands-on Labs Cisco Canada
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 
Nx o sv and virl
Nx o sv and virlNx o sv and virl
Nx o sv and virlKunKun Ng
 
NSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
NSO: Network Service Orchestrator enabled by Tail-f Hands-on LabNSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
NSO: Network Service Orchestrator enabled by Tail-f Hands-on LabCisco Canada
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Cisco DevNet
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Joel W. King
 
Ansible- Durham Meetup: Using Ansible for Cisco ACI deployment
Ansible- Durham Meetup: Using Ansible for Cisco ACI deploymentAnsible- Durham Meetup: Using Ansible for Cisco ACI deployment
Ansible- Durham Meetup: Using Ansible for Cisco ACI deploymentJoel W. King
 
Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Cisco Russia
 
Presentation cloupia product overview and demo
Presentation   cloupia product overview and demoPresentation   cloupia product overview and demo
Presentation cloupia product overview and demoxKinAnx
 
Presentation cisco nexus enabling the cloud infrastructure
Presentation   cisco nexus enabling the cloud infrastructurePresentation   cisco nexus enabling the cloud infrastructure
Presentation cisco nexus enabling the cloud infrastructurexKinAnx
 
Cisco prime network 4.1 technical overview
Cisco prime network 4.1 technical overviewCisco prime network 4.1 technical overview
Cisco prime network 4.1 technical overviewsolarisyougood
 
Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?Proact Netherlands B.V.
 
 Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation Network Innovations Driving Business Transformation
 Network Innovations Driving Business TransformationCisco Service Provider
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 

Similar to NetDevOps for the Network Dude: How to get started with API's, Ansible and Python (20)

Show and Tell: VIRL for Network Programmability and Development
Show and Tell: VIRL for Network Programmability and DevelopmentShow and Tell: VIRL for Network Programmability and Development
Show and Tell: VIRL for Network Programmability and Development
 
NCS: NEtwork Control System Hands-on Labs
NCS:  NEtwork Control System Hands-on Labs NCS:  NEtwork Control System Hands-on Labs
NCS: NEtwork Control System Hands-on Labs
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
Nx o sv and virl
Nx o sv and virlNx o sv and virl
Nx o sv and virl
 
NSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
NSO: Network Service Orchestrator enabled by Tail-f Hands-on LabNSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
NSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
 
5 cisco open_stack
5 cisco open_stack5 cisco open_stack
5 cisco open_stack
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
Ansible- Durham Meetup: Using Ansible for Cisco ACI deployment
Ansible- Durham Meetup: Using Ansible for Cisco ACI deploymentAnsible- Durham Meetup: Using Ansible for Cisco ACI deployment
Ansible- Durham Meetup: Using Ansible for Cisco ACI deployment
 
Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning Enterprise Architecture, Deployment and Positioning
Enterprise Architecture, Deployment and Positioning
 
Presentation cloupia product overview and demo
Presentation   cloupia product overview and demoPresentation   cloupia product overview and demo
Presentation cloupia product overview and demo
 
Presentation cisco nexus enabling the cloud infrastructure
Presentation   cisco nexus enabling the cloud infrastructurePresentation   cisco nexus enabling the cloud infrastructure
Presentation cisco nexus enabling the cloud infrastructure
 
Cisco prime network 4.1 technical overview
Cisco prime network 4.1 technical overviewCisco prime network 4.1 technical overview
Cisco prime network 4.1 technical overview
 
M.AbuFardeh.CV_Nov2014
M.AbuFardeh.CV_Nov2014M.AbuFardeh.CV_Nov2014
M.AbuFardeh.CV_Nov2014
 
M.AbuFardeh.CV_Nov2014
M.AbuFardeh.CV_Nov2014M.AbuFardeh.CV_Nov2014
M.AbuFardeh.CV_Nov2014
 
Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?Hoe is 80% van uw datacenter beheer te automatiseren?
Hoe is 80% van uw datacenter beheer te automatiseren?
 
CV
CVCV
CV
 
 Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
ACI Hands-on Lab
ACI Hands-on LabACI Hands-on Lab
ACI Hands-on Lab
 

More from Cisco DevNet

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to AnsibleCisco DevNet
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsCisco DevNet
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsCisco DevNet
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco DevNet
 
Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionCisco DevNet
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowCisco DevNet
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveCisco DevNet
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco DevNet
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesCisco DevNet
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsCisco DevNet
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco DevNet
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCisco DevNet
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco DevNet
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016Cisco DevNet
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016Cisco DevNet
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overviewCisco DevNet
 
Doing Business with Tropo
Doing Business with TropoDoing Business with Tropo
Doing Business with TropoCisco DevNet
 
Introduction to the DevNet Sandbox and IVT
Introduction to the DevNet Sandbox and IVTIntroduction to the DevNet Sandbox and IVT
Introduction to the DevNet Sandbox and IVTCisco DevNet
 
Introduction to Fog
Introduction to FogIntroduction to Fog
Introduction to FogCisco DevNet
 
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...Cisco DevNet
 

More from Cisco DevNet (20)

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
 
Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play Solution
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible Netflow
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
 
Doing Business with Tropo
Doing Business with TropoDoing Business with Tropo
Doing Business with Tropo
 
Introduction to the DevNet Sandbox and IVT
Introduction to the DevNet Sandbox and IVTIntroduction to the DevNet Sandbox and IVT
Introduction to the DevNet Sandbox and IVT
 
Introduction to Fog
Introduction to FogIntroduction to Fog
Introduction to Fog
 
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
CSTA - Cisco Security Technical Alliances, New Ecosystem Program Built on the...
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

NetDevOps for the Network Dude: How to get started with API's, Ansible and Python

  • 1. NetDevOps for the Network Dude How to get started with API's, Ansible and Python Kevin Kuhls, Technical Leader @sdn_dude DEVNET- 1002
  • 2. • Introduction • Automation Motivation • Tools • Infrastructure as Code • Programmable Modules • Conclusion Agenda
  • 3. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 3DEVNET- 1002 Who’s this guy? • 1998 – Cisco Router • 2002 – PIX Firewall • BIG LULL • 2012 – DC Technologies (UCS, Nexus, VMWare) • 2014 – OpenStack, ACI • 2015 – Network Programmability, SDN • Old Dog learning new tricks …and should I listen or look at my phone?
  • 4. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 4DEVNET- 1002 Motivators for Automation • Lots of Equipment • ~1000 Network Devices • Multiple Operating Systems • IOS • IOSXR • IOSXE • NXOS • ASA OS • Multivendor Security Appliances (WAF, DDoS, LB) • Small team • 6 people • Rapid Deployment • Several new Datacenters per year • Several Service Deployments requiring changes
  • 5. Demo – Automated Fabric Install
  • 6. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 6DEVNET- 1002 Automation Requirements • Efficient • Repeatable • Reusable • Observable • Revision controlled • Standard We need an Automation framework that is full of ERRORS
  • 7. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public What is Ansible Ansible, an open source community project sponsored by Red Hat, is the simplest way to automate IT. Ansible is the only automation language that can be used across entire IT teams – from systems and network administrators to developers and managers. Ansible by Red Hat provides enterprise-ready solutions to automate your entire application lifecycle – from servers to clouds to containers and everything in between. It uses no agents and no additional custom security infrastructure, so it's easy to deploy - and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English. 7DEVNET- 1002
  • 8. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Why did we choose Ansible? • Agentless • Server and support teams already using Ansible • Infrastructure as code • Simple to use and learn • Community and vendor driven • Modular framework, easily modified • Leverage many common programming languages 8DEVNET- 1002
  • 9. Exercise 1 - Ansible 2.1 IOS
  • 10. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 10DEVNET- 1002 Jinja Template # Simple Variable Replacment hostname {{sitecode}}-fw # Variable Replacement based on Dictionary route outside 0.0.0.0 0.0.0.0 {{config['vlan101']['ip'][1]}} # Loop Through set of data to create multiple lines {%for route in config['routes'] %} route oob-vpn {{config['routes'][route]['network']}} {{config['routes'][route]['mask']}} {{config['vlan90']['ip'][1]}} {% endfor %} # Conditional Statements {% if config[‘vlan41’] is defined %} route dmzext {{config['vlan41']['ip'][0]}} {{config['vlan41']['ip'].netmask}} {{config['vlan102']['ip'][1]}} {endif %} Contains variables and/or expressions which get replaced with values when rendered
  • 11. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 11DEVNET- 1002 Yaml • Structure to define: • dictionary (unordered set of key value pairs, lists) • list of items • key value pair # A sample employee record name: Kevin Kuhls job: Network Engineer skill: Advanced employed: True certifications: - CCIE RS - CCIE DC - CISSP - VCP languages: perl: Novice python: Intermediate education: | BS in Computer Engineering
  • 12. Exercise 2 – Ansible 2.1 IOS
  • 13. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 13DEVNET- 1002 Infrastructure as Code svc_object_groups: - name: ossdm-elk-ports-tcp protocol: tcp values: - 9092 net_object_groups: - name: ossdm-elk values: - '{{ ossdm_kfk_001 }}' - '{{ ossdm_kfk_002 }}' - '{{ ossdm_kfk_003 }}’ Represent a Configuration as a set of machine-processable definition files access_lists: - name: APPS-IN entry: dest_address: ossdm-elk src_address: cis-apps dest_service: ossdm-elk- ports-tcp permit: true protocol: tcp position: 1
  • 15. Customize or Write your own
  • 16. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public 16DEVNET- 1002 Network Device Application Program Interfaces • IOS • CLI • IOS-XE • CLI • Netconf (with ConfD) • IOS-XR • CLI • Netconf • NXOS • CLI • NXAPI • ACI • APIC Rest API • ASA • CLI • ASA Rest API
  • 17. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public References Ansible – http://www.Ansible.com Jinja - https://kontrolissues.net/2016/01/14/intro-to-jinja2/ YAML - http://www.yaml.org/start.html VIRL – Virtual Internet Routing Lab (how the demos were deployed) http://virl.cisco.com/ dCloud – The Cisco Demo Cloud (where the demos were deployed) https://dcloud.cisco.com/ Source code in Github: • Clone exercises from session: git clone git@github.com:kuhlskev/devnet1002.git • Ansible Networking - https://github.com/ansible/ansible-modules-core/tree/stable-2.1/network • Napalm - https://github.com/napalm-automation/napalm • Pycsco - https://github.com/jedelman8/pycsco • Pyiosxr - https://github.com/fooelisa/pyiosxr • ASA - https://github.com/networklore/ansible-cisco-asa, https://github.com/kuhlskev/ansible-cisco-asa • Netmiko - https://github.com/ktbyers/netmiko Blogs: • https://pynet.twb-tech.com/ • http://jedelman.com/home/ansible-for-networking/ • https://pynet.twb-tech.com/blog/automation/napalm-ios.html • https://networklore.com/ 17DEVNET- 1002
  • 18. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Complete Your Online Session Evaluation Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online • Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 Amazon gift card. • Complete your session surveys through the Cisco Live mobile app or from the Session Catalog on CiscoLive.com/us. 18DEVNET- 1002
  • 19. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Continue Your Education • Demos in the Cisco campus • Walk-in Self-Paced Labs • Lunch & Learn • Meet the Engineer 1:1 meetings • Related sessions: • DEVNET-1016 Transforming Network Operations from Configuration Automation Through State Validation with Ansible • LABNMS-1023 NX-OS Programming Lab • BRKDCT-2459 Programmability and Automation on Cisco Nexus Platforms 19DEVNET- 1002
  • 21.
  • 22. © 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public Network Programmability Cisco Education Offerings Course Description Cisco Certification Integrating Business Applications with Network Programmability (NIPBA); Integrating Business Applications with Network Programmability for Cisco ACI (NPIBAACI) Learn networking concepts, and how to deploy and troubleshoot programmable network architectures with these self-paced courses. Cisco Business Application Engineer Specialist Certification Developing with Cisco Network Programmability (NPDEV); Developing with Cisco Network Programmability for Cisco ACI (NPDEVACI) Learn how to build applications for network environments and effectively bridge the gap between IT professionals and software developers. Cisco Network Programmability Developer Specialist Certification Designing with Cisco Network Programmability (NPDES); Designing with Cisco Network Programmability for Cisco ACI (NPDESACI) Learn how to expand your skill set from traditional IT infrastructure to application integration through programmability. Cisco Network Programmability Design Specialist Certification Implementing Cisco Network Programmability (NPENG); Implementing Cisco Network Programmability for Cisco ACI (NPENGACI) Learn how to implement and troubleshoot open IT infrastructure technologies. Cisco Network Programmability Engineer Specialist Certification For more details, please visit: http://learningnetwork.cisco.com Questions? Visit the Learning@Cisco Booth or contact ask-edu-pm-dcv@cisco.com 22DEVNET- 1002

Editor's Notes

  1. Everyone will have computer with Anyconnect to dcloud instance with IOSXR, IOSXE, IOS, NXOS, ASA devices. Try out simple ansible core network modules for IOS/IOSXE/IOSXR/NXOS, and asa-api Clients need Python, ansible, pycsco, pyiosxr, netmiko from pip Git pull asa-api,
  2. Show VIRL with the layout and intended outcome I want to deploy (or redeploy) a new Datacenter. “Server A” and “server B” are in separate subnets and different security zones on the fw. We need L2, L3, FW rules, and routing all configured to establish connectivity. I’m going to kick off the ansible playbooks to create and deploy configs. Then we’ll step through the simple bulding blocks to get us there.
  3. I something that is ... efficient - it has to save time, not just for fun repeatable - repeat the process and expect a similar result if there are minor changes or I want to run again and take advantage of idempotency reusable - the same framework Im using for routers I want to use for switches or even servers observable - logging and output data to validate and audit revision controlled - a central repo for code to share and collaborate (git, gerrit, cvs, etc) standard - I want an industry backed product or tool that is going to be there for a while and that I can leverage a wide range of developers
  4. Got permission from Warren Zweigart <wzweigart@ansible.com> https://www.ansible.com/logos
  5. Agentless- we cant load an agent on most network devices Server team was already on ansible for deployment and Represented the infrastrucure as code – maintain the yaml and deploy via playbooks Simple – can spin up users and developers in days or weeks Community – there are modules for nearly everything you could need Modular – chop up, add, remove, whatever its all open source Leverage languages – python, perl, ruby, tcl, bash, whatever the endpoint can execute and return values
  6. Let’s say your OSS team just deployed another Monitoring server or the security team has a new scanning tool that you need to permit access. Oridinarily that would mean updating a VTY acl on every device. Ansible can take an inventory of devices and make the vty update via config module Command – sends arbritrary command Config – Block of commands with context and order Template – Push config based on template, compare config to template https://docs.ansible.com/ansible/list_of_network_modules.html https://github.com/ansible/ansible-modules-core/tree/aa995806b9b5a41de4bd3d2a6ba917528fe8b6bb/network/ios
  7. Education is multiline entry to preserve the newline
  8. Now, we want to use what we learned to deploy a new site. We don’t want to do find/replace on a template document (show getvpn cvd). We’d like something that can grow dynamically. What do we really need to know to build a config from the template. Show the vars/main.yml. We can generate configs based on a template. We can take it a step further and generate the config from the template and apply it to the inventory of devices.
  9. ASA-API, NAPALM, nxos-ansible Bring up git hub to show the code and examples of what they can do. Demonstrate ASA-API
  10. Modules are an executable piece of code, many are python Bring up github, and show the code. Bring up code in There is a lot of functionality baked into ansible and there are several projects created as foundation or to enhance the experience. If something is not quite what you want, fork the code and do it yourself or create something altogether new. Go to github and start looking at ansible network code, then… For example, Nxos-ansible (Jason Edelman), many have become core Ansible Pyiosxr Napalm Or stay in python Ignite Netmiko
  11. I’d be remiss in not mentioning APIC-EM or NSO which can present a northbound API with CLI southbound. Similarly, Prime can interact with the devices.