This course is not a soft skills course covering the concepts of DevOps but instead concentrates on the technical side of tools and languages for network DevOps. Particular technologies focussed on are ansible, git and Python enabling delegates to leave the course ready to starting automating their network. Hands on sessions follow all major sections. More detailed courses on individual aspects of this course are available.
Programming and automating networks, networks and clouds, AWS, OpenStack, SDN, DevOps for network operations.
Configuring SSH, ZTP, POAP.
Hands on Initial lab configuration.
The language, the engine, the framework. Uses of
ansible, orchestration. The architecture,
Controlling machines, nodes, Agentless, SSH,
modules. Configuration management, inventories,
playbooks, modules, roles.
Hands on Installing ansible, running ad hoc commands.
ansible-playbook, YAML, plays, tasks, handlers,
modules. Playbook variables. Register module,
Hands on Running playbooks.
/etc/ansible/hosts, hosts, groups, static
inventories, dynamic inventories. Inventory
variables, external variables. Limiting hosts.
Hands on Static inventories, variables in inventory files.
Built in modules, custom modules, return values.
Core modules for network operations. Cisco and/
or Juniper modules. ansible_connection. Ansible
Hands on Using modules.
Configuration management, full configurations,
partial configurations. The template module, the
assemble module, connection: local, Jinja2
templates, variables, if, for, roles.
Hands on Generating multiple configurations from a template.
Why use Python? Why use ansible? alternatives, ansible tower, Linux network devices.
Scripting versus application development, Python
interactive mode, Python scripts, Python 2.7 vs
Python 3. A simple Python script. Variables,
loops, control statements, operators. PEP style
guide. Python IDEs.
Hands on Simple Python programs.
Functions. Classes, objects and instances,
modules, libraries, packages. Python strings,
Python file handling, pip list, pip install,
Hands on Python programming with pyping.
Distributed version control, repositories, Git and GitHub, Alternatives to GitHub, Installing git, git workflows, creating repositories, adding and editing files, branching and merging, merge conflicts. Hands on working with Git.
APIs, Sockets, Telnetlib, pysnmp, ncclient, ciscoconfparse.
Integrating Python and network devices using
SSH. Netmiko, Netmiko methods.
Hands on Netmiko.
Juniper, NETCONF, installing PyEZ, a first pyEZ
script, pyEZ configuration management.
Hands on Juniper configuration management with pyEZ.
What is NAPALM, NAPALM operations, getters,
Replace, merge, compare, commit, discard.
Hands on Configuration with NAPALM. Integrating ansible and NAPALM.
REST APIs, enabling the REST API. Accessing
the REST API with a browser, cURL, Python and
REST, the request library.
Hands on Using a REST API with network devices.
"Great course, learned a lot, and do it again if technology changed."
"Great hands on and chance to apply what I already knew in Python."
This structured course uses Instructor Led Training to provide the best possible learning experience. Small class sizes ensure students benefit from our engaging and interactive style of teaching with delegates encouraged to ask questions throughout the course. Quizzes follow each major section allowing checking of learning. Hands on sessions are used throughout to allow delegates to consolidate their new skills.