Module 1 – Ansible Installation, Configuration & Basic Modules
- What is Ansible and why is it a Configuration Management Tool.
- Different features of Ansible.
- Work model of Ansible.
- Ansible Installation Steps.
- Basic Ad-hoc commands & modules of Ansible.
- Practical session & documentation on the above points.
Module 2 – Writing Plays and Playbooks
- Detailed description of Ansible plays and playbooks.
- Details on YAML ( Yet Another Markup Language) format.
- Discussion of Playbook commands, syntax checks, dry runs and indentation.
- Hands-on on different playbook writing.
- Practical session & documentation on above points.
Module 3 – Ansible Variables
- Understanding on Ansible Variable and it’s usage.
- Defining variables in playbooks.
- Using variables in playbooks.
- Host Variables and Group Variables.
- Use of directories to populate Host and Group variables.
- Override of variables from the Command Line.
- Use of Arrays as Variables.
- Capture Command Output with Registered Variables.
- Practical session & documentation on above points.
Module 4 – Ansible Facts
- Overview of Ansible Facts.
- Details & Example of different Ansible Facts.
- Ansible Facts Injection as Variables.
- Turning off Fact Gathering.
- Creation of Custom Facts.
- Use of Magic Variables.
- Practical session & documentation on above points.
Module 5 – Ansible Vault
- What is Ansible Vault and how to use it
- Creation of Encrypted File and way to view, edit that.
- Encryption of an Existing File.
- Decryptionif an Existing encrypted File.
- Changing Password of an Encrypted File.
- Playbooks and Ansible Vault.
- Practical session & documentation on above points.
Module 6 – Ansible Import & Include and Ansible Parallelism.
- Details on Ansible Import and Include Operation.
- Difference of work model in between Import and Include.
- Details of parameter for Ansible Parallelism.
- Details of parameter for Rolling Updates with Ansible.
- Practical session & documentation on above points.
Module 7 – Implementing Task Control
- Writing Loops and Conditional Tasks.
- Loops over a list of Hashes or Directories.
- Earlier styles Loop Keywords.
- Use of Register variable with loops.
- Running of Tasks conditionally.
- Testing of multiple conditions.
- Combining Loops and Conditional Tasks.
- Practical session & documentation on above points.
Module 8 – Ansible Roles
- Details of Ansible Roles and usage on simplifying Ansible playbooks.
- Structuring Ansible Playbooks with roles.
- Examining the Ansible role structure & Ansible role subdirectories.
- Defining Variables and Defaults.
- Use of Ansible roles in a playbook.
- Practical session & documentation on above points.
Module 9 – Implementing Handlers & handling task failures.
- Details of Ansible Handlers.
- Describe the benefits of Ansible Handlers.
- Managing Task errors in plays.
- Forcing execution of Handlers after Task failures.
- Specifying Task failure conditions.
- Ansible Blocks and Error Handling.
- Practical session & documentation on above points.
Module 10 – Integrating Ansible with GitHub and AWS.
- Launch of Instances in AWS and configure password-less SSH for those instances.
- Configure a Control Node locally.
- Login to GitHub and creation of Repository.
- Installation of Git client of Control Node and push custom html file to remote GitHub repository.
- Write Ansible Playbook to Install package, enable services and download the html file in Managed hosts.
- Practical session & documentation on above points.
Module 11 – Automation of Linux Admin Tasks
- Managing software and subscriptions with Ansible.
- Optimizing multiple package installation.
- Gathering Facts about installed packages.
- Reviewing alternative modules to managed packages.
- Registering and Subscribing new systems with Ansible.
- Configuration of YUM repository and Import of RPM GPG key.
- Managing Users and Authentication with Ansible.
- Managing the Boot process and scheduled processes with Ansible.
- Managing services with system and service modules.
- Managing Storage with Ansible.
- File system management with Ansible.
- Managing Network Configuration with Ansible.
- Practical session & documentation on above points.
Module 12 – Deployment of Jinja2 templates
- Templating file and Introduction to Jinja2.
- Building a Jinja2 template.
- Deploying Jinja2 templates.
- Managing Templated files and Control Structures.
- Variable Filters.
- Practical session & documentation on above points.
Module 13 – Managing large projects.
- Selecting Hosts with Host Pattern.
- Specifying Hosts as a group.
- Managing Dynamic Inventories.
- Contributed Scripts in GitHub.
- Writing Dynamic Inventory Programs.
- Practical session & documentation on above points.