EX294 · topic practice

Transform data with filters and plugins practice questions

Practise Red Hat Certified Engineer EX294 Transform data with filters and plugins practice questions — original exam-style scenarios with answer choices, explanations, and analysis of common mistakes.

Courseiva uses original exam-style practice questions designed for learning and revision. The goal is to understand the concepts, recognise exam patterns, and improve through explanations — not memorise copied exam dumps.

Reviewed byJohnson Ajibi· MSc IT Security
20 questionsDomain: Transform data with filters and plugins

What the exam tests

What to know about Transform data with filters and plugins

Transform data with filters and plugins 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.

Watch out for

Common Transform data with filters and plugins exam traps

  • Answering from memory before reading the full scenario.
  • Missing a constraint such as cost, availability, security, scope or command context.
  • Choosing a broad answer when the question asks for the most specific fix.
  • Ignoring why the wrong options are tempting.

Practice set

Transform data with filters and plugins questions

20 questions · select your answer, then reveal the explanation

Question 1easymultiple choice
Read the full Ansible explanation →

An Ansible playbook needs to extract the first line from a multi-line string variable 'output' and store it in a new variable 'first_line'. Which filter should be used?

Question 2mediummultiple choice
Read the full Ansible explanation →

A playbook uses the 'uri' module to query an API and registers the result. The API returns a JSON with a nested field 'data.users[0].name'. Which expression correctly extracts that name?

Question 3hardmultiple choice
Read the full Ansible explanation →

A team is migrating from static inventory to dynamic inventory using a custom script. The script returns JSON with a group 'webservers' containing hosts. However, the playbook targeting 'webservers' fails with 'no hosts matched'. Which filter or plugin issue is most likely?

Question 4easymultiple choice
Read the full Ansible explanation →

A playbook needs to set a fact 'total_memory' by summing the 'memory_mb' values from a list of servers. Which filter should be used?

Question 5mediummultiple choice
Read the full Ansible explanation →

A playbook uses the 'debug' module to print a variable 'myvar' which is a list of dictionaries. The output shows 'VARIABLE IS UNDEFINED' despite the variable being defined earlier. Which filter issue is most likely?

Question 6mediummulti select
Read the full Ansible explanation →

Which TWO filters are used to transform data types in Ansible?

Question 7hardmulti select
Read the full Ansible explanation →

Which THREE plugins are used for data transformation in Ansible?

Question 8mediummultiple choice
Read the full Ansible explanation →

The playbook uses the community.general.parse_csv filter. Assuming the collection is installed, what is the type and structure of the 'parsed' variable?

Exhibit

Refer to the exhibit.

- name: Parse CSV
  hosts: localhost
  vars:
    csv_data: "name,age\nAlice,30\nBob,25"
  tasks:
    - name: Convert to list of dicts
      set_fact:
        parsed: "{{ csv_data | community.general.parse_csv }}"

    - debug:
        var: parsed

The debug output shows 'changed' even when the firewall rule already existed. Which filter issue could cause this?

Exhibit

Refer to the exhibit.

- name: Configure firewall
  hosts: all
  tasks:
    - name: Allow HTTP
      ansible.posix.firewalld:
        service: http
        permanent: yes
        state: enabled
      register: fw_result

    - debug:
        msg: "{{ 'changed' if fw_result.changed else 'no change' }}"
Question 10hardmultiple choice
Read the full Ansible explanation →

Your organization manages a fleet of 500 web servers running RHEL 8. Each server has a custom fact file /etc/ansible/facts.d/web.fact containing:

[web]

docroot=/var/www/html port=80 admin=admin@example.com

You have a playbook that needs to configure the firewall to allow traffic on the port defined in the custom fact for each server. The playbook uses the 'ansible_local' variable to access these facts. However, some servers have the custom fact file missing or malformed. The task to open the firewall port fails on those servers with 'VARIABLE IS UNDEFINED'. You need to implement a solution that handles missing custom facts gracefully, setting a default port of 8080 if the fact is not defined, and still log a warning. Which approach should you take?

Question 11easymultiple choice
Read the full Ansible explanation →

An Ansible playbook needs to generate a list of IP addresses from a range 192.168.1.10 to 192.168.1.20. Which filter should be used in a Jinja2 template?

Question 12mediummultiple choice
Read the full Ansible explanation →

A playbook uses the 'debug' module to print a variable 'my_var' but the output is 'VARIABLE IS UNDEFINED'. The variable is defined in group_vars/all.yml. Which filter could be used to provide a default value and avoid this error?

Question 13hardmulti select
Read the full Ansible explanation →

An Ansible playbook retrieves a list of dictionaries from an API. Each dictionary has keys 'name', 'status', and 'zone'. The playbook needs to filter out entries where 'status' is 'inactive' and then extract only the 'name' values. Which THREE of the following combinations of filters and loops would achieve this?

Question 14hardmultiple choice
Read the full Ansible explanation →

You are maintaining an Ansible automation for a large Red Hat Enterprise Linux deployment. The playbook configures NTP servers on all managed nodes. It uses a variable 'ntp_servers' defined in group_vars/all.yml as a list: ['0.rhel.pool.ntp.org', '1.rhel.pool.ntp.org', '2.rhel.pool.ntp.org']. The playbook task uses the 'uri' module to test connectivity to each server, but only if the server is reachable. The task currently uses:

``` - name: Test NTP server reachability uri: url: "http://{{ item }}:123" timeout: 5 register: result loop: "{{ ntp_servers }}" until: result.status == 200 retries: 3 delay: 2 ```

However, the playbook fails because the NTP servers do not respond to HTTP on port 123. You need to change the approach to test ICMP reachability using the 'ping' module, but the 'ping' module does not support a custom destination port. You also want to continue using a loop and register the success/failure per server. Which of the following is the best course of action?

Question 15hardmulti select
Read the full Ansible explanation →

When using the 'uri' module to interact with a REST API in Ansible, which TWO of the following statements about error handling and response parsing are correct?

Question 16easymultiple choice
Read the full Ansible explanation →

Refer to the exhibit. After running the playbook, the 'content' field contains an HTML page. The team wants to extract the text inside the <h1> tags using Ansible filters. Which of the following tasks correctly extracts the content of the <h1> element?

Exhibit

Refer to the exhibit.

```
- name: Check Apache status
  hosts: webservers
  tasks:
    - name: Get URL content
      uri:
        url: http://localhost/server-status
        return_content: yes
      register: result

    - name: Debug output
      debug:
        var: result
```

Output:
```
ok: [web01] => {
    "result": {
        "changed": false,
        "content": "<html><body><h1>Apache Status</h1>...</body></html>",
        "status": 200,
        "url": "http://localhost/server-status"
    }
}
```
Question 17mediummultiple choice
Read the full Ansible explanation →

You are managing a fleet of 200 RHEL 8 servers with Ansible Tower. A playbook uses the 'seboolean' module to enable httpd_can_network_connect for a web application. Recently, the playbook has been failing on 10 servers with the error: 'Failed to set SELinux boolean: Unable to communicate with SELinux policy'. Other servers succeed. The playbook runs as the 'ansible' user with passwordless sudo. The failing servers have identical SELinux configuration (enforcing mode, targeted policy) and the same package versions as working servers. You suspect the issue is related to the 'python3-libselinux' package. Which of the following is the most likely cause and the correct fix?

Drag and drop the steps to set up a cron job that runs a script every day at 2 AM in the correct order.

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4
5Step 5

Match each SELinux context component to its meaning.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

SELinux user identity

Role-based access control

Type enforcement (most common)

MLS sensitivity level

MLS/MCS category range

Question 20easymultiple choice
Read the full Ansible explanation →

A playbook uses `{{ my_var | default('fallback') }}`. What is the effect?

Free account

Track your progress over time

Create a free account to save your results and see which topics improve across sessions.

Focused Transform data with filters and plugins sessions

Start a Transform data with filters and plugins only practice session

Every question in these sessions is drawn from the Transform data with filters and plugins domain — nothing else.

Related practice questions

Related EX294 topic practice pages

Move into related areas when this topic feels solid.

Frequently asked questions

What does the EX294 exam test about Transform data with filters and plugins?
Transform data with filters and plugins questions test whether you can apply the concept in context, not just recognise a definition.
How should I use these practice questions?
Select your answer before revealing the explanation. Then read why each option is right or wrong — this active recall approach builds retention far faster than re-reading notes.
Can I practise just Transform data with filters and plugins questions in a focused session?
Yes — the session launcher on this page draws every question from the Transform data with filters and plugins domain. Use a 10-question session first to gauge your baseline, then move to 20 or 30 once the weak spots are clear.
Where can I practise other EX294 topics?
Use the topic links above to move to related areas, or go back to the EX294 question bank to see all topics.
Are these real exam questions or dumps?
These are original practice questions written to test the same concepts the EX294 exam covers. They are not copied from any real exam or dump site.