Courseiva

EX294 Practice Question: Create content collections and execution environments

An organization's execution environment must include a custom RPM that is not in the default base image. How should this be added in the execution-environment.yml?

⚠ Common exam trap

Many exam-takers confuse the 'system' and 'python' dependency sections, mistakenly thinking RPMs can be added under 'python' because both are under 'dependencies', but 'python' is strictly for pip-installable packages.

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

✓

Add the RPM to the 'dependencies' section under 'system'.

In an execution-environment.yml file, custom RPM packages that are not part of the default base image must be listed under the 'dependencies' section with the 'system' key. This instructs ansible-builder to install those RPMs using the system package manager (e.g., dnf or yum) during the build process, ensuring the execution environment includes the required system-level libraries or tools.

Answer analysis

Option-by-option breakdown

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

  • ✓

    Add the RPM to the 'dependencies' section under 'system'.

    Why this is correct

    The dependencies section's system subsection maps to dnf or microdnf package installation during the build, so listing the RPM there causes ansible-builder to install it into the final image. This satisfies the requirement that the custom RPM be present.

  • ✗

    Add the RPM to the 'dependencies' section under 'python'.

    Why it's wrong here

    The python dependencies section installs Python packages via pip, not system RPMs. A custom RPM requires installation through the build steps section of execution-environment.yml. Listing it under python would be correct only for a Python library distributed on PyPI.

  • ✗

    Use a 'prepended_base' directive.

    Why it's wrong here

    prepended_base is not a valid execution-environment.yml directive; RPMs are installed via the ansible-builder build steps. The correct approach adds the package through the appropriate build section. A prepended base image would be relevant only when overriding the base image itself, not adding packages.

  • ✗

    Use a custom base image that includes the RPM.

    Why it's wrong here

    Building a custom base image adds significant maintenance overhead and is unnecessary when the RPM can be installed during the execution environment build. The build steps section installs extra RPMs directly. A custom base image is correct when the required OS-level packages cannot be layered during the build.

About these practice questions

Courseiva writes every EX294 question from scratch — 392 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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.