Skip to content

EX374 Red Hat Certified Specialist In Developing Automation With Ansible Automation Pl Practice Questions

Prepare for EX374 with more than an answer.

120 questions in the full set12 sample questionsUpdated Mar 12, 2026
  1. 1

    Case Study:

    Company Overview: TechGlobal is a large enterprise managing a hybrid cloud environment with 500+ servers.

    Current Situation:

    • They maintain a monolithic inventory file hosts.ini that is becoming unmanageable.
    • Variables are scattered across the inventory file and playbook directories.
    • They have a requirement to group servers by datacenter (dc1, dc2) and application (web, db).
    • Sensitive data like DB passwords are currently in plain text in group_vars.

    Goal: Restructure the inventory to follow best practices for scalability and security.

    Which directory structure and configuration best meets TechGlobal's needs?

    Show answer details

    Correct answer: A

    This approach uses a directory-based layout for variables, which is a best practice for scaling. Splitting group_vars into directories allows for separating clear text variables and encrypted vault variables (e.g., vars.yml vs vault.yml) while Ansible automatically merges them. This addresses scalability and security.

  2. 2

    You need to configure an Automation Controller Job Template to prompt the user for a specific release version (e.g., 'v1.0', 'v2.0') at runtime. The variable release_version should be populated with this input.

    Which feature should you enable and configure on the Job Template?

    Show answer details

    Correct answer: A

    Surveys in Automation Controller allow administrators to define a set of questions (prompts) that are presented to the user when a job is launched. The answers are captured as extra variables (e.g., release_version) passed to the playbook.

  3. 3

    True or False: When using the ansible.builtin.include_role module, variables defined in the role's defaults/main.yml will override variables passed explicitly to the module using the vars: keyword.

    Show answer details

    Correct answer: B

    False. Role defaults (defaults/main.yml) have the lowest precedence. Variables passed directly to the role (e.g., via vars under include_role or import_role) have a much higher precedence and will override the defaults.

  4. 4

    You are the Senior Automation Architect for a financial institution. You are designing a complex Automation Controller workflow to patch Linux servers. The workflow must adhere to the following logic:

    1. Step A: Check current system load.
    2. Step B: If Step A succeeds, proceed to patch the system.
    3. Step C: If Step A fails (load too high), create a ticket in the ITSM system.
    4. Step D: Regardless of whether the system was patched or a ticket was created, send a final notification to the operations team.

    Which workflow configuration best achieves this logic?

    Show answer details

    Correct answer: C

    In Ansible Automation Controller workflows, transitions determine the flow based on the result of the previous node. An 'Always' transition ensures that the target node executes regardless of the source node's status (success or failure). By linking both the success path (Step B) and failure path (Step C) to Step D with 'Always', you guarantee the notification runs in both scenarios.

    graph TD A[Step A: Check Load] -->|Success| B[Step B: Patch] A -->|Failure| C[Step C: Ticket] B -->|Always| D[Step D: Notify] C -->|Always| D
  5. 5

    You are building a custom Execution Environment (EE) using ansible-builder version 3. You have a requirement to install a specific binary package, libxml2-dev, at the operating system level, and a Python library, lxml, via pip.

    Which file should you create to define the OS-level dependencies, and how is it referenced in the execution-environment.yml?

    Show answer details

    Correct answer: D

    Ansible Builder uses bindep.txt to define system-level (RPM/Deb) dependencies. In the execution-environment.yml definition file, this is referenced under the dependencies section using the system key. Python dependencies go in requirements.txt referenced by the python key.

  6. 6

    A developer is writing a playbook that needs to push a configuration file to a remote server. However, the content of this file is generated by querying a local database on the control node.

    Which combination of task configuration is required to ensure the database query runs locally, but the file creation happens on the remote target?

    Show answer details

    Correct answer: D

    Lookup plugins in Ansible ALWAYS execute on the control node (localhost). By using a lookup to fetch data (e.g., lookup('community.general.postgresql_query', ...)), the data is retrieved locally. You can then use the copy module with the content parameter (populated by the lookup) to write the file on the remote host. No delegate_to is needed for the task itself because the file write action must happen on the target.

Create an account to continue.