Courseiva

EX294 Implement advanced Ansible automation Practice Question

An organization has a set of common tasks used in many playbooks. The tasks are updated frequently. What is the most maintainable way to share them?

⚠ Common exam trap

Red Hat often tests the misconception that local file paths or roles are sufficient for sharing tasks, but the EX294 exam emphasizes centralized, version-controlled distribution via Collections as the most maintainable approach for frequently updated shared content.

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

✓

Package the tasks into a collection and install it via ansible-galaxy.

Ansible Collections provide a centralized, versioned, and distributable way to package and share tasks, roles, modules, and plugins. Using `ansible-galaxy collection install` allows teams to manage updates from a single source (e.g., Automation Hub or a private Galaxy server), ensuring all playbooks use the latest version without manual file copying or path dependencies.

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 a role and store it in a local directory referenced by ansible.cfg.

    Why it's wrong here

    A local role path in ansible.cfg is machine-specific, so other controllers and CI runners cannot resolve the role without editing their own configuration. Local roles suit single-controller setups, whereas a version-controlled collection or repository shares updates reliably.

  • ✗

    Copy the task files into each project repository.

    Why it's wrong here

    Copying task files into each repository duplicates content, so every update must be applied manually across all projects, guaranteeing drift and missed changes. It is tempting because vendoring files gives each project a self-contained, version-pinned snapshot, which suits one-off or frozen deliverables — not frequently updated shared tasks.

  • ✓

    Package the tasks into a collection and install it via ansible-galaxy.

    Why this is correct

    Collections bundle roles, modules and plugins with versioning, so frequently updated shared tasks can be distributed and pinned via ansible-galaxy. This satisfies the maintainability constraint by centralising updates rather than duplicating task files across playbooks.

  • ✗

    Use include_tasks with a relative path from each playbook.

    Why it's wrong here

    include_tasks resolves relative to the including playbook, so every project keeps its own copy of the task file and frequent updates must be propagated manually. It suits one-off, project-local task lists that never need sharing.

About these practice questions

This EX294 question is part of Courseiva's 392-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.