Courseiva
Back to Red Hat Certified Engineer EX294 questions

Scenario-based practice

Hard Difficulty Questions

Practise Red Hat Certified Engineer EX294 practice questions — original exam-style scenarios covering every exam domain, with detailed explanations, wrong-answer analysis, and common exam traps.

20
scenario questions
EX294
exam code
Red Hat
vendor

Scenario guide

How to approach hard difficulty questions

These are the questions most candidates get wrong. They require connecting multiple concepts, reading tricky output, or knowing edge-case behaviour that isn't on most study cards. Practising them trains you to operate under uncertainty — a necessary skill on the real exam.

Quick answer

Hard Difficulty Questions questions test whether you can apply the concept in context, not just recognise a definition.

How the topic appears in realistic exam-style scenarios.

Which detail in the question changes the correct answer.

How to eliminate plausible but wrong options.

How to connect the question back to the wider exam objective.

Related practice questions

Related EX294 topic practice pages

Scenario questions usually connect to one or more exam topics. Use these links to review the underlying concepts behind the scenario.

Practice set

Practice scenarios

Question 1hardmultiple choice
Full question →

You are building an execution environment for a large enterprise that requires several collections from both Red Hat Automation Hub and an internal GitLab repository. Your execution-environment.yml file includes both sources. However, the build process consistently fails during the 'adding collections' step with an error indicating that a specific collection from the internal Git repository cannot be found. You have confirmed that the Git repository URL and branch are correct, and that the repository is accessible from the build host. The collection's galaxy.yml file exists and is valid. What is the most likely reason for the failure?

Question 2hardmultiple choice
Full question →

What is the most likely cause of the failure?

Exhibit

Refer to the exhibit.
```yaml
inventory_source:
  name: Production Inventory
  organization: Default
  source: scm
  source_project: "Ansible Inventory Repo"
  source_path: "inventories/production/hosts.yml"
  credential: "GitHub Personal Access Token"
  update_on_launch: true
  update_cache_timeout: 0
```
The administrator has noticed that the inventory sync fails with authentication errors. The GitHub Personal Access Token credential is of type 'Machine' instead of 'Source Control'.
Question 3hardmulti select
Read the full Ansible explanation →

A senior engineer needs to debug an Ansible playbook that uses lookups. Which TWO plugins can be used to retrieve data from a file on the control node? (Select exactly two.)

Question 4hardmultiple choice
Read the full Ansible explanation →

After rotating the Ansible Vault password in the automation controller, several job templates that use vault credentials start failing with 'decryption failed'. The vault credential has been updated with the new password. What is the most likely cause of the failure?

Question 5hardmultiple choice
Full question →

Given the command and error above, what is the most likely cause of the failure?

Network Topology
ansible-playbook site.yml -i productionvault-id vault@promptcheckdiffRefer to the exhibit.
Question 6hardmultiple choice
Full question →

An administrator has a requirements.yml file specifying roles from multiple sources: a public Galaxy server, a private Git repository, and a local path. They want to install all roles into the roles directory of the current project. Which command will achieve this?

Question 7hardmultiple choice
Read the full Ansible explanation →

An organization uses Ansible Automation Platform to perform rolling updates on a 5-node PostgreSQL replication cluster. The playbook uses `serial: 1` and includes tasks to promote a standby, demote the primary, update PostgreSQL packages, and then re-elect the original primary. The cluster health check task verifies that replication lag is under 10 seconds before proceeding to the next node. Recently, during an update of the primary node (node1), the health check after re-election fails because replication lag is 15 seconds due to a large write load. The playbook aborts, leaving the cluster in a degraded state with node1 updated but not serving as primary. The administrator needs to ensure that the update continues while still maintaining cluster integrity. Which action should the administrator take?

Question 8hardmulti select
Read the full Ansible explanation →

Which TWO statements about Ansible role defaults are true?

Question 9hardmultiple choice
Read the full Ansible explanation →

An Ansible playbook uses 'async' and 'poll' to run a long-running task. The task returns a changed status and the playbook continues. However, the remote server reports that the task failed after the playbook finished. What is the most likely reason?

Question 10hardmultiple choice
Full question →

A company wants to implement a rolling update for a stateful application where hosts cannot be updated in parallel due to data consistency. They also need to ensure that if any host fails, the entire update is rolled back. Which strategy meets these requirements?

Question 11hardmultiple choice
Read the full Ansible explanation →

An Ansible playbook fails intermittently due to a service not starting in time. The administrator wants to configure a task to retry until the service confirms it is running. Which Ansible feature should be used?

Question 12hardmultiple choice
Read the full Ansible explanation →

You are managing a large infrastructure of 500 Linux servers. The servers are divided into groups: 'web', 'app', and 'db'. Each group has specific configuration requirements. You have developed a set of Ansible roles to manage these configurations. Recently, you noticed that when you run the playbook against all servers, the 'web' role is applied to 'app' servers due to a variable misconfiguration. The playbook uses include_role with a variable that determines which role to apply. The variable is defined in group_vars/all.yml as 'server_role: web'. However, each group should have its own role: 'web' for web servers, 'app' for app servers, 'db' for db servers. The playbook includes the role based on '{{ server_role }}'. What is the best course of action to fix this issue without modifying the playbook structure?

Question 13hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. An Ansible playbook targeting server1 fails with a permissions error when connecting. The administrator notices the SSH private key is being used. Which change will likely fix the issue?

Network Topology
# ansible-navigator inventorylist"all": {"hosts": {"server1": {"ansible_host": "10.0.0.1","ansible_user": "centos","ansible_ssh_private_key_file": "/home/centos/.ssh/id_rsa"},"vars": {"ansible_ssh_common_args": "-o StrictHostKeyChecking=no"
Question 14hardmultiple choice
Full question →

In OpenShift, a deployment must gradually shift traffic to new pods during a rolling update. Which default strategy achieves this?

Question 15hardmultiple choice
Full question →

Refer to the exhibit. The administrator observes the output and is concerned because the 'Check on async job' task shows 'finished: 0'. What does this indicate?

Exhibit

TASK [Start long running process] *************************
changed: [host1]
ASYNC POLL on host1: jid=j1234567890 started, poll=0
TASK [Check on async job] *********************************
ok: [host1] => {
    "ansible_job_id": "j1234567890",
    "finished": 0,
    "started": 1
}
Question 16hardmultiple choice
Read the full DNS explanation →

The build fails with a DNS resolution error for `registry.redhat.io`. Which troubleshooting step is most likely to resolve the issue?

Network Topology
$ ansible-builder createfile execution-environment.ymltag my-ee:latest$ ansible-builder buildRefer to the exhibit.```Step 1/5 : FROM registry.redhat.io/ansible-automation-platform/ansible-builder-rhel8:latest
Question 17hardmultiple choice
Full question →

An admin imports this inventory into AAP and assigns a machine credential that uses SSH key authentication. The job fails with 'Authentication failed'. What is the most likely cause?

Exhibit

Refer to the exhibit.

```
[webservers]
web1 ansible_host=192.168.1.10
web2 ansible_host=192.168.1.11

[webservers:vars]
ansible_user=admin
ansible_ssh_private_key_file=/home/admin/.ssh/id_rsa
```
Question 18hardmultiple choice
Full question →

You have two dictionaries: `dict1: {a: 1, b: 2}` and `dict2: {b: 3, c: 4}`. You want a new dict that combines both, with `dict2` values taking precedence for overlapping keys. Which filter chain achieves this?

Question 19hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. An administrator runs an Ansible playbook and gets an unreachable error. The administrator has set ansible.cfg as shown. Which configuration change would most likely resolve the issue?

Exhibit

[root@controller ~]# cat ansible.cfg
[defaults]
inventory = /path/to/inventory
remote_user = ansible
ask_pass = false

[privilege_escalation]
become = true
become_method = sudo
become_user = root
become_ask_pass = true

[root@controller ~]# cat playbook.yml
---
- hosts: webservers
  tasks:
    - name: Install httpd
      yum:
        name: httpd
        state: present

[root@controller ~]# ansible-playbook -i inventory.ini playbook.yml
SSH password: 
SUDO password[defaults to SSH password]: 

PLAY [webservers] ********************************************************

TASK [Gathering Facts] ***************************************************
fatal: [server1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).", "unreachable": true}
Question 20hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. A playbook fails with the error 'file not found: /var/www/app-v2.1.0.tar.gz' on the control node. What is the most likely cause?

Exhibit

---
- name: Deploy web app
  hosts: webservers
  become: yes
  vars:
    app_version: "2.1.0"
  tasks:
    - name: Install Apache
      yum:
        name: httpd
        state: latest
    - name: Deploy application
      copy:
        src: /var/www/app-v{{ app_version }}.tar.gz
        dest: /var/www/html/app.tar.gz
    - name: Extract archive
      unarchive:
        src: /var/www/html/app.tar.gz
        dest: /var/www/html/
        remote_src: yes
    - name: Start Apache
      service:
        name: httpd
        state: started

These EX294 practice questions are part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style EX294 questions with detailed explanations, topic-based practice, mock exams, readiness tracking, and study analytics.