EX294 Verified 2026 Edition

Red Hat Certified Engineer (RHCE) exam Practice Test

Red Hat Certified Engineer (RHCE), successor to EX300, builds on RHCSA and certifies administrators who automate Red Hat Enterprise Linux with Ansible; some US government roles accept it under the DoD 8570 directive. Questions in this practice test cover RHCSA skills, writing Ansible playbooks and roles, and managing automation content. It leads toward Red Hat's Ansible Automation Platform certifications.

156 Total Questions
1 Included Version Get all versions for the price of one
English Edition
All-In-One Bundle
$79.99
$75.99
  • Interactive Simulator & AI
  • Detailed Explanations
  • Study, Timed & Flashcard Mode
  • Lifetime Access & Updates

Instant lifetime access • Secure checkout

Why Study with PlanetCert?

The Latest Questions

Practice questions and exam topics aligned with the current exam objectives.

Detailed Explanations

Go beyond the answer. Master the material with comprehensive learning and professional explanations for every concept.

AI

AI-Powered Insights

Personalized preparation guidance that adapts to your performance and identifies weak spots automatically.

Exam Information

Official specifications published by Red Hat

Exam Format

240 min
210 out of 300 (70%)
Professional

Registration

$500 USD
Pearson VUE or online proctoring

Validity

3 years
Pass any Expert-level Red Hat exam; Pass any two Professional or Specialist concentration exams; Earn a higher-level Red Hat certification

EX294 Exam Topics and Domains

EX294 is organized into 10 weighted domains. Expect to work with ansible-navigator, ansible-galaxy, ansible.posix, community.general, and more.

1

RHCSA Foundation Skills

10%

Understand and use essential tools

Command-line file managementInput/output redirection and pipes
  • Understand and use essential tools
  • Operate running systems
  • Configure local storage
  • Create and configure file systems
  • Deploy, configure, and maintain systems
  • Manage users and groups
  • Manage security
  • Be able to analyze simple shell scripts
  • Basic Linux command-line operations
  • Shell script analysis
  • File system navigation
  • Forgetting that RHCSA skills are prerequisite and tested through automation tasks
  • Not knowing underlying Linux concepts when debugging Ansible failures

Operate running systems

Boot, reboot, and shut down systems
  • Boot, reboot, and shut down a system normally
  • Identify CPU/memory intensive processes and adjust process priority
  • System process management
  • Service state verification

Not ensuring service persistence across reboots

Configure local storage and file systems

LVM and partition management
  • List, create, delete, and manage physical volumes, volume groups, and logical volumes
  • Create and configure file systems
  • LVM management
  • File system creation
  • Mount point configuration
  • Incorrect fstab entries causing boot failures
  • Not verifying filesystem types

Manage security

SELinux and firewall management
  • Configure firewall settings using firewall-cmd/firewalld
  • Configure key-based authentication for SSH
  • Set enforcing and permissive modes for SELinux
  • SELinux context management
  • Firewall rule configuration
  • SSH key management
  • Not restoring SELinux contexts after file operations
  • Forgetting to make firewall rules permanent
2

Visual Studio Code (VS Code) and Git Integration

8%

Clone a GIT repository

Git clone operations in VS Code

Clone a GIT repository from within VS Code

  • Git clone via VS Code
  • Repository navigation
  • Not configuring Git credentials properly
  • Cloning to the wrong directory

Create playbooks and push them to a GIT repository

Git add, commit, and push workflows

Create playbooks and push them to a GIT repository from within VS Code

  • Playbook creation in VS Code
  • Git commit and push
  • Forgetting to stage files before committing
  • Not configuring git user.name and user.email

Configure ansible-navigator from VS Code

ansible-navigator configuration within VS Code

Configure ansible-navigator from within VS Code

  • ansible-navigator.yml editing
  • VS Code integrated terminal usage
  • Incorrect YAML syntax in configuration files
  • Wrong execution environment image paths

Run playbooks using an Ansible development container

Ansible development containers and execution environments

Run playbooks using an Ansible development container from within VS Code

  • Running containerized Ansible playbooks
  • Execution environment management
  • Not pulling the correct execution environment image
  • Container permission issues
  • EE image running as wrong user
3

Understand Core Components of Ansible

15%

Inventories

Static inventory files

Understand how Ansible inventories define hosts and groups

  • Static inventory file creation
  • Group hierarchy design
  • Incorrect INI or YAML syntax
  • Misunderstanding variable precedence from inventory sources

Modules

Understanding and using Ansible modules

Understand how Ansible modules provide task functionality

  • Module selection and usage
  • Module documentation lookup
  • Using shell/command modules when a dedicated module exists
  • Not checking module parameters in documentation

Variables

Variable types and precedence

Understand how variables work in Ansible and their precedence

  • Variable definition and usage
  • Variable precedence management
  • Misunderstanding variable precedence order
  • Overwriting variables unintentionally

Facts

Ansible facts and fact gathering

Understand how Ansible facts provide system information

  • Fact gathering and usage
  • Custom fact deployment
  • Referencing facts with incorrect variable names
  • Not gathering facts when needed

Loops

Looping constructs in Ansible

Understand and use loops in Ansible playbooks

  • Loop implementation
  • Complex iteration patterns
  • Confusing loop and with_items syntax
  • Not using item variable correctly in loop body

Conditional tasks

When clauses and conditional execution

Use conditionals to control play execution

  • Conditional task implementation
  • Complex conditional logic
  • Using Jinja2 delimiters inside when clauses
  • Incorrect boolean comparisons

Plays and Playbooks

Play and playbook structure

Understand the structure and execution of plays and playbooks

  • Playbook authoring
  • Multi-play design
  • Incorrect YAML indentation
  • Confusing play-level and task-level directives

Handling task failure

Error handling mechanisms

Configure error handling in Ansible playbooks

  • Error handling implementation
  • Block/rescue/always patterns
  • Overusing ignore_errors instead of proper error handling
  • Not understanding block/rescue/always execution flow

Configuration files

Ansible configuration file precedence

Understand Ansible configuration file structure and precedence

ansible.cfg creation and modification

  • Not knowing the configuration file search order
  • Placing ansible.cfg in wrong location

Roles

Ansible role structure and usage

Understand Ansible role structure, creation, and usage

  • Role creation
  • Role directory structure management
  • Confusing defaults and vars directories
  • Not defining role dependencies correctly

Use provided documentation to look up specific information about Ansible modules and commands

ansible-doc and ansible-navigator doc

Use provided documentation to look up specific information about Ansible modules and commands

  • Documentation lookup
  • Module parameter discovery
  • Not practicing with ansible-doc before the exam
  • Not knowing how to find examples in documentation
4

Install and Configure Ansible

10%

Install required packages

Ansible Automation Platform package installation

Install required packages for Ansible automation

  • Package installation
  • Repository configuration
  • Installing community Ansible instead of AAP packages
  • Missing Python dependencies

Create and modify ansible.cfg

Ansible configuration file management

Create and modify ansible.cfg configuration files

  • ansible.cfg creation
  • Configuration tuning
  • Incorrect section names in ansible.cfg
  • Not setting become_method or become_user correctly

Modify ansible-navigator.yml

ansible-navigator configuration

Modify ansible-navigator.yml configuration settings

  • ansible-navigator.yml editing
  • Execution environment configuration
  • Incorrect YAML indentation in navigator config
  • Wrong execution environment image name or pull policy

Create a static host inventory file

Static inventory creation and group management
  • Create a static host inventory file
  • Create and use static inventories to define groups of hosts
  • Inventory file authoring
  • Group hierarchy design
  • Syntax errors in INI vs YAML inventory formats
  • Not defining children groups correctly
5

Configure Ansible Managed Nodes

7%

Create and distribute SSH keys to managed nodes

SSH key generation and distribution

Create and distribute SSH keys to managed nodes

  • SSH key generation
  • Key distribution to multiple nodes
  • Incorrect file permissions on .ssh directory or authorized_keys
  • Not testing SSH connectivity before running playbooks

Configure privilege escalation on managed nodes

Sudo and become configuration

Configure privilege escalation on managed nodes

  • Sudo configuration
  • Privilege escalation setup
  • Not configuring NOPASSWD for the Ansible user
  • Incorrect sudoers syntax causing lockout

Deploy files to managed nodes

File deployment with Ansible

Deploy files to managed nodes

  • File deployment
  • Permission management
  • Not setting correct file permissions
  • Forgetting to set ownership
6

Run Playbooks with ansible-navigator

10%

Know how to run playbooks with ansible-navigator

ansible-navigator run command

Know how to run playbooks with ansible-navigator

  • Playbook execution
  • Output interpretation
  • Not specifying the correct mode (stdout vs interactive)
  • Forgetting to specify execution environment

Use ansible-navigator to find new modules in available Ansible Content Collections and use them

Module discovery with ansible-navigator

Use ansible-navigator to find new modules in available Ansible Content Collections and use them

  • Collection browsing
  • Module documentation access
  • Not using FQCN when calling collection modules
  • Not knowing how to browse collections in ansible-navigator

Use ansible-navigator to create inventories and configure the Ansible environment

Inventory and environment management via ansible-navigator

Use ansible-navigator to create inventories and configure the Ansible environment

  • Inventory inspection
  • Environment verification

Not verifying inventory contents before running playbooks

7

Create Ansible Plays and Playbooks

15%

Know how to work with commonly used Ansible modules

Essential Ansible modules

Know how to work with commonly used Ansible modules

Module selection and implementation

  • Using command/shell when a specific module exists
  • Not leveraging module idempotency

Use variables to retrieve the results of running a command

Registered variables and command output

Use variables to retrieve the results of running a command

  • Variable registration
  • Output parsing
  • Not accessing the correct attribute of registered variable (e.g., .stdout vs .stdout_lines)
  • Forgetting to register output before referencing it

Use conditionals to control play execution

Conditional play and task execution

Use conditionals to control play execution

  • Conditional implementation
  • Multi-platform playbooks
  • Using Jinja2 {{ }} inside when clauses
  • Incorrect operator usage in conditions

Configure error handling

Playbook error handling strategies

Configure error handling in playbooks

Error handling pattern implementation

  • Excessive use of ignore_errors
  • Not understanding block/rescue execution order

Create playbooks to configure systems to a specified state

Declarative system configuration with playbooks

Create playbooks to configure systems to a specified state

  • End-to-end playbook authoring
  • System state verification
  • Not testing playbooks for idempotency
  • Missing handlers for service restarts
  • Not ensuring persistence across reboots
8

Use Roles and Ansible Content Collections

10%

Create and work with roles

Ansible role creation and structure

Create and work with roles

  • Role creation with ansible-galaxy init
  • Role directory management
  • Incorrect directory structure
  • Mixing up defaults and vars precedence

Install roles and use them in playbooks

Role installation and playbook integration

Install roles and use them in playbooks

  • Role installation
  • Playbook role integration
  • Not specifying correct role source in requirements.yml
  • Role path configuration issues

Install Content Collections and use them in playbooks

Ansible Content Collection management

Install Content Collections and use them in playbooks

  • Collection installation
  • FQCN usage
  • Not using FQCN when referencing collection modules
  • Collection path misconfiguration

Obtain a set of related roles, supplementary modules, and other content from content collections

Using content collections comprehensively

Obtain a set of related roles, supplementary modules, and other content from content collections, and use them in a playbook

  • Collection content discovery
  • RHEL System Roles usage
  • Not knowing which collections are available in the execution environment
  • Not checking collection compatibility with execution environment version
9

Automate Standard RHCSA Tasks Using Ansible Modules

10%

Software packages and repositories

Package and repository automation

Automate software package and repository management

  • Package automation
  • Repository configuration
  • Not specifying state parameter correctly
  • Missing GPG key configuration for repositories

Services

Service management automation

Automate service management

  • Service state management
  • Boot persistence configuration
  • Not enabling services (only starting them)
  • Forgetting daemon_reload when adding new unit files

Firewall rules

Firewall automation with Ansible

Automate firewall rule management

Firewall rule automation

  • Not setting permanent: true for persistent rules
  • Forgetting immediate: true to apply rules without reload

File systems

File system creation and mounting automation

Automate file system creation and mounting

  • File system automation
  • Mount management
  • Not creating the mount point directory before mounting
  • Incorrect fstab entries causing boot failures

Storage devices

LVM and partition automation

Automate storage device management

  • LVM automation
  • Partition management
  • Not specifying correct size units for lvol
  • Forgetting to create physical volumes before volume groups

File content

File content management automation

Automate file content management

  • File content manipulation
  • Permission management
  • Incorrect regex patterns in lineinfile
  • Not handling SELinux contexts for deployed files

Archiving

Archive creation and extraction automation

Automate archiving operations

Archive creation and extraction

  • Not setting remote_src correctly
  • Incorrect archive format specification

Task scheduling

Cron job and scheduled task automation

Automate task scheduling

Cron job management

  • Not providing a name for cron entries (making them non-idempotent)
  • Incorrect cron time specification

Security

SELinux and security automation

Automate security configuration

  • SELinux automation
  • Security hardening
  • Forgetting to run restorecon after setting contexts
  • Not making SELinux boolean changes persistent

Users and groups

User and group management automation

Automate user and group management

  • User lifecycle management
  • Group management
  • SSH key deployment
  • Not hashing passwords before setting them
  • Incorrect group membership specification
10

Manage Content

5%

Create and use templates to create customized configuration files

Jinja2 templating for configuration management

Create and use templates to create customized configuration files

  • Jinja2 template authoring
  • Template deployment
  • Incorrect Jinja2 syntax
  • Not understanding template variable scope
  • Missing newline at end of template

Use Ansible Vault in playbooks to protect sensitive data

Ansible Vault for secrets management

Use Ansible Vault in playbooks to protect sensitive data

  • Vault encryption and decryption
  • Vault-integrated playbook execution
  • Forgetting to specify vault password when running playbooks
  • Encrypting entire files when only specific variables need protection
  • Losing vault password

How do I earn this certification?

Passing EX294 earns the Red Hat Certified Engineer (RHCE) certification. It sits in the Red Hat Enterprise Linux / Ansible Automation track.

Alternative Paths

Practice with Precision

The PlanetCert Simulator mirrors the real exam environment with authentic questions and timed pressure.

Launch Simulator

How to study for this exam?

The most effective way to prepare for EX294 is by using the PlanetCert Simulator to practice questions and review detailed explanations.

What's changed on this exam?

Current Status
  • ACTIVE
  • Last content update: 2025-12-22
Updates
  • ansible-navigator Primary execution tool for EX294V9K. Replaces ansible-playbook as the expected tool for running playbooks on the exam.
  • Execution Environments Container-based execution environments are the standard runtime for ansible-navigator. Candidates must understand EE configuration and usage.
  • RHEL System Roles The rhel_system_roles collection is available during the exam and may be tested. Candidates should know how to use roles from this collection.
  • Visual Studio Code VS Code integration is a new objective in the RHEL 9 version. Candidates must know how to use VS Code for Git operations and playbook management.

Who should take this exam?

This exam is typically taken by Experienced Red Hat Enterprise Linux system administrators seeking validation of their skills and IT professionals who require certification per organizational mandates (e.g., DoD 8570 directive).

Exam Code: EX200; Exam Name: Red Hat Certified System Administrator (RHCSA) exam; Notes: RHCSA certification is required to be awarded the RHCE credential. You can take EX294 before earning RHCSA, but you will not receive the RHCE designation until RHCSA is also earned.
  • Red Hat System Administration I (RH124)
  • Red Hat System Administration II (RH134)
  • or RHCSA Rapid Track Course (RH199)
  • Red Hat Enterprise Linux Automation with Ansible (RH294/AU294)
  • Comparable work experience as a system administrator on Red Hat Enterprise Linux

Your Complete Exam Solution

Best-In-Class Practice Tests

Exam-style questions that match the format and difficulty of the real exam, updated regularly. Original material — not recycled dumps.

Topical Breakdown

Study by domain, pinpoint weak areas, and focus your time where it matters most. Every topic mapped to the official syllabus.

Flashcard Mode

Rapid-fire review to reinforce key concepts. Flip through questions and answers at your own pace before exam day.

See How You Compare Against Yourself

✕
✕
✕

Other Exam Prep

  • Outdated question dumpsRecycled, often inaccurate material
  • No explanationsMemorize answers without understanding
  • Static PDF filesNo interactive practice or feedback
  • Subscription feesRecurring charges, access expires
✓
✓
✓

PlanetCert

  • Verified, current questionsUpdated weekly to match live exam objectives
  • Expert-written rationalesUnderstand every concept, not just the answer
  • Session tracking & exam progressTrack every attempt, see your growth over time
  • Lifetime access, one pricePay once — updates included forever
CERTIFIEDEX294

Study Naturally, Study Responsibly

Practice with exam-style questions and detailed explanations until you're ready.

Try Free Demo
Secure Checkout Lifetime Access