
Prince introduces a new RHCE-EX294 course focused on Ansible for the Red Hat certified engineer exam. It covers official topics, Ansible core components, and practical tasks to build exam readiness.
Explore how Ansible enables open source automation to configure Linux systems, deploy software, and orchestrate continuous deployments with agentless, SSH-based playbooks written in YAML.
Learn about the RHCE exam version update to RHEL 8.3 and Ansible automation platform 1.2, with Ansible engine 2.9, and the two exam formats EX294V8K and EX294V83K.
Download the pdf file describing all topics discussed in this section, and click resources to download the file.
Create a five-VM lab in VirtualBox on a Windows host with CentOS 8; install Ansible and KVM with GUI, configure manual partitions, and set IPv4 on 192.168.99.0/24.
Set up and connect virtual machines on an internal VirtualBox network, assign IPv4 addresses and hostnames, and clone VMs to build the Ansible day KVM lab.
Configure IPv4 addresses and hostnames on VMs using the empty UI, assign a static 192.168.99.1/24, set Ansible-Dash.example.com, and verify inter-VM connectivity.
Learn to set up root ssh key authentication for Ansible, enabling passwordless logins between the control node and managed hosts, and configure the inventory for RHCE Ex294 on rhel8.
Download a pdf that describes all topics covered in this section by clicking resources on this page.
Explore core Ansible components, including config files, inventories, modules, variables, facts, plays, and playbooks, and learn how defaults can be overridden by ad hoc commands and playbooks.
Explain how ansible.cfg is located and prioritized among environment variable, current directory, user home, and system-wide paths; cover inventory, forks, remote_port, facts gathering, and privilege escalation basics.
List and explain Ansible's default values for directives in the default section, including the privilege escalation area, to help avoid misconfiguration and ensure predictable behavior.
Explore an example ansible.cfg file, its default values for inventory location and remote user, and how privilege escalation via become works with sudoers configuration.
Learn how Ansible inventories and inventory files organize remote hosts into groups, define host and group variables, and use ad hoc commands and playbooks to target specific groups or hosts.
Define hostvars and groupvars by using host-specific and group-specific variables in Ansible to override default values from the config and inventory files. Understand variable precedence across host one and its groups.
Learn to organize Ansible variables by creating host_vars and group_vars directories with per-host and per-group YAML files, keeping inventory clean and consistent across multiple hosts and groups.
Master Ansible modules as discrete code units that run tasks on remote systems, covering connectivity, facts, packages, services, files, users, and repositories, plus how to list and inspect modules.
This course explains how ansible playbooks describe configuration steps, define tasks with modules, target hosts, and handlers that run when changes occur, enabling repeatable remote administration.
Explore Ansible variables, focusing on dictionary and list variables, how to define and reference them via Jinja2 expressions, and display values using the debug module in a simple playbook.
Explore named list variables in Ansible playbooks, including declaring lists and referencing and printing items by index with Jinja2 expressions. Understand the difference between dictionary and list variables.
Explore how to work with mixed variables (dictionary and list) in an Ansible playbook, using Jinja2 expressions, dot notation, and bracket notation to access names and ages.
Learn how to define variables in separate YAML files and include them in an Ansible playbook using var_files, accessing list and dictionary variables through the same expressions.
Explore providing variables during Ansible playbook execution with vars_prompt, including prompting for username or password and optional password encryption.
Learn how to access and use ansible facts with the setup module, navigate the ansible_facts dictionary, and reference complex variables using dot and bracket notation.
Learn to filter Ansible facts with gather_subset and filter to display only network, hardware, or virtual facts, including using negation and pattern matching to target specific data.
Learn to locate and use ansible documentation on docs.ansible.com and view module details with ansible-doc. Explore the 2.8 exam docs for playbooks, variables, jinja2, and vault concepts.
Download the pdf file that describes all topics discussed in this section by clicking on resources.
Configure the Ansible control node by installing Ansible 2.8 via pip, creating a static host inventory and a configuration file, and enabling parallel tasks with the force directive.
Install and verify Ansible 2.8 via pip, including uninstalling 2.9, preserving config references, and applying a symlink workaround to locate the executable.
Create an ansible config file under the tasks directory in the ansible user's home, configuring inventory, roles path, remote_user ansible, port 22, become false, module name command, and forks.
Create an inventory file at the ansible config path, assign hosts to prod and web servers groups, define linux as all hosts parent via children, and verify with list.
Explore configuring Ansible to manage nodes, including creating users on remote hosts, distributing SSH keys, enabling privilege escalation, configuring Yum repositories, and validating configurations with ad hoc commands.
Configure a remote host to listen on non-default ssh port 555 using Ansible ad hoc commands, update sshd, adjust selinux context, open firewall, and set ansible_port 555 in inventory.
Discover how to create the ansible user on remote nodes with ad-hoc commands, encrypt the password, generate ssh keys on the control node, and distribute them for passwordless login.
Configure motd on all managed nodes with an ansible ad hoc copy task, using become for root access and setting the content to welcome to ansible managed host in /etc/motd.
Configure managed hosts to use local base OS and Appstream repositories via Ansible ad hoc commands, enabling GPG checks and keys with the yum repository module for local repositories.
Explore how to disable GPG key check to prevent issues from invalid public keys when configuring repositories for the RHCE-EX294 exam.
Learn to use Ansible modules in playbooks and ad hoc commands to perform system administration tasks, including packages, service management, firewall, file systems, storage, archives, scheduling, user and group management.
Use an Ansible playbook to manage httpd and mariadb services across web servers and prod nodes, installing, starting, and enabling them with proper privilege escalation.
Create a playbook to add a user named mark on all managed nodes, encrypting the password with sha512 using the user module and root privileges.
Create a playbook named file.yml to create /root/mark_file on all managed nodes, set owner and group to Marc, configure user full, group read/write, others none, and set the setgid bit.
Learn to schedule jobs with an Ansible playbook using the cron module, targeting prod and web servers to restart syslog at 23:00 and 06:00 daily, and at 02:00 every Monday.
Learn how to update all packages on a remote node using an Ansible playbook, targeting prod one with become true for root permissions, and set package state to latest.
Configure firewall on web servers using an Ansible playbook with the firewalld module, enabling http service permanently and reloading the firewall via a handler.
Create an ansible playbook to create the /web/html directory on web servers and manage groups testing and networks on prod nodes using file and group modules with proper state settings.
Set a SELinux context type on a directory and its contents across web servers using an Ansible playbook, persistently restore the context, and verify with an ad hoc command.
Learn to create extended and logical partitions on remote systems using an Ansible playbook with the parted module, including start locations and a 200 mebibyte logical partition.
Create a file system on a block device, format as ext4, then mount it via an Ansible playbook using the file system and mount modules to persist in fstab.
Download a pdf that outlines all tasks from this section, enabling you to practice various tasks offline without watching the content.
Explore using Ansible ad hoc commands as shell scripts for system administration by placing ad hoc commands into a file to run them as a shell script.
Learn to automate creating a directory, a zero-length file, and a symbolic link using Ansible file module in a shell script, with become privileges and proper ownership and permissions.
Create a rhc user on nodes with an encrypted sha512 password and uid 2021, then create group x294 and assign it as a supplementary group via ansible ad hoc commands.
Download the pdf file listing all tasks discussed in this section to practice these tasks without watching the content, helping you prepare effectively.
Explore Ansible plays and playbooks, using Jinja2 filters, conditionals, and loops to control execution and configure systems to a specified end state.
Explore how to use the Jinja2 'when' conditional in Ansible playbooks, employing raw Jinja2 expressions without braces, and combine and/or logic with facts and host variables to control task execution.
Learn to use loops in Ansible playbooks to create multiple users from lists or dictionaries with the user module, using item, and prefer loop over deprecated with_items.
Learn to combine loops with when conditions in playbooks using Jinja2 template statements, iterating over items and applying when to display outputs or create users based on department.
Configure the motd on web servers and prod one group using an ansible playbook with conditional execution, leveraging magic variables and ansible facts to target hosts.
Leverage magic variables to conditionally install samba on web servers and nfs-utils on prod nodes in a single playbook, without gathering facts, using inventory_hostname and groups web servers and prod.
Configure firewall rules on web servers to allow http and https, and open ports 400–404 on prod nodes, using an Ansible playbook with loops, conditions, persistence, and reload handlers.
Learn to create users with an Ansible playbook across web, prod, and all nodes, using variable files, loops, and password_hash to encrypt passwords, with supplementary groups.
Learn to create a volume group by provisioning 1 GiB and 600 MiB partitions on web servers and prod node using Ansible, after installing lvm2 and using parted.
Automate logical volume creation with Ansible using conditional checks and error handling, creating 800 MB volumes when volume groups have sufficient free space and 500 MB when space is limited.
Create a logical volume using all free space on a volume group with the lvol module, allocating 100% of free space and handling vg existence with conditional checks.
Mount a logical volume persistently with an Ansible playbook, using a conditional LV check, create a ZFS filesystem on /dev/… and mount it to /volume/lvm via fstab.
Download the practice tasks pdf to review all tasks discussed in this section and practice different tasks without watching the content.
Explore using Jinja2 templates with the Ansible template module to deploy on remote nodes, and encrypt sensitive data using Ansible Vault.
Explore how to implement Jinja2 if statements in Ansible templates, including if/elif/else logic, variable handling, and debugging with the debug module. See how to apply patterns across hosts using inventory_hostname.
Explore how to use the jinja2 for statement in an ansible playbook to display hostnames across managed nodes, leveraging host vars, ansible_hostname, and gather_facts.
Learn to deploy Jinja2 templates with Ansible by creating host_name.j2 and a host_name.yaml playbook to generate hostnames on prod one nodes, using Ansible facts and inventory groups.
Create a jinja2 template to report partition sizes across nodes, differentiate by hostname, and deploy it with an ansible playbook using host vars and a default filter for missing partitions.
Configure remote nodes as local dns by deploying a Jinja2 hosts template that writes ip, fqdn, and hostname while keeping default localhost entries, using an Ansible playbook and template module.
Create a jinja2 template to gather remote system details—hostname, volume group size, logical volume size, and OS family—using Ansible facts, and deploy it to all nodes with a playbook.
Learn how to protect sensitive data with Ansible vault, encrypting files and variables, and manage vault passwords using commands like create, encrypt, decrypt, and view.
Create an encrypted file with ansible vault using the create subcommand, set the vault password as root password, and view or decrypt secret.yml on control node as the ansible user.
Learn to edit the encrypted file secret.html without decrypting it using ansible-vault edit on the Ansible control node, then verify updates by viewing the file with the vault password.
Rotate the Ansible vault password on the control node using the ansible-vault rekey command, entering the old password and setting the new password for the secret file.
Explore Ansible roles, learn to create and use roles in playbooks, and download roles from Ansible Galaxy to streamline tasks on managed nodes.
Explore Ansible roles, a standard directory structure for organizing tasks, handlers, vars, templates, and metadata. Learn how roles enable reuse across multiple playbooks and streamline web server provisioning.
Create an ansible role named web server to install and start httpd, enable service, configure firewall for http and https, deploy jinja2 template to /var/www/html showing hostname, IPv4 address.
Download Ansible roles from Ansible Galaxy using the ansible-galaxy install command, authenticate with GitHub, and save roles to a specified roles path.
Explore Linux system roles in Ansible, focusing on the timesync role to configure time servers across nodes. Install roles, locate the path, and define time_sync__servers in playbooks for CentOS eight.
Configure managed nodes as http clients for the Ansible control node time source at 192.168.99.1 using the timesync system role, set Brussels time zone, and verify with ad hoc commands.
Download the pdf file describing all tasks from this section to practice different tasks without watching the content.
Important Note: Two New Sections have been added by RedHat(IBM) about Ansible content collections and content Navigator and these topics have not been updated yet. I will inform you when course is updated. Please keep this in mind while buying this course. Thanks
All objectives of this exam are covered in required details as per Objectives published on RedHat official website.
This course includes lot of practical tasks to help you to have similar experience you might expect on exam. Also you will find explanations about each objective of exam in theory part.
Tasks included are of similar level as you can expect on exam but they are not real exam questions.
After completing this course successfully and lot of practice of practical tasks ,You will be able to pass this exam but make sure you do lot of practice before you take the exam. Without practice It is not possible to pass this exam!
Also all practical tasks covered during this course with all steps to execute tasks are uploaded in PDF document as resource at the end of each section. This will help you to practice different exam objectives after you complete this course.
For your queries and doubts you can always reach out to me through Q&A section or personal messages. All your queries will be replied within minimum possible time.
I would expect honest reviews about this course depending on your experience. This is really helpful for me as Instructor and also for students who are looking for suitable course for this cert.
Both Positive and Negative reviews will be appreciated!
Good Luck!