SlideShare a Scribd company logo
TechWiseTV
Open NX-OS
Workshop
Shane Corban Product Manager
Vishal Jain Technical Architect
Parag Deshpande Technical Architect
Nicolas Delecroix Technical Marketing Engineer
Open NX-OS consistent across
both ToR and ModularExtensibilityAuto
Deployment
Open Application
Integration
Programmability
Tool Choice
DevOps
Enabling
POAP NXAPI
Yocto
SDK
Standard Open
Interfaces
Open
Interfaces
Automation
and Visibility
Adaptable
NXOS
Adaptable
SDK
ProgrammableBootStrap and
Provisioning
BootStrap/
Provisioning
Package and
Application
Management
Native
Application
Integration
PXE
OPEN NXOS – Enhancements across all NX-OS
Infrastructure Layers
Data
Models
OPEN NX-OS - Extensible, Open, Programmable
Server
Management
Tools
Open NX-OS: Infrastructure Layer Enhancements
OPEN PACKAGE/APPLICATION INTEGRATION
OPEN INTERFACE LINUX ARCHITECTURE
OPEN NX-API REST (MODEL BASED)
Open NX-OS supported across
Nexus 3K/9K
Open NXOS
Open NX-OS Package Management via YUM/RPM
LXC and Native Daemons
• Ability to third party packages in
Secure Guestshell or natively in NX-
OS kernel
• Install all third party applications
(Puppet/Chef, etc) as RPMs
• Daemon managed via standard Linux
interfaces
• Built-in support for YUM package
manager
• Patching and upgrade using standard
rpm/yum workflows
• NX-OS processes(BGP) can be
upgraded/patched via “yum update”
Package as RPM
C app with
standard Linux
constructs
Open Embedded
64 bit Build
Environment
Cisco/Local
Repository
RPM local
repository
RPM upload
YUM Install
Linux Daemon
Linux Kernel
• Raw Socket
• Netdevs
• Libpcap
init.d
Monitoring
server
ASIC
Build Server Target Switch
Third Party
Protocol Apps
Devops
Orchestration
Automation
Monitoring/
Analytics
Third Party/Custom
Applications
tcollector
64 Bit Yocto Based Linux Kernel
Switch Hardware
Routing/Switching
Packages
Kernel Route Kernel ARP Kstack/Netdevs Kernel
Space
User
Space
Base NX-OS
OpenLLDP
Open NX-OS Third Party Application Integration
SoftwareArchitecture
Kernel (cgroup, LSM)
NX-OS root file system
Native
Linux
Processes
Native
Linux
Processes
Bash Bash
Native
Linux
Processes
Native
Linux
Processes
Native
Linux
Processes
Guest root file system
Pkg-1.rpm Pkg-2.rpm
Pkg-2.rpm Pkg-3.rpm
Ns=globalNs=global Ns=guestshell Ns=guestshell Ns=guestshellNs=global Ns=guestshell
Native Shell, RPM +
Containers
• Secure common distribution CentOS7 environment in which customer may install their own custom
applications
• Use “guestshell resize” command to restrict CPU/memory/rootfs resources available to Guest
Shell
Open NX-OS: Third Party Application Integration
Secure Guest Shell
Pkg-4.rpm
Open NX-OS: Infrastructure Layer Enhancements
OPEN PACKAGE/APPLICATION INTEGRATION
OPEN INTERFACE LINUX ARCHITECTURE
OPEN NX-API REST (MODEL BASED)
Open NX-OS supported across
Nexus 3K/9K
Open NXOS
Open NX-OS Linux Kernel Stack Architecture
UserSpace
ASIC-1 ASIC-M
Eth1/1 Eth M/NEth1/2
Portchannel1
SubIntf
Switch Ports
LinuxKernel
• Allows 3rd party apps to
inject routes to
hardware using Linux
interfaces
• Install 3rd party routing
protocols built on Linux
interfaces
NetDevices
ASIC-2 . . .
Eth1/1
Route
Table
ARP
Table Linux
Networking
Stack
NX-OS
FIB
Routing Protocols
Adjacency
Table
HardwareApps
Linux Networking Apps Monitoring/Visibility Automation/Provisioning
Open NX-OS Interfaces: NX-OS Kernel Stack
Representing VRF context via Linux Name Space
UserSpace
ASIC-1 ASIC-M
Eth1/1 Eth M/NEth1/2
Portchannel1
SubIntf
Switch Ports
LinuxKernel
• Forwarding information
within the ‘VRF’ context
can be accessed via a
corresponding Linux
Name Space
• setns, ip-netns to change
VRFs and add routes
within a given
namespace.
NetDevices
ASIC-2 . . .
Eth1/1Linux Networking Stack
Hardware
Default
Name
Space
Default
VRF
Name
Space
Red
VRF
Red
Name
Space
Orange
VRF
Orange
Name
Space
Purple
VRF
Purple
Apps
Linux Networking Apps Monitoring/Visibility Automation/Provisioning
ASIC-3
Open NX-OS: Infrastructure Layer Enhancements
OPEN PACKAGE/APPLICATION INTEGRATION
OPEN INTERFACE LINUX ARCHITECTURE
OPEN NX-API REST (MODEL BASED)
Open NX-OS supported across
Nexus 3K/9K
Open NXOS
• Object models for NX-OS switch
processes (BGP, VLAN, etc) are
exposed to customer and are
programmed via RESTful API’s
asynchronously.
• SNMP goes via DME(Object Store) or
legacy path based on component
and operation type (GET/SET).
• All manageability agents over CLI are
still supported via CLI including
existing NX-API implementation
• Models are rendered as configuration
changes on backend processes via
DME(Object Store).
REST CLIENT PROCESS FLOW:
1. Client sends REST request over
HTTP
2. DME validates posted/input REST
objects against cisco models and
returns Success/Failure to calling
REST client
3. Transactions Committed on backend
processes
4. Report Status(Success/Raise Fault)
NX-API
Python
API
BashTCL
CLI(VSH)
Transport:
HTTP/HTTPS
Data: JSON/XML
NGINI
X
Server
Data Management Engine
Netconf
Transport: SSH
Data: XML
Object Store
SNMP
Agent
SNMP
Rest
Client
Netconf
Client
BGP LACP ACL QoSVLAN
Transaction Commit Status: Success/Raise
Fault
1 2
3 4
Open NX-OS Programmability
Object Model Based Automation with NX-API REST
Open NX-OS NX-API REST Object Model Programmability
BGP Configuration Example
CLI POST Request (NX-API CLI) POST Request BGP Object (NX-API REST)
router bgp 11
router-id 1.1.1.1
POST http://Switch-IP/ins
{'content-type':'application/json-
rpc'}.json()
{ "jsonrpc": "2.0",
"method": "cli",
"params": {
"cmd": "config t",
"version": 1 }, "id": 1},
{ "jsonrpc": "2.0",
"method": "cli",
"params": {
"cmd": "router bgp 11",
"version": 1 },"id": 1},
{ "jsonrpc": "2.0",
"method": "cli",
"params": {
"cmd": "router-id
1.1.1.1",
"version": 1}, "id": 2}]
POST http://Switch-
IP/api/mo/sys/bgp/inst.json
{ "bgpInst" : {
"children" : [{
"bgpDom" : { 11
"attributes" : {
"name":"default",
"rtrId" : "1.1.1.1"
}
}
}
]
}
}
Open-NXOS Useful Reference Links
Software/Document Reference Link
Nexus Programmability Guide http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-
x/programmability/guide/b_Cisco_Nexus_9000_Series_NX-
OS_Programmability_Guide_7x.html
NX API REST Object Model Specification http://developer.cisco.com
Chef Enterprise Agent (Supermarket) http://supermarket.chef.io
Cisco Chef Cookbook GitHub https://github.com/cisco/cisco-network-chef-cookbook
Puppet Enterprise Agent (Puppetforge) http://forge.puppetlabs.com
Cisco Puppet Module GitHub https://github.com/cisco/cisco-network-puppet-module
Cisco Software Repository https://devhub.cisco.com/artifactory/open-nxos
Nexus 3/9K Datacenter GitHub Repository (NX-
API, Ansible, NXAPI REST Scripting Examples,
etc)
http://github.com/datacenter/nexus9000
Custom Application Integration SDK http:/​/​devhub.cisco.com/​artifactory/​open-nxos
Virtual vN9K Please contact your Cisco AM to request access currently

More Related Content

PPTX
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
PDF
Red Hat Forum Benelux 2015
PDF
Testing kubernetes and_open_shift_at_scale_20170209
PPTX
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
PDF
Status of Embedded Linux
PDF
Magento infrastructure by OpsWay
PDF
Fabric8 - Being devOps doesn't suck anymore
PPTX
Role of sdn controllers in open stack
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
Red Hat Forum Benelux 2015
Testing kubernetes and_open_shift_at_scale_20170209
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
Status of Embedded Linux
Magento infrastructure by OpsWay
Fabric8 - Being devOps doesn't suck anymore
Role of sdn controllers in open stack

What's hot (20)

PDF
How to Prepare for CKA Exam
PDF
KubeCon EU 2016: Heroku to Kubernetes
PDF
Running and Managing Kubernetes on OpenStack
PDF
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
PDF
OpenShift in your own backyard - DevConf CZ 2021
PDF
How OpenShift SDN helps to automate
PDF
Simplify Networking for Containers
PDF
How to Integrate Kubernetes in OpenStack
PDF
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
PDF
Deploying WSO2 Middleware on Kubernetes
PPTX
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
PPTX
OpenStack @ Workday - CI/CD
PDF
Introduction to MidoNet
PDF
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
PDF
A microservice architecture based on golang
PDF
Proactive ops for container orchestration environments
PDF
Load Balancing Applications on Kubernetes with NGINX
PDF
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
How to Prepare for CKA Exam
KubeCon EU 2016: Heroku to Kubernetes
Running and Managing Kubernetes on OpenStack
IITCC15: The Bare-Metal Hypervisor as a Platform for Innovation
OpenShift in your own backyard - DevConf CZ 2021
How OpenShift SDN helps to automate
Simplify Networking for Containers
How to Integrate Kubernetes in OpenStack
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Deploying WSO2 Middleware on Kubernetes
Docker for Ops: Docker Networking Deep Dive, Considerations and Troubleshooti...
OpenStack @ Workday - CI/CD
Introduction to MidoNet
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
A microservice architecture based on golang
Proactive ops for container orchestration environments
Load Balancing Applications on Kubernetes with NGINX
Zephyr: Creating a Best-of-Breed, Secure RTOS for IoT
Ad

Similar to TechWiseTV Open NX-OS Workshop (20)

PPTX
DEVNET-1166 Open SDN Controller APIs
PDF
VMworld 2013: Deploying VMware NSX Network Virtualization
PDF
TechWiseTV Workshop: Catalyst Switching Programmability
PDF
OpenShift 4 installation
PDF
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
PDF
An Introduce of OPNFV (Open Platform for NFV)
PDF
2008-09-09 IBM Interaction Conference, Red Hat Update for System z
PDF
Stacks and Layers: Integrating P4, C, OVS and OpenStack
PDF
NCS: NEtwork Control System Hands-on Labs
PDF
Tungsten Fabric Overview
ODP
PDF
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
PDF
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
PDF
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
PDF
Kubernetes: Container Orchestration for Production-grade People
PDF
OpenShift-Technical-Overview.pdf
PDF
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
PDF
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
PPTX
Introducing Node.js in an Oracle technology environment (including hands-on)
PPTX
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
DEVNET-1166 Open SDN Controller APIs
VMworld 2013: Deploying VMware NSX Network Virtualization
TechWiseTV Workshop: Catalyst Switching Programmability
OpenShift 4 installation
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
An Introduce of OPNFV (Open Platform for NFV)
2008-09-09 IBM Interaction Conference, Red Hat Update for System z
Stacks and Layers: Integrating P4, C, OVS and OpenStack
NCS: NEtwork Control System Hands-on Labs
Tungsten Fabric Overview
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
Kubernetes: Container Orchestration for Production-grade People
OpenShift-Technical-Overview.pdf
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
Introducing Node.js in an Oracle technology environment (including hands-on)
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Ad

More from Robb Boyd (20)

PDF
Enterprise-Grade Trust: Collaboration Without Compromise
PDF
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
PDF
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
PDF
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
PDF
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
PPTX
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
PPTX
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
PDF
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
PPTX
Technical Overview of Cisco Catalyst 9200 Series Switches
PPTX
The Enhanced Cisco Container Platform
PPTX
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
PPTX
TechWiseTV Workshop: SD-WAN Security
PPTX
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
PPTX
Protect Kubernetes Environments with Cisco Stealthwatch Cloud
PPTX
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
PPTX
Infrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
PDF
TechWiseTV Workshop Q&A: Cisco UCS C4200
PDF
TechWiseTV Workshop: Cisco UCS C4200
PDF
TechWiseTV Workshop: ASR 9000
PDF
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud
Enterprise-Grade Trust: Collaboration Without Compromise
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
Technical Overview of Cisco Catalyst 9200 Series Switches
The Enhanced Cisco Container Platform
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: SD-WAN Security
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
Protect Kubernetes Environments with Cisco Stealthwatch Cloud
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
Infrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
TechWiseTV Workshop Q&A: Cisco UCS C4200
TechWiseTV Workshop: Cisco UCS C4200
TechWiseTV Workshop: ASR 9000
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Encapsulation theory and applications.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A comparative analysis of optical character recognition models for extracting...
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Group 1 Presentation -Planning and Decision Making .pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Unlocking AI with Model Context Protocol (MCP)
Assigned Numbers - 2025 - Bluetooth® Document
cloud_computing_Infrastucture_as_cloud_p
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf

TechWiseTV Open NX-OS Workshop

  • 1. TechWiseTV Open NX-OS Workshop Shane Corban Product Manager Vishal Jain Technical Architect Parag Deshpande Technical Architect Nicolas Delecroix Technical Marketing Engineer
  • 2. Open NX-OS consistent across both ToR and ModularExtensibilityAuto Deployment Open Application Integration Programmability Tool Choice DevOps Enabling POAP NXAPI Yocto SDK Standard Open Interfaces Open Interfaces Automation and Visibility Adaptable NXOS Adaptable SDK ProgrammableBootStrap and Provisioning BootStrap/ Provisioning Package and Application Management Native Application Integration PXE OPEN NXOS – Enhancements across all NX-OS Infrastructure Layers Data Models OPEN NX-OS - Extensible, Open, Programmable Server Management Tools
  • 3. Open NX-OS: Infrastructure Layer Enhancements OPEN PACKAGE/APPLICATION INTEGRATION OPEN INTERFACE LINUX ARCHITECTURE OPEN NX-API REST (MODEL BASED) Open NX-OS supported across Nexus 3K/9K Open NXOS
  • 4. Open NX-OS Package Management via YUM/RPM LXC and Native Daemons • Ability to third party packages in Secure Guestshell or natively in NX- OS kernel • Install all third party applications (Puppet/Chef, etc) as RPMs • Daemon managed via standard Linux interfaces • Built-in support for YUM package manager • Patching and upgrade using standard rpm/yum workflows • NX-OS processes(BGP) can be upgraded/patched via “yum update” Package as RPM C app with standard Linux constructs Open Embedded 64 bit Build Environment Cisco/Local Repository RPM local repository RPM upload YUM Install Linux Daemon Linux Kernel • Raw Socket • Netdevs • Libpcap init.d Monitoring server ASIC Build Server Target Switch
  • 5. Third Party Protocol Apps Devops Orchestration Automation Monitoring/ Analytics Third Party/Custom Applications tcollector 64 Bit Yocto Based Linux Kernel Switch Hardware Routing/Switching Packages Kernel Route Kernel ARP Kstack/Netdevs Kernel Space User Space Base NX-OS OpenLLDP Open NX-OS Third Party Application Integration SoftwareArchitecture
  • 6. Kernel (cgroup, LSM) NX-OS root file system Native Linux Processes Native Linux Processes Bash Bash Native Linux Processes Native Linux Processes Native Linux Processes Guest root file system Pkg-1.rpm Pkg-2.rpm Pkg-2.rpm Pkg-3.rpm Ns=globalNs=global Ns=guestshell Ns=guestshell Ns=guestshellNs=global Ns=guestshell Native Shell, RPM + Containers • Secure common distribution CentOS7 environment in which customer may install their own custom applications • Use “guestshell resize” command to restrict CPU/memory/rootfs resources available to Guest Shell Open NX-OS: Third Party Application Integration Secure Guest Shell Pkg-4.rpm
  • 7. Open NX-OS: Infrastructure Layer Enhancements OPEN PACKAGE/APPLICATION INTEGRATION OPEN INTERFACE LINUX ARCHITECTURE OPEN NX-API REST (MODEL BASED) Open NX-OS supported across Nexus 3K/9K Open NXOS
  • 8. Open NX-OS Linux Kernel Stack Architecture UserSpace ASIC-1 ASIC-M Eth1/1 Eth M/NEth1/2 Portchannel1 SubIntf Switch Ports LinuxKernel • Allows 3rd party apps to inject routes to hardware using Linux interfaces • Install 3rd party routing protocols built on Linux interfaces NetDevices ASIC-2 . . . Eth1/1 Route Table ARP Table Linux Networking Stack NX-OS FIB Routing Protocols Adjacency Table HardwareApps Linux Networking Apps Monitoring/Visibility Automation/Provisioning
  • 9. Open NX-OS Interfaces: NX-OS Kernel Stack Representing VRF context via Linux Name Space UserSpace ASIC-1 ASIC-M Eth1/1 Eth M/NEth1/2 Portchannel1 SubIntf Switch Ports LinuxKernel • Forwarding information within the ‘VRF’ context can be accessed via a corresponding Linux Name Space • setns, ip-netns to change VRFs and add routes within a given namespace. NetDevices ASIC-2 . . . Eth1/1Linux Networking Stack Hardware Default Name Space Default VRF Name Space Red VRF Red Name Space Orange VRF Orange Name Space Purple VRF Purple Apps Linux Networking Apps Monitoring/Visibility Automation/Provisioning ASIC-3
  • 10. Open NX-OS: Infrastructure Layer Enhancements OPEN PACKAGE/APPLICATION INTEGRATION OPEN INTERFACE LINUX ARCHITECTURE OPEN NX-API REST (MODEL BASED) Open NX-OS supported across Nexus 3K/9K Open NXOS
  • 11. • Object models for NX-OS switch processes (BGP, VLAN, etc) are exposed to customer and are programmed via RESTful API’s asynchronously. • SNMP goes via DME(Object Store) or legacy path based on component and operation type (GET/SET). • All manageability agents over CLI are still supported via CLI including existing NX-API implementation • Models are rendered as configuration changes on backend processes via DME(Object Store). REST CLIENT PROCESS FLOW: 1. Client sends REST request over HTTP 2. DME validates posted/input REST objects against cisco models and returns Success/Failure to calling REST client 3. Transactions Committed on backend processes 4. Report Status(Success/Raise Fault) NX-API Python API BashTCL CLI(VSH) Transport: HTTP/HTTPS Data: JSON/XML NGINI X Server Data Management Engine Netconf Transport: SSH Data: XML Object Store SNMP Agent SNMP Rest Client Netconf Client BGP LACP ACL QoSVLAN Transaction Commit Status: Success/Raise Fault 1 2 3 4 Open NX-OS Programmability Object Model Based Automation with NX-API REST
  • 12. Open NX-OS NX-API REST Object Model Programmability BGP Configuration Example CLI POST Request (NX-API CLI) POST Request BGP Object (NX-API REST) router bgp 11 router-id 1.1.1.1 POST http://Switch-IP/ins {'content-type':'application/json- rpc'}.json() { "jsonrpc": "2.0", "method": "cli", "params": { "cmd": "config t", "version": 1 }, "id": 1}, { "jsonrpc": "2.0", "method": "cli", "params": { "cmd": "router bgp 11", "version": 1 },"id": 1}, { "jsonrpc": "2.0", "method": "cli", "params": { "cmd": "router-id 1.1.1.1", "version": 1}, "id": 2}] POST http://Switch- IP/api/mo/sys/bgp/inst.json { "bgpInst" : { "children" : [{ "bgpDom" : { 11 "attributes" : { "name":"default", "rtrId" : "1.1.1.1" } } } ] } }
  • 13. Open-NXOS Useful Reference Links Software/Document Reference Link Nexus Programmability Guide http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7- x/programmability/guide/b_Cisco_Nexus_9000_Series_NX- OS_Programmability_Guide_7x.html NX API REST Object Model Specification http://developer.cisco.com Chef Enterprise Agent (Supermarket) http://supermarket.chef.io Cisco Chef Cookbook GitHub https://github.com/cisco/cisco-network-chef-cookbook Puppet Enterprise Agent (Puppetforge) http://forge.puppetlabs.com Cisco Puppet Module GitHub https://github.com/cisco/cisco-network-puppet-module Cisco Software Repository https://devhub.cisco.com/artifactory/open-nxos Nexus 3/9K Datacenter GitHub Repository (NX- API, Ansible, NXAPI REST Scripting Examples, etc) http://github.com/datacenter/nexus9000 Custom Application Integration SDK http:/​/​devhub.cisco.com/​artifactory/​open-nxos Virtual vN9K Please contact your Cisco AM to request access currently