EX374 Red Hat Certified Specialist In Developing Automation With Ansible Automation Pl Practice Questions
Prepare for EX374 with more than an answer.
- 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.inithat is becoming unmanageable. - Variables are scattered across the inventory file and playbook directories.
- They have a requirement to group servers by
datacenter(dc1, dc2) andapplication(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_varsinto directories allows for separating clear text variables and encrypted vault variables (e.g.,vars.ymlvsvault.yml) while Ansible automatically merges them. This addresses scalability and security. - They maintain a monolithic inventory file
- 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_versionshould 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
True or False: When using the
ansible.builtin.include_rolemodule, variables defined in the role'sdefaults/main.ymlwill override variables passed explicitly to the module using thevars: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., viavarsunderinclude_roleorimport_role) have a much higher precedence and will override the defaults. - 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:
- Step A: Check current system load.
- Step B: If Step A succeeds, proceed to patch the system.
- Step C: If Step A fails (load too high), create a ticket in the ITSM system.
- 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
You are building a custom Execution Environment (EE) using
ansible-builderversion 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.txtto define system-level (RPM/Deb) dependencies. In theexecution-environment.ymldefinition file, this is referenced under thedependenciessection using thesystemkey. Python dependencies go inrequirements.txtreferenced by thepythonkey. - 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 thecopymodule with thecontentparameter (populated by the lookup) to write the file on the remote host. Nodelegate_tois needed for the task itself because the file write action must happen on the target.
