The NSO Advanced for Python Programmers (NSO300) v3.0 course is a 4-day instructor-led, lab-based, hands-on course offered by Learning@Cisco. It introduces learners to developing advanced services using Cisco Network Services Orchestrator (NSO) programmability with Python scripting.

This course explores how to create advanced services using the NSO application framework and Python scripting with both new and existing Layer 3 Multiprotocol Label Switching (MPLS) VPN services. Students will also learn how to manage and scale these services, and how to use NSO Network Functions Virtualization (NFV) orchestration features and Cisco Elastic Services Controller (ESC) to manage Virtualized Network Functions (VNFs).


Upon completing this course, students will be able to meet these objectives:
  • Describe the NSO’s transactional application framework and mapping model options
  • Describe the Reactive Fastmap design pattern and the NSO Configuration Database (CDB) subscriber in the NSO Transaction model
  • Simplify packages to remove the need for subscriber applications, scale orchestration solutions, and integrate NSO with external systems (east-west integration)
  • Describe the Cisco ESC architecture and integration with NSO, and how the NSO VNF Orchestration (VNFO) Release 2 bundle interacts with ESC for orchestration


The course contains these components:
  • Cisco NSO Programmability
    • NSO Application Framework
    • NSO Python Scripting
    • NSO Python and Template-Based Services
    • Resources
  • Augmenting Cisco NSO Service
    • Service Lifecycle and Integration Options Overview
    • Greenfield Layer 3 MPLS VPN Service
    • Brownfield Layer 3 MPLS VPN Service
  • Managed Services
    • Managed Services Overview
    • Stacked Service Design Overview
    • Design-Managed Network Services
    • Scaling Service Orchestration
  • Cisco NSO Network Functions Virtualization (NFV) Orchestration
    • Cisco ESC
    • Cisco NSO Orchestration
Lab outline
  • Device Setup Using Python Script
  • Create an SVI Service Using pre_modification Service Callback
  • Create a L3VPN Service Using Dynamic ID Allocation
  • L3VPN Service Upgrade
  • Stacked Services
  • Service Action
  • ESC Integration
  • NFV for the DMZ Service

Prerequisite Knowledge

Cisco recommends that you have the following prerequisite knowledge and skills:
  • Knowledge and skills that can be obtained by attending the Cisco NSO Essentials for Programmers and
  • Network Architects (NSO201) class or equivalent
  • Basic knowledge of the Cisco Command-Line Interface (CLI)
  • Basic knowledge of the CLI of UNIX-like operating systems
  • Basic knowledge of YANG data modeling
  • Basic knowledge of Java or Python software development