Opleiding: Network Automation with Python and Ansible [N1_NETPYA]

OVERVIEW

No two networks are the same! Learn to automate your network with a Python and Ansible skillset. Course can be taught across all major (and most minor) network vendors. Course demonstrations can be adapted to best-fit the customer’s network to ensure all lessons have maximum relevance.

Virtual Learning

This interactive training can be taken from any location, your office or home and is delivered by a trainer. This training does not have any delegates in the class with the instructor, since all delegates are virtually connected. Virtual delegates do not travel to this course, Global Knowledge will send you all the information needed before the start of the course and you can test the logins.

OBJECTIVES

This course teaches students to blend Python skillsets with Ansible through the lens of automating networks. Automation techniques for the most popular vendor (incl. Cisco, Juniper, Arista) will be subjects of study, however, students may request examples from vendors within their own environments. Topics begin with a focus on automating networks with Python; this skill set is then folded into a broadening understanding of automating with Ansible. Students will have programmatic experience automating enterprise class networks by the conclusion of this course (includes writing custom Ansible modules with Python).

Class is a combination of lecture, demonstration, and hands-on labs. Students are invited to share their own relevant Python and Ansible scripts with the instructor to ensure class subjects are as relevant as possible.

All notes and scripts will be made available to students by the end of each day via a cloud-share or email. Lab time will be given reinforce that day’s topics and demonstrations.

Class is appropriate for those interested in automation, specifically network automation, and those looking to marry a Python and Ansible skillset.

AUDIENCE

The primary audience for this course is as follows:

  • Network Administrators
  • Administrators interested in Automation
  • Individuals interested in devops, specifically for networking

CONTENT

Day 1 – Critical Python Catchup & Review

  • Overview of Python and Ansible
  • Python white space rules & best practices
  • Printing and more Printing
  • Date types and Variables
  • Packing and Unpacking Variables
  • f Strings
  • Conditional expressions
  • Relational and Boolean operators
  • Lists, Tuples, Dictionaries
  • Indexing and slicing
  • Built-in functions
  • Iterating with Loops (for and while)
  • Working with files
  • Software Control Management (SCM) (Git, Github, Bitbucket, Cloudshare, etc.)
  • Using Python to access REST interfaces
  • Working with JSON
  • Python, Ansible and Paramiko
  • Using Paramiko to SSH with keys and passwords
  • RESTful API review
  • API keys
  • Paramiko Review
  • Using Paramiko to SFTP with keys and passwords

Day 2 – Python and Network Automation

  • Introduction to Netmiko (automating routers and switches)
  • Using Netmiko to send commands to / from network devices
  • Working with YAML
  • Converting JSON to YAML with Python
  • Ansible keywords
  • YAML and JSON for data exchange
  • Ansible and YAML
  • Ansible Playbook components
  • Tying together Python and Ansible – Using Python within Ansible
  • Ansible Network Modules
  • What is new in Ansible (most current updates / release notes)
  • Network Agnostic modules
  • Writing network playbooks
  • Reviewing the construction of network playbooks
  • Writing Ansible playbooks that respond to network failures

Day 3 – Blending Python and Ansible Skillsets

  • Review how to use Python within Ansible
  • Calling Python scripts with Ansible
  • Jinja2 Templating Engine for Python (and Ansible)
  • Using Templates in Ansible playbooks
  • Jinja2 filters, looping, and other useful tricks for automating with Ansible
  • Playbook tagging for selective runs
  • When to use Python and when to use Ansible
  • “Big Picture” options for using Python & Ansible within your Network
  • Ansible Roles

Day 4 – Customizing Ansible with Python

  • Review – Running Scripts with Ansible
  • Prompting for Ansible user input
  • Ansible Galaxy & Getting at Roles
  • Writing a custom Ansible Module with Python
  • Ansible “Engine” vs Ansible “Tower” – marketing hype, capabilities, costs, etc.
  • Case Study: Automate your Enterprise Network
  • When to use Python and when to use Ansible
  • Writing your own Ansible modules in Python
  • “Big Picture” options for using Python & Ansible within your Network
  • Overview – NETCONF / YANG and what they mean for Python and Ansible
  • Molecule – Testing your roles

Lab Outline:

Lab 0 – Setting up the Admin PC for Development

Lab 1 – Build your First Python Script

Lab 2 – More Python

Lab 3 – Strings in Python

Lab 4 – Using argv

Lab 5 – Lists and Dictionaries

Lab 6 – Loops and if-else

Lab 7 – Defining a Function

Lab 8 – Using Python Scripting and the REST API

Lab 9 – Telnetib (Optional)

Lab 10 – Paramiko

Lab 11 – Netmiko

Lab 12 – Ansible Installation

Lab 13 – Verify the Ansible Installation

Lab 14 – CSRX-1 SSH Connectivity

Lab 15 – Cisco IOS Show Command Execution with Ansible

Lab 16 – Configuration Changes with Ansible

Lab 17 – Create a Custom Module for Ansible

Lab 18 – Installing and Using a Role from Galaxy

Lab 19 – Ansible and Jinja2 Templating

Lab 20 – Integrating Template Instantiation and Device Synchronization into a Playbook

Meer...
€3.980
ex. BTW
Aangeboden door
Global Knowledge Network Netherlands B.V.
Onderwerp
Niveau
Looptijd
4 dagen
Taal
nl
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 16
Tijdstip
Overdag
Keurmerken aanbieder
Cedeo
CRKBO en BTW-vrijstelling
VOI
EXIN
ISO register
Microsoft Learning Partner
VMWare Partner
Oracle Education Partner
AgilePM - Agile Project Management (APMG)
ASL