EX294 Coordinate rolling updates Practice Question
An administrator wants to update a web server fleet with minimal downtime. They need to update each server one at a time. Which Ansible playbook directive should be used?
⚠ Common exam trap
Test-takers frequently confuse `serial` with `forks` or `throttle`, mistakenly thinking that limiting parallel task execution (`forks: 1`) or task concurrency (`throttle: 1`) achieves the same one-at-a-time host update behavior, but only `serial` controls the batch size of hosts processed sequentially.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
serial: 1
The `serial: 1` directive in an Ansible playbook controls the batch size of hosts that are updated simultaneously. Setting it to 1 ensures that only one host is updated at a time, which minimizes downtime by allowing the rest of the fleet to remain available while each server is sequentially updated.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
throttle: 1
Why it's wrong here
throttle: 1 limits concurrent hosts per task but does not guarantee sequential, one-at-a-time execution across the whole play, since it applies per task rather than per host. serial: 1 is the directive that batches hosts one at a time. throttle is tempting for rate-limiting, yet it fails this rolling-update requirement.
- ✗
forks: 1
Why it's wrong here
forks: 1 limits parallel execution to one host at a time, but it does not guarantee ordered, one-by-one rolling updates across the fleet; serial does. It is tempting because forks controls concurrency, and would be correct when reducing parallel task execution to ease controller load.
- ✓
serial: 1
Why this is correct
The serial directive controls how many hosts Ansible targets per batch. Setting serial: 1 processes each server individually, ensuring only one host is updated at a time, which satisfies the requirement for minimal downtime across the fleet.
- ✗
max_fail_percentage: 0
Why it's wrong here
max_fail_percentage: 0 aborts the whole play once any single host fails, which halts the rolling update rather than sequencing it. It is tempting because it governs failure tolerance during batch runs, and would suit a play where any host failure must stop deployment immediately.
Go deeper
Related to this question
About these practice questions
One of 392 original EX294 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This EX294 practice question is part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the EX294 exam.