Courseiva

EX294 Coordinate rolling updates Practice Question

You are designing a rolling update playbook for a 20-node application cluster. The application requires that no more than 25% of the nodes be unavailable at any time. You want Ansible to automatically pause the play if the failure rate within a batch exceeds a threshold, so that you can investigate before continuing. Which play-level keyword should you use?

⚠ Common exam trap

Candidates often confuse `max_fail_percentage` with `any_errors_fatal` or `serial`. `max_fail_percentage` is the only keyword that lets you define a percentage-based failure threshold per batch, while `serial` only controls batch size and `any_errors_fatal` aborts on any single error.

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

✓

`max_fail_percentage`

The `max_fail_percentage` keyword is designed to abort a play when the failure rate within a batch exceeds a given percentage. By setting it to 25, Ansible will stop the rolling update if more than 25% of the hosts in a batch fail, matching the application's availability requirement. This provides an automatic safety check during the update.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    `serial`

    Why it's wrong here

    `serial` controls the number of hosts updated per batch, not the failure threshold. While it can limit the impact of a failure by reducing batch size, it does not automatically abort the play when a certain percentage of hosts fail. It only defines how many hosts are targeted at once, so it does not satisfy the requirement to pause based on failure rate.

  • ✗

    `any_errors_fatal`

    Why it's wrong here

    `any_errors_fatal` causes the entire play to fail immediately when any host encounters an error, regardless of the number of hosts. This is too strict for a rolling update where a single host failure might be acceptable within the allowed unavailability. It does not provide a percentage-based threshold and would abort on the first error.

  • ✗

    `ignore_errors`

    Why it's wrong here

    `ignore_errors` allows a task to continue even if it fails, which is the opposite of what you need. It would mask failures and not pause the play, potentially leaving hosts in an inconsistent state. It does not provide any mechanism to stop the rolling update based on failure percentage.

  • ✓

    `max_fail_percentage`

    Why this is correct

    `max_fail_percentage` is a play-level keyword that aborts the play if the percentage of hosts that fail in a batch exceeds the specified value. In this scenario, setting it to a value that corresponds to the allowed unavailability (e.g., 25) will cause Ansible to stop the rolling update when too many hosts fail, allowing you to investigate before more batches are affected.

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 →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Red Hat exam blueprint

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.