
Discover Ansible, an open-source, agentless configuration management and provisioning tool that uses YAML playbooks and SSH to automate complex IT workflows from a centralized controller.
Set up the Ansible development environment on macOS and Windows, and connect to Cisco routers or switches to learn how Ansible interacts with network devices; source code included.
Install Ansible on Mac by installing Python, creating and activating a Python virtual environment, then using pip to install Ansible 2.9.1 and verify with ansible --version.
Install Ansible on Windows with WSL by preparing Ubuntu, updating sources, installing Python dependencies, creating and activating a virtual environment, and installing Ansible version 2.9.x.
Set up multiple Aspell versions with Python virtual environments to test across 2.9.13, 2.9.5, and 2.10.1, with Mac and Windows steps and commands to activate and install.
Install Visual Studio Code as the IDE for Ansible scripting, then add the Ansible, YAML, and remote development extensions to enable cross‑platform work on Windows, macOS, or Linux.
Learn to use Visual Studio Code on Windows with WSL to edit and run Ansible scripts, installing Remote Cell and Remote WSL extensions and executing Python within the cell.
Prepare Cisco routers and switches, using physical or virtual devices, and ensure you can connect from your laptop for Ansible network automation.
Prepare at least one Linux server, either cloud-based or local, and connect via SSH to run hands-on tests for Ansible network automation.
Demonstrates creating two linux hosts with a Vagrantfile, VirtualBox, and Vagrant, then managing them via Vagrant up, Vagrant status, SSH, and destroy, with optional Windows Hyper-V notes.
Explain why we choose Ansible 2.9.x for the course, prioritizing stability and bug fixes over the latest release, and highlight key differences from 2.10.
Explore the Ansible documentation to access quickstart guides, installation videos, and module references; select version 2.9 for this course and learn how to use each module.
Learn to set up a local testing environment with GNS3, enabling virtualization and installing a hypervisor, to run virtual machines on your computer.
Install and configure GNS3 and the GNS3 VM on Windows with VMware workstation. Import the VM, install the desktop, and start the VM for network topology work.
Import Cisco CSR1000v as a virtual appliance from the marketplace and deploy it in a VM to build a topology. Licensing options and costs are noted in the setup.
Create a simple topology using three VMs, add R1 and R2 with a switch, configure interfaces and IPs, and verify connectivity with ping and basic Telnet access.
Bridge Cisco routers to a GNS3 host network using three VMs, configure cloud and docker0 interfaces, link to a switch, assign IPs, and enable SSH access.
learn to use Visual Studio Code with the remote development extension to connect to a GNS3 VM, configure SSH access, and run Python and Ansible in a virtual environment.
Explore ASPO core concepts to understand how our sport works in this introduction for the Ansible for network automation course.
Learn YAML basics for Ansible by comparing YAML with XML and JSON, covering file extensions, case sensitivity, indentation, and core data types like scalars, mappings, and sequences.
Explore inventory in ansible by defining target hosts and groups in a text inventory file, including the default group and group of groups, and learn practical host and group management.
Discover how host variables differ from group variables in Ansible for network automation, learn that host-specific values override group values, and understand default and ungrouped groups.
Explains predefined host variables for connecting to remote hosts, shows Aspell parameters such as host, port, user, and password, and advises creating your own connection names instead of predefined ones.
Explore Ansible modules, reusable scripts that interact with local or remote hosts to perform tasks. Learn to run modules with Ansible and ansible-playbook and test connectivity with ping.
Explore ansible ad-hoc commands and modules, use the copy module to transfer files, and run show running config on Cisco routers via inventory groups.
Explain the limitations of Ansible ad hoc mode, where a single command can report thousands of devices but cannot handle complex tasks that require playbooks.
Discover how to build and run configuration, deployment, and orchestration with Ansible playbooks. Learn plays, tasks, modules, inventory, and YAML-based playbooks to automate tasks across targets.
Create your first Ansible playbook to install EPEL release and ajax, copy a local index.html to the remote host, start the index service, and verify via a web browser.
Execute an Ansible playbook from environment checks and inventory setup to installing epel release, copying the indexed e-mail, and starting the engine service on a target host.
Learn about ansible facts and facts gathering, including the setup module and how to disable gathering for performance. Create and print custom facts with set_fact to reveal remote system data.
Use the ansible-doc command to view module documentation offline after installing Ansible, exploring modules such as copy, yum, and service, with options and practical examples.
Explore templating in this section, understand why templates are needed, and learn how to use templates in asport.
Learn why templating in Ansible provides dynamic configuration across hosts. Use a template to supply per-host values, like IP addresses, without changing the playbook.
Learn to use Ansible variable and template to create directories, copy configuration files, and render templates with Jinja2, guided by a hands-on workflow.
Learn to use the ansible template module to render host-specific config files, replace copy with template, and verify remote host content via ad hoc checks for two web hosts.
Advance your Jinja2 template skills in ansible with for loops and conditionals. Generate Cisco configs from a source template, using interface blocks and enable flags.
Apply template filters to variables in Ansible playbooks using a pipe pipeline, including capitalized, unique, sort, and IP address filters, and verify results via debug tasks.
Explore loops and conditionals in Ansible, using the user module to create multiple local users (test one, test two, test three, test ten) and perform conditional installs on remote hosts.
Master looping in Ansible to create multiple users across two hosts using a playbook, employing loop syntax, with items, and loop control to rename the loop variable.
Leverage conditionals in an ansible playbook to detect host distribution from ansible facts, choose the correct package manager (yum or apt), and verify results with debug output.
Explore network modules using Cisco as an example, covering two Cisco modules: Camonte and ours config, to introduce hands-on automation concepts.
Execute Cisco show commands across multiple routers using Ansible ad-hoc, leveraging a prepared inventory and group vars for credentials, then filter outputs by group and version while preserving device context.
Learn to locate Ansible network modules for Cisco and Juniper via the module index and collection index, focusing on version 2.9 and the 2.10 transition, with config and command modules.
Explore using the Cisco ios_command module to run commands on remote Cisco devices (not in configuration mode), adjust platform options, and read return values, and install paramedical.
Learn to handle return values in Ansible by registering outputs into a result variable, then print and index nested lists and dictionaries to extract short version and show outputs.
Explore how the ios_config module in Ansible automates Cisco router access list configuration, deleting and creating an Aspell Demo access list with five permit rules, and using backup options.
Explore Cisco network modules in Ansible for network automation, including interface and configure modules, OS type parameters, and options to explore Juniper or F5 modules for broader automation.
Kick off this hands-on section by building an Ansible playbook to back up Cisco running configurations per device to a GitHub repository, handling new files and updates with diffs.
Explore backing up running configs from two Cisco routers with an ansible playbook, storing results in a GitHub repository, and updating loopback addresses before re-backup.
Learn to back up running configs per router with Ansible, using a backup option and host-name based file names via a Jinja template in the playbook and inventory.
Set up a GitLab project for Cisco config backup, initialize with readme, make it public, note the project id, and create an API token with API scope to push configs.
Push a Cisco backup running configuration to a GitLab repository using Ansible and the GitLab REST API, constructing a commit with file actions through a JSON payload.
Learn to update existing network configuration files in GitLab using an Ansible playbook, including checking repository content, selecting create or update actions, backing up running configs, and validating changes.
Improve the Ansible playbook by disabling detailed logging with the no_log label, removing the local config file via the file module, and handling multi-host per-host execution.
Extend the playbook by adding a second play that builds an action list from host action dicts and pushes changes to a GitHub repository, then uses debug to verify results.
Enhance the ASPO playbook to avoid empty commits by checking remote versus local content from GitHub, updating only when differences exist, and pushing changes.
Introduce one of the best practices for Aspell and learn how to design our ASPO event in this new section.
Develop and manage distinct development, acceptance, and production environments using separate inventory folders and host files. Test playbooks in a dedicated environment before deploying to production to ensure reliability.
Learn to organize Ansible variables by environment using group vars and host vars, creating per-environment folders and files for development and production, with project IDs, access tokens, and host-specific overrides.
Discover how to use Ansible Vault to encrypt and decrypt sensitive information in playbooks and YAML files. Avoid plaintext exposure and understand the required passwords and reference documentation.
Encrypt strings such as passwords and access tokens using Aspell's encrypted string/stream option, decrypt with the secret password, and apply them in Ansible playbooks for development and production environments.
Learn how to use ansible vault to encrypt files and streams, decrypt during playbook execution, and secure group variable files and yaml files.
Never embed passwords or tokens in an ansible playbook; input passwords at execution time and use asport to protect sensitive information, especially when working with development inventories.
What's in this course?
If you are a Network Engineer or Network DevOps Engineer, then this course is for you.
In this course, we will cover the basic and core concepts of Ansible, and explain them with lots of demos, including inventory, playbook, play, task, variable, modules, etc.
there also has a demo project at the end of the course, we will do a simple ansible project together.
What is so special about THIS course?
Ansible course for network engineers, we will use lots of demos related to networks, especially Cisco routers, to see how can we use Ansible to automate our daily operation jobs.
What is Ansible?
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.
Legal Notice:
Ansible® and Ansible Tower® are registered trademarks of Ansible, Inc. in the United States and other countries. This course is not certified, accredited, affiliated with, nor endorsed by Ansible, Inc.
Content of this Course
1. How to setup ansible environment with WSL2 or GNS3 VM
2. Ansible Basic concepts
3. How to use Jinja2 template
4. How to write Ansible playbooks
5. Cisco network modules
6. Project Demo: How to backup cisco running cfg