Courseiva
Question 352 of 520
Coordinate rolling updateshardMultiple ChoiceObjective-mapped

Ansible Serial Keyword for Quorum in Rolling Updates

An operations team is designing a rolling update for a stateful application that requires quorum (minimum 3 out of 5 nodes online). They plan to use Ansible's serial keyword. Which serial value ensures the update proceeds without breaking quorum while still being efficient?

Quick Answer

serial: 2 is correct because it is the largest batch size that still respects the quorum requirement stated in the scenario: with 5 nodes total and a minimum of 3 needed online at all times, taking 2 nodes down for the update leaves exactly 3 running, which is the smallest number that still satisfies quorum. Any larger batch size would drop the online count below 3 and break quorum, which for a stateful application could mean data unavailability or a split-brain condition, not just a performance blip, so this is not just about minimizing downtime in a general sense, it is about respecting a hard constraint the application imposes. At the same time, serial: 2 is more efficient than the safer but slower serial: 1, since it updates the fleet in fewer batches while still never crossing the line the application requires. This is the general pattern worth taking away: when a scenario gives you a specific quorum, minimum-online, or capacity constraint alongside a total node count, the correct serial value is the largest batch size that keeps the number of remaining online nodes at or above that stated minimum - go any higher and you violate the constraint, any lower and you are sacrificing efficiency for no additional safety.

⚠ Common exam trap

Candidates often confuse 'quorum' with 'majority' and incorrectly choose serial: 3, thinking that 3 out of 5 is a majority, but fail to realize that taking down 3 nodes leaves only 2 online, which is below the quorum threshold of 3.

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: 2

Setting serial: 2 ensures that only 2 nodes are taken down at a time during the rolling update. With a quorum requirement of 3 out of 5 nodes, taking down 2 nodes leaves 3 online, maintaining quorum. This is the most efficient value that does not risk breaking quorum.

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: 2

    Why this is correct

    Updating 2 nodes leaves 3 online, maintaining quorum, and is efficient.

  • serial: 1

    Why it's wrong here

    Safe but inefficient; only one node updated at a time.

  • serial: 3

    Why it's wrong here

    Updating 3 nodes leaves only 2 online, losing quorum.

  • serial: 5

    Why it's wrong here

    Updating all 5 at once would leave 0 nodes, losing quorum.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

4 more ways this is tested on EX294

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. Which THREE statements correctly describe the behavior of the 'serial' keyword in Ansible? (Choose exactly three.)

hard
  • A.It can be set as a percentage of the total hosts.
  • B.It causes the playbook to run on a subset of hosts at a time.
  • C.It can be combined with max_fail_percentage to control failure thresholds.
  • D.It guarantees that only one task runs across all hosts at any time.
  • E.It applies globally to all plays in the playbook.

Why A: The 'serial' keyword in Ansible can be specified as a percentage (e.g., 'serial: 50%'), which tells Ansible to run the play on that percentage of hosts in the batch at a time. This is useful for controlling the rollout pace across a dynamic inventory where the exact host count may vary.

Variation 2. Which TWO of the following are best practices when coordinating rolling updates with Ansible?

hard
  • A.Define a 'max_fail_percentage' to abort the update if too many hosts fail.
  • B.Use the 'serial' keyword to update a subset of hosts at a time.
  • C.Use 'strategy: free' to allow hosts to run tasks independently.
  • D.Use 'gather_facts: no' to speed up the playbook.
  • E.Set 'any_errors_fatal: true' to stop the update on the first failure.

Why A: 'max_fail_percentage' allows you to define a threshold of host failures (as a percentage of the batch size) that, when exceeded, causes Ansible to abort the entire rolling update. This prevents the update from continuing when too many hosts have failed, which could lead to an inconsistent or degraded state across the infrastructure. Option B is correct because the 'serial' keyword controls the number of hosts (or percentage) that Ansible updates in each batch, ensuring that only a subset of hosts is taken out of service at a time, which maintains overall service availability during the rolling update.

Variation 3. Which TWO options are best practices for coordinating rolling updates with Ansible? (Choose exactly two.)

easy
  • A.Set ignore_errors: yes to ensure the playbook continues even if some hosts fail.
  • B.Use the serial keyword to update hosts in batches.
  • C.Use the default serial setting (all hosts) for simplicity.
  • D.Set max_fail_percentage to limit the number of failed hosts before aborting.
  • E.Run all hosts in parallel to minimize total update time.

Why B: The `serial` keyword in Ansible controls how many hosts are updated at a time during a rolling update, allowing you to update hosts in batches to maintain service availability. This is a best practice for coordinating rolling updates as it prevents overwhelming the infrastructure and ensures that a subset of hosts remains operational while others are being updated.

Variation 4. A large enterprise manages thousands of servers grouped by data center. They are designing a rolling update that must complete within a maintenance window. Which combination of Ansible strategies best minimizes total update time while maintaining safety?

hard
  • A.Set serial: 0 to update all hosts simultaneously.
  • B.Set serial to 10% and max_fail_percentage to 25%.
  • C.Set forks to 100 and max_fail_percentage to 50.
  • D.Set serial to 1 to update one host at a time with max_fail_percentage: 0.

Why B: Setting `serial: 10%` updates hosts in batches of 10% of the inventory, which parallelizes the update across many hosts to minimize total time, while `max_fail_percentage: 25%` provides a safety net by aborting the play if more than 25% of the batch fails, preventing a cascade of failures from taking down the entire data center. This combination balances speed and safety for large-scale rolling updates within a maintenance window.

Last reviewed: Jun 11, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

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.