
Welcome to the Course!
Get ready to master Ansible and elevate your automation game. This introductory video lays the foundation for your learning journey, introduces your instructor, and shows you exactly how to navigate the course for maximum success.
What’s Covered in This Video:
Meet Your Instructor: A quick look into my professional background, industry certifications, and why I am passionate about teaching Ansible.
Course Blueprint: A complete walkthrough of the core modules, hands-on labs, and real-world projects we will build together.
Unlocking Advanced Resources: How and where to access exclusive bonus materials, GitHub repositories, cheat sheets, and advanced implementation guides
About This Lecture
Welcome to the foundational core of your automation journey! Before diving into the terminal, you must understand the "why" and "how" behind modern network and infrastructure automation. This lecture bridges the gap between traditional manual workflows and scalable, automated systems.
What We Will Cover:
The Ansible Advantage: Why top tech companies choose Ansible over raw Python scripting, NETCONF, or RESTCONF protocols.
The Blueprint of Automation: The critical shift from tedious manual operations to a seamless, hands-free complete automation workflow, including automated testing and validation.
Essential Ansible Terminologies: A breakdown of the core vocabulary you need to navigate the ecosystem like a pro.
Data Structures Demystified: A direct comparison of XML and JSON against YAML—proving why YAML is the undisputed king of human-readable automation.
What You Will Achieve:
By the end of this video, you will confidently understand the strategic value of Ansible, grasp how automated code moves from development to validation, and easily read the structural formats required to build configurations.
About This Lecture
It’s time to get your hands dirty! In this lecture, we will set up your ultimate Ansible automation lab from scratch. We will walk through the absolute easiest, most foolproof way to install and run Ansible on an Ubuntu OS step-by-step.
To ensure you don't get stuck, you can follow along directly with the video recording alongside your downloadable Lab Workbook.
What is Included in This Lab Setup:
Step-by-Step Ansible Installation: The exact terminal commands to get Ansible up and running on Ubuntu flawlessly.
VS Code Integration: Complete instructions inside the workbook to install and configure Visual Studio Code directly via the Ubuntu terminal for an optimal coding environment.
Network Topology Architecture: Detailed visual diagrams mapping out your workstation and the target routers.
Initial Router Configurations: Ready-to-use initial baseline configurations for the routers in our topology so you can start automating immediately.
About This Lecture
Welcome to your first configuration lab! In this lecture, we shift from installing Ansible to configuring its brain. You will learn how to set up the essential initial files required to run Ansible scripting smoothly from a single project directory, saving you from repetitive typing down the line.
We will build your configuration step-by-step using the Lab Workbook as our blueprint.
What We Will Cover:
Building the Inventory (hosts file): How to define your Cisco CSR1000v routers, create group hierarchies like [routers], and assign essential SSH connection variables (ansible_connection=network_cli and ansible_network_os=ios).
The ansible.cfg Search Order: Understanding exactly how Ansible hunts for its configuration file, and why creating one in your local directory wins over the system defaults.
What You Will Achieve:
By the end of this video, your local ~/Ansible directory will be a completely self-contained automation workspace, which is essential to write and execute any ANSIBLE script
About This Lecture
Welcome to your very first practical automation project! In this lecture, we transition from setup to real-world execution. You will learn how to create, break down, and run an Ansible playbook designed to completely automate the process of backing up a Cisco IOS router's running configuration.
Instead of manually logging into individual devices, you will see how a single Ansible command can extract data and save it locally in seconds.
What We Will Cover:
Playbook Anatomy: Understanding the core components of an Ansible playbook—including how Plays map to your target devices (CSR1), and how Tasks execute specific actions.
The ios_command Module: How to use specialized networking modules to securely send operational commands like show running-config to Cisco hardware.
Capturing Data with Registers: Using the register keyword to temporarily store command outputs as variables inside Ansible's memory.
The copy Module: Writing the captured output dynamically into organized local text files (Backup/CSR1.txt) using standard output (stdout) tracking.
Execution & Troubleshooting: Running your script with the ansible-playbook command, reading the PLAY RECAP, and fixing common syntax or indentation errors.
What You Will Achieve:
By the end of this video, you will have a fully functioning automation script capable of fetching and saving device backups. You will also gain a solid grip on basic YAML objects, lists, and the key troubleshooting steps required when playbooks encounter connectivity or format issues.
Make sure your network connectivity is active, fire up VS Code, and let's pull these interface details!
About This Lecture
Welcome to your next hands-on automation lab! In this lecture, we will explore how to retrieve real-time operational data from your network devices without logging into the CLI manually. You will learn how to build an Ansible playbook that fetches critical interface status details from your Cisco CSR1 router and prints them cleanly onto your terminal screen.
This lab directly builds upon the directory structure and configuration environment we established in the previous sections.
What We Will Cover:
Targeting Your Automation Workspace: Ensuring your Lab2.yml file is precisely located within your local working directory to inherit your global hosts and ansible.cfg settings.
Capturing Real-Time Status: Leveraging the ios_command module to execute the standard Cisco operational command: show ip interface brief.
The Power of the debug Module: Understanding how to use Ansible’s primary printing tool to intercept and display backend variables instantly onto your control console.
Formatting with stdout_lines: Moving beyond unformatted text dumps by forcing Ansible to parse raw command responses into a clean, easy-to-read, line-by-line terminal output.
Verification and Truth Testing: Executing your playbook and cross-verifying the terminal results directly with the live router console output to ensure total data accuracy.
What You Will Achieve:
By the end of this video, you will confidently know how to extract device data and inspect it on the fly. You will master the differences between raw register output and formatted stdout_lines, giving you the ultimate troubleshooting tool for verifying network health across your topology.
Make sure your network connectivity is active, fire up VS Code, and let's pull these interface details!
About This Lecture
Welcome to your next hands-on network automation lab! In this lecture, we move from gathering operational data to actively modifying device configurations. You will learn how to change a device hostname and provision a completely new Loopback interface across your topology using Ansible.
This lab also introduces an advanced structural concept: designing and executing a single playbook file that contains multiple independent plays targeting different routers simultaneously.
What We Will Cover:
The Multi-Play Architecture: Exploring the two ways to structure configuration tasks—moving beyond a single play with multiple tasks to structuring two separate plays in one Lab3.yml file.
The ios_config Module: Shifting from operational commands to configuration mode commands using Ansible's primary module for modifying Cisco IOS parameters.
Managing Interface Hierarchies with parents: Mastering network configuration context by using the parents parameter to define an interface (interface loopback0) and nesting the sub-commands (ip address, description) safely beneath it.
Pre-Change Verification: Double-checking your live network topology (CSR1 and CSR2) to confirm baseline hostnames and verify that the target Loopback interface does not already exist.
Running & Validating Changes: Executing your playbook from the local directory and verifying the end results via the device consoles using show ip interface brief.
What You Will Achieve:
By the end of this video, you will confidently know how to push active configurations to your routers, navigate nested Cisco IOS CLI structures using the lines and parents syntax, and write sophisticated playbooks that orchestrate different automation workflows across different devices at the same time.
Ensure both CSR1 and CSR2 are powered on in your topology, open VS Code, and let’s push some configurations!
About This Lecture
Welcome to an advanced automation lab where we introduce interactivity to your workflows! In this lecture, you will learn how to inject user input into a running automation script. Instead of hardcoding variables directly into your playbooks, you will build a script that pauses at execution time, asks the operator for a configuration parameter, and applies it to the device on the fly.
This technique mirrors interactive runtime features found in traditional Python scripting frameworks like Netmiko, but scales seamlessly across your Ansible environment.
What We Will Cover:
Interactive Variables via vars_prompt: Understanding the structure used to pause a running playbook and prompt an engineer for real-time input.
Managing Privacy Settings (private: no): Learning how to control input visibility on the terminal screen, toggling between hidden inputs (like passwords) and visible inputs (like hostnames).
Dynamic Variable Substitution: Calling your custom user-defined variable ({{ new_hostname }}) dynamically inside the execution stages of the ios_config module.
Verification and Capturing Output: Building a second independent play to run post-change verification using show running-config | include hostname.
Deep Dive into the debug Module with msg: Transitioning from full variable line-dumps to using the msg parameter along with standard output index mapping (stdout[0]) to print clean, specific data lines to your terminal screen.
What You Will Achieve:
By the end of this video, you will move away from rigid, static playbooks and know how to create flexible scripts that dynamically adapt to engineer input. You will have a clear understanding of runtime prompts, index mapping for operational command tracking, and troubleshooting multi-play handoffs.
Ensure the targeted device - CSR1 is on and reacahble before executing the script
About This Lecture
Welcome to a critical milestone in scaling your automation! In this lecture, you will learn how to transition away from rigid playbooks toward dynamic, reusable code using the concept of host_vars (Host Variables). Instead of hardcoding static IP addresses or interface names directly inside your tasks, you will learn how to decouple your data from your code.
By separating your device-specific variables into standalone files, you can deploy a single, clean playbook that automatically provisions unique loopback configurations across multiple Cisco routers (CSR1, CSR2, and CSR3) simultaneously.
What We Will Cover:
The host_vars Directory Structure: Creating the specialized host_vars directory and setting up device-specific YAML files that mapping exactly to your inventory hostnames.
Decoupling Data from Logic: Writing distinct parameters like loopback_ip, loopback_mask, and loopback_name outside of the central orchestration script.
Ansible's Variable Search Hierarchy: Understanding how Ansible dynamically scans its local working environment to inherit variables from external files when running a task.
The Dynamic ios_config Playbook: Building a streamlined loopback provisioning script utilizing curly brace variable syntax ({{ loopback_ip }}) alongside nested interface parents parameters.
Multi-Node Deployment & Truth Verification: Running your unified playbook against the [routers] group and cross-checking the live routing table updates via individual device consoles.
What You Will Achieve:
By the end of this video, you will move beyond basic scripting and unlock true multi-device network orchestration. You will master the foundational pillars of Infrastructure-as-Code (IaC) by creating data-driven playbooks that stay clean, structured, and production-ready.
Power on your entire router lab topology, open VS Code, and let's scale our configurations with host variables!
Congratulations! You have officially made it to the finish line. This final bonus lecture is a celebratory wrap-up of your hard work, a look back at how far you have come, and a launching pad for your future career in DevOps and automated net-ops.
A Message From Your Instructor:
"I am confident and firmly believe that after completing this course, you have earned the right to be called Network Automation Engineers. You have shifted from traditional CLI management to treating infrastructure as code. You are now fully equipped to tackle production environments and are perfectly positioned to master advanced orchestration workflows in my future course launches."
Lifetime Support & Career Guidance
Learning doesn't end just because the videos stop. Automation can be tricky, and real-world environments always throw unexpected curveballs. If you ever face difficulties, need architectural advice, or want technical support, I am here to help you succeed.
Please don't hesitate to reach out, ask questions, or connect with me through the official channels:
Udemy Q&A Section: For course-specific lab troubleshooting.
LinkedIn Professional Network: https://www.linkedin.com/in/murtaza-ali-63b226b4/
Direct Support Email: murtaza.ali.instructor@gmail.com
Are you a network engineer still manually logging into individual routers, copying configuration snippets line-by-line, and spending hours hunting down human-error typos?
In today’s fast-paced enterprise environments, traditional CLI management is becoming a bottleneck. To future-proof your career, you need to shift toward NetDevOps and become a true Network Automation Engineer.
Welcome to Ansible for Network Engineers: Network Automation—the definitive, practical blueprint designed specifically for absolute beginners.
This course skips the dry, theoretical slide decks and dives straight into a production-grade learning environment. Right after a streamlined setup process on an Ubuntu workstation, you will immediately begin executing step-by-step, real-world network engineering labs targeting a live multi-router Cisco IOS topology.
Why This Course Is Different:
Complete Lab Workbook Framework: Every single lecture maps directly to a structured lab workbook containing visual topologies and step-by-step terminal execution guides.
Zero Coding Required: We don't assume you know Python, Linux administration, or data serialization. We teach you YAML syntax completely from scratch.
True Multi-Device Orchestration: Move past basic, single-device tricks. You will learn advanced structural concepts like host_vars to run a single playbook that pushes unique, individualized configurations across multiple devices at the same time.
Interactive Workflows: Master how to pause automation tasks at runtime to securely accept live user prompts (like custom hostnames) directly from the operator terminal.
What We Will Build and Automate Together:
Lab 1: Configuration Backups: Automate logging into routers, capturing live states with the ios_command module, registering data variables, and dumping files locally using standard output (stdout).
Lab 2: Operational Data Verification: Fetch real-time interface statuses with show ip interface brief and use the debug module paired with stdout_lines to format data cleanly on your control terminal.
Lab 3: Multi-Play Architecture: Build sophisticated multi-play workflows in a single YAML file to modify global parameters (like hostnames) and interface loops across separate network tiers simultaneously.
Lab 4: Interactive Runtime Execution: Design flexible scripts that gather real-time input from network operators using vars_prompt to dynamically change system traits without hardcoding values.
Lab 5: Infrastructure-as-Code with host_vars: Decouple variable values from your core automation logic by structuring independent, scalable host files to deploy global loopback topologies cleanly.
Who Is This Course For?
Traditional Network Engineers, System Administrators, and Cisco Professionals looking to transition into automation.
Absolute beginners to DevOps tools who find raw Python scripting daunting and want a faster, cleaner entry point.
Helpdesk technicians or CCNA/CCNP-level engineers who want to fast-track their salary and career opportunities.
Stop copying and pasting config fragments. Elevate your skillset and start managing entire enterprise infrastructures as code.Enroll now and build your very first playbook today!