Question 40 of 518
Manage inventories and credentialsmediumMultiple ChoiceObjective-mapped

EX294 Manage inventories and credentials Practice Question

This EX294 practice question tests your understanding of manage inventories and credentials. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

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: "_"

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?

Clue words in this question

Noticing these words before you look at the options changes how you read each choice.

  • Clue: "most likely"

    Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.

Question 1mediummultiple choice
Read the full Ansible explanation →

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: "_"

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

The constructed inventory runs before add_host tasks, so the hosts are not yet created.

The constructed inventory plugin processes inventory sources and applies Jinja2 conditions to group hosts based on variables. However, when used in a playbook alongside the `add_host` module, the constructed inventory is evaluated at the start of the play, before any tasks (including `add_host`) run. Therefore, hosts added dynamically via `add_host` do not exist when the constructed plugin attempts to group them, causing the groups to be empty. Option C correctly identifies this ordering issue.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • The constructed plugin cannot be used with the add_host module.

    Why it's wrong here

    The plugin can be used, but it processes before add_host runs.

  • The 'strict: false' setting ignores missing variables, causing the group to be empty.

    Why it's wrong here

    Strict: false ignores errors, but doesn't cause empty groups if variable exists.

  • The constructed inventory runs before add_host tasks, so the hosts are not yet created.

    Why this is correct

    Inventory plugins execute at inventory load time, not during playbook execution.

    Clue confirmation

    The clue word "most likely" in the question point toward this answer.

    Related concept

    Read the scenario before looking for a memorised answer.

  • The variable ansible_distribution is not defined because gather_facts is set to no.

    Why it's wrong here

    Even if facts are gathered, the constructed plugin runs before the playbook, so facts aren't available.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Red Hat often tests the misconception that inventory plugins and dynamic host creation (`add_host`) operate in the same phase, when in fact the constructed plugin runs during inventory loading (pre-task) while `add_host` runs during task execution, creating a timing mismatch that candidates overlook.

Detailed technical explanation

How to think about this question

Under the hood, Ansible inventory plugins are executed during the inventory loading phase, which occurs before any task execution in a play. The `add_host` module adds hosts to the in-memory inventory at runtime, but the constructed plugin has already finished processing by then. This is a fundamental ordering constraint: inventory plugins operate on static sources (like files or scripts) and cannot retroactively apply grouping logic to hosts added mid-play. A real-world workaround is to use `group_by` or `add_host` with the `group` parameter to assign groups directly, bypassing the constructed plugin's static evaluation.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A practitioner preparing for the EX294 exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related EX294 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free EX294 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this EX294 question test?

Manage inventories and credentials — This question tests Manage inventories and credentials — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: The constructed inventory runs before add_host tasks, so the hosts are not yet created. — The constructed inventory plugin processes inventory sources and applies Jinja2 conditions to group hosts based on variables. However, when used in a playbook alongside the `add_host` module, the constructed inventory is evaluated at the start of the play, before any tasks (including `add_host`) run. Therefore, hosts added dynamically via `add_host` do not exist when the constructed plugin attempts to group them, causing the groups to be empty. Option C correctly identifies this ordering issue.

What should I do if I get this EX294 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Are there clue words in this question I should notice?

Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Last reviewed: Jun 30, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This EX294 practice question is part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the EX294 exam.