Booking options
£3,697
£3,697
Delivered Online or In-Person
You travel to organiser or they travel to you
Redhill
5 days
All levels
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.
What will you learn
Evaluate network automation tools.
Automate tasks with ansible.
Use git for version control.
Use Python to manage network devices.
Use Python libraries for network devices.
Network automation course details
Who will benefit:
Network engineers.
Prerequisites:
TCP/IP foundation for engineers.
Duration
5 days
What is DevOps
Programming and automating networks, networks
and clouds, AWS, OpenStack, SDN, DevOps for
network operations.
Initial configuration
Configuring SSH, ZTP, POAP.
Hands on Initial
lab configuration.
Getting started with ansible
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 playbooks
ansible-playbook, YAML, plays, tasks, handlers,
modules. Playbook variables. Register module,
debug module.
Hands on Running playbooks.
Ansible Inventories
/etc/ansible/hosts, hosts, groups, static
inventories, dynamic inventories. Inventory
variables, external variables. Limiting hosts.
Hands on Static inventories, variables in inventory
files.
Ansible modules for networking
Built in modules, custom modules, return values.
Core modules for network operations. Cisco and/
or Juniper modules. ansible_connection. Ansible
2.6 CLI.
Hands on Using modules.
Ansible templating and roles
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.
Network programming and modules
Why use Python? Why use ansible? alternatives,
ansible tower, Linux network devices.
Programming with Python
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.
More Python programming
Functions. Classes, objects and instances,
modules, libraries, packages. Python strings,
Python file handling, pip list, pip install,
Hands on
Python programming with pyping.
Git
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.
Python and networking
APIs, Sockets, Telnetlib, pysnmp, ncclient,
ciscoconfparse.
Paramiko SSH and Netmiko
Integrating Python and network devices using
SSH. Netmiko, Netmiko methods.
Hands on
Netmiko.
PyEZ
Juniper, NETCONF, installing PyEZ, a first pyEZ
script, pyEZ configuration management.
Hands on Juniper configuration management with pyEZ.
NAPALM
What is NAPALM, NAPALM operations, getters,
Replace, merge, compare, commit, discard.
Hands on Configuration with NAPALM.
Integrating ansible and NAPALM.
Python and REST
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.