SlideShare a Scribd company logo
1 of 86
Download to read offline
Akshat Sharma,
Technical Marketing Engineer, Cisco
BRKSPG-2069
Introduction to the
Next-Generation IOS-XR
architecture
@irakshat
@xrdocs
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Webex Teams
Questions?
Use Cisco Webex Teams (formerly Cisco Spark)
to chat with the speaker after the session
Find this session in the Cisco Events Mobile App
Click “Join the Discussion”
Install Webex Teams or go directly to the team space
Enter messages/questions in the team space
How
1
2
3
4
3
cs.co/ciscolivebot#BRKSPG-2069
BRKSPG-2069
Agenda
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
• Introduction
• Software Architecture Overview
• Flexible Packaging
• Application Hosting
• Configuration, Monitoring and Troubleshooting
• Examples
• Conclusions
BRKSPG-2069
Introduction
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
An Evolved Network
Operating System for a Rapidly
Changing Web and SP Landscape
6
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Key Learning Objectives
• At the end of the session, you should be able to:
• Appreciate rapidly evolving network infrastructure landscape
• Understand how Cisco is evolving IOS-XR network operating systems to
meet customer needs
• Identify technical principles of Evolved IOS-XR
7
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Automating Provisioning Down to Minutes
Network Operations Center
Day 0
INSTALL
Day 1
CONFIGURE
Day 2
CLI Script
Operating System
Upgrade (Manual)
Plug in new device
Configure new
device remotely
(Manual)
Device up and running
Manual staging
4 Hours to 3 Days
Plug in new device
Device up and running
Auto-provisioning
10 to 15 Minutes
Automated Boot
• Manual device onboarding
• Lengthy installation and
provisioning procedures
Traditional
Networking Operations
Cloud Scale
Networking Operations
• Reduced time to install and
provision new devices
• Faster disaster recovery
• Automated device onboarding
Operating
System
Operating
System
Configuration
Cloud Scale
Network Operations
Traditional
Network Operations
8
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Traditional NetOps Upended by
Evolved Needs of SP Customers
* Source: Google
Evolved SP/Cloud Scale
Network Operations
SW
Modularity
&
Extensibility
Automation
Visibility &
Control
Day 1
CONFIGURE
Day 2
MANAGE
& OPTIMIZE
Day 0
INSTALL
Inflexible
SW
Manual
Provisioning
Fragmented
Topology
View and
Complex
Routing
DevOps
• Automated services
• Simple to scale
• Agile, open software
9
Traditional Network
Operations
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Simplification
Better Customer
Experience
Software Modularity
and Extensibility
Service Agility
Open Innovation
Cisco Evolved IOS XR Innovations
Designed for Operational Fit
Application
Engineered Routing
Visibility
Control
Telemetry
Automation
Automated Boot and
Auto-provisioning
Data
Model
Driven
APIs
Third-
party
Agents
Support
Application
Hosting
Docker
Linux
Containers
Extensibility
Asynchronous Upgrade
Modularity
Granular Packaging
Operational Efficiency
Visibility and Control
10
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Evolved IOS-XR Enablement across Platforms
NCS5508
NCS5001
NCS5002
NCS5502/SE
NCS5011 ASR9000 64-bit
NCS1002 with MACSec
NCS6000
NCS5501/SE
NCS5516
NCS5504
NCS-55A1-36H-S
NCS-55A1-24H
11
NCS-55A2-MOD
Now Shipping 6.5.1
NCS1002
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Pillars of Evolved IOS-XR
Evolved
Programmability
Flexible Platform
and Packaging
Application
Hosting
• Data accessible via published model driven interfaces (Openconfig & Netconf)
• Machine friendly
• Enables automation @ scale
• Packages can be inspected on box using standard tool chain (RPM tools)
• Automated package installation with dependency checking
• Open Bootloaders (iPXE) and end-to-end auto-provision
• 64-bit Linux
• Ability to run 3rd party off the shelf applications built with Linux tool chains
• Run custom applications inside a separate LXC container
Visibility &
Telemetry
• Operational Data, Deep analytical hooks
• Model-based, flexible, Push Model
13
BRKSPG-2069
Software Architecture
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
• 64-bit OpenEmbedded Linux
support.
• Processes containerization.
• Standard Linux toolchain.
• Third-Party applications.
• NCS5500, NCS5000 and
NCS1002 support 64-bit Linux.
• ASR 9000 supports 64-bit Linux
starting with 6.1.1.
• Will still have 32-bit QNX support.
IOS-XR 6.X: A New Software Infrastructure
X86 Hardware
64 bit Linux
Control Admin
NPU
System
Admin
System
Control
Classic XR XR 6.X
32 bit QNX
15
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
• With eXR, the Admin plane and the
Control Plane run in isolated
environment.
• ASR9K uses Virtual Machines (VMs)
• NCS5000 and NCS5500 use containers
(LXCs)
• Provide the same functionalities.
• Use same tools (libvirsh) to
Provide the virtualization services
• LXCs are lightweight no ISSU support.
• VMs are heavier but provide ISSU
support.
Introduction to Virtualization
X86 Hardware
Hypervisor
ASR9K
App
Lib
OS
…
App
Lib
OS
Operating System
…
App
Lib
App
Lib
X86 Hardware
Operating System
NCS5000-5500
16
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
IOS-XR Entities Roles: The Host
• The main functions of the host are:
• Interact directly with the underlying hardware.
• Provide kernel services for the LXCs/VMs
• Provide libraries, tools, and utilities to help launch, monitor, and
maintain containers.
• Provide the network infrastructure to allow containers to
communicate.
Routing Processor
64-bit Host OS
Control
Plane
Admin
Plane
Third
Party
19
• Runs Yocto based 64-bit Open Embedded Linux kernel.
• Built using Windriver 7.
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Container Architecture NCS 5500 and NCS 5000
20
Routing Processor
64-bit Host OS
Control
Plane
Cisco developed
packages for core
network functions
(BGP, MPLS, etc.)
Yocto packages for
standard Linux tools
and libraries
(bash, python,
tcpdump, etc.).
Admin
Plane
Runs processes
responsible to perform
system diags, monitor
env. variables, and
manage hardware
components
First container to be
booted by the host,
responsible for the
start and maintenance
of the Control Plane
container
Third
Party
Runs any 64-bit Linux
distribution.
Launched from the XR
container using virsh
and libvirtd.
Access Network
Interface through the
Global VRF Network
Name Space.
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco developed
packages for core
network functions
(BGP, MPLS, etc.)
Yocto packages
for standard Linux
tools and libraries
(bash, python,
tcpdump, etc.).
Control
Plane
VM
Container Architecture (ASR9K)
Routing Processor
64-bit Host OS
Hypervisor
Runs any 64-bit
Linux distribution.
Launched from the
XR virtual machine
using virsh and
libvirtd.
Access Network
Interface through the
Global VRF Network
Name Space.
Third
Party
LXC Runs processes
responsible to perform
system diags, monitor env.
variables, and manage
hardware components
First VM to be booted by
the Hypervisor, responsible
for the start and
maintenance of the Control
Plane VM
Admin
Plane
VM
21
BRKSPG-2069
Zero Touch Provisioning
and iPXE
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
DHCP Server
Route
r
Web Server
IOS-XR images
• Cisco Platforms:
ISO format for iPXE
• Supported Whitebox Platforms:
ONIE compatible installer
Automated Installation of IOS-XR images
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
DHCP Server
IOS-XR
Web Server
ZTP Artifacts
• CLI Configuration
• ZTP script:
 Native Python scripts
 Native bash scripts,
 Golang/c++/pyinstaller
binaries
Automated Provisioning using ZTP
Support for Data ports
Starting with Release 6.5.1!
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Sample DHCP Server Configuration
option space cisco-vendor-id-vendor-class code width 1 length width 1;
option vendor-class.cisco-vendor-id-vendor-class code 9 = {string};
class "ncs5508" { match if (substring(option dhcp-client-identifier,0,11) = "FGE194714QS");}
pool {
allow members of "ncs5508";
range 11.11.11.47 11.11.11.50;
if exists user-class and option user-class = "iPXE" {
filename="http://11.11.11.2:9090/ncs5500-mini-x.iso";
}
if exists user-class and option user-class = "exr-config" {
if (substring(option vendor-class.cisco-vendor-id-vendor-class,3,11)="FGE194714QS")
{
if (substring(option vendor-class.cisco-vendor-id-vendor-class,19,99)="NCS-5508")
{
filename="http://11.11.11.2:9090/scripts/ztp_script.py";
} }}}
DHCP
option 77
DHCP
option 67
DHCP
option 77
DHCP
option 67
25
DHCP
option 124
DHCP
option 124
DHCP
option 124
https://xrdocs.io/device-
lifecycle/blogs/2017-09-21-
ios-xr-ztp-learning-through-
packet-captures/
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
IP address
Next-server
Filename=http://<http-srv>/new-img.ISO
DHCP SERVER
IP address
Next-server
Filename=http://<http-srv>/script-SN.sh
or
Filename=http://<http-srv>/config-SN.txt
HTTP(S) SERVER
Image-new.ISO
script-SN.sh
config-SN.txt
Additional
Scripts
Packages, etc…
Apply
configuration Execute script
XR Boot
ZTP
execution
iPXE
boot
XR Install
N
iPXE
Y
1
2
3
GET script-SN.sh or config-SN.txt
4
GET addon scripts/packages/configuration
5
Retry Success
Success
config executable
Retry
IOS-XR Boot Process with iPXE and ZTP
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
ZTP
Deploy Applications
(Containers, Binaries,
cron-jobs, etc.)
Provide on-box
automation libraries:
Cli, Yang-APIs etc.
Software
Upgrade/Downgrade
Apply Configuration
ZTP Functions
BRKSPG-2069
Model-Driven ZTP
Automation
Introducing on-box Yang API hooks
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 29
IOS-XR CLI
• Introducing Yang-APIs using
on-box netconf client in Release
7.0.1
• On-box netconf client is
transport free - No SSH port to
connect to for ztp script/client.
• Localhost based GNMI
capability coming soon
Yang over
netconf
Yang over GNMI
ZTP Python
APIs
Yang based provisioning from Day 0!
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
ZTP Script: Available and Upcoming Options
30
ZTP Scripts
Python Library Bash Library Binaries
Pyinstaller
(ncclient, gNMI/gRPC)
golang
(gNMI/gRPC)
C++
(gNMI/gRPC)
IOS-XR CLI
• Show commands
• Exec commands
(Actions)
• Merge Config
• Replace config
IOS-XR CLI
• Show
commands
• Exec commands
(Actions)
• Merge Config
• Replace config
YANG-XML
• Ncclient
• Native
netconf
client
• gNMI/gRPC
* Local gNMI/gRPC support coming soon.
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Want to know more?
31
• IOS-XR Documentation, blogs, tutorial, etc ..
• https://xrdocs.io/
• IPXE Deep Dive
• https://xrdocs.io/device-lifecycle/tutorials/2016-07-27-ipxe-deep-dive/
• Working with ZTP
• https://xrdocs.io/device-lifecycle/tutorials/2016-08-26-working-with-ztp/
• https://xrdocs.io/device-lifecycle/blogs/2017-09-21-ios-xr-ztp-learning-
through-packet-captures/
• https://github.com/ios-xr/iosxr-ztp-python
• Software Management blogs, tutorial, etc …
• https://xrdocs.io/device-lifecycle/
BRKSPG-2069
Flexible Packaging
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Server-like Workflows
• Modular Disaggregated
• Update, Upgrade, Remove
• Dependency management
• Secure
• Repository Support
• Third Party Applications
Networking Software Delivery Direction
• RPM – RPM Package Manager
• YUM – Yellowdog Updater
Modified
• New Install Commands
33
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
RPM: IOS-XR New Package Format
• RPM Package Manager is the new Package format starting with IOS-XR 6.0.
• Packages are placed in a reachable repository and accessed via
FTP/SFTP/SCP/TFTP or HTTP or pre-staged on the box
• Third Party packages are installed with RPM or YUM inside the Shell.
• IOS-XR packages are installed with “install update/upgrade”.
• Both YUM and install commands provide dependency verification/resolution.
34
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Anatomy of RPM Packages
Archive
MetaData
Scriptlet
RPM
Describe package contents
Install structure
Dependencies
Pre and Post install instructions
CPIO binary archive
/var/lib/rpm
Database of installed packages
35
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
XR Packages Naming Convention
<name>-<version>-<release>.<architecture>.rpm
ncs5500-mgbl-4.0.0.0-r632.x86_64.rpm
SMU <name>-<version>-<release>.<defect>.<architecture>.rpm
ncs5500-mgbl-4.0.0.1-r632.CSCab12345.x86_64.rpm
Package
Major.Minor.Build.SMU
36
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Platform
Release
XR Software
Package Repository
XR SMUs
Mini ISO
+
Pkgs
Mini ISO
+
k9 pkg
+
Pkgs
Svc Pak
DDTS SMU
DDTS SMUs
ncs5500-mpls-te-rsvp-2.2.0.0-r632.x86_64.rpm
ncs5500-isis-1.3.0.0-r632.x86_64.rpm
ncs5500-mcast-2.1.0.0-r632.x86_64.rpm
ncs5500-k9sec-4.1.0.0-r632.x86_64.rpm
ncs5500-mgbl-4.0.0.0-r632.x86_64.rpm
ncs5500-mpls-2.1.0.0-r632.x86_64.rpm
ncs5500-ospf-2.0.0.0-r632.x86_64.rpm
6.3.2
<REPO_ROOT>
ncs5500-mini-x-6.3.2.iso
www.cisco.com Local Repository
ncs-5500-mgbl-4.0.0.1-r632.CSCab12345.x86_64.rpm
Full K9 ISO
Full ISO
TAR
ncs5500-li-1.0.0.0-r632.x86_64.rpm
37
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Updating XR Packages
Command Line Behavior
install update source <repository> No package specified, update latest SMUs of all
installed packages
install update source <repository> ncs5500-mpls Package name specified, will install that package,
update all latest SMUs of that package(s) (along
with its dependencies).
install update source <repository> ncs5500-
mpls-2.0.0.0-r611.CSCab12345.x86_64.rpm
SMU installation: the SMU will be downloaded
and installed (along with its dependent SMUs).
install update source <repository> ncs5500-
mpls-2.1.0.0-r632.x86_64.rpm
Asynchronous package upgrade, that package
will be installed (along with its dependent SMUs).
Available since 6.1.1
38
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Upgrading XR Packages
Command Line Behavior
install upgrade source <repository> version 6.5.1 Upgrade the base image to the specified version.
All installed packages will be upgraded to same
release as the base package.
install upgrade source <repository> version 6.5.1
ncs5500-mpls-2.2.0.0-r651.x86_64.rpm
Perform install upgrade and install update for a
specific package(s) in one operation.
39
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
• No dependency management
• Offline process required to copy
packages
• Require multiple operations
• install add
• install activate
• install commit
• Cisco Software Manager (CSM)
for package content
PIE Install
• Dependency management
• Online process over secure
transport
• Single operation
• install update or install upgrade
• On-box / Off-box package
inspection using rpm tool
• Description
• Dependencies
• Content
RPM Install
40
BRKSPG-2069
Introducing Golden ISO
(GISO) workflows
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Base ISO:
• Minimal Software image
• Use ZTP or day 1 operations
to install/apply:
 Functionality
packages/RPMs
 IOS-XR Configuration
 Third-party applications
Golden ISO
Minimal Software image
+
Functionality packages/RPMs
+
Base Configuration
Third-party applications installed
during ZTP or Day-1 Ops
Golden ISO++
Minimal Software image
+
Functionality packages/RPMs
+
Base Configuration
Third-party applications
Creating Deployment-Ready Golden ISOs
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
GISO tool
IOS-
XR
RPMs
RPM Repo
Base ISO
DHCP Server Web Server
Router
Build ISO
Deploy using iPXE
or XR install
Golden ISO Workflow
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Installing and Updating Third Party Packages
• Third Party Packages are traditional Linux tools available from the Shell
• Communication: lighttpd ,openssh, wget, curl, etc.
• Programming: python, ruby, perl, etc.
• Utilities: sed, gawk, tar, gzip, vi, etc.
• Additional packages provided by vendors (No Cisco Support)
• Chef
• Puppet
• Installed using yum or rpm
yum-config-manager --add-repo=http://192.168.0.254/XR/6.X.0
yum install chef –y
44
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Ansible, Puppet and Chef
• Open Source Software with Commercial Support or Add-Ons.
• Configuration management tools.
• Idempotent
• Describe infrastructure as code.
• Can then be managed from within a VCS such as git.
• Changes are attempted, shared, rolled forward and rolled back in a much more frictionless
way than traditionally.
• Agent based
• Uses Ruby based DSL for
configuration
• Agentless
• Uses Python 2.7
• Communicates over SSH
• Agent based
• Uses a subset of Ruby for
configuration
45
BRKSPG-2069
Application Hosting
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Application Hosting
• Visibility of all XR processes
• Visibility of all XR resources
• Run alongside XR Processes
• No isolation
• Must be built for WRL7
distribution
• No direct visibility of XR processes
• No direct visibility of XR resources
• Run in a separate namespace
• Isolation
• Must be built for the third
party LXC distribution
Inside the Control Plane
Inside the
Third Party LXC/Docker
Third
Party
LXC/
Docker
Third
Party
Control
Plane
Binary
VM/LXC
47
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
• Create the Container archive on a Linux Server.
• Copy the archive file to /misc/app_host.
• Unarchive in a rootfs directory.
• Create XML file specifying LXC parameters.
• Run virsh command.
Routing Processor
64-bit Host OS
Control
Plane
Third
Party
virsh create <XML File>
virsh list
Deploy
2 Launch
3
TAR
1 Create
Server
Third Party Container Application Workflow
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
• Create a docker image
• Pull down using docker client in XR control plane
• Spin up the docker container on host OS by
executing “docker run” in XR linux shell.
Routing Processor
64-bit Host OS
Control
Plane
docker pull <>
docker run <>
docker exec <>
Pull
2 Launch
3
1 Create
Server
Docker Container Workflow
BRKSPG-2069
Configuration,
Monitoring and
Troubleshooting
Modeled APIs at every
layer of the Stack
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 52
HW/Data Plane
NPU ASIC CPU
Fans, Sensors, Optics,
etc.
System OS + BSP
ASIC SDK
Network Infrastructure / Service Adaptation
RIB, Label Manager, BFD, Interface and more
Applications / Protocol Stack
BGP, ISIS, OSPF, LDP, SR, L2 Protocols
Management
CLI, Netconf, SNMP, Syslog, SSH
SAL
APL
NBI
3rd Party Agent + Telemetry OSS
Hardware
Consists of ASIC/Chipset from HW vendors + CPU, Fans,
Sensors
System OS - Linux Kernel
BSP(Board Support Package) - Boot Loader, Device Drivers,
etc.
ASIC SDK and drivers for the SDK
Network Infrastructure Layer / Service Adaptation Layer
• Acts as the bridge between the Application Layer and the HW
• Presents abstractions to the Application/Protocol Layer
Application/Protocol Layer
Provides APIs into the Routing Protocols (BGP, IGP, SR, etc.)
Management/Presentation Layer
Provides access to configure and manage the stack through
Network config/oper DB: Yang Models, CLI.
SL API
De-Layering The Network Stack
BRKSPG-2069
Model Driven
Manageability
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
Cisco IOS XR Device Programmability
Data Plane
Control Plane
Management Plane
App
Controller
Orchestrator
Controller
Orchestrator
Data Plane
Control Plane
App
Model-Driven Manageability Service Layer API
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 55
Controller
Orchestrator
Network
Device
Model-Driven
Configuration
Model-Driven
Telemetry
Closed-loop
automation Encoding
Protocol
Models
SDK
Apps
XML JSON GPB
NETCONF gRPC
Model-Driven SDKs
YANG Development Kit (YDK)
YANG Models
(native, open)
App App App
SSH HTTP
Transport TCP
Model-Driven Manageability
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Introduction to YANG
• Modeling language
(initially for NETCONF)
• Main node types
• Leaf – An end node of data
• Leaf list – A list of single items
• Container – Groups things together
• List – A collection of containers
56
Leaf
Node without a value
Node with a value
Leaf list
Container
(grouping)
Container
(presence)
List
key
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Benefits of Model-Driven APIs
• Model based, structured, computer friendly.
• Multiple model types (native, OpenConfig, IETF, etc.).
• Models decoupled from transport, protocol end encoding.
• Choice of transport, protocol and encoding.
• Model-driven APIs for abstraction and simplification.
• Wide standard support while leveraging open source.
Reduce Operational Costs
57
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG Model Example
container community-sets {
description “Container for community sets";
list community-set {
key community-set-name;
description "Definitions for community sets";
leaf community-set-name {
type string;
description "name of the community set";
}
leaf-list community-member {
type string {
pattern '([0-9]+:[0-9]+)';
}
description "members of the community set";
}
}
}
community-set CSET1
65172:1,
65172:2,
65172:3
end-set
!
community-set CSET10
65172:10,
65172:20,
65172:30
end-set
!
YANG CLI
58
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Model Data Example
community-set CSET1
65172:1,
65172:2,
65172:3
end-set
!
community-set CSET10
65172:10,
65172:20,
65172:30
end-set
!
{ "community-sets": {
"community-set": [
{ "community-set-name": "CSET1",
"community-member": [
"65172:1",
"65172:2",
"65172:3" ]
},
{ "community-set-name": "CSET10",
"community-member": [
"65172:10",
"65172:20",
"65172:30" ]
}
]
}
}
JSON CLI
59
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG Models (Github)
IOS XR Models
XR models
per release
60
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
• SDK simplifying client
development for model-driven
programmability
• Rich protocol support (NETCONF,
RESTCONF, gNMI)
• Rich data model support (XR, XE,
NX-OS, OC, IETF)
• Rich language support (Python,
Go, C++)
• Built-in model data validation
• Open source
YANG Development Kit
ydk.io
YDK-Py YDK-Cpp YDK-Go
Model-driven
classes
NETCONF
RESTCONF
gNMI
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Model-Driven APIs
• Simplify app development
• Abstract transport and encoding
• Generated from YANG model
• One-to-one correspondence between
model and class hierarchy
• Multi-language (Python, C++, Ruby, Go,
etc.)
62
YANG Model
Class Hierarchy
(Python, C++, Ruby, Go)
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 63
• OpenConfig network management
protocol
• Supports configuration management
and telemetry
• Efficient data streaming over gRPC
• IOS XR 6.5.1 introduced support for
gNMI
• YDK 0.8.0 enables simple client
development
gNMI at a Glance (Introduced in IOS-XR 6.5.1)
Configuration Telemetry
BRKSPG-2069
Understanding the
Service-Layer API
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 65
Service Adaptation
RIB, Label Manager, BFD, Interface and more
SAL
3rd Party Agent + Telemetry OSS
Network Infrastructure Layer /
Service Adaptation Layer
• Acts as the bridge between the Application Layer
and the HW
• Presents abstractions to the Application/Protocol
Layer
• Highly Performant API outside the Central
Config/Oper Database context
SL API
Locating the
Service-Layer API
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Service Layer API Architecture
SL-API Functionality Verticals
Initialization
RPCs
RIB
RPCs
MPLS
RPCs
Interface
RPCs
BFD
RPCs
gRPC Server (Router)
Protobuf Schema/Model
……
gRPC
stub
On-Box Client
Request Response
gRPC
stub
Off-Box
Client
Python, C++, go
Python, C++, go
66
SYSDB
Manageability Layer
Network Infrastructure Layer (Service Layer)
CLI, Yang Models, Streaming Telemetry
Service Layer API
Service-Layer APIs bypass
SysDB giving higher
performance
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
SL-API Example Use Cases
Traffic Engineering and
Path Selection
Programmable Route
Downloads
Bring your own
Protocol/Agent
Controller
SL API
Engineering paths for
applications through
Route/label manipulation, all
based on user specific logic
Programmable route
downloads to CDN PoP routers
to optimize TCAM space
Controller
SL API
On-box agents and custom
protocols that co-exist with
standard protocols to influence
routing
67
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 68
Cisco Service Layer APIs
• Github: Check out the Obj-model repository on
Github at
https://github.com/Cisco-Service-Layer/service-layer-
objmodel
 Proto definitions
 Exhaustive Unit Tests and tutorial apps
• @xrdocs: Blogs, Tutorials on Using Service Layer APIs
and associated Libraries:
https://xrdocs.io/cisco-service-layer/
• APIdocs: Doxygen based documentation, auto-generated
from the proto files:
https://xrdocs.io/cisco-service-layer/apidocs/
Github
APIdocs @xrdocs
BRKSPG-2069
Streaming Telemetry
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Traditional Monitoring Concepts
No Longer suited for Cloud-Scale Network Operations
Sensing &
Measurement
Where Data Is Created Where Data Is Useful
syslog
SNMP
CLI
Storage & Analysis
Strong burden on back-end
Normalize different encodings,
transports, data models,
timestamps
70
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Streaming Telemetry Concepts
Better suited for Cloud-Scale Network Operations
Sensing &
Measurement
Storage & Analysis
Analytics-Ready Data
Streaming Telemetry
Push paradigm
One consistent way to
access Statistics, Oper
state & Events @ all layers
High Performance: 10 sec
Multiple encodings &
Transport
Where Data Is Created Where Data Is Useful
71
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
How Do You See Telemetry?
72
1 2 3
1 2 3
1 2 3
Models
Encoding
Transport
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
“Pushing” More Data Really Does Work Better
7% 7% 8%
7%
14%
20%
0
10
20
30
1 2 3
CPU load
0
100
200
300
400
5s 10s 15s 20s
Thousands
Counters
0 5 10 15 20 25
MemAllocated
Interface counters
(In/Out pkts, In/Out Discards, In/Out Errors)
Time to collect all data
(NCS5516, 576х100GE)
Telemetry
SNMP
Destinations
Seconds
73
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco IOS XR Telemetry Support
74
Classic XR
ASR9k
Evolved XR
ASR9k
NCS5500 NCS6k/CRS
MDT support 6.1.1 6.1.1 6.1.1 6.1.3
Data models
YANG
(native, OC)
YANG
(native, OC)
YANG
(native, OC)
YANG
(native, OC)
Transport
(Control
protocols)
TCP,
UDP (6.2.1)
gRPC
(dial-in, dial-out),
TCP, UDP (6.2.1)
gRPC
(dial-in, dial-out),
TCP, UDP (6.2.1)
TCP,
UDP (6.2.1)
Encoding
GPB /
GPB-KV /
JSON (6.3.1)
GPB /
GPB-KV /
JSON (6.3.1)
GPB /
GPB-KV /
JSON (6.3.1)
GPB /
GPB-KV /
JSON (6.3.1)
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
If bored with manual, automate MDT configuration with YDK (http://ydk.io)!
Examples of Telemetry config with Native Models: https://goo.gl/Adjcgu, and with
Openconfig Models: https://goo.gl/Ubb2ZN
Model-Driven Telemetry Example
telemetry model-driven
destination-group DGroup1
address-family ipv4 10.30.110.38 port 5432
encoding self-describing-gpb
protocol tcp
!
!
address-family ipv6 2001::1 port 2345
encoding json
protocol grpc no-tls
!
sensor-group SGroup1
sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-
statistics/interfaces/interface/latest/generic-counters
!
subscription Sub1
sensor-group-id SGroup1 sample-interval 1000
destination-id DGroup1
Where to Send and How
What Data to Collect
How Often
GRPC with GPB
encoding
76
GRPC with JSON
encoding
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Model-Driven Telemetry
100 interfaces UP / 0 interfaces DOWN
100 interfaces UP / 0 interfaces DOWN
100 interfaces UP / 0 interfaces DOWN
99 interfaces UP / 1 interfaces DOWN
99 interfaces UP / 1 interfaces DOWN
99 interfaces UP / 1 interfaces DOWN
Event-Driven Telemetry
Router X
100 interfaces UP / 0 interfaces DOWN
interface X state DOWN
Time
Time
Router X
t0
t1
t1
t0
t1
t1
t0
t0
Event Driven Telemetry
To make telemetry even better
77
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Event Driven Telemetry
Easy to configure
telemetry model-driven
subscription interface
sensor-group-id interface sample-interval 0
6.3.1 6.3.2 6.5.1*
Interface
RIB
Syslog
LLDP
OpenConfig
BGP, ISIS,
MPLS, etc.
78
* The full list will be available after XR 6.5.1 is published on CCO
BRKSPG-2069
Examples
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
iPerf Based Path Selection in OSPF
rtr1
iPerf Session
• Each router is running a Linux distribution (Debian, Red Hat, etc…) inside the 3rd Party LXC
• iPerf is running inside the container and a session is created between the two routers
• Link degradation is detected by iPerf inside the container
• Netconf client inside the container will update the OSPF cost of links based on iPerf result
3rd Party LXC
Control
Plane
Admin
Plane
3rd Party LXC
Control
Plane
Admin
Plane
rtr2
OSPF
80
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 82
Host
Open/R
Packet
IO
IOS-XR RIB
Service Layer
APIs
IOS-XR
Interfaces
Hellos,
0MQ messages
IPv6
neighbors
Routes
Telemetry
Interface
Notifications
Open/R running
inside Docker on XR
https://github.com/akshshar/openr-xr
XR LXC
Open/R integration with IOS-XR
(using Service-Layer APIs)
Blog on xrdocs.io
BRKSPG-2069
Conclusions
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Key Takeaways
• No Change in traditional CLI Operation with IOS-XR 6.X
• 6.X is available on NCS5500, NCS5000 and NCS1000 Platforms
• 6.1.1 is available on ASR9k (traditional 32-bit QNX offering will still be supported)
• Operational enhancement for Automated Operations
• Operating System change for Open Source tooling
84
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
IOS-XR 6.X Operational Enhancements
Visibility
&
Telemetry
Evolved
programmability
Application
Hosting
Flexible
Platform
&
Packaging
IOS-XR 6.X
85
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
References
• IOS-XR Documentation, Blogs Tutorials and more : https://xrdocs.github.io/
• IOS-XR Programmability Learning Labs on DevNet: https://learninglabs.cisco.com/tracks/iosxr-
programmability
• IOS-XR YANG Models: https://git.io/vg7fk
• YANG Developer Kit: http://ydk.cisco.com/py/docs/
• IOS-XR Ansible: https://github.com/ios-xr/iosxr-ansible
• IOS-XR Puppet: https://docs.puppet.com/pe/latest/install_iosxr.html
• IOS-XR Chef: https://downloads.chef.io/chef-client/iosxr/
• Cisco IOS XR 6.0 Software Management Lab v1:
https://dcloud-cms.cisco.com/demo/cisco-ios-xr-software-management-lab-v1
• Cisco IOS XR 6.0 Application Hosting Lab v1:
https://dcloud-cms.cisco.com/demo/cisco-ios-xr-6-0-application-hosting-lab-v1
• Cisco IOS XR 6.0 End-to-End Automation Lab v1:
https://dcloud-cms.cisco.com/demo/cisco-ios-xr-6-0-end-to-end-automation-lab-v1
86
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Webex Teams
Questions?
Use Cisco Webex Teams (formerly Cisco Spark)
to chat with the speaker after the session
Find this session in the Cisco Events Mobile App
Click “Join the Discussion”
Install Webex Teams or go directly to the team space
Enter messages/questions in the team space
How
1
2
3
4
87
cs.co/ciscolivebot#BRKSPG-2069
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Don’t forget: Cisco Live sessions will be available for viewing
on demand after the event at ciscolive.cisco.com
• Please complete your Online Session
Survey after each session
• Complete 4 Session Surveys & the Overall
Conference Survey (available from
Thursday) to receive your Cisco Live T-
shirt
• All surveys can be completed via the Cisco
Events Mobile App or the Communication
Stations
Complete your online
session survey
88
BRKSPG-2069
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Demos in
the Cisco
Showcase
Walk-in
self-paced
labs
Meet the
engineer
1:1
meetings
Related
sessions
Continue Your Education
89
BRKSPG-2069
Thank you
BRKSPG-2069-64bit-package.pdf

More Related Content

Similar to BRKSPG-2069-64bit-package.pdf

PLNOG16: IOS XR – 12 lat innowacji, Krzysztof Mazepa
PLNOG16: IOS XR – 12 lat innowacji, Krzysztof MazepaPLNOG16: IOS XR – 12 lat innowacji, Krzysztof Mazepa
PLNOG16: IOS XR – 12 lat innowacji, Krzysztof MazepaPROIDEA
 
Open coud networking at full speed - Avi Alkobi
Open coud networking at full speed - Avi AlkobiOpen coud networking at full speed - Avi Alkobi
Open coud networking at full speed - Avi AlkobiOpenInfra Days Poland 2019
 
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveNetwork Automation Forum
 
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesTechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesRobb Boyd
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersBruno Teixeira
 
Design and Deployment of Enterprise WLANs
Design and Deployment of Enterprise WLANsDesign and Deployment of Enterprise WLANs
Design and Deployment of Enterprise WLANsFab Fusaro
 
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
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container PlatformSanjeev Rampal
 
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
 
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
 
 Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation Network Innovations Driving Business Transformation
 Network Innovations Driving Business TransformationCisco Service Provider
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansiblefmaccioni
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPROIDEA
 
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:Cisco Canada
 
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUICisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUICisco Canada
 
Cisco Digital Network Architecture Deeper Dive From The Gates To The Gui
Cisco Digital Network Architecture Deeper Dive From The Gates To The GuiCisco Digital Network Architecture Deeper Dive From The Gates To The Gui
Cisco Digital Network Architecture Deeper Dive From The Gates To The GuiCisco Canada
 
AnsibleFest London 2016 - managing your cisco datacenter network with ansible
AnsibleFest London 2016 - managing your cisco datacenter network with ansibleAnsibleFest London 2016 - managing your cisco datacenter network with ansible
AnsibleFest London 2016 - managing your cisco datacenter network with ansiblefmaccioni
 

Similar to BRKSPG-2069-64bit-package.pdf (20)

PLNOG16: IOS XR – 12 lat innowacji, Krzysztof Mazepa
PLNOG16: IOS XR – 12 lat innowacji, Krzysztof MazepaPLNOG16: IOS XR – 12 lat innowacji, Krzysztof Mazepa
PLNOG16: IOS XR – 12 lat innowacji, Krzysztof Mazepa
 
ACI Hands-on Lab
ACI Hands-on LabACI Hands-on Lab
ACI Hands-on Lab
 
Open coud networking at full speed - Avi Alkobi
Open coud networking at full speed - Avi AlkobiOpen coud networking at full speed - Avi Alkobi
Open coud networking at full speed - Avi Alkobi
 
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
 
Opensource tools for OpenStack IAAS
Opensource tools for OpenStack IAASOpensource tools for OpenStack IAAS
Opensource tools for OpenStack IAAS
 
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesTechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
 
Design and Deployment of Enterprise WLANs
Design and Deployment of Enterprise WLANsDesign and Deployment of Enterprise WLANs
Design and Deployment of Enterprise WLANs
 
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
 
Container security within Cisco Container Platform
Container security within Cisco Container PlatformContainer security within Cisco Container Platform
Container security within Cisco Container Platform
 
BRKCRS-2110.pdf
BRKCRS-2110.pdfBRKCRS-2110.pdf
BRKCRS-2110.pdf
 
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
 
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
 
 Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation Network Innovations Driving Business Transformation
 Network Innovations Driving Business Transformation
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansible
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
 
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
 
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUICisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
Cisco Digital Network Architecture – Deeper Dive, “From the Gates to the GUI
 
Cisco Digital Network Architecture Deeper Dive From The Gates To The Gui
Cisco Digital Network Architecture Deeper Dive From The Gates To The GuiCisco Digital Network Architecture Deeper Dive From The Gates To The Gui
Cisco Digital Network Architecture Deeper Dive From The Gates To The Gui
 
AnsibleFest London 2016 - managing your cisco datacenter network with ansible
AnsibleFest London 2016 - managing your cisco datacenter network with ansibleAnsibleFest London 2016 - managing your cisco datacenter network with ansible
AnsibleFest London 2016 - managing your cisco datacenter network with ansible
 

Recently uploaded

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 

Recently uploaded (20)

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 

BRKSPG-2069-64bit-package.pdf

  • 1.
  • 2. Akshat Sharma, Technical Marketing Engineer, Cisco BRKSPG-2069 Introduction to the Next-Generation IOS-XR architecture @irakshat @xrdocs
  • 3. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco Webex Teams Questions? Use Cisco Webex Teams (formerly Cisco Spark) to chat with the speaker after the session Find this session in the Cisco Events Mobile App Click “Join the Discussion” Install Webex Teams or go directly to the team space Enter messages/questions in the team space How 1 2 3 4 3 cs.co/ciscolivebot#BRKSPG-2069 BRKSPG-2069
  • 4. Agenda © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4 • Introduction • Software Architecture Overview • Flexible Packaging • Application Hosting • Configuration, Monitoring and Troubleshooting • Examples • Conclusions BRKSPG-2069
  • 6. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public An Evolved Network Operating System for a Rapidly Changing Web and SP Landscape 6 BRKSPG-2069
  • 7. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Key Learning Objectives • At the end of the session, you should be able to: • Appreciate rapidly evolving network infrastructure landscape • Understand how Cisco is evolving IOS-XR network operating systems to meet customer needs • Identify technical principles of Evolved IOS-XR 7 BRKSPG-2069
  • 8. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Automating Provisioning Down to Minutes Network Operations Center Day 0 INSTALL Day 1 CONFIGURE Day 2 CLI Script Operating System Upgrade (Manual) Plug in new device Configure new device remotely (Manual) Device up and running Manual staging 4 Hours to 3 Days Plug in new device Device up and running Auto-provisioning 10 to 15 Minutes Automated Boot • Manual device onboarding • Lengthy installation and provisioning procedures Traditional Networking Operations Cloud Scale Networking Operations • Reduced time to install and provision new devices • Faster disaster recovery • Automated device onboarding Operating System Operating System Configuration Cloud Scale Network Operations Traditional Network Operations 8 BRKSPG-2069
  • 9. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Traditional NetOps Upended by Evolved Needs of SP Customers * Source: Google Evolved SP/Cloud Scale Network Operations SW Modularity & Extensibility Automation Visibility & Control Day 1 CONFIGURE Day 2 MANAGE & OPTIMIZE Day 0 INSTALL Inflexible SW Manual Provisioning Fragmented Topology View and Complex Routing DevOps • Automated services • Simple to scale • Agile, open software 9 Traditional Network Operations BRKSPG-2069
  • 10. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Simplification Better Customer Experience Software Modularity and Extensibility Service Agility Open Innovation Cisco Evolved IOS XR Innovations Designed for Operational Fit Application Engineered Routing Visibility Control Telemetry Automation Automated Boot and Auto-provisioning Data Model Driven APIs Third- party Agents Support Application Hosting Docker Linux Containers Extensibility Asynchronous Upgrade Modularity Granular Packaging Operational Efficiency Visibility and Control 10 BRKSPG-2069
  • 11. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Evolved IOS-XR Enablement across Platforms NCS5508 NCS5001 NCS5002 NCS5502/SE NCS5011 ASR9000 64-bit NCS1002 with MACSec NCS6000 NCS5501/SE NCS5516 NCS5504 NCS-55A1-36H-S NCS-55A1-24H 11 NCS-55A2-MOD Now Shipping 6.5.1 NCS1002 BRKSPG-2069
  • 12. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Pillars of Evolved IOS-XR Evolved Programmability Flexible Platform and Packaging Application Hosting • Data accessible via published model driven interfaces (Openconfig & Netconf) • Machine friendly • Enables automation @ scale • Packages can be inspected on box using standard tool chain (RPM tools) • Automated package installation with dependency checking • Open Bootloaders (iPXE) and end-to-end auto-provision • 64-bit Linux • Ability to run 3rd party off the shelf applications built with Linux tool chains • Run custom applications inside a separate LXC container Visibility & Telemetry • Operational Data, Deep analytical hooks • Model-based, flexible, Push Model 13 BRKSPG-2069
  • 14. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public • 64-bit OpenEmbedded Linux support. • Processes containerization. • Standard Linux toolchain. • Third-Party applications. • NCS5500, NCS5000 and NCS1002 support 64-bit Linux. • ASR 9000 supports 64-bit Linux starting with 6.1.1. • Will still have 32-bit QNX support. IOS-XR 6.X: A New Software Infrastructure X86 Hardware 64 bit Linux Control Admin NPU System Admin System Control Classic XR XR 6.X 32 bit QNX 15 BRKSPG-2069
  • 15. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public • With eXR, the Admin plane and the Control Plane run in isolated environment. • ASR9K uses Virtual Machines (VMs) • NCS5000 and NCS5500 use containers (LXCs) • Provide the same functionalities. • Use same tools (libvirsh) to Provide the virtualization services • LXCs are lightweight no ISSU support. • VMs are heavier but provide ISSU support. Introduction to Virtualization X86 Hardware Hypervisor ASR9K App Lib OS … App Lib OS Operating System … App Lib App Lib X86 Hardware Operating System NCS5000-5500 16 BRKSPG-2069
  • 16. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public IOS-XR Entities Roles: The Host • The main functions of the host are: • Interact directly with the underlying hardware. • Provide kernel services for the LXCs/VMs • Provide libraries, tools, and utilities to help launch, monitor, and maintain containers. • Provide the network infrastructure to allow containers to communicate. Routing Processor 64-bit Host OS Control Plane Admin Plane Third Party 19 • Runs Yocto based 64-bit Open Embedded Linux kernel. • Built using Windriver 7. BRKSPG-2069
  • 17. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Container Architecture NCS 5500 and NCS 5000 20 Routing Processor 64-bit Host OS Control Plane Cisco developed packages for core network functions (BGP, MPLS, etc.) Yocto packages for standard Linux tools and libraries (bash, python, tcpdump, etc.). Admin Plane Runs processes responsible to perform system diags, monitor env. variables, and manage hardware components First container to be booted by the host, responsible for the start and maintenance of the Control Plane container Third Party Runs any 64-bit Linux distribution. Launched from the XR container using virsh and libvirtd. Access Network Interface through the Global VRF Network Name Space. BRKSPG-2069
  • 18. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco developed packages for core network functions (BGP, MPLS, etc.) Yocto packages for standard Linux tools and libraries (bash, python, tcpdump, etc.). Control Plane VM Container Architecture (ASR9K) Routing Processor 64-bit Host OS Hypervisor Runs any 64-bit Linux distribution. Launched from the XR virtual machine using virsh and libvirtd. Access Network Interface through the Global VRF Network Name Space. Third Party LXC Runs processes responsible to perform system diags, monitor env. variables, and manage hardware components First VM to be booted by the Hypervisor, responsible for the start and maintenance of the Control Plane VM Admin Plane VM 21 BRKSPG-2069
  • 20. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 23 DHCP Server Route r Web Server IOS-XR images • Cisco Platforms: ISO format for iPXE • Supported Whitebox Platforms: ONIE compatible installer Automated Installation of IOS-XR images BRKSPG-2069
  • 21. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 24 DHCP Server IOS-XR Web Server ZTP Artifacts • CLI Configuration • ZTP script:  Native Python scripts  Native bash scripts,  Golang/c++/pyinstaller binaries Automated Provisioning using ZTP Support for Data ports Starting with Release 6.5.1! BRKSPG-2069
  • 22. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Sample DHCP Server Configuration option space cisco-vendor-id-vendor-class code width 1 length width 1; option vendor-class.cisco-vendor-id-vendor-class code 9 = {string}; class "ncs5508" { match if (substring(option dhcp-client-identifier,0,11) = "FGE194714QS");} pool { allow members of "ncs5508"; range 11.11.11.47 11.11.11.50; if exists user-class and option user-class = "iPXE" { filename="http://11.11.11.2:9090/ncs5500-mini-x.iso"; } if exists user-class and option user-class = "exr-config" { if (substring(option vendor-class.cisco-vendor-id-vendor-class,3,11)="FGE194714QS") { if (substring(option vendor-class.cisco-vendor-id-vendor-class,19,99)="NCS-5508") { filename="http://11.11.11.2:9090/scripts/ztp_script.py"; } }}} DHCP option 77 DHCP option 67 DHCP option 77 DHCP option 67 25 DHCP option 124 DHCP option 124 DHCP option 124 https://xrdocs.io/device- lifecycle/blogs/2017-09-21- ios-xr-ztp-learning-through- packet-captures/ BRKSPG-2069
  • 23. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 26 IP address Next-server Filename=http://<http-srv>/new-img.ISO DHCP SERVER IP address Next-server Filename=http://<http-srv>/script-SN.sh or Filename=http://<http-srv>/config-SN.txt HTTP(S) SERVER Image-new.ISO script-SN.sh config-SN.txt Additional Scripts Packages, etc… Apply configuration Execute script XR Boot ZTP execution iPXE boot XR Install N iPXE Y 1 2 3 GET script-SN.sh or config-SN.txt 4 GET addon scripts/packages/configuration 5 Retry Success Success config executable Retry IOS-XR Boot Process with iPXE and ZTP BRKSPG-2069
  • 24. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 27 ZTP Deploy Applications (Containers, Binaries, cron-jobs, etc.) Provide on-box automation libraries: Cli, Yang-APIs etc. Software Upgrade/Downgrade Apply Configuration ZTP Functions BRKSPG-2069
  • 26. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 29 IOS-XR CLI • Introducing Yang-APIs using on-box netconf client in Release 7.0.1 • On-box netconf client is transport free - No SSH port to connect to for ztp script/client. • Localhost based GNMI capability coming soon Yang over netconf Yang over GNMI ZTP Python APIs Yang based provisioning from Day 0! BRKSPG-2069
  • 27. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public ZTP Script: Available and Upcoming Options 30 ZTP Scripts Python Library Bash Library Binaries Pyinstaller (ncclient, gNMI/gRPC) golang (gNMI/gRPC) C++ (gNMI/gRPC) IOS-XR CLI • Show commands • Exec commands (Actions) • Merge Config • Replace config IOS-XR CLI • Show commands • Exec commands (Actions) • Merge Config • Replace config YANG-XML • Ncclient • Native netconf client • gNMI/gRPC * Local gNMI/gRPC support coming soon. BRKSPG-2069
  • 28. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Want to know more? 31 • IOS-XR Documentation, blogs, tutorial, etc .. • https://xrdocs.io/ • IPXE Deep Dive • https://xrdocs.io/device-lifecycle/tutorials/2016-07-27-ipxe-deep-dive/ • Working with ZTP • https://xrdocs.io/device-lifecycle/tutorials/2016-08-26-working-with-ztp/ • https://xrdocs.io/device-lifecycle/blogs/2017-09-21-ios-xr-ztp-learning- through-packet-captures/ • https://github.com/ios-xr/iosxr-ztp-python • Software Management blogs, tutorial, etc … • https://xrdocs.io/device-lifecycle/ BRKSPG-2069
  • 30. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public • Server-like Workflows • Modular Disaggregated • Update, Upgrade, Remove • Dependency management • Secure • Repository Support • Third Party Applications Networking Software Delivery Direction • RPM – RPM Package Manager • YUM – Yellowdog Updater Modified • New Install Commands 33 BRKSPG-2069
  • 31. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public RPM: IOS-XR New Package Format • RPM Package Manager is the new Package format starting with IOS-XR 6.0. • Packages are placed in a reachable repository and accessed via FTP/SFTP/SCP/TFTP or HTTP or pre-staged on the box • Third Party packages are installed with RPM or YUM inside the Shell. • IOS-XR packages are installed with “install update/upgrade”. • Both YUM and install commands provide dependency verification/resolution. 34 BRKSPG-2069
  • 32. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Anatomy of RPM Packages Archive MetaData Scriptlet RPM Describe package contents Install structure Dependencies Pre and Post install instructions CPIO binary archive /var/lib/rpm Database of installed packages 35 BRKSPG-2069
  • 33. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public XR Packages Naming Convention <name>-<version>-<release>.<architecture>.rpm ncs5500-mgbl-4.0.0.0-r632.x86_64.rpm SMU <name>-<version>-<release>.<defect>.<architecture>.rpm ncs5500-mgbl-4.0.0.1-r632.CSCab12345.x86_64.rpm Package Major.Minor.Build.SMU 36 BRKSPG-2069
  • 34. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Platform Release XR Software Package Repository XR SMUs Mini ISO + Pkgs Mini ISO + k9 pkg + Pkgs Svc Pak DDTS SMU DDTS SMUs ncs5500-mpls-te-rsvp-2.2.0.0-r632.x86_64.rpm ncs5500-isis-1.3.0.0-r632.x86_64.rpm ncs5500-mcast-2.1.0.0-r632.x86_64.rpm ncs5500-k9sec-4.1.0.0-r632.x86_64.rpm ncs5500-mgbl-4.0.0.0-r632.x86_64.rpm ncs5500-mpls-2.1.0.0-r632.x86_64.rpm ncs5500-ospf-2.0.0.0-r632.x86_64.rpm 6.3.2 <REPO_ROOT> ncs5500-mini-x-6.3.2.iso www.cisco.com Local Repository ncs-5500-mgbl-4.0.0.1-r632.CSCab12345.x86_64.rpm Full K9 ISO Full ISO TAR ncs5500-li-1.0.0.0-r632.x86_64.rpm 37 BRKSPG-2069
  • 35. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Updating XR Packages Command Line Behavior install update source <repository> No package specified, update latest SMUs of all installed packages install update source <repository> ncs5500-mpls Package name specified, will install that package, update all latest SMUs of that package(s) (along with its dependencies). install update source <repository> ncs5500- mpls-2.0.0.0-r611.CSCab12345.x86_64.rpm SMU installation: the SMU will be downloaded and installed (along with its dependent SMUs). install update source <repository> ncs5500- mpls-2.1.0.0-r632.x86_64.rpm Asynchronous package upgrade, that package will be installed (along with its dependent SMUs). Available since 6.1.1 38 BRKSPG-2069
  • 36. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Upgrading XR Packages Command Line Behavior install upgrade source <repository> version 6.5.1 Upgrade the base image to the specified version. All installed packages will be upgraded to same release as the base package. install upgrade source <repository> version 6.5.1 ncs5500-mpls-2.2.0.0-r651.x86_64.rpm Perform install upgrade and install update for a specific package(s) in one operation. 39 BRKSPG-2069
  • 37. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public • No dependency management • Offline process required to copy packages • Require multiple operations • install add • install activate • install commit • Cisco Software Manager (CSM) for package content PIE Install • Dependency management • Online process over secure transport • Single operation • install update or install upgrade • On-box / Off-box package inspection using rpm tool • Description • Dependencies • Content RPM Install 40 BRKSPG-2069
  • 39. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 42 Base ISO: • Minimal Software image • Use ZTP or day 1 operations to install/apply:  Functionality packages/RPMs  IOS-XR Configuration  Third-party applications Golden ISO Minimal Software image + Functionality packages/RPMs + Base Configuration Third-party applications installed during ZTP or Day-1 Ops Golden ISO++ Minimal Software image + Functionality packages/RPMs + Base Configuration Third-party applications Creating Deployment-Ready Golden ISOs BRKSPG-2069
  • 40. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 43 GISO tool IOS- XR RPMs RPM Repo Base ISO DHCP Server Web Server Router Build ISO Deploy using iPXE or XR install Golden ISO Workflow BRKSPG-2069
  • 41. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Installing and Updating Third Party Packages • Third Party Packages are traditional Linux tools available from the Shell • Communication: lighttpd ,openssh, wget, curl, etc. • Programming: python, ruby, perl, etc. • Utilities: sed, gawk, tar, gzip, vi, etc. • Additional packages provided by vendors (No Cisco Support) • Chef • Puppet • Installed using yum or rpm yum-config-manager --add-repo=http://192.168.0.254/XR/6.X.0 yum install chef –y 44 BRKSPG-2069
  • 42. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Ansible, Puppet and Chef • Open Source Software with Commercial Support or Add-Ons. • Configuration management tools. • Idempotent • Describe infrastructure as code. • Can then be managed from within a VCS such as git. • Changes are attempted, shared, rolled forward and rolled back in a much more frictionless way than traditionally. • Agent based • Uses Ruby based DSL for configuration • Agentless • Uses Python 2.7 • Communicates over SSH • Agent based • Uses a subset of Ruby for configuration 45 BRKSPG-2069
  • 44. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Application Hosting • Visibility of all XR processes • Visibility of all XR resources • Run alongside XR Processes • No isolation • Must be built for WRL7 distribution • No direct visibility of XR processes • No direct visibility of XR resources • Run in a separate namespace • Isolation • Must be built for the third party LXC distribution Inside the Control Plane Inside the Third Party LXC/Docker Third Party LXC/ Docker Third Party Control Plane Binary VM/LXC 47 BRKSPG-2069
  • 45. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 48 • Create the Container archive on a Linux Server. • Copy the archive file to /misc/app_host. • Unarchive in a rootfs directory. • Create XML file specifying LXC parameters. • Run virsh command. Routing Processor 64-bit Host OS Control Plane Third Party virsh create <XML File> virsh list Deploy 2 Launch 3 TAR 1 Create Server Third Party Container Application Workflow BRKSPG-2069
  • 46. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 49 • Create a docker image • Pull down using docker client in XR control plane • Spin up the docker container on host OS by executing “docker run” in XR linux shell. Routing Processor 64-bit Host OS Control Plane docker pull <> docker run <> docker exec <> Pull 2 Launch 3 1 Create Server Docker Container Workflow BRKSPG-2069
  • 48. Modeled APIs at every layer of the Stack
  • 49. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 52 HW/Data Plane NPU ASIC CPU Fans, Sensors, Optics, etc. System OS + BSP ASIC SDK Network Infrastructure / Service Adaptation RIB, Label Manager, BFD, Interface and more Applications / Protocol Stack BGP, ISIS, OSPF, LDP, SR, L2 Protocols Management CLI, Netconf, SNMP, Syslog, SSH SAL APL NBI 3rd Party Agent + Telemetry OSS Hardware Consists of ASIC/Chipset from HW vendors + CPU, Fans, Sensors System OS - Linux Kernel BSP(Board Support Package) - Boot Loader, Device Drivers, etc. ASIC SDK and drivers for the SDK Network Infrastructure Layer / Service Adaptation Layer • Acts as the bridge between the Application Layer and the HW • Presents abstractions to the Application/Protocol Layer Application/Protocol Layer Provides APIs into the Routing Protocols (BGP, IGP, SR, etc.) Management/Presentation Layer Provides access to configure and manage the stack through Network config/oper DB: Yang Models, CLI. SL API De-Layering The Network Stack BRKSPG-2069
  • 51. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 54 Cisco IOS XR Device Programmability Data Plane Control Plane Management Plane App Controller Orchestrator Controller Orchestrator Data Plane Control Plane App Model-Driven Manageability Service Layer API BRKSPG-2069
  • 52. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 55 Controller Orchestrator Network Device Model-Driven Configuration Model-Driven Telemetry Closed-loop automation Encoding Protocol Models SDK Apps XML JSON GPB NETCONF gRPC Model-Driven SDKs YANG Development Kit (YDK) YANG Models (native, open) App App App SSH HTTP Transport TCP Model-Driven Manageability BRKSPG-2069
  • 53. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Introduction to YANG • Modeling language (initially for NETCONF) • Main node types • Leaf – An end node of data • Leaf list – A list of single items • Container – Groups things together • List – A collection of containers 56 Leaf Node without a value Node with a value Leaf list Container (grouping) Container (presence) List key BRKSPG-2069
  • 54. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Benefits of Model-Driven APIs • Model based, structured, computer friendly. • Multiple model types (native, OpenConfig, IETF, etc.). • Models decoupled from transport, protocol end encoding. • Choice of transport, protocol and encoding. • Model-driven APIs for abstraction and simplification. • Wide standard support while leveraging open source. Reduce Operational Costs 57 BRKSPG-2069
  • 55. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public YANG Model Example container community-sets { description “Container for community sets"; list community-set { key community-set-name; description "Definitions for community sets"; leaf community-set-name { type string; description "name of the community set"; } leaf-list community-member { type string { pattern '([0-9]+:[0-9]+)'; } description "members of the community set"; } } } community-set CSET1 65172:1, 65172:2, 65172:3 end-set ! community-set CSET10 65172:10, 65172:20, 65172:30 end-set ! YANG CLI 58 BRKSPG-2069
  • 56. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Model Data Example community-set CSET1 65172:1, 65172:2, 65172:3 end-set ! community-set CSET10 65172:10, 65172:20, 65172:30 end-set ! { "community-sets": { "community-set": [ { "community-set-name": "CSET1", "community-member": [ "65172:1", "65172:2", "65172:3" ] }, { "community-set-name": "CSET10", "community-member": [ "65172:10", "65172:20", "65172:30" ] } ] } } JSON CLI 59 BRKSPG-2069
  • 57. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public YANG Models (Github) IOS XR Models XR models per release 60 BRKSPG-2069
  • 58. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 61 • SDK simplifying client development for model-driven programmability • Rich protocol support (NETCONF, RESTCONF, gNMI) • Rich data model support (XR, XE, NX-OS, OC, IETF) • Rich language support (Python, Go, C++) • Built-in model data validation • Open source YANG Development Kit ydk.io YDK-Py YDK-Cpp YDK-Go Model-driven classes NETCONF RESTCONF gNMI BRKSPG-2069
  • 59. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Model-Driven APIs • Simplify app development • Abstract transport and encoding • Generated from YANG model • One-to-one correspondence between model and class hierarchy • Multi-language (Python, C++, Ruby, Go, etc.) 62 YANG Model Class Hierarchy (Python, C++, Ruby, Go) BRKSPG-2069
  • 60. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 63 • OpenConfig network management protocol • Supports configuration management and telemetry • Efficient data streaming over gRPC • IOS XR 6.5.1 introduced support for gNMI • YDK 0.8.0 enables simple client development gNMI at a Glance (Introduced in IOS-XR 6.5.1) Configuration Telemetry BRKSPG-2069
  • 62. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 65 Service Adaptation RIB, Label Manager, BFD, Interface and more SAL 3rd Party Agent + Telemetry OSS Network Infrastructure Layer / Service Adaptation Layer • Acts as the bridge between the Application Layer and the HW • Presents abstractions to the Application/Protocol Layer • Highly Performant API outside the Central Config/Oper Database context SL API Locating the Service-Layer API BRKSPG-2069
  • 63. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Service Layer API Architecture SL-API Functionality Verticals Initialization RPCs RIB RPCs MPLS RPCs Interface RPCs BFD RPCs gRPC Server (Router) Protobuf Schema/Model …… gRPC stub On-Box Client Request Response gRPC stub Off-Box Client Python, C++, go Python, C++, go 66 SYSDB Manageability Layer Network Infrastructure Layer (Service Layer) CLI, Yang Models, Streaming Telemetry Service Layer API Service-Layer APIs bypass SysDB giving higher performance BRKSPG-2069
  • 64. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public SL-API Example Use Cases Traffic Engineering and Path Selection Programmable Route Downloads Bring your own Protocol/Agent Controller SL API Engineering paths for applications through Route/label manipulation, all based on user specific logic Programmable route downloads to CDN PoP routers to optimize TCAM space Controller SL API On-box agents and custom protocols that co-exist with standard protocols to influence routing 67 BRKSPG-2069
  • 65. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 68 Cisco Service Layer APIs • Github: Check out the Obj-model repository on Github at https://github.com/Cisco-Service-Layer/service-layer- objmodel  Proto definitions  Exhaustive Unit Tests and tutorial apps • @xrdocs: Blogs, Tutorials on Using Service Layer APIs and associated Libraries: https://xrdocs.io/cisco-service-layer/ • APIdocs: Doxygen based documentation, auto-generated from the proto files: https://xrdocs.io/cisco-service-layer/apidocs/ Github APIdocs @xrdocs BRKSPG-2069
  • 67. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Traditional Monitoring Concepts No Longer suited for Cloud-Scale Network Operations Sensing & Measurement Where Data Is Created Where Data Is Useful syslog SNMP CLI Storage & Analysis Strong burden on back-end Normalize different encodings, transports, data models, timestamps 70 BRKSPG-2069
  • 68. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Streaming Telemetry Concepts Better suited for Cloud-Scale Network Operations Sensing & Measurement Storage & Analysis Analytics-Ready Data Streaming Telemetry Push paradigm One consistent way to access Statistics, Oper state & Events @ all layers High Performance: 10 sec Multiple encodings & Transport Where Data Is Created Where Data Is Useful 71 BRKSPG-2069
  • 69. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public How Do You See Telemetry? 72 1 2 3 1 2 3 1 2 3 Models Encoding Transport BRKSPG-2069
  • 70. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public “Pushing” More Data Really Does Work Better 7% 7% 8% 7% 14% 20% 0 10 20 30 1 2 3 CPU load 0 100 200 300 400 5s 10s 15s 20s Thousands Counters 0 5 10 15 20 25 MemAllocated Interface counters (In/Out pkts, In/Out Discards, In/Out Errors) Time to collect all data (NCS5516, 576х100GE) Telemetry SNMP Destinations Seconds 73 BRKSPG-2069
  • 71. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco IOS XR Telemetry Support 74 Classic XR ASR9k Evolved XR ASR9k NCS5500 NCS6k/CRS MDT support 6.1.1 6.1.1 6.1.1 6.1.3 Data models YANG (native, OC) YANG (native, OC) YANG (native, OC) YANG (native, OC) Transport (Control protocols) TCP, UDP (6.2.1) gRPC (dial-in, dial-out), TCP, UDP (6.2.1) gRPC (dial-in, dial-out), TCP, UDP (6.2.1) TCP, UDP (6.2.1) Encoding GPB / GPB-KV / JSON (6.3.1) GPB / GPB-KV / JSON (6.3.1) GPB / GPB-KV / JSON (6.3.1) GPB / GPB-KV / JSON (6.3.1) BRKSPG-2069
  • 72. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public If bored with manual, automate MDT configuration with YDK (http://ydk.io)! Examples of Telemetry config with Native Models: https://goo.gl/Adjcgu, and with Openconfig Models: https://goo.gl/Ubb2ZN Model-Driven Telemetry Example telemetry model-driven destination-group DGroup1 address-family ipv4 10.30.110.38 port 5432 encoding self-describing-gpb protocol tcp ! ! address-family ipv6 2001::1 port 2345 encoding json protocol grpc no-tls ! sensor-group SGroup1 sensor-path Cisco-IOS-XR-infra-statsd-oper:infra- statistics/interfaces/interface/latest/generic-counters ! subscription Sub1 sensor-group-id SGroup1 sample-interval 1000 destination-id DGroup1 Where to Send and How What Data to Collect How Often GRPC with GPB encoding 76 GRPC with JSON encoding BRKSPG-2069
  • 73. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Model-Driven Telemetry 100 interfaces UP / 0 interfaces DOWN 100 interfaces UP / 0 interfaces DOWN 100 interfaces UP / 0 interfaces DOWN 99 interfaces UP / 1 interfaces DOWN 99 interfaces UP / 1 interfaces DOWN 99 interfaces UP / 1 interfaces DOWN Event-Driven Telemetry Router X 100 interfaces UP / 0 interfaces DOWN interface X state DOWN Time Time Router X t0 t1 t1 t0 t1 t1 t0 t0 Event Driven Telemetry To make telemetry even better 77 BRKSPG-2069
  • 74. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Event Driven Telemetry Easy to configure telemetry model-driven subscription interface sensor-group-id interface sample-interval 0 6.3.1 6.3.2 6.5.1* Interface RIB Syslog LLDP OpenConfig BGP, ISIS, MPLS, etc. 78 * The full list will be available after XR 6.5.1 is published on CCO BRKSPG-2069
  • 76. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public iPerf Based Path Selection in OSPF rtr1 iPerf Session • Each router is running a Linux distribution (Debian, Red Hat, etc…) inside the 3rd Party LXC • iPerf is running inside the container and a session is created between the two routers • Link degradation is detected by iPerf inside the container • Netconf client inside the container will update the OSPF cost of links based on iPerf result 3rd Party LXC Control Plane Admin Plane 3rd Party LXC Control Plane Admin Plane rtr2 OSPF 80 BRKSPG-2069
  • 77. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 82 Host Open/R Packet IO IOS-XR RIB Service Layer APIs IOS-XR Interfaces Hellos, 0MQ messages IPv6 neighbors Routes Telemetry Interface Notifications Open/R running inside Docker on XR https://github.com/akshshar/openr-xr XR LXC Open/R integration with IOS-XR (using Service-Layer APIs) Blog on xrdocs.io BRKSPG-2069
  • 79. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Key Takeaways • No Change in traditional CLI Operation with IOS-XR 6.X • 6.X is available on NCS5500, NCS5000 and NCS1000 Platforms • 6.1.1 is available on ASR9k (traditional 32-bit QNX offering will still be supported) • Operational enhancement for Automated Operations • Operating System change for Open Source tooling 84 BRKSPG-2069
  • 80. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public IOS-XR 6.X Operational Enhancements Visibility & Telemetry Evolved programmability Application Hosting Flexible Platform & Packaging IOS-XR 6.X 85 BRKSPG-2069
  • 81. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public References • IOS-XR Documentation, Blogs Tutorials and more : https://xrdocs.github.io/ • IOS-XR Programmability Learning Labs on DevNet: https://learninglabs.cisco.com/tracks/iosxr- programmability • IOS-XR YANG Models: https://git.io/vg7fk • YANG Developer Kit: http://ydk.cisco.com/py/docs/ • IOS-XR Ansible: https://github.com/ios-xr/iosxr-ansible • IOS-XR Puppet: https://docs.puppet.com/pe/latest/install_iosxr.html • IOS-XR Chef: https://downloads.chef.io/chef-client/iosxr/ • Cisco IOS XR 6.0 Software Management Lab v1: https://dcloud-cms.cisco.com/demo/cisco-ios-xr-software-management-lab-v1 • Cisco IOS XR 6.0 Application Hosting Lab v1: https://dcloud-cms.cisco.com/demo/cisco-ios-xr-6-0-application-hosting-lab-v1 • Cisco IOS XR 6.0 End-to-End Automation Lab v1: https://dcloud-cms.cisco.com/demo/cisco-ios-xr-6-0-end-to-end-automation-lab-v1 86 BRKSPG-2069
  • 82. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Cisco Webex Teams Questions? Use Cisco Webex Teams (formerly Cisco Spark) to chat with the speaker after the session Find this session in the Cisco Events Mobile App Click “Join the Discussion” Install Webex Teams or go directly to the team space Enter messages/questions in the team space How 1 2 3 4 87 cs.co/ciscolivebot#BRKSPG-2069 BRKSPG-2069
  • 83. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Don’t forget: Cisco Live sessions will be available for viewing on demand after the event at ciscolive.cisco.com • Please complete your Online Session Survey after each session • Complete 4 Session Surveys & the Overall Conference Survey (available from Thursday) to receive your Cisco Live T- shirt • All surveys can be completed via the Cisco Events Mobile App or the Communication Stations Complete your online session survey 88 BRKSPG-2069
  • 84. © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public Demos in the Cisco Showcase Walk-in self-paced labs Meet the engineer 1:1 meetings Related sessions Continue Your Education 89 BRKSPG-2069