RHCE EX294 Exam Objectives Explained with Ansible Study Plan

RHCE EX294 objectives explained as a practical Ansible study plan, with RHCSA task mapping, ansible-navigator focus, Rocky Linux lab guidance, and GoLinuxCloud course links.

Published

Updated

Read time 10 min read

Reviewed byDeepak Prasad

RHCE EX294 exam objectives and Ansible study plan

The RHCE EX294 exam is a hands-on Ansible test. Red Hat publishes the official objective list on its training site, but that list is not a day-by-day study plan. This page turns those objectives into a learning path for the GoLinuxCloud Ansible course so you know what to practice on a Rocky Linux 10 lab and in what order.

Tested on: Rocky Linux 10.2 (Red Quartz); kernel 6.12.0-211.16.1.el10_2.0.1.x86_64.

Objectives below were reviewed against the official EX294 exam page in July 2026.


What EX294 tests (in plain terms)

On exam day you receive live systems and a brief. You write Ansible content, run it, and prove managed hosts reach the defined end state. Red Hat grades by applying your playbooks to fresh systems—not by multiple-choice answers.

The exam is listed as Red Hat Certified Advanced System Administrator in Ansible. Passing it counts toward RHCE in Ansible and RHCA in Ansible on Red Hat's certification path. Many people still search for RHCE EX294; that name refers to the same automation exam.

IMPORTANT
Treat a practice run as failed if your configuration only works until someone reboots. Services, mounts, firewall rules, and user accounts should survive a reboot without manual fixes.

Prerequisites before you book

Red Hat expects you to arrive with Linux administration fundamentals and Ansible exposure:

Preparation What it means for you
RH124 + RH134 (or RH199, or similar work experience) You can manage users, storage, networking, services, and SELinux on RHEL without looking up every command.
AU294 (or comparable Ansible experience) You have written playbooks, used inventory, and run ansible-navigator or ansible-playbook before.
Review EX200 objectives EX294 tasks often automate skills you would otherwise do manually as an RHCSA.
Review EX294 objectives Use the checklist sections below as your syllabus.

Official training (AU294) helps but is not required. What matters is repeated practice on a multi-node lab.


Exam format and constraints

Knowing the rules early saves surprises on exam day:

Topic Detail
Style Practical tasks on live systems
Systems Multiple hosts (control node, managed nodes, fresh targets)
Evaluation Your playbooks are applied to newly installed systems; services and files must match the brief
Internet Not provided—you cannot open blogs or search engines
Documentation Product documentation available on the exam environment (practice with ansible-doc and shipped docs offline)
Tools ansible-playbook, ansible-navigator, Git basics, VS Code workflows
Persistence Settings must remain after reboot

Official objectives grouped for study

The following tables follow Red Hat's published EX294 study points. Wording is condensed; always confirm against the official page before you book.

A. RHCSA skills (automated with Ansible)

EX294 assumes you can perform standard RHCSA administration—often by driving modules instead of typing one-off commands:

Area Examples of what to automate
Essential tools Files, permissions, archives, basic scripting literacy
Running systems Boot targets, services, journals, time sync
Local storage Partitions, LVM, swaps, grow volumes
File systems Create, mount persistently, /etc/fstab
Deploy and maintain Packages, repos, kernel args, basic networking
Users and groups Accounts, passwords, SSH keys, sudo
Security SELinux, firewalld, basic hardening
Shell scripts Read simple scripts well enough to automate around them

You do not get a separate RHCSA exam inside EX294, but tasks assume this baseline.

B. Ansible core concepts

Objective Study focus
Inventories Static INI/YAML, groups, children, host patterns
Modules Built-in modules, FQCN, return values
Variables Play vars, inventory vars, facts, register
Facts setup, fact filters, when to disable facts
Loops loop, until, retries
Conditionals when, tests, safe expressions
Plays and playbooks Structure, multiple plays, idempotency
Task failure block / rescue / always, failed_when, changed_when
Configuration ansible.cfg, project layout
Roles Structure, defaults, handlers, dependencies
Documentation ansible-doc, collection docs, offline lookup

Course pointers: inventory, variables, facts, operators, conditionals, loops, handlers, blocks, roles.

C. Configure Ansible and managed nodes

Objective Practice on your lab
Create and modify ansible.cfg Inventory path, remote user, become, roles path, collections path
Modify ansible-navigator.yml Execution environment image, stdout mode, artifact dir
Static inventory Groups, host vars, group vars
Managed node setup SSH keys, ansible user, privilege escalation
Deploy files ansible.builtin.copy, ansible.builtin.template, permissions

Course pointers: install Ansible, ansible.cfg, passwordless SSH patterns.

D. Run playbooks and use ansible-navigator

Objective What to rehearse
ansible-playbook Syntax-check, check mode, diff, limits, tags
ansible-navigator Run playbooks, browse collections, inspect environment
Discover modules in collections Find FQCN, read docs, run tasks with collection modules
Build inventory in navigator Match exam-style project workflow

E. Git and VS Code (exam workflow)

Objective Minimum practice
Clone a Git repository git clone, branch awareness
Add files and commit Stage playbooks, roles, inventory
VS Code Edit YAML, integrated terminal, push to remote
Navigator in VS Code Configure ansible-navigator.yml, run from dev container if provided

Pointer: Visual Studio Code with Ansible.

F. Playbooks: modules, state, and logic

Objective Hands-on habit
Common modules ansible.builtin.package, ansible.builtin.dnf, ansible.builtin.service, ansible.builtin.systemd_service, ansible.builtin.user, ansible.builtin.file, ansible.builtin.copy, ansible.builtin.template, ansible.posix.firewalld, community.general.sefcontext, ansible.posix.mount, ansible.builtin.cron
Register results register, debug, use output in when
Conditionals Facts, variables, operators
Error handling Blocks, rescue, custom failure
Desired state Idempotent tasks; prefer modules over shell

Pointer: playbook introduction, Jinja2 templates.

G. Roles and Ansible Content Collections

Objective Deliverable
Create roles tasks, handlers, defaults, templates, meta
Install and use roles ansible-galaxy, requirements.yml
Install collections ansible-galaxy collection install, collections/requirements.yml
Use collection content FQCN roles and modules in playbooks

Pointers: role structure, create and install Galaxy roles, collections and RHEL System Roles.

H. Automate RHCSA-style tasks with Ansible

These domains appear repeatedly in practice exams:

Domain Typical modules (FQCN)
Packages and repositories ansible.builtin.package, ansible.builtin.dnf, ansible.builtin.dnf5, ansible.builtin.yum_repository
Services ansible.builtin.service, ansible.builtin.systemd_service, handlers for restarts
Firewall ansible.posix.firewalld
File systems and storage community.general.parted, community.general.lvol, community.general.filesystem, ansible.posix.mount
File content ansible.builtin.copy, ansible.builtin.template, ansible.builtin.lineinfile, ansible.builtin.blockinfile
Archiving ansible.builtin.archive, ansible.builtin.unarchive
Scheduling ansible.builtin.cron, ansible.posix.at
Security ansible.posix.selinux, ansible.posix.seboolean, community.general.sefcontext
Users and groups ansible.builtin.user, ansible.builtin.group, vault-backed passwords

Many RHEL administration modules are not part of ansible.builtin. During practice, check the FQCN with ansible-doc and confirm whether the module comes from ansible.builtin, ansible.posix, or community.general.

Course pointers: start with what is Ansible for control-node architecture; then practice RHCSA-style domains on Rocky Linux with manage packages, users and sudo, services and cron, LVM and mounts, firewalld and SELinux, and generated hosts plus archives.

I. Templates and Ansible Vault

Objective Practice artifact
Jinja2 templates Ship config files from templates/
Vault Encrypt files and variables, multiple vault IDs, run playbooks with vault password

Pointer: Ansible Vault tutorial.


EX294 objectives checklist

Before moving to mock exams, you should be able to:

  • Build a project directory with ansible.cfg, inventory, roles, group_vars, and vault files.
  • Run the same playbook with ansible-playbook and ansible-navigator.
  • Use ansible-doc to find module options without internet access.
  • Install and reference collections with FQCNs.
  • Automate users, packages, services, firewall, SELinux, storage, cron, templates, and Vault.
  • Reboot a managed node and confirm the result still works.

Where the course covers each exam area

The Ansible tutorial has twelve chapters. The table below matches our course layout to the EX294 buckets above—not Red Hat's training module numbers.

Chapter What you practice EX294 areas
Getting Started Exam objectives overview, Ansible architecture Overview
Installation and Lab Setup Rocky 10 lab, install, ansible.cfg, navigator, project layout C, D
Inventory and Connectivity Inventory, group/host vars, ad hoc, modules, collections B, C
Variables, Facts and Data Variables, precedence, facts, register B
Files, Templates and Reports Jinja2 templates, lineinfile family, copy/fetch, hosts and archives F, H, I
Logic and Control Flow when, loops, handlers, tags, include/import, blocks B, F
Rocky Linux Administration (EX294) Packages, users, services/cron, LVM, firewalld/SELinux, file contexts A, H
Roles and Collections Role layout, Galaxy, RHEL system roles G
Ansible Vault Encrypt strings and files, vault in group_vars I
Troubleshooting Inventory/SSH, debug playbooks, collection and variable errors All groups
Real-World Automation AWS provisioning (optional; not on EX294)

Starting from scratch? Skim Getting Started, then work through Installation and Lab Setup—build the EX294 Rocky Linux lab with one control node and one managed node on a host-only network.


Study paths

Full course path (8–12 weeks, ~8–12 hours per week)

Best if Ansible is new or RHCSA skills are rusty.

Phase Weeks Goals
Linux baseline refresh 1–2 Users, sudo, LVM, firewalld, SELinux on Rocky 10 without Ansible
Lab and tooling 2–3 SSH keys, inventory, ansible.cfg, navigator, project tree
Playbook core 4–5 Variables, facts, templates, handlers, idempotency
Control flow 6–7 when, loops, tags, blocks, vault
Roles and collections 8–9 Galaxy, requirements files, RHEL system roles
Admin automation 10 Package/repo/user/storage/firewall playbooks
Exam rehearsal 11–12 Timed scenarios, no browser, fix breaks under pressure

Exam-cram path (3–4 weeks, strong RHCSA)

Best if you administer RHEL daily and only need Ansible exam mechanics.

Week Focus
1 Lab bootstrap, inventory, ad hoc, ansible-doc, first playbooks
2 Roles, collections, vault, templates, navigator-only drills
3 Full RHCSA-style automation sets (storage + firewall + users in one playbook)
4 Timed mock exams, weak-module review, reboot persistence checks

Skip deep dives on topics you already automate in shell; spend time on navigator, collections FQCN, and vault plus roles in one repo.


Weekly checklist (first four weeks)

Week Read Do on the lab
1 A + C Build control and managed nodes; SSH; static inventory; ping
2 B + D Ad hoc modules; ansible-doc; run a playbook with navigator
3 F Play with register, when, handlers; verify second run shows ok not changed
4 G + I Author a role; encrypt a var with vault; template a config file

For learning the basics, one control node and one managed node is enough. For EX294-style practice, use one control node and at least two managed nodes. Add a third managed node when you start timed practice so you can test inventory groups, host patterns, --limit, and rolling changes.

Role Suggested host Notes
Control node rocky1 ansible-core, ansible-navigator, Git, VS Code optional
Managed node rocky2 Host-only IP (example 192.168.56.109)
Second managed (recommended) rocky3 Needed for groups, --limit, host patterns, and rolling changes
Third managed (timed practice) Extra VM when you mock the exam Simulates multi-host task lists

If your laptop has limited RAM, create the second managed node as a small minimal VM or linked clone rather than using another IP on the control node.

Document hostnames in /etc/hosts on every node. Fix default localhost.localdomain names before you write inventory—exam tasks assume resolvable hostnames.


High-yield skills easy to underestimate

Skill Why it matters on EX294
ansible-doc speed Replaces web search when the exam is offline
Idempotency Second run should not keep changing the system
Handlers Restart only when config actually changes
Vault in group_vars Secrets layout without plaintext in Git
SELinux contexts community.general.sefcontext plus restore when tasks fail on enforcing hosts
Persistence Mounts, firewall, services enabled at boot
Navigator collections UI Finding FQCN without guessing module names

Exam-day habits

Work from a single project directory with ansible.cfg at the root. Read the entire task list before you write—many tasks share variables, roles, or vault files.

Use ansible-playbook --syntax-check before long runs. When something fails, read the failed task closely; fix YAML indentation and undefined variables before you rewrite working tasks.

Leave time to reboot a managed host and re-run verification commands. If a service or mount disappears after reboot, your solution is not finished.


What this page does not cover

This page explains the objectives and study order. It does not replace hands-on labs. Use the linked course chapters for commands, playbooks, roles, Vault, and Rocky Linux administration walkthroughs.


References


Summary

EX294 rewards Ansible playbooks that keep RHEL systems in a defined state: inventory and navigator setup, solid playbook structure, roles and collections, vault, and RHCSA-style automation with modules—not ad hoc shell. Use the objective tables above as your checklist, map each group to a course chapter, and practice on a multi-node Rocky Linux 10 lab until playbooks survive a reboot and a second idempotent run.


Frequently Asked Questions

1. Do I need an active RHCSA before I take EX294?

Red Hat lists RH124/RH134 or equivalent admin experience as preparation and expects RHCSA-level skills on the exam. For the RHCE credential track, you normally need a current RHCSA before EX294 counts toward RHCE—confirm the latest rules on the official EX294 page before you book.

2. Can I prepare for EX294 on Rocky Linux instead of RHEL?

Yes. Rocky Linux and AlmaLinux match RHEL closely enough for Ansible practice. Use the same ansible-core, dnf, firewalld, and SELinux workflows you would on RHEL, and read product documentation shipped with your Ansible version during practice so you know where to look on exam day.

3. Is internet access allowed during EX294?

No. Red Hat does not provide internet access in the exam room. You may use documentation that ships with the product on the exam systems. Practice finding module options with ansible-doc and offline docs instead of relying on search engines.

4. Should I use ansible-playbook or ansible-navigator on the exam?

Both. Red Hat lists ansible-navigator and ansible-playbook as required tools. Practice running playbooks both ways, browsing collections in navigator, and editing ansible-navigator.yml alongside ansible.cfg.

5. How many virtual machines do I need to practice?

One control and one managed node is enough to learn basics. For EX294-style practice, use one control and at least two managed nodes. Add a third managed node before timed mock exams so you can practice groups, --limit, and rolling changes.
Deepak Prasad

R&D Engineer

Founder of GoLinuxCloud with more than 15 years of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive …