The Red Hat Certified Engineer (RHCE) is an advanced certification that builds on RHCSA skills by focusing on system automation using Ansible. The EX294 exam is 100% performance-based, testing your ability to automate system administration tasks across multiple managed nodes. This guide will help you master Ansible automation and pass on your first attempt.
Understanding the RHCE Exam
Before beginning preparation, understand what makes the RHCE unique:
- Exam Code: EX294
- Duration: 4 hours
- Format: 100% performance-based (no multiple-choice)
- Passing Score: 210 out of 300 (70%)
- Prerequisite: Valid RHCSA certification
- Platform: RHEL 9 with Ansible Automation Platform
- Certification Validity: 3 years
Critical: This is a Hands-On Exam
You must write Ansible playbooks from scratch without internet access or personal notes. Every task requires working code that runs successfully on the target systems. There's no partial credit for syntax—your automation must work.
RHCE Exam Objectives
Master these key areas for exam success:
1. Understand and Use Ansible Core Components
- Install and configure Ansible (ansible.cfg)
- Configure inventory files (static and dynamic)
- Run ad-hoc commands for quick tasks
- Configure privilege escalation with become
- Manage parallelism with forks
2. Create and Manage Ansible Playbooks
- Create playbooks with multiple plays and tasks
- Use variables, facts, and magic variables
- Implement conditionals (when) and loops
- Configure handlers and notify statements
- Handle errors with blocks, rescue, and always
- Use tags for selective task execution
3. Use Ansible Modules for System Administration
- File modules: file, copy, template, lineinfile, blockinfile
- User modules: user, group, authorized_key
- Package modules: dnf, yum, package
- Service modules: service, systemd
- Storage modules: lvg, lvol, filesystem, mount
- Security modules: firewalld, seboolean, selinux
4. Create and Work with Roles
- Create roles using the standard directory structure
- Use ansible-galaxy to create and manage roles
- Download and use roles from Ansible Galaxy
- Configure role variables with defaults and vars
- Use roles in playbooks with roles keyword
5. Use Ansible Vault for Security
- Create encrypted files with ansible-vault create
- Edit encrypted files with ansible-vault edit
- Use vault in playbooks with --ask-vault-pass
- Configure vault password files
6. Use Templates with Jinja2
- Create Jinja2 templates with variables
- Use filters (default, join, upper, lower)
- Implement conditionals and loops in templates
- Deploy templates with the template module
12-Week Study Plan
This study plan assumes you have RHCSA skills and 10-15 hours per week for practice:
Weeks 1-3: Ansible Fundamentals
- Set up multi-node lab environment (1 control + 2-3 managed nodes)
- Install and configure Ansible (ansible.cfg)
- Master inventory file creation (INI and YAML formats)
- Practice ad-hoc commands extensively
- Understand connection settings and privilege escalation
- Write your first simple playbooks
Weeks 4-6: Playbook Mastery
- Master variables (play vars, host vars, group vars, extra vars)
- Practice conditionals with when statements
- Implement loops with loop, with_items, with_file
- Configure handlers for service restarts
- Use blocks for error handling
- Practice with register and debug modules
Weeks 7-9: Roles and Advanced Features
- Create roles using standard directory structure
- Use ansible-galaxy for role management
- Master Jinja2 templates with variables and filters
- Configure Ansible Vault for secrets
- Practice complex multi-role playbooks
- Work with collections from Ansible Galaxy
Weeks 10-12: Exam Preparation
- Complete full timed practice exams (4 hours)
- Practice writing playbooks without reference materials
- Focus on common exam tasks: users, services, storage, firewall
- Review ansible-doc for module syntax
- Ensure you can troubleshoot failing playbooks quickly
- Schedule exam when consistently completing practice labs
Essential Modules to Master
Know these modules inside and out—you'll use them constantly on the exam:
# File Operations
ansible.builtin.file - Manage files/directories
ansible.builtin.copy - Copy files from control node
ansible.builtin.template - Deploy Jinja2 templates
ansible.builtin.lineinfile - Manage single lines
ansible.builtin.blockinfile - Manage blocks of text
# Users and Groups
ansible.builtin.user - Manage user accounts
ansible.builtin.group - Manage groups
ansible.posix.authorized_key - Manage SSH keys
# Packages and Services
ansible.builtin.dnf - RHEL 8/9 package management
ansible.builtin.service - Manage services
ansible.builtin.systemd - Systemd-specific operations
# Security
ansible.posix.firewalld - Manage firewall rules
ansible.posix.seboolean - Manage SELinux booleans
ansible.builtin.selinux - Manage SELinux mode
# Storage
community.general.lvg - Manage volume groups
community.general.lvol - Manage logical volumes
community.general.filesystem - Create file systems
ansible.posix.mount - Mount file systems
Pro Tip: Use ansible-doc During the Exam
You can use ansible-doc module_name during the exam to view module documentation. Practice using it to quickly find required parameters and see examples. This is your primary reference material.
Common Mistakes to Avoid
- Not testing playbooks: Always run your playbooks and verify they work
- YAML indentation errors: Ansible is strict about indentation—use 2 spaces
- Forgetting become: Most tasks require privilege escalation
- Not using handlers correctly: Remember to notify handlers
- Ignoring idempotency: Playbooks should be safe to run multiple times
- Not managing time: 4 hours goes fast—prioritize tasks
Time Management is Critical
With 4 hours for multiple complex tasks, you can't afford to spend too long on any single problem. If a task is taking too long, move on and return to it later. Partial completion across many tasks is better than perfect completion of few tasks.
Lab Environment Setup
Set up your practice environment with these specifications:
- Control Node: RHEL 9 with ansible-core installed
- Managed Nodes: 2-3 RHEL 9 virtual machines
- Networking: All nodes on same network with SSH access
- Storage: Add extra disks to practice LVM tasks
- Memory: At least 2GB per VM
Essential Study Resources
- Red Hat Ansible Automation Platform Documentation: Official reference
- RH294 Course Materials: Official Red Hat training
- Ansible Documentation: docs.ansible.com
- Sander van Vugt RHCE Course: Comprehensive video training
- PrepForCerts Practice Tests: Smart Practice exam simulation
Frequently Asked Questions
How long should I prepare for the RHCE exam?
Most candidates with RHCSA experience need 2-3 months of focused Ansible practice. Plan for at least 80-100 hours of hands-on lab time. You should be able to write playbooks from scratch without reference materials before attempting the exam.
What is the RHCE exam format?
The RHCE exam (EX294) is a 4-hour performance-based exam. You must complete hands-on Ansible automation tasks on multiple RHEL systems. There are no multiple-choice questions—everything is practical. You'll write playbooks, create roles, and automate system administration tasks.
Is RHCSA required before RHCE?
Yes, RHCSA is a prerequisite for earning the RHCE certification. You can take the RHCE exam without RHCSA, but you must pass RHCSA before the RHCE certification is awarded. Additionally, many RHCE tasks require RHCSA-level skills.
What version of Ansible is on the exam?
The RHCE exam uses Ansible Automation Platform on RHEL 9 with ansible-core 2.14+. Practice with the collections architecture and understand how to use ansible-galaxy for both roles and collections.
Can I use reference materials during the exam?
You can use ansible-doc for module documentation and man pages on the exam systems. You cannot use personal notes, internet access, or external resources. Practice using ansible-doc extensively during your preparation.