EX294 Coordinate rolling updates Practice Question
During a rolling update using an Ansible playbook with serial: 2, one host in the first batch becomes unreachable. The playbook fails with an unreachable host error. How should the administrator proceed to complete the update on the remaining hosts while excluding the problematic host?
⚠ Common exam trap
Watch out — candidates often assume Ansible automatically retries or skips unreachable hosts on subsequent runs, when in fact it will fail again unless the host is explicitly excluded using `--limit` or the connectivity issue is resolved.
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
✓
Use 'ansible-playbook playbook.yml --limit all:!hostname' to exclude the unreachable host.
The `--limit` flag with the pattern `all:!hostname` uses Ansible's inventory host pattern syntax to exclude a specific host from the playbook run. This allows the administrator to rerun the playbook against all hosts except the unreachable one, completing the rolling update without re-attempting the failed host. The `serial: 2` setting is irrelevant once the host is excluded, as the playbook will only target the remaining reachable hosts.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use 'ansible-playbook playbook.yml --forks 1' to slow down the update.
Why it's wrong here
Setting forks does not exclude hosts; it only reduces parallelism.
- ✓
Use 'ansible-playbook playbook.yml --limit all:!hostname' to exclude the unreachable host.
Why this is correct
The `--limit all:!hostname` pattern applies an inventory exclusion, so Ansible targets every host except the unreachable one. This satisfies the requirement to continue the rolling update on remaining hosts while excluding the problematic host, without editing the playbook's serial setting or inventory file.
- ✗
Add 'any_errors_fatal: false' to the playbook and rerun.
Why it's wrong here
any_errors_fatal governs whether a task failure aborts the whole play; unreachable hosts are handled separately, so this does not exclude the host or let remaining batches run. It suits failing fast across all hosts on task errors.
- ✗
Rerun the playbook with the same command; it will skip the unreachable host automatically.
Why it's wrong here
Rerunning the playbook does not skip the unreachable host; Ansible retries it each run, so the same unreachable error halts the batch again. The tempting belief is that Ansible remembers failed hosts between runs, which it does not. That behaviour applies only within a single run via `max_fail_percentage` or `ignore_unreachable`, not across separate invocations.
Go deeper
Related to this question
About these practice questions
This EX294 question is part of Courseiva's 392-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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.