Questions at midnight don't wait for office hours. TorrentExam's first-line service answers around the clock, so RedHat Red Hat Certified Specialist in Ansible Automation candidates preparing for EX407 never stall alone.
RedHat EX407 Exam Overview:
| Certification Vendor: | Red Hat |
|---|---|
| Exam Name: | Red Hat Certified Specialist in Ansible Automation Exam (EX407) |
| Exam Number: | EX407 |
| Exam Format: | Hands-on configuration and troubleshooting tasks, Performance-based lab exam |
| Available Languages: | English |
| Exam Price: | USD 400 (varies by region) |
| Real Exam Qty: | Performance-based exam (number of tasks varies) |
| Related Certifications: | Red Hat Certified System Administrator (RHCSA) Red Hat Certified Engineer (RHCE) |
| Certificate Validity Period: | 3 years |
| Passing Score: | 210/300 |
| Exam Duration: | 240 minutes |
| Recommended Training: | Red Hat Ansible Automation Courses |
| Exam Registration: | Red Hat Certification Portal |
| Sample Questions: | ![]() |
| Exam Way: | Hands-on practical lab exam (onsite or remote depending on Red Hat testing provider availability) |
| Pre Condition: | Basic Linux administration skills recommended; familiarity with command line and system configuration is expected. |
| Official Syllabus URL: | https://www.redhat.com/en/services/certification |
RedHat EX407 Exam Syllabus Topics:
| Section | Objectives |
|---|---|
| Advanced Automation | - Security and troubleshooting
|
| Playbook Development | - Control flow
|
| Ansible Fundamentals | - Inventory management
|
What Candidates Ask Before EX407
Work in passes, not one grind. First pass: untimed, through all 42 questions, marking weak domains against the blueprint above. Second pass: timed engine sessions, reviewing every error the same day while the reasoning is fresh. Final pass: re-test only your flagged items until they stop being wrong. Book the exam when your timed scores hold steady — not when your calendar gets impatient.
Delivery first: your RedHat Red Hat Certified Specialist in Ansible Automation practice questions are downloadable immediately and emailed within one minute of payment — if 2 hours pass, check spam and contact support. Install on as many computers as you need. If the exam goes wrong, the 100% Money Back Guarantee applies under clear conditions: take the corresponding exam within 60 days of purchase, and if you don't pass, submit a scanned enrollment slip and your official Score Report PDF within 2 days after the exam — full refunds process within 7 days. Not eligible: attempts within 3 days of purchase, exams never actually taken, free items, and expired orders; candidate name must match payer name. Prefer to keep going? Exchange for two free products of equal value and keep your update service.
Think of the EX407 exam as RedHat asking for proof, not promises: pass it, and you hold the Red Hat Certified Specialist in Ansible Automation certification, a credential at the Specialist level. The questions are built to measure applied skill across the RedHat Red Hat Certified Specialist in Ansible Automation objectives — the kind employers hire for. It also sits within a broader certification family covering Red Hat Certified System Administrator (RHCSA), Red Hat Certified Engineer (RHCE), so one exam's effort keeps paying into the next.
The fee shown above is the price of one attempt — and of every retake, at full price. So the passing score is best treated as a floor you clear with margin: work through TorrentExam practice questions until your timed results sit comfortably above it several sessions in a row, then register. Hours of over-preparation are cheaper than a second registration.
The same 42 expert-written questions ship in all three — you're choosing how you want to live with the material:
- PDF version — the most popular choice: printable, instantly downloadable, ready for handwritten notes anywhere.
- Desktop Test Engine — for Windows users: recreates the real exam atmosphere with two practice modes and full offline access.
- Online Test Engine — app-like access from any browser on Windows, Mac, Android, or iOS, with test history and performance review.
Each version has its own strengths; many candidates mix them — PDF for reading, an engine for timed rehearsal.
Yes. TorrentExam's free RedHat Red Hat Certified Specialist in Ansible Automation PDF demo contains genuine sample questions with verified answers, so you can judge the quality with your own eyes. Every purchase includes 365 days of free updates, and renewing after expiry costs 50% of the regular price from your member zone. Judge first — material this confident has nothing to hide.
The figures in the overview table above turn into strategy once you treat them as a budget: total time divided by total questions is your per-item allowance, and anything costing double gets flagged for a final sweep instead of a mid-exam standoff. Build the habit under a live timer — TorrentExam's engine sessions enforce one — so the real clock feels like a rehearsal, not a surprise.
The blueprint above spans 3 domains — treat its weightings as a budget. A domain worth of the score earns a matching share of your week, while lighter areas like Advanced Automation get maintained, not marathoned. Walk the full topic list domain by domain, and let the percentages decide where your practice hours land first.
First-line service, around the clock: free online consultation whenever a question stalls you, remote guidance for installation or usage issues, and clear answers to content questions by email. On privacy, the rules are rigid — transactions are secured by McAfee security services, purchase information is never disclosed to third parties, and no spam or telemarketing follows your order.
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.
Create a role called apache in "/home/admin/ansible/roles" with the following
requirements:
--> The httpd package is installed, enabled on boot, and started.
--> The firewall is enabled and running with a rule to allow access to the web server.
--> template file index.html.j2 is used to create the file /var/www/html/index.html
with the output:
Welcome to HOSTNAME on IPADDRESS
--> Where HOSTNAME is the fqdn of the managed node and IPADDRESS is the IP-Address of
the managed node.
note: you have to create index.html.j2 file.
--> Create a playbook called httpd.yml that uses this role and the playbook runs on
hosts in the webservers host group.
Correct Answer:
Solution as:
----------
# pwd
/home/admin/ansible/roles/
# ansible-galaxy init apache
# vim apache/vars/main.yml
---
# vars file for apache
http_pkg: httpd
firewall_pkg: firewalld
http_srv: httpd
firewall_srv: firewalld
rule: http
webpage: /var/www/html/index.html
template: index.html.j2
:wq!
# vim apache/tasks/package.yml
---
- name: Installing packages
yum:
name:
- "{{http_pkg}}"
- "{{firewall_pkg}}"
state: latest
:wq!
# vim apache/tasks/service.yml
---
- name: start and enable http service
service:
name: "{{http_srv}}"
enabled: true
state: started
- name: start and enable firewall service
service:
name: "{{firewall_srv}}"
enabled: true
state: started
:wq!
# vim apache/tasks/firewall.yml
---
- name: Adding http service to firewall
firewalld:
service: "{{rule}}"
state: enabled
permanent: true
immediate: true
:wq!
# vim apache/tasks/webpage.yml
---
- name: creating template file
template:
src: "{{template}}"
dest: "{{webpage}}"
notify: restart_httpd
!wq
# vim apache/tasks/main.yml
# tasks file for apache
- import_tasks: package.yml
- import_tasks: service.yml
- import_tasks: firewall.yml
- import_tasks: webpage.yml
:wq!
# vim apache/templates/index.html.j2
Welcome to {{ ansible_facts.fqdn }} on {{ ansible_facts.default_ipv4.address }}
# vim apache/handlers/main.yml
---
# handlers file for apache
- name: restart_httpd
service:
name: httpd
state: restarted
:wq!
# cd ..
# pwd
/home/admin/ansible/
# vim httpd.yml
---
- name: Including apache role
hosts: webservers
pre_tasks:
- name: pretask message
debug:
msg: 'Ensure webserver configuration'
roles:
- ./roles/apache
post_tasks:
- name: Check webserver
uri:
url: "http://{{ ansible_facts.default_ipv4.address }}"
return_content: yes
status_code: 200
:wq!
# ansible-playbook httpd.yml --syntax-check
# ansible-playbook httpd.yml
# curl http://serverx
===================================================================================
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
Create a playbook that changes the default target on all nodes to multi-user tarqet. Do this in playbook file called target.yml in /home/sandy/ansible
Reveal Solution Discussion 0Correct Answer:
- name: change default target
hosts: all
tasks:
- name: change target
file:
src: /usr/lib/systemd/system/multi-user.target dest: /etc/systemd/system/default.target state: link
===================================================================================
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 user accounts
------------------------
--> A list of users to be created can be found in the file called user_list.yml
which you should download from http://classroom.example.com/user_list.yml and
save to /home/admin/ansible/
--> Using the password vault created elsewhere in this exam, create a playbook called
create_user.yml
that creates user accounts as follows:
--> Users with a job description of developer should be:
--> created on managed nodes in the "dev" and "test" host groups assigned the
password from the "dev_pass"
variable and these user should be member of supplementary group "devops".
--> Users with a job description of manager should be:
--> created on managed nodes in the "prod" host group assigned the password from
the "mgr_pass" variable
and these user should be member of supplementary group "opsmgr"
--> Passwords should use the "SHA512" hash format. Your playbook should work using
the vault password file
created elsewhere in this exam.
while practising you to create these file hear. But in exam have to download as per
questation.
user_list.yml file consist:
---
user:
- name: user1
job: developer
- name: user2
job: manager
Correct Answer:
Solution as:
# pwd
/home/admin/ansible
# wget http://classroom.example.com/user_list.yml
# cat user_list.yml
# vim create_user.yml
---
- name:
hosts: all
vars_files:
- ./user_list.yml
- ./vault.yml
tasks:
- name: creating groups
group:
name: "{{ item }}"
state: present
loop:
- devops
- opsmgr
- name: creating user
user:
name: "{{ item.name }}"
state: present
groups: devops
password: "{{ dev_pass|password_hash ('sha512') }}"
loop: "{{ user }}"
when: (inventory_hostname in groups['dev'] or inventory_hostname in
groups['test']) and item.job == "developer"
- name: creating user
user:
name: "{{ item.name }}"
state: present
groups: opsmgr
password: "{{ mgr_pass|password_hash ('sha512') }}"
loop: "{{ user }}"
when: inventory_hostname in groups['prod'] and item.job == "manager"
:wq!
# ansible-playbook create_user.yml --vault-password-file=password.txt --syntax-check
# ansible-playbook create_user.yml --vault-password-file=password.txt
Create a file called requirements.yml in /home/sandy/ansible/roles to install two roles. The source for the first role is geerlingguy.haproxy and geerlingguy.php. Name the first haproxy-role and the second php-role. The roles should be installed in /home/sandy/ansible/roles.
Reveal Solution Discussion 0Correct Answer:
in /home/sandy/ansible/roles
vim requirements.yml
Run the requirements file from the roles directory:
ansible-galaxy install -r requirements.yml -p /home/sandy/ansible/roles
Viewing page 1 out of 9 pages.
Viewing questions 1-5 out of 42 questions.








