Course Details
Overview
Understand software-defined networking, work Linux Primer for Network Engineers.
- Understanding Python with Strings, loops and functions. Writing Python scripts and troubleshooting them.
- Working on NX-OS Programmability.
- Cisco IOS XE APIs.
- YANG Data Modelling and tools.
- Introduction to controller networking.
- Configuration Management and Automation tools.
Outline
Module 1: Introduction to network programmability
- Understand software-defined networking
- Traditional versus software-defined networks
- Current industry trends
- Network programmability and automation
- Introduction to APIs
Module 2: Linux Primer for Network Engineers
- Why learn Linux ?
- Navigating the Linux file system
- Linux distributions and package managers
- Working with files and directories
- Linux processes
- Using the Linux Command line
Module 3: Linux networking
- Basic linux networking commands
- Persistent Linux Networking Commands
Module 4: Python Foundation for Network Engineers
- Understanding Python
- Data type : Strings
- Data type : Numbers
- Data type : Booleans
- Conditionals
- Lists
- Dictionaries
- Loops
- Function
- Working with files
Module 5: Writing and troubleshooting python scripts
- Writing scripts
- Executing scripts
- Analyzing Code
- Error Handling
Module 6: Python libraries
- Python module
- Python package
- Custom python libraries
Module 7: Introduction to Network APIs and Protocols
- Evolution of Device Management and programmability
- Data encoding formats
- JSON
- Working with JSON objects in python
- XML
- Using XML in Python
- Data models
- Model-driven Programmability stack
- REST
- NETCONF
- NETCONF Capabilities exchange
- RESTCONF
- gRPC
Module 8: NX-OS Programmability
- Nexus Programmability Overview
- NX-API CLI
- NETCONF
- NX-API REST
- Python on the Nexus Switch
Module 9: Cisco IOS XE APIs
- IOS XE APIs Overview
- IOS XE RESTCONF API
Module 10: YANG Data Modelling
- YANG Overview
- YANG Module
- YANG Module Header
- YANG Leaf Statement
- YANG Leaf-List Statement
- YANG List Statement
- YANG Types
- YANG Typedef Statement
- YANG Choice Statement
- YANG Grouping Statement
- YANG Miscellanious Statements
- YANG RPC Statement
- YANG Imports and Includes
- YANG Modules and Submodules
- YANG Model examples
Module 11: YANG Tools
- YANG Validator
- Pyang
- Writing a custom YANG Model
- YDK-Py API Structure
- Generate Python Bindings with ydk-gen
- YANG Explorer
Module 12: Introduction to Controller Networking
- Openflow
- Openflow Deployment Models
- OpenDaylight
- Cisco APIC-EM
- Cisco ACI
Module 13: Software Development Methodologies
- Software is Everywhere
- Waterfall
- Lean
- Agile
Module 14: Introduction to Devops
Module 15: Version Control
- Overview of Git
- Git commands
- Git workflow
- Git Branches
- Using Git
- Collaborating with GitHub
- GitHub Pull Request : Fork and Pull
Module 16: Automated testing
Module 17: Continuous Integration
- Travis CI
Module 18: Configuration Management and Automation Tools
- Configuration Management
- Ansible Overview
- Ansible Base Modules
- Compliance Checks with Ansible
- Tenant Provisioning with Ansible
- Puppet Node and Agent
- Puppet Agent Setup