EX294 Practice Question: Create content collections and execution environments
Which TWO statements are true about Ansible content collections?
⚠ Common exam trap
Candidates often assume collections cannot contain playbooks (option B) or that execution environments are mandatory (option D), but the EX294 exam expects you to know that collections can include playbooks and that EEs are optional for basic collection usage.
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
✓
Collections can be installed from Automation Hub, Galaxy, or a Git repository.
Option A is correct because Ansible collections can be installed from multiple sources, including Automation Hub (Red Hat's certified content repository), Ansible Galaxy (the public community hub), and directly from a Git repository using ansible-galaxy collection install with a git URL or a requirements.yml entry specifying type: git. Option E is correct because Fully Qualified Collection Names (FQCN), such as ansible.builtin.copy or community.general.ufw, namespace each module, role, and plugin under its collection, preventing collisions when different collections define content with the same short name. Option B is wrong because collections may contain playbooks in their playbooks/ directory alongside roles, modules, and plugins. Option C is wrong because a role inside a collection must be referenced with its FQCN (for example, my_namespace.my_collection.my_role) or via the collections keyword in a playbook, not by its bare short name. Option D is wrong because execution environments are an optional containerized packaging mechanism for dependencies, not a prerequisite for using collections.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Collections can be installed from Automation Hub, Galaxy, or a Git repository.
Why this is correct
Collections are distributed as tarballs or Git repositories, so installation works from Automation Hub, Galaxy, or a Git URL via `ansible-galaxy collection install`. This satisfies the stem's requirement that content can be sourced from multiple locations, including private Git repositories, rather than being limited to a single distribution channel.
- ✗
Collections cannot contain playbooks.
Why it's wrong here
Collections may bundle playbooks alongside roles, plugins and modules, so this statement is false. It is tempting because collections are most commonly distributed for their roles and plugin content, which can make playbooks appear outside their scope, yet the collection directory structure explicitly permits a playbooks directory.
- ✗
A role stored in a collection can be referenced by its short name without the collection prefix.
Why it's wrong here
Roles inside a collection must be referenced using the fully qualified collection name, such as namespace.collection.role_name, so the short name alone fails to resolve. It is tempting because standalone roles in roles/ are called by short name, and that habit carries over incorrectly once the role moves into a collection.
- ✗
Execution environments are required to use collections.
Why it's wrong here
Execution environments are containers that package collections with their dependencies, but collections install and run without them via ansible-galaxy and standard Python environments. It is tempting because automation controller and AWX workflows commonly pair collections with execution environments, making the two appear inseparable.
- ✓
Fully qualified collection names (FQCN) help avoid naming conflicts.
Why this is correct
Fully qualified collection names namespace each module, role and plugin under its author and collection, so identically named content from different collections cannot collide. This directly satisfies the stem's requirement to avoid naming conflicts, and Ansible recommends FQCN in playbooks for exactly this reason.
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.