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

    You are creating a playbook that performs maintenance on a cluster of web servers. You want to ensure that if the maintenance task fails on more than 30% of the hosts in the first batch, the entire playbook execution aborts immediately to prevent widespread outage.

    Which settings should you apply to the play definition?

    Show answer details

    Correct answer: A, B

    The max_fail_percentage setting causes the play to abort if the percentage of failed hosts exceeds the threshold.

    To utilize max_fail_percentage effectively for batches, you must set serial. If serial is not set, Ansible runs on all hosts in parallel (up to forks), and max_fail_percentage applies to the whole set. To stop 'after the first batch', a batch size must be defined via serial.

  2. 2

    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.

  3. 3

    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.

  4. 4

    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.

  5. 5

    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: A

    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
  6. 6

    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: B

    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.

Create an account to continue.