Skip to content
SKU: A3R-AE

$2,195.00

Ansible is growing in popularity for good reasons. It’s easy to understand, far simpler than Python, and extremely powerful. While Python can be used to do just about anything, Ansible is used to bring structure and consistency to system deployments, implementations, and changes. Students tempted to write a complex Python script to do a networking automation task will discover that problem is already solved by an Ansible module. Lots of unnecessary Python scripts can be eliminated by using Ansible whenever possible. Ansible can be used for both network and server administrators alike.

Select a date below

Categories:

Dates are listed in Pacific Time Zone

= Guaranteed to run date

Description

Print Friendly, PDF & Email

Overview:

Ansible is growing in popularity for good reasons. It’s easy to understand, far simpler than Python, and extremely powerful. While Python can be used to do just about anything, Ansible is used to bring structure and consistency to system deployments, implementations, and changes. Students tempted to write a complex Python script to do a networking automation task will discover that problem is already solved by an Ansible module. Lots of unnecessary Python scripts can be eliminated by using Ansible whenever possible. Ansible can be used for both network and server administrators alike.

Prerequisite(s):

Audience:

Outline:

Lesson 1: Ansible Introduction

  • Ansible definition
  • A module
  • A task
  • Ansible vars
  • Ansible tasks
  • hosts aka “Inventory”
  • A play
  • handlers
  • The Ansible playbook
  • passwordless sudo and RSA access
  • Public Key Encryption as Privacy
  • Public Key Encryption as Authentication
  • Exploring the lab environment

Lesson 2: Installation

  • Configuration requirements on the control machine
  • Python requirements on the host
  • Using ansible raw to install Python

Lesson 3: Ansible config file and directory structure

  • ansible.cfg
  • Ansible Inventory
  • roles

Lesson 4: Ansible Static Inventory

  • Defining Hosts and Groups
  • Host and Group variables
  • Groups of Groups
  • Default Groups

Lesson 5: Ansible Ad hoc commands

  • Ad hoc command syntax
  • Parallel Shell commands
  • Managing packages
  • Managing users and groups
  • Gathering facts
  • ad hoc cheat sheet

Lesson 6: Ansible config file and directory structure

  • ansible.cfg
  • Host Inventory and ansible_vars
  • roles

Lesson 7: YAML

  • YAML Gotchas
  • YAML Dictionary
  • YAML list
  • YAML list of dictionaries
  • YAML Alternate format

Lesson 8: Writing a Simple Playbook

  • Elements of a well written playbook
  • A well-written Ansible play
  • Using include files for tasks
  • A well-written ansible variable file
  • A well-written ansible inventory file

Lesson 9: Key Modules you need to know

  • Understanding modules documentation
  • Copy
  • apt / yum / pip
  • command / shell
  • git
  • get_url
  • debug
  • Manage L3 interfaces on network devices
  • Manage Layer-2 interface on network devices
  • Manage VLANs on network devices
  • OpenVswitch NFV
  • Manage Interface on network devices

Lesson 10: Ansible templates

  • What is Jinja2?
  • jinja variables
  • jinja filters
  • jinja tests
  • How to use ansible template
  • Review of the ansible template documentation

Lesson 11: Conditional and Looping Tasks

  • Variables and Loops
  • Using Complex Variables in Loops
  • Variables and Templates
  • Using variables in conditions
  • Blocks
  • Prompts
  • Getting variables from the system
  • Setting variables in playbooks
  • registered variables
  • Getting variables from the command line
  • Where is the best source to derive variables values?

Lesson 12: Dynamic Inventory Management

  • What is Dynamic Inventory?
  • A review of static Inventory Practices
  • Using JSON as an Inventory Source
  • AWS EC2 Example
  • OpenStack Example

Lesson 13: OpenStack Configuration

  • Enough OpenStack to Survive
  • Understanding the OpenStack client
  • What is shade?
  • clouds.yaml
  • Installing shade
  • Using shade
  • os_network
  • os_subnet
  • os_router
  • os_server
  • os_server_action
  • os_security_group
  • os_security_group_rule

Lesson 14: napalm-ansible

  • Network Automation Transactions
  • What is NAPALM?
  • How NAPALM works
  • napalm installation
  • Load/Replace configuration
  • Network Driver
  • Connecting to the Device
  • Replacing the Configuration
  • Rollback Changes
  • Disconnecting
  • NAPALM Context Manager
  • Extending NAPALM Example
  • What is napalm-ansible?
  • napalm-ansible Installation
  • napalm_ping
  • napalm_get_facts
  • napalm_install_config
  • napalm_validate

Lesson 15: Networktocode ntc-ansible

  • What is ntc-ansible
  • TextFSM
  • Installation
  • ntc Modules
  • Example

Lesson 16: Roles

  • Why we need Ansible Roles
  • Role Directory Structure
  • Using Roles
  • Role default variables
  • Converting a Playbook to a Role

Lesson 17: Playbook Best Practices

  • Directory Layout
  • Use Dynamic Inventory With Clouds
  • How to Differentiate Staging vs Production
  • Group And Host Variables
  • Top Level Playbooks Are Separated By Server Type
  • If you must use shell stay idempotent!
  • 7 More Best Practices

Lesson 18: Ansible Tower / AWX Essentials

  • What is Ansible Tower and AWX

Additional information

Length

5 days

Guaranteed to run

No