EX294 Manage inventories and credentials Practice Question
A team uses a single Ansible Tower inventory called 'Production' containing hosts for multiple environments (dev, stage, prod). They want to apply different variables to hosts based on environment. Which inventory structure meets this requirement with minimal administrative overhead?
⚠ Common exam trap
Many exam-takers confuse tags (which are for job template filtering and RBAC) with group variables (which are for host-level data), leading them to select option C despite tags having no role in variable assignment.
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
✓
Create groups within the inventory for each environment (e.g., 'dev', 'stage', 'prod') and assign variables at the group level.
Ansible Tower (now Red Hat Ansible Automation Platform) supports group-based variable inheritance within a single inventory. By creating groups for each environment (dev, stage, prod) and assigning variables at the group level, you can apply environment-specific variables to all hosts in that group with minimal administrative overhead. This leverages Tower's built-in group variable mechanism without requiring per-host edits or multiple inventory objects.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Create groups within the inventory for each environment (e.g., 'dev', 'stage', 'prod') and assign variables at the group level.
Why this is correct
Grouping hosts by environment inside the single Production inventory and assigning variables at group level applies environment-specific values automatically, satisfying the minimal administrative overhead constraint. No duplicate inventories or per-host variable files are needed, and group variables inherit cleanly.
- ✗
Assign variables directly to each host using the 'Host Variables' field in the inventory.
Why it's wrong here
Per-host variables must be edited individually on every host, so adding or changing an environment value scales linearly with host count. They are tempting for small inventories, and would be correct where a handful of hosts each need genuinely unique values rather than shared environment grouping.
- ✗
Add tags to each host and use the tags to filter variables in the job template.
Why it's wrong here
Tags classify hosts for job-template filtering and never inject variables; Ansible Tower does not resolve host variables from tag values. They are tempting because tags already segment hosts, and would be correct when the goal is limiting which hosts a job template targets, not supplying environment-specific variables.
- ✗
Create separate inventories for each environment and link them to the same project.
Why it's wrong here
Separate inventories duplicate host records and credentials across environments, raising administrative overhead rather than minimising it, and the stem specifies one inventory named Production. They are tempting for hard isolation, and would be correct where environments must never share inventory scope or credentials.
Go deeper
Related to this question
About these practice questions
One of 392 original EX294 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.