Courseiva
← Back to Red Hat Certified Engineer EX294 questions

Scenario-based practice

Refer to the Exhibit Practice 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.

15
scenario questions
EX294
exam code
Red Hat
vendor

Scenario guide

How to approach refer to the exhibit practice questions

Practise exhibit-style questions that ask you to read a topology, table, command output or diagram before choosing the best answer.

Quick answer

Exhibit-style questions test whether you can read a topology, command output, diagram or table before choosing the best answer.

How to extract the relevant detail from an exhibit.

How topology, command output or routing information affects the answer.

How to avoid answering from memory before reading the evidence.

How to map the exhibit back to the 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 1easymultiple choice
Full question →

Refer to the exhibit. What is the purpose of the 'failed_when' condition?

Exhibit

- name: Check if package is installed
  command: rpm -q httpd
  register: result
  failed_when: result.rc != 0 and 'not installed' not in result.stderr
  changed_when: false
Question 2hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. An administrator runs a playbook in check mode and receives the shown output. What should be done to fix the failure while maintaining idempotency?

Network Topology
[root@control ansible]# ansible-playbook playbook.ymlcheckdiff[root@control ansible]# cat playbook.yml- name: Deploy web apphosts: webserversroles:- common- apache- deployPLAY [Deploy web app] ********************************************************ok: [web1.example.com]changed: [web1.example.com]PLAY RECAP ********************************************************************web1.example.comok=3 changed=1 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Question 3easymultiple choice
Full question →

Refer to the exhibit. An administrator wants to view the decrypted value of 'db_password' without modifying the file. Which command should be used?

Exhibit

db_password: !vault |\n  $ANSIBLE_VAULT;1.1;AES256\n  65633239636661303062643934383034656661653332313234363166666562356362336638613235\n  3631326331383333616565613737353565386336303231660a666538613337343366346639666337\n  65303334376432343533393338333335393763363034646161333966373730336163386639636335\n  3332376365323932610a323639303336316338616336366232333338353731333434613266306336\n  3766
Question 4hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. An administrator runs an Ansible playbook and receives the error shown. The playbook uses a variable 'vault_httpd_port' that should be stored in an encrypted vault file. Which step should the administrator take first to resolve the issue?

Exhibit

[root@controller ~]# ansible-playbook -i inventory.ini site.yml --ask-vault-pass
Vault password: 

PLAY [all] ***************************************************************

TASK [Gathering Facts] ***************************************************
ok: [server1]

TASK [common : Install httpd] ********************************************
fatal: [server1]: FAILED! => {"changed": false, "msg": "The task includes an option with an undefined variable. The error was: 'vault_httpd_port' is undefined"}

PLAY RECAP ****************************************************************
server1                     : ok=1    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0
Question 5hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. An administrator runs the playbook but the wait_for task fails. What is the most likely cause?

Exhibit

---
- hosts: webservers
  vars:
    http_port: 80
  tasks:
  - name: Ensure Apache is running
    service:
      name: httpd
      state: started
  - name: Check if port is open
    wait_for:
      host: "{{ ansible_facts['default_ipv4']['address'] }}"
      port: "{{ http_port }}"
      state: started
    delegate_to: localhost
Question 6mediummultiple choice
Read the full Ansible explanation →

Refer to the exhibit. A user runs a playbook that creates hosts and then attempts to use a constructed inventory plugin. However, the constructed inventory does not group hosts by OS distribution. What is the most likely cause?

Exhibit

Refer to the exhibit.

---
- name: Generate inventory
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Create static inventory
      add_host:
        name: "web{{ item }}"
        group: webservers
        ansible_host: "192.168.1.{{ item }}"
      loop:
        - 10
        - 11
        - 12
    - name: Create dynamic group
      group_by:
        key: "os_{{ ansible_distribution }}"
      when: ansible_distribution is defined

---
# inventory.yml
plugin: constructed
strict: false
keyed_groups:
  - key: ansible_distribution
    prefix: distro
    separator: "_"
Question 7mediummultiple choice
Read the full VPN explanation →

A company is deploying Red Hat Ansible Automation Platform 2.3 in a hybrid cloud environment. The automation controller is installed on a RHEL 8 server in the on-premises data center. Execution nodes are distributed: four in the same data center, two in a remote branch office connected via VPN, and three in AWS EC2 instances. The VPN connection to the branch office is low-bandwidth and high-latency. The AWS nodes use a direct connect with stable bandwidth. During initial testing, playbooks running on the branch office execution nodes frequently timeout or hang, while on-premises and AWS nodes work fine. The automation mesh topology is configured with all nodes as direct children of the controller. The team wants to minimize latency and ensure reliable execution for the branch office nodes. Which course of action should the administrator take?

An admin attempts to build an execution environment using the exhibited files. The build fails with an error about incompatible Python dependency. What is the most likely cause?

Exhibit

Refer to the exhibit.

$ cat execution-environment.yml
---
version: 1
build_arg_defaults:
  EE_BASE_IMAGE: 'registry.redhat.io/ansible-automation-platform-21/ee-minimal-rhel8:latest'
dependencies:
  galaxy: requirements.yml
  python: requirements.txt

$ cat requirements.yml
---
collections:
  - name: redhat.insights
  - name: community.general

$ cat requirements.txt
ansible==2.9.27
Question 9easymultiple choice
Read the full Ansible explanation →

Based on the exhibit, which file is generated by `ansible-builder` to support the build?

Network Topology
$ ansible-builder buildfile execution-environment.ymltag my-ee:latestRefer to the exhibit.```
Question 10hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. The administrator runs the playbook with the 'deploy' tag, but all tasks are skipped. What is the most likely reason?

Network Topology
[root@control ansible]# ansible-playbook site.ymltags "deploy"[root@control ansible]# cat roles/database/tasks/main.yml- name: Install MariaDByum:name: mariadb-serverstate: presenttags:- packages- name: Start MariaDBservice:name: mariadbstate: startedenabled: yes- service- name: Create application databasemysql_db:name: appdb- database[root@control ansible]# cat site.yml- hosts: dbserversroles:- deployPLAY [dbservers] **************************************************************skipping: [db1.example.com]PLAY RECAP ********************************************************************db1.example.comok=0 changed=0 unreachable=0 failed=0 skipped=3 rescued=0 ignored=0
Question 11mediummultiple choice
Read the full Ansible explanation →

Refer to the exhibit. A user runs ansible-runner with --container-image localhost/ee-30:latest and receives the error shown. What is the most likely cause?

Exhibit

Error: Unable to find a matching container image for execution environment 'ee-30'. 
Check that the execution environment is defined in the local container registry.
Question 12mediummultiple choice
Full question →

Based on the exhibit, what is the purpose of the `galaxy` dependency entry?

Exhibit

Refer to the exhibit.

```yaml
# execution-environment.yml
---
version: 1
build_arg_defaults:
  EE_BASE_IMAGE: 'registry.redhat.io/ansible-automation-platform/ansible-builder-rhel8:latest'
dependencies:
  galaxy: requirements.yml
  python: requirements.txt
  system: bindep.txt
```
Question 13mediummultiple choice
Read the full Ansible explanation →

Refer to the exhibit. The playbook fails with an error. What is the most likely cause?

Exhibit

- hosts: all
  tasks:
    - name: Import tasks
      import_tasks: "{{ item }}.yml"
      loop:
        - setup
        - configure
Question 14hardmultiple choice
Read the full Ansible explanation →

Refer to the exhibit. A developer builds an execution environment using this execution-environment.yml. After building, the container starts but ansible-navigator cannot connect to the container because the required SSH packages are missing. Which file most likely needs to be updated?

Exhibit

version: 3
build_arg_defaults:
  EE_BASE_IMAGE: registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest
dependencies:
  galaxy: requirements.yml
  python: requirements.txt
  system: bindep.txt
Question 15easymultiple choice
Full question →

Refer to the exhibit. What is the output of the debug task?

Exhibit

Refer to the exhibit.
```yaml
- name: Get interface IP
  hosts: localhost
  vars:
    interfaces:
      - name: eth0
        ip: 192.168.1.10
      - name: eth1
        ip: 10.0.0.5
  tasks:
    - name: Show IP of eth0
      debug:
        msg: "{{ interfaces | selectattr('name', 'equalto', 'eth0') | map(attribute='ip') | first }}"

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.