What is ansible?
The language, the engine, the framework. Uses of ansible, orchestration.
Hands on: Installing ansible, enabling SSH on network devices.
Ansible architecture
How ansible “normally” works, Agentless, SSH, ansible and Python, modules, how ansible work on network devices, Configuration management, inventories, playbooks, modules, ansible.cfg.
Hands on: Getting started, running ad hoc commands.
Playbooks
ansible-playbook, users, YAML, plays, tasks, modules. ansible-vault.
Hands on: Running playbooks.
More playbooks
Handlers, variables, environmental variables, playbook variables, inventory variables, variable scope and precedence, accessing variables, facts, ansible vault. Conditionals, wait_for.
Hands on: Using variables and conditions in playbooks.
Inventories
/etc/ansible/hosts, inventory variables, static inventories, dynamic inventories.
Hands on: Inventories and variables.
Ansible network modules
Built in modules, custom modules, return values. ansible-doc –l. connection: local, Cisco modules, Juniper module.
Hands on: Using modules for your network devices.
Ansible templatings
The template module, the assemble module, jinja2 templates, for, if else.
Hands on: Configuring network devices from templates.
Roles and includes
Dynamic includes, Handler includes, playbook includes. Roles, role parts: handlers, files, templates, cross platform roles, ansible galaxy.
Hands on: includes example, building roles.
Ansible and NAPALM
Installation, napalm-ansible, NAPALM modules: napalm_diff-yang, napalm_get_facts, napalm_install_config, napalm_parse_yang, napalm_ping, napalm_translate_yang, napalm_validate.
Hands on: Using NAPALM modules in ansible.