First-hand information about real test changes is what separates a current question bank from a stale one. TestPassed experts track those changes, and every 2026 purchase includes 365 days of free updates to the RedHat Red Hat Certified Specialist in Ansible Automation practice questions.
RedHat EX407 Exam Overview:
| Certification Vendor: | Red Hat |
|---|---|
| Exam Name: | Red Hat Certified Specialist in Ansible Automation Exam |
| Exam Number: | EX407 |
| Related Certifications: | Red Hat Certified Architect (RHCA) |
| Certificate Validity Period: | 3 years |
| Exam Format: | Scenario-based tasks, Performance-based, Hands-on lab |
| Real Exam Qty: | Performance-based tasks (no fixed number) |
| Exam Duration: | 240 minutes |
| Exam Price: | USD 400 |
| Passing Score: | 70% |
| Available Languages: | English |
| Recommended Training: | DO407 - Automation with Ansible |
| Exam Registration: | Red Hat Exam Scheduler |
| Sample Questions: | ![]() |
| Exam Way: | Onsite at testing center or remote proctored exam |
| Pre Condition: | No mandatory prerequisites; RHCSA certification or equivalent RHEL administration experience strongly recommended |
| Official Syllabus URL: | https://www.redhat.com/en/services/training/ex407-retired-red-hat-certified-specialist-in-ansible-automation-exam |
RedHat EX407 Exam Syllabus Topics:
| Section | Weight | Objectives |
|---|---|---|
| Use Templates and Roles | 20% | - Download roles from Ansible Galaxy - Create Jinja2 templates - Develop and use Ansible roles |
| Understand Core Ansible Components | 15% | - Inventories, static and dynamic - Modules, variables, facts, plays, playbooks - Ansible configuration files |
| Secure and Optimize Automation | 15% | - Use Ansible Vault to protect sensitive data - Manage parallel execution and task flow - Validate playbook functionality |
| Install and Configure Ansible Control Node | 15% | - Configure SSH access and privilege escalation - Create inventory and configuration files - Install required Ansible packages |
| Create and Manage Playbooks | 25% | - Use common Ansible modules - Configure system state: packages, services, files, storage, security - Implement variables, conditionals, and error handling |
| Work with Inventories | 10% | - Manage static inventory groups - Validate inventory with ad-hoc commands - Use and write dynamic inventory scripts |
Everything About RedHat Red Hat Certified Specialist in Ansible Automation, Asked and Answered
RedHat Red Hat Certified Specialist in Ansible Automation is an official Red Hat certification exam, listed under the code EX407. Passing it earns you the Red Hat Certified Specialist in Ansible Automation certification, positioned at the Specialist level. It also connects to Red Hat Certified Architect (RHCA). For anyone aiming at a leadership track in IT, this credential is one of the clearest markers of verified skill.
Passing RedHat Red Hat Certified Specialist in Ansible Automation takes 70%, and the official registration fee is USD 400. Retakes charge the full USD 400 again, which is why accuracy in preparation matters more than volume. Validate your readiness with repeated TestPassed practice scores above the requirement before committing to a date.
The RedHat Red Hat Certified Specialist in Ansible Automation exam contains Performance-based tasks (no fixed number) questions to answer within 240 minutes. The SOFT engine from TestPassed imitates the real test scene on your computer and uses special methods to help you master questions and answers, so the official time limit becomes a practiced routine rather than a surprise.
No mandatory prerequisites; RHCSA certification or equivalent RHEL administration experience strongly recommended
Vendor requirements are revised periodically, so confirm the current conditions before registering via the official exam page.
Sign-up for RedHat Red Hat Certified Specialist in Ansible Automation goes through the official channels below.
One planning note: the exam is delivered Onsite at testing center or remote proctored exam.
Red Hat recommends the following training for RedHat Red Hat Certified Specialist in Ansible Automation candidates.
Reinforce whichever training you pick with the 42 practice questions in the TestPassed EX407 package, edited by experts who follow real test changes firsthand.
Three versions share the same verified content: the PDF prints unlimited copies for paper study, the SOFT engine imitates the real test scene on Windows PCs, and the APP version runs on all electronic products, which is why the majority of examinees choose it. A free demo lets you try before deciding, and after purchase updates are free for 365 days, extendable afterward at a 50% discount.
Worry-free shopping means a 100% money-back guarantee with stated conditions. Take the RedHat Red Hat Certified Specialist in Ansible Automation exam within 60 days of purchase; if you fail, you may claim a full refund, provided the exam matches your product. Attempts within 3 days of purchase are ineligible, as are downloaded-but-unused products, free materials, and expired orders; the candidate name must match the payer name. Submit a scanned enrollment slip and the official Score Report PDF within 2 days of the exam, and claims are processed within 7 days. Alternatively, exchange for two other exam products of equal value, free, keeping the update service on your original purchase.
Delivery is immediate: files unlock for download at payment and are emailed to you within one minute. If nothing arrives within 2 hours, check spam and contact our 7/24 customer attendants, who reply within two hours. Installation is unlimited, and credit card payment keeps your money safe.
RedHat Red Hat Certified Specialist in Ansible Automation is structured into 6 official domains. The leading ones are Install and Configure Ansible Control Node (15%), Understand Core Ansible Components (15%), and Secure and Optimize Automation (15%). The full topic breakdown appears above; accurate preparation starts with an accurate map.
RedHat Red Hat Certified Specialist in Ansible Automation Sample Questions:
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Rekey an existing Ansible vault as follows:
-----------------------------------------------
* Download Ansible vault from http:// classroom.example.com /secret.yml to /home/
admin/ansible/
* The current vault password is curabete
* The new vault password is newvare
* The vault remains in an encrypted state with the new password
Correct Answer:
Solution as:
# pwd
/home/admin/ansible/
# wget http://classroom.example.com/secret.yml
# chmod 0600 newpassword.txt
# ansible-vault rekey vault.yml --new-vault-password-file=newpassword.txt
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Create a playbook called web.yml as follows:
* The playbook runs on managed nodes in the "dev" host group
* Create the directory /webdev with the following requirements:
--> membership in the apache group
--> regular permissions: owner=r+w+execute, group=r+w+execute, other=r+execute
s.p=set group-id
* Symbolically link /var/www/html/webdev to /webdev
* Create the file /webdev/index.html with a single line of text that reads:
"Development"
--> it should be available on http://servera.lab.example.com/webdev/index.html
Correct Answer:
Solution as:
# pwd
/home/admin/ansible/
# vim web.yml
---
- name:
hosts: dev
tasks:
- name: create group
yum:
name: httpd
state: latest
- name: create group
group:
name: apache
state: present
- name: creating directiory
file:
path: /webdev
state: directory
mode: '2775'
group: apache
- sefcontext:
target: '/webdev/index.html'
setype: httpd_sys_content_t
state: present
- name: Apply new SELinux file context to filesystem
command: restorecon -irv
- name: creating symbolic link
file:
src: /webdev
dest: /var/www/html/webdev
state: link
force: yes
- name: creating file
file:
path: /webdev/index.html
sate: touch
- name: Adding content to index.html file
copy:
dest: /webdev/index.html
content: "Development"
- name: add service to the firewall
firewalld:
service: http
permanent: yes
state: enabled
immediate: yes
- name: active http service
service:
name: httpd
state: restarted
enabled: yes
:wq
# ansible-playbook web.yml --syntax-check
# ansible-playbook web.yml
Create a file called adhoc.sh in /home/sandy/ansible which will use adhoc commands to set up a new repository. The name of the repo will be 'EPEL' the description 'RHEL8' the baseurl is 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rmp' there is no gpgcheck, but you should enable the repo.
* You should be able to use an bash script using adhoc commands to enable repos. Depending on your lab setup, you may need to make this repo "state=absent" after you pass this task.
Correct Answer:
chmod 0777 adhoc.sh
vim adhoc.sh
#I/bin/bash
ansible all -m yum_repository -a 'name=EPEL description=RHEL8
baseurl=https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rmp
gpgcheck=no enabled=yes'
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Use Ansible Galaxy with a requirements file called /home/admin/ansible/roles/
install.yml to download and install roles to /home/admin/ansible/roles from the
following URLs:
http:// classroom.example.com /role1.tar.gz The name of this role should be balancer
http:// classroom.example.com /role2.tar.gz The name of this role should be phphello
Correct Answer:
Solution as:
# pwd
/home/admin/ansible/roles
# vim install.yml
---
- src: http://classroom.example.com/role1.tar.gz
name: balancer
- src: http://classroom.example.com/role2.tar.gz
name: phphello
:wq!
# pwd
/home/admin/ansible
# ansible-galaxy install -r roles/install.yml -p roles
Install and configure ansible
User sandy has been created on your control node with the appropriate permissions already, do not change or modify ssh keys. Install the necessary packages to run ansible on the control node. Configure ansible.cfg to be in folder /home/sandy/ansible/ansible.cfg and configure to access remote machines via the sandy user. All roles should be in the path /home/sandy/ansible/roles. The inventory path should be in /home/sandy/ansible/invenlory.
You will have access to 5 nodes.
node1.example.com
node2.example.com
node3.example.com
node4.example.com
node5.example.com
Configure these nodes to be in an inventory file where node I is a member of group dev. nodc2 is a member of group test, node3 is a member of group proxy, nodc4 and node 5 are members of group prod. Also, prod is a member of group webservers.
Correct Answer:
In/home/sandy/ansible/ansible.cfg
[defaults]
inventory=/home/sandy/ansible/inventory
roles_path=/home/sandy/ansible/roles
remote_user= sandy
host_key_checking=false
[privilegeescalation]
become=true
become_user=root
become_method=sudo
become_ask_pass=false
In /home/sandy/ansible/inventory
[dev]
node 1 .example.com
[test]
node2.example.com
[proxy]
node3 .example.com
[prod]
node4.example.com
node5 .example.com
[webservers:children]
prod



