SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Configuration Management
Tools on NX-OS
DEVNET-1075
Abhinav Modi, Technical Marketing Engineer @
Cisco
abmodi@cisco.com / @abhinav_m
• Introduction
• Why do we need Configuration Management Tools ?
• Configuration Management Tools on Cisco Nexus Switches
• Puppet and Chef
• Ansible
Agenda
3
What problem are we trying
to solve?
“I can spin up servers in minutes with my Configuration Management Tool
workflows, why does it take orders of magnitude more to spin up and affect
change on my Network Elements?”
IT Organizations using configuration management tools deploy 30x more
frequently with 200x shorter lead times; they have 60x fewer failures and
recover 168x faster
Configuration Management
Tool (CM Tools): Slow
Error Prone
Data Center Automation and IT Collaboration
Today: Serialized Configuration and Management
Services
CMT
NetworkApplications
CMT
Compute
CMTApplication
Requirements
SUCCESSFUL
DEPLOYMENT
How can these Tools Help ?
DAY 0
Install
DAY 1
Configure &
Operate
DAY 2
Optimize,
Compliance
DAY N
Upgrade,
Patching
Day 0
Install
Day 1
Configure
& Operate
Day 2
Optimize,
Compliance
Day N
Upgrade,
Patching
Power on Auto Provisioning
(PoAP)
NX-OS Features and
Protocols
Tcollector on Nexus and
Compliance Check
NX-OS Patching
NETWORK LIFE CYCLE MANAGEMENT ACCELERATED VIA CM Tools
CM
Show
clock
NXAPI Web Server
(NGINX)
{
"jsonrpc": "2.0",
"method": "cli",
"params": {
"cmd": "show clock",
"version": 1
},
"id": 1
}
{
"jsonrpc": "2.0",
"result": {
"body": {
"simple_time": "15:00:37.762 PST Mon Aug 18 2014n"
}
},
"id": 1
}
HTTP / HTTPS
Switch(config)# feature nxapi
Technology Enablers
NX-API
Point browser to IP Address of Network Element
Enter CLI Commands
Click POST
See formatted input as you type See formatted output in json/xml
Generate Python script
Technology Enablers
NX-API Sandbox
===============================
host name: n7000-1
kickstart image version : 7.2(0)D1(1) [build 7.2(0)D1(0.437)]
system image version :7.2(0)D1(1) [build 7.2(0)D1(0.437)]
===============================
{
"jsonrpc": "2.0",
"result": {
"body": {
" "bios_ver_str": "2.12.0",
"kickstart_ver_str": "7.2(0)D1(1) [build 7.2(0)D1(0.437)]",
"sys_ver_str": "7.2(0)D1(1) [build 7.2(0)D1(0.437)]",
"bios_cmpl_time": "05/29/2013",
"kick_file_name": "bootflash:///n7000-s2-kickstart.7.2.0.D1.0.437.bin",
"kick_cmpl_time": " 3/8/2015 0:00:00",
"kick_tmstmp": "04/01/2015 07:24:19",
"chassis_id": "Nexus7000 C7009 (9 Slot) Chassis",
"module_id": "Supervisor Module-2",
"cpu_name": "Intel(R) Xeon(R) CPU ",
"memory": 32744984,
"mem_type": "kB",
"proc_board_id": "JAF1746AEPM",
"host_name": "n7000-1",
"bootflash_size": 2007040,
"slot0_size": 0,
"kern_uptm_days": 39,
"kern_uptm_hrs": 7,
"kern_uptm_mins": 4,
"kern_uptm_secs": 7,
"rr_reason": "Unknown",
"rr_sys_ver": "",
"rr_service": "",
"manufacturer": "Cisco Systems, Inc."
}
},
"id": 1
}
import sys
import json
import requests
my_headers = {'content-type': 'application/json-rpc'}
url = "http://172.25.91.147/ins"
username = "admin"
password = "ciscotme"
payload = [{'jsonrpc': '2.0', 'method': 'cli', 'params': ['show version',1],
'id': '1'}]
my_data = json.dumps(payload)
response = requests.post(url, data=my_data, headers=my_headers,
auth=(username, password))
kick_start_image = response.json()['result']['body']['kickstart_ver_str']
system_image = response.json()['result']['body']['sys_ver_str']
host_name = response.json()['result']['body']['host_name']
print ("")
print ("===============================")
print ('host name:'+ host_name)
print ('kickstart image version :' + kick_start_image)
print ('system image version :s' + system_image)
print ("===============================")
Sample Script : Get “show version” Data
Sample Script : Add Vlan using NXAPI
import requests
import json
print "enter ip address"
ip=raw_input()
print "enter vlan to be configured"
vlanId=raw_input()
myheaders = {'content-type': 'application/json-rpc'}
url = "http://"+ip+"/ins"
username = "admin"
password = "ciscotme"
payload=[
{"jsonrpc": "2.0","method": "cli","params": {"cmd": "conf t","version": 1},"id": 1},
{"jsonrpc": "2.0","method": "cli","params": {"cmd": "vlan "+vlanId,"version": 1},"id": 2},
{"jsonrpc": "2.0","method": "cli","params": {"cmd": “exit”,"version": 1},"id": 2},
]
response = requests.post(url,data=json.dumps(payload), headers=myheaders,auth=(username,password)).json()
Requests python module
Get IP Address of switch
URL of switch
Payload:
>Conf t
> vlan <>,
> exit
11
NX-API: Sample Use Cases
12
 Data Collection and Display
 Resources, Interface Statistics
 Switch Configuration and Feature
Provisioning
 Consistency Checks
 Cable Plan
 VLAN
 vPC
 Configuration Management Tools
What if you wanted to do the same task..
• On multiple switches, or subset of switches..
• In Parallel…
• Automatically…
• DevOps: Applying IT Tools to Network Management
• Manage multiple devices and the automation around it
• Repeatable, Granular Tasks
• Crowd Sourced Scripts, modules
• Dashboards for monitoring and ease of use
Configuration Management Tools help by ..
14
Configuration Management Software
15
Cisco Nexus
Fabric
Server
= Agent
Cisco UCS
Client
Agent based Configuration Management Tools
Agent-less Configuration Management Tool
… Cisco UCS
Cisco Nexus
Fabric
Agent v/s Agent-less Architecture
• Agent based CM are “pull based”
• Agent on managed device connects
with master for config information
periodically
• Changes made on master are pulled
down and executed
• Agent-less CM are “push based”
• CM scripts are run on the master
• Scripts connect to the managed
device and execute the tasks
• No timer, control lies with the master
• Ansible is agent-less
18
All CM tools provide
• Audit logging of change
• Concept of no-op runs
Puppet/Chef
19
Puppet Chef
Ruby like DSL Ruby
Manifest Recipe A collection of resource type representing customer intent
Module Cookbook Self contained bundle of code and data
Facter Ohai Software discovering runtime state on agent node
Agent Client Software interacting with server to obtain configuration
Type Type Definition of Managed objects
Provider Provider Implementation of tasks on objects
Puppet and Chef Overview on Cisco Nexus
Terminology
Puppet/Chef Agent
Repository
Resource & Provider
Repository
Cisco Foundational
Utilities
CentOS
Puppet
Agent/Chef
Client
Puppet/Chef
ModulePuppet/Chef
Module
Cisco
Puppet
/Chef
Module
Provider
Utility GEM
NXAPI
Utility GEM
Cisco WRL5
Puppet/Chef
RHEL
Puppet
Agent/
Chef Client
rubygems.org
Kernel (WRL5)
NXOS Root FS (WRL5)
NXOSVSH
(CLI)
NXOS
Services
Cisco
Puppet
Agent/Chef
Client
Cisco
Utilities
Cisco
Resource &
Provider
Customer
Intent
Server
Cisco
Puppet/Chef
Module
Cisco
Utilities
Customer
Intent
Typical Master Workflow
• Configure Server
• Install Modules
• Define Customer Intent
• Install Agent/Client
Provisioning Tool
Beaker Based Tool/
Chef Provisioner
Puppet: yum.puppetlabs.com
Chef: xxx.chef.io
Puppet: forge.puppetlabs.com
Chef: supermarket.chef.io
Puppet and Chef Overview on Cisco Nexus
Solution Overview
Puppet/Chef Master Server
Native Linux Service
/etc/init.d/puppet.d & chef.d
NX-OS
Cisco Puppet/Chef Agent
NX-APICisco Puppet/Chef
Module
Linux Software
Repository
Server
Yum/RPM install
puppet/chef.rpm
• Puppet Agent RPM available on Github/Puppetforge
• Install Cisco Puppet Module on Puppet Master
• Switch Agent will poll Puppet/Chef Master for
updated catalog/cookbooks and attempt
to converge switch to desired state
NX-OS Chef/Puppet
Use Case
Day 1 Provisioning
23
BRINGING NETWORK INTO OPERATIONAL STATE
Day 1 – Configure and Operate
Automate Network
Configuration
.
Eliminate Human Error
Accelerate Service
Deployment with Validation
Cisco Nexus Configuration
(VLAN, SVI, OSPF, BGP, monitoring) based on Spine/Leaf Role
Manifest
Get
Current
State
Delta to
Desired
State
Apply
Changes
to
Config
Validate
and
Enable
Manifest
VLAN SVI BGP
Manifest
Use Case
Day-N Patching
26
Eliminate Complex CLI and
long wait times
Dynamically Patch
Network Switches
Reliable and Fast
Day N – Upgrade, Patching
.
DYNAMICALLY UPGRADING YOUR NETWORK
..
Version
Check
Configure
Patch
Apply
Patch
Verify
and
Report
Manifest
Manifest
Manifest
BGP1.0
BGP2.0
Type/Provider Roadmap:
VXLAN EVPN – Q1CY16
Virtual Port Channel – Q2CY16
Segment Routing – Q3CY16
Chef/Puppet Agent Types/Providers
cisco_vtp
cisco_tacacs_server
cisco_tacacs_server_host
cisco_snmp_server
cisco_snmp_community
cisco_snmp_group
cisco_ospf
cisco_ospf_vrf
cisco_vlan
cisco_bgp
cisco_bgp_vrf
cisco_interface
cisco_interface_ospf
cisco_interface_vlan
• Supported Agent Types/Providers for Nexus 3k/7k/9k (soon on
Nexus 5/6k)
• Cisco Network Element Chef/Puppet module code published on
Git and Forge/Supermarket
• Agent is extensible beyond what we support by default by
using the utility classes OR:
• Agent is also extensible by embedding CLI using
cisco_command_config resource construct
Chef and Puppet Agent: Types/Provider Support
Ansible
29
Ansible
• Agentless
• Support for multiple scripting languages
• Orchestration
• Simplicity
• Human Readable Files (YAML)
30
Ansible Playbook
---
- hosts: webservers
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is at the latest version
yum: name=httpd state=latest
File with the list of target servers
Module Arguments to the module
Ansible Orchestration Engine
Modules Playbooks
APIs Libraries
(Via ssh)
Compute
Configure a Server with Ansible
• Ansible engine runs on a server
• Playbooks, Inventory present on this server
• Only requirement on Managed Node: SSH
and Python
• Push model
• When a Playbook is executed :
• Ansible SSHes into the managed device
• Copies a Python script to /tmp
• Python script gets locally executed on the managed device
Ansible Orchestration Engine
Modules Playbooks
APIs Libraries
(Via ssh)
Compute
Configure a Nexus Switch with Ansible
• Install the nxos-ansible Ansible library, and
the pycsco Python module
• When Ansible processes the playbook, it
uses nxos-ansible to convert the modules to
Cisco CLI
• Then those CLIs are sent to the switch via
NX-API, using pycsco
• https://github.com/jedelman8/pycsco
• https://github.com/jedelman8/nxos-
ansible
• No need for Python on the switch – just
enable the NX-API feature
Ansible Orchestration Engine
Modules Playbooks
APIs Libraries
(Via NXAPI)
(Via ssh)
Compute
Cisco network device
Use Case
Operational Data
Collection
34
Gather Operational Data
• Summary
• Gather operational data from multiple switches
• Description
• Playbook to gather show version, related information from all nodes listed in inventory file
• Dump the gathered information to different files, each named after the switch hostname
• Script : https://github.com/datacenter/nxos/blob/master/ansible/nexus_get_facts.yml
35
Use Case
Provisioning a VXLAN
Fabric
36
Provisioning is a 2-step
process : The Underlay and
then the Overlay
(1) VXLAN Underlay
Local LAN
Segment
Physical
Host
Local LAN
Segment
Physical
Host
Virtual Hosts
Local LAN
Segment
Virtual Switch
Edge Device
Edge Device
Edge Device
IP Interface
38
39
(2) VXLAN Overlay
Local LAN
Segment
Physical
Host
Local LAN
Segment
Physical
Host
VTEP
VTEP
VTEP
VV
V
Encapsulation
Virtual Hosts
Local LAN
Segment
Virtual Switch
VTEP – VXLAN Tunnel End-Point
VNI/VNID – VXLAN Network Identifier
39
Here’s how we do it with
Ansible…
We use Ansible’s “Role” Feature ..
Underlay Overlay
Leaf Role
1. IP address + Loopback + IGP
on all links between spine and
leaf
2. Enable Multicast
1. Configure VNIs and Associate with VLANs
2. Configure SVIs
3. Configure VRFs
4. Configure BGP EVPN Neighbors (Spines)
5. Configure NVE Interface
Spine Role
1. IP address + Loopback + IGP
on all links between spine and
leaf
2. Enable Multicast and Anycast
RP
3. Enable IGP for this RP
Configure BGP Router Reflector
Playbook available at : https://github.com/abhinavmodi/nxos-ansible/tree/master/provision-dc
Snapshots of the Playbooks
42
Ansible 2.0 just released !!
• Module to connect to Cisco switches now a core Ansible module
• Part of the Ansible 2.0 Codebase and supported by Ansible
• Can connect to Nexus switches using
• NX-API
• SSH
• Watch out for Ansible 2.0 samples with Nexus soon, at
http://github.com/datacenter/nxos
43
New features introduced in Ansible 2.0
• New Nexus Core Modules!!
nxos_config, nxos_command and nxos_template
• Support for different transports
SSH and NX-API
New features introduced in Ansible 2.0
Sample Playbook
Putting it all Together
46
• Configuration Management Tools can be used for Networking as well.
• NX-OS supports Puppet, Chef and Ansible
• More features are being supported by each tool in each release
• Evaluate these tools and get started with some monitoring, provisioning
tasks
Key Takeaways
47
• Getting started with Python
• codeacademy.org, MOOCs (Coursera)
• Github
• https://github.com/datacenter/nxos (Scripts used in this session are posted
here)
• https://github.com/datacenter/nexus9000
• https://github.com/datacenter/nexus7000
• NX-API DevNet Community - https://developer.cisco.com/site/nx-api/
Additional Resources
48
Call to Action
• Visit the World of Solutions for
• Cisco Campus – Programmability Booth for Demos
• Walk in Labs – LABNMS-1023 Covering Basics of NX-API and Ansible
• DevNet Booths on Enterprise Device Programmability, Puppet and Chef
• VIRL in Devnet Area
• Keep a watch on https://github.com/datacenter/nxos for more examples around these
technologies
Your Feedback is
Important !
50
Complete Your Online Session Evaluation
• Please complete your online session
evaluations after each session.
Complete 4 session evaluations
& the Overall Conference Evaluation
(available from Thursday)
to receive your Cisco Live T-shirt.
• All surveys can be completed via
the Cisco Live Mobile App or the
Communication Stations
Configuration Management Tools on NX-OS

Más contenido relacionado

La actualidad más candente

Building an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult StepsBuilding an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult StepsDigitalOcean
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Ports, pods and proxies
Ports, pods and proxiesPorts, pods and proxies
Ports, pods and proxiesLibbySchulze
 
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen..."Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...ConSol Consulting & Solutions Software GmbH
 
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...Mark West
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleJoel W. King
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발Oracle Korea
 
What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?rhirschfeld
 
Ansible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationAnsible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationCumulus Networks
 
Transforming Infrastructure into Code - Importing existing cloud resources u...
Transforming Infrastructure into Code  - Importing existing cloud resources u...Transforming Infrastructure into Code  - Importing existing cloud resources u...
Transforming Infrastructure into Code - Importing existing cloud resources u...Shih Oon Liong
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Sanjeev Rampal
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMJamie Coleman
 
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.Cisco DevNet
 
Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformAvi Networks
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codedaisuke awaji
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingAngel Borroy López
 
So I Wrote a Manifest
So I Wrote a ManifestSo I Wrote a Manifest
So I Wrote a ManifestPuppet
 

La actualidad más candente (20)

Building an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult StepsBuilding an Observability Platform in 389 Difficult Steps
Building an Observability Platform in 389 Difficult Steps
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Ports, pods and proxies
Ports, pods and proxiesPorts, pods and proxies
Ports, pods and proxies
 
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen..."Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
 
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using Ansible
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Automation Evolution with Junos
Automation Evolution with JunosAutomation Evolution with Junos
Automation Evolution with Junos
 
CI/CD 기반의 Microservice 개발
 CI/CD 기반의 Microservice 개발 CI/CD 기반의 Microservice 개발
CI/CD 기반의 Microservice 개발
 
What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?What is Digital Rebar Provision (and how RackN extends)?
What is Digital Rebar Provision (and how RackN extends)?
 
Splunking the JVM
Splunking the JVMSplunking the JVM
Splunking the JVM
 
Ansible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationAnsible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network Automation
 
Transforming Infrastructure into Code - Importing existing cloud resources u...
Transforming Infrastructure into Code  - Importing existing cloud resources u...Transforming Infrastructure into Code  - Importing existing cloud resources u...
Transforming Infrastructure into Code - Importing existing cloud resources u...
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVM
 
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.DEVNET-1136	Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
DEVNET-1136 Cisco ONE Enterprise Cloud Suite for Infrastructure Management.
 
Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and Terraform
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installing
 
So I Wrote a Manifest
So I Wrote a ManifestSo I Wrote a Manifest
So I Wrote a Manifest
 

Similar a Configuration Management Tools on NX-OS

Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Puppet
 
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsTechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsRobb Boyd
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupJorge Bonilla
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
PCF2.2 update mkim_201807
PCF2.2 update mkim_201807PCF2.2 update mkim_201807
PCF2.2 update mkim_201807minseok kim
 
Dell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch ProvisioningDell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch ProvisioningDell World
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerCisco Canada
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & DevelopmentGlobalLogic Ukraine
 
Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Miguel Zuniga
 
Automating the Entire PostgreSQL Lifecycle
Automating the Entire PostgreSQL Lifecycle Automating the Entire PostgreSQL Lifecycle
Automating the Entire PostgreSQL Lifecycle anynines GmbH
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarCanturk Isci
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfLibbySchulze
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines AdvancedOliver Lemm
 

Similar a Configuration Management Tools on NX-OS (20)

Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsTechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
PCF2.2 update mkim_201807
PCF2.2 update mkim_201807PCF2.2 update mkim_201807
PCF2.2 update mkim_201807
 
Dell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch ProvisioningDell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch Provisioning
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
 
Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014
 
Automation for cloud
Automation for cloudAutomation for cloud
Automation for cloud
 
Resume
ResumeResume
Resume
 
Automating the Entire PostgreSQL Lifecycle
Automating the Entire PostgreSQL Lifecycle Automating the Entire PostgreSQL Lifecycle
Automating the Entire PostgreSQL Lifecycle
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU Seminar
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines Advanced
 

Más de 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
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APICisco 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
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Cisco 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
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveCisco DevNet
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...Cisco 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
 

Más de 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
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
 
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
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep Dive
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
 
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
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

Configuration Management Tools on NX-OS

  • 1.
  • 2. Configuration Management Tools on NX-OS DEVNET-1075 Abhinav Modi, Technical Marketing Engineer @ Cisco abmodi@cisco.com / @abhinav_m
  • 3. • Introduction • Why do we need Configuration Management Tools ? • Configuration Management Tools on Cisco Nexus Switches • Puppet and Chef • Ansible Agenda 3
  • 4. What problem are we trying to solve?
  • 5. “I can spin up servers in minutes with my Configuration Management Tool workflows, why does it take orders of magnitude more to spin up and affect change on my Network Elements?” IT Organizations using configuration management tools deploy 30x more frequently with 200x shorter lead times; they have 60x fewer failures and recover 168x faster
  • 6. Configuration Management Tool (CM Tools): Slow Error Prone Data Center Automation and IT Collaboration Today: Serialized Configuration and Management Services CMT NetworkApplications CMT Compute CMTApplication Requirements SUCCESSFUL DEPLOYMENT
  • 7. How can these Tools Help ? DAY 0 Install DAY 1 Configure & Operate DAY 2 Optimize, Compliance DAY N Upgrade, Patching Day 0 Install Day 1 Configure & Operate Day 2 Optimize, Compliance Day N Upgrade, Patching Power on Auto Provisioning (PoAP) NX-OS Features and Protocols Tcollector on Nexus and Compliance Check NX-OS Patching NETWORK LIFE CYCLE MANAGEMENT ACCELERATED VIA CM Tools CM
  • 8. Show clock NXAPI Web Server (NGINX) { "jsonrpc": "2.0", "method": "cli", "params": { "cmd": "show clock", "version": 1 }, "id": 1 } { "jsonrpc": "2.0", "result": { "body": { "simple_time": "15:00:37.762 PST Mon Aug 18 2014n" } }, "id": 1 } HTTP / HTTPS Switch(config)# feature nxapi Technology Enablers NX-API
  • 9. Point browser to IP Address of Network Element Enter CLI Commands Click POST See formatted input as you type See formatted output in json/xml Generate Python script Technology Enablers NX-API Sandbox
  • 10. =============================== host name: n7000-1 kickstart image version : 7.2(0)D1(1) [build 7.2(0)D1(0.437)] system image version :7.2(0)D1(1) [build 7.2(0)D1(0.437)] =============================== { "jsonrpc": "2.0", "result": { "body": { " "bios_ver_str": "2.12.0", "kickstart_ver_str": "7.2(0)D1(1) [build 7.2(0)D1(0.437)]", "sys_ver_str": "7.2(0)D1(1) [build 7.2(0)D1(0.437)]", "bios_cmpl_time": "05/29/2013", "kick_file_name": "bootflash:///n7000-s2-kickstart.7.2.0.D1.0.437.bin", "kick_cmpl_time": " 3/8/2015 0:00:00", "kick_tmstmp": "04/01/2015 07:24:19", "chassis_id": "Nexus7000 C7009 (9 Slot) Chassis", "module_id": "Supervisor Module-2", "cpu_name": "Intel(R) Xeon(R) CPU ", "memory": 32744984, "mem_type": "kB", "proc_board_id": "JAF1746AEPM", "host_name": "n7000-1", "bootflash_size": 2007040, "slot0_size": 0, "kern_uptm_days": 39, "kern_uptm_hrs": 7, "kern_uptm_mins": 4, "kern_uptm_secs": 7, "rr_reason": "Unknown", "rr_sys_ver": "", "rr_service": "", "manufacturer": "Cisco Systems, Inc." } }, "id": 1 } import sys import json import requests my_headers = {'content-type': 'application/json-rpc'} url = "http://172.25.91.147/ins" username = "admin" password = "ciscotme" payload = [{'jsonrpc': '2.0', 'method': 'cli', 'params': ['show version',1], 'id': '1'}] my_data = json.dumps(payload) response = requests.post(url, data=my_data, headers=my_headers, auth=(username, password)) kick_start_image = response.json()['result']['body']['kickstart_ver_str'] system_image = response.json()['result']['body']['sys_ver_str'] host_name = response.json()['result']['body']['host_name'] print ("") print ("===============================") print ('host name:'+ host_name) print ('kickstart image version :' + kick_start_image) print ('system image version :s' + system_image) print ("===============================") Sample Script : Get “show version” Data
  • 11. Sample Script : Add Vlan using NXAPI import requests import json print "enter ip address" ip=raw_input() print "enter vlan to be configured" vlanId=raw_input() myheaders = {'content-type': 'application/json-rpc'} url = "http://"+ip+"/ins" username = "admin" password = "ciscotme" payload=[ {"jsonrpc": "2.0","method": "cli","params": {"cmd": "conf t","version": 1},"id": 1}, {"jsonrpc": "2.0","method": "cli","params": {"cmd": "vlan "+vlanId,"version": 1},"id": 2}, {"jsonrpc": "2.0","method": "cli","params": {"cmd": “exit”,"version": 1},"id": 2}, ] response = requests.post(url,data=json.dumps(payload), headers=myheaders,auth=(username,password)).json() Requests python module Get IP Address of switch URL of switch Payload: >Conf t > vlan <>, > exit 11
  • 12. NX-API: Sample Use Cases 12  Data Collection and Display  Resources, Interface Statistics  Switch Configuration and Feature Provisioning  Consistency Checks  Cable Plan  VLAN  vPC  Configuration Management Tools
  • 13. What if you wanted to do the same task.. • On multiple switches, or subset of switches.. • In Parallel… • Automatically…
  • 14. • DevOps: Applying IT Tools to Network Management • Manage multiple devices and the automation around it • Repeatable, Granular Tasks • Crowd Sourced Scripts, modules • Dashboards for monitoring and ease of use Configuration Management Tools help by .. 14
  • 16. Cisco Nexus Fabric Server = Agent Cisco UCS Client Agent based Configuration Management Tools
  • 17. Agent-less Configuration Management Tool … Cisco UCS Cisco Nexus Fabric
  • 18. Agent v/s Agent-less Architecture • Agent based CM are “pull based” • Agent on managed device connects with master for config information periodically • Changes made on master are pulled down and executed • Agent-less CM are “push based” • CM scripts are run on the master • Scripts connect to the managed device and execute the tasks • No timer, control lies with the master • Ansible is agent-less 18 All CM tools provide • Audit logging of change • Concept of no-op runs
  • 20. Puppet Chef Ruby like DSL Ruby Manifest Recipe A collection of resource type representing customer intent Module Cookbook Self contained bundle of code and data Facter Ohai Software discovering runtime state on agent node Agent Client Software interacting with server to obtain configuration Type Type Definition of Managed objects Provider Provider Implementation of tasks on objects Puppet and Chef Overview on Cisco Nexus Terminology
  • 21. Puppet/Chef Agent Repository Resource & Provider Repository Cisco Foundational Utilities CentOS Puppet Agent/Chef Client Puppet/Chef ModulePuppet/Chef Module Cisco Puppet /Chef Module Provider Utility GEM NXAPI Utility GEM Cisco WRL5 Puppet/Chef RHEL Puppet Agent/ Chef Client rubygems.org Kernel (WRL5) NXOS Root FS (WRL5) NXOSVSH (CLI) NXOS Services Cisco Puppet Agent/Chef Client Cisco Utilities Cisco Resource & Provider Customer Intent Server Cisco Puppet/Chef Module Cisco Utilities Customer Intent Typical Master Workflow • Configure Server • Install Modules • Define Customer Intent • Install Agent/Client Provisioning Tool Beaker Based Tool/ Chef Provisioner Puppet: yum.puppetlabs.com Chef: xxx.chef.io Puppet: forge.puppetlabs.com Chef: supermarket.chef.io Puppet and Chef Overview on Cisco Nexus Solution Overview
  • 22. Puppet/Chef Master Server Native Linux Service /etc/init.d/puppet.d & chef.d NX-OS Cisco Puppet/Chef Agent NX-APICisco Puppet/Chef Module Linux Software Repository Server Yum/RPM install puppet/chef.rpm • Puppet Agent RPM available on Github/Puppetforge • Install Cisco Puppet Module on Puppet Master • Switch Agent will poll Puppet/Chef Master for updated catalog/cookbooks and attempt to converge switch to desired state NX-OS Chef/Puppet
  • 23. Use Case Day 1 Provisioning 23
  • 24. BRINGING NETWORK INTO OPERATIONAL STATE Day 1 – Configure and Operate Automate Network Configuration . Eliminate Human Error Accelerate Service Deployment with Validation Cisco Nexus Configuration (VLAN, SVI, OSPF, BGP, monitoring) based on Spine/Leaf Role Manifest Get Current State Delta to Desired State Apply Changes to Config Validate and Enable Manifest VLAN SVI BGP Manifest
  • 26. Eliminate Complex CLI and long wait times Dynamically Patch Network Switches Reliable and Fast Day N – Upgrade, Patching . DYNAMICALLY UPGRADING YOUR NETWORK .. Version Check Configure Patch Apply Patch Verify and Report Manifest Manifest Manifest BGP1.0 BGP2.0
  • 27. Type/Provider Roadmap: VXLAN EVPN – Q1CY16 Virtual Port Channel – Q2CY16 Segment Routing – Q3CY16 Chef/Puppet Agent Types/Providers cisco_vtp cisco_tacacs_server cisco_tacacs_server_host cisco_snmp_server cisco_snmp_community cisco_snmp_group cisco_ospf cisco_ospf_vrf cisco_vlan cisco_bgp cisco_bgp_vrf cisco_interface cisco_interface_ospf cisco_interface_vlan • Supported Agent Types/Providers for Nexus 3k/7k/9k (soon on Nexus 5/6k) • Cisco Network Element Chef/Puppet module code published on Git and Forge/Supermarket • Agent is extensible beyond what we support by default by using the utility classes OR: • Agent is also extensible by embedding CLI using cisco_command_config resource construct Chef and Puppet Agent: Types/Provider Support
  • 29. Ansible • Agentless • Support for multiple scripting languages • Orchestration • Simplicity • Human Readable Files (YAML) 30
  • 30. Ansible Playbook --- - hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: name=httpd state=latest File with the list of target servers Module Arguments to the module Ansible Orchestration Engine Modules Playbooks APIs Libraries (Via ssh) Compute
  • 31. Configure a Server with Ansible • Ansible engine runs on a server • Playbooks, Inventory present on this server • Only requirement on Managed Node: SSH and Python • Push model • When a Playbook is executed : • Ansible SSHes into the managed device • Copies a Python script to /tmp • Python script gets locally executed on the managed device Ansible Orchestration Engine Modules Playbooks APIs Libraries (Via ssh) Compute
  • 32. Configure a Nexus Switch with Ansible • Install the nxos-ansible Ansible library, and the pycsco Python module • When Ansible processes the playbook, it uses nxos-ansible to convert the modules to Cisco CLI • Then those CLIs are sent to the switch via NX-API, using pycsco • https://github.com/jedelman8/pycsco • https://github.com/jedelman8/nxos- ansible • No need for Python on the switch – just enable the NX-API feature Ansible Orchestration Engine Modules Playbooks APIs Libraries (Via NXAPI) (Via ssh) Compute Cisco network device
  • 34. Gather Operational Data • Summary • Gather operational data from multiple switches • Description • Playbook to gather show version, related information from all nodes listed in inventory file • Dump the gathered information to different files, each named after the switch hostname • Script : https://github.com/datacenter/nxos/blob/master/ansible/nexus_get_facts.yml 35
  • 35. Use Case Provisioning a VXLAN Fabric 36
  • 36. Provisioning is a 2-step process : The Underlay and then the Overlay
  • 37. (1) VXLAN Underlay Local LAN Segment Physical Host Local LAN Segment Physical Host Virtual Hosts Local LAN Segment Virtual Switch Edge Device Edge Device Edge Device IP Interface 38
  • 38. 39 (2) VXLAN Overlay Local LAN Segment Physical Host Local LAN Segment Physical Host VTEP VTEP VTEP VV V Encapsulation Virtual Hosts Local LAN Segment Virtual Switch VTEP – VXLAN Tunnel End-Point VNI/VNID – VXLAN Network Identifier 39
  • 39. Here’s how we do it with Ansible…
  • 40. We use Ansible’s “Role” Feature .. Underlay Overlay Leaf Role 1. IP address + Loopback + IGP on all links between spine and leaf 2. Enable Multicast 1. Configure VNIs and Associate with VLANs 2. Configure SVIs 3. Configure VRFs 4. Configure BGP EVPN Neighbors (Spines) 5. Configure NVE Interface Spine Role 1. IP address + Loopback + IGP on all links between spine and leaf 2. Enable Multicast and Anycast RP 3. Enable IGP for this RP Configure BGP Router Reflector Playbook available at : https://github.com/abhinavmodi/nxos-ansible/tree/master/provision-dc
  • 41. Snapshots of the Playbooks 42
  • 42. Ansible 2.0 just released !! • Module to connect to Cisco switches now a core Ansible module • Part of the Ansible 2.0 Codebase and supported by Ansible • Can connect to Nexus switches using • NX-API • SSH • Watch out for Ansible 2.0 samples with Nexus soon, at http://github.com/datacenter/nxos 43
  • 43. New features introduced in Ansible 2.0 • New Nexus Core Modules!! nxos_config, nxos_command and nxos_template • Support for different transports SSH and NX-API
  • 44. New features introduced in Ansible 2.0 Sample Playbook
  • 45. Putting it all Together 46
  • 46. • Configuration Management Tools can be used for Networking as well. • NX-OS supports Puppet, Chef and Ansible • More features are being supported by each tool in each release • Evaluate these tools and get started with some monitoring, provisioning tasks Key Takeaways 47
  • 47. • Getting started with Python • codeacademy.org, MOOCs (Coursera) • Github • https://github.com/datacenter/nxos (Scripts used in this session are posted here) • https://github.com/datacenter/nexus9000 • https://github.com/datacenter/nexus7000 • NX-API DevNet Community - https://developer.cisco.com/site/nx-api/ Additional Resources 48
  • 48. Call to Action • Visit the World of Solutions for • Cisco Campus – Programmability Booth for Demos • Walk in Labs – LABNMS-1023 Covering Basics of NX-API and Ansible • DevNet Booths on Enterprise Device Programmability, Puppet and Chef • VIRL in Devnet Area • Keep a watch on https://github.com/datacenter/nxos for more examples around these technologies
  • 50. Complete Your Online Session Evaluation • Please complete your online session evaluations after each session. Complete 4 session evaluations & the Overall Conference Evaluation (available from Thursday) to receive your Cisco Live T-shirt. • All surveys can be completed via the Cisco Live Mobile App or the Communication Stations