From 2c27aa63e0f631f019ac394eea2065ad19fcabbc Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Fri, 6 Sep 2013 15:19:34 -0500 Subject: [PATCH] Updating docs for max_fail_percentage plus CHANGELOG updates --- CHANGELOG.md | 7 +++++-- docsite/latest/rst/playbooks2.rst | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5d3b4216d..55794d3940 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,8 @@ Highlighted new features: * if --forks exceeds the numbers of hosts, it will be automatically reduced. Set forks to 0 and you get "as many forks as I have hosts" out of the box. * enabled error_on_undefined_vars by default, which will make errors in playbooks more obvious * role dependencies -- one role can now pull in another, with parameters of its own. -* added the ability to have tasks execute even during a check run (always_run) +* added the ability to have tasks execute even during a check run (always_run). +* added the ability to set the maximum failure percentage for a group of hosts. New modules: @@ -26,6 +27,9 @@ New modules: * cloud: linode -- modules for Linode provisioning that also includes inventory support * cloud: route53 -- manage Amazon DNS entries * cloud: ec2_ami -- manages (and creates!) ec2 AMIs +* database: mysql_replication -- manages mysql replication settings for masters/slaves +* database: mysql_variables -- manages mysql runtime variables +* database: redis -- manages redis databases (slave mode and flushing data) * net_infrastructure: arista_interface * net_infrastructure: arista_lag * net_infrastructure: arista_l2interface @@ -37,7 +41,6 @@ New modules: * monitoring: boundary_meter -- adds or removes boundary.com meters * net_infrastructure: dnsmadeeasy - manipulate DNS Made Easy records * files: xattr -- manages extended attributes on files -* database: redis -- manages redis databases (slave mode and flushing data) Misc changes: diff --git a/docsite/latest/rst/playbooks2.rst b/docsite/latest/rst/playbooks2.rst index 0c7eb100b7..a1f0188693 100644 --- a/docsite/latest/rst/playbooks2.rst +++ b/docsite/latest/rst/playbooks2.rst @@ -884,6 +884,27 @@ use case, you can define how many hosts Ansible should manage at a single time b In the above example, if we had 100 hosts, 3 hosts in the group 'webservers' would complete the play completely before moving on to the next 3 hosts. +Maximum Failure Percentage +`````````````````````````` + +.. versionadded:: 1.3 + +By default, Ansible will continue executing actions as long as there are hosts in the group that have not yet failed. +In some situations, such as with the rolling updates described above, it may be desireable to abort the play when a +certain threshold of failures have been reached. To acheive this, as of version 1.3 you can set a maximum failure +percentage on a play as follows:: + + - hosts: webservers + max_fail_percentage: 30 + serial: 10 + +In the above example, if more than 3 of the 10 servers in the group were to fail, the rest of the play would be aborted. + +.. note:: + + The percentage set must be exceeded, not equaled. For example, if serial were set to 4 and you wanted the task to abort + when 2 of the systems failed, the percentage should be set at 49 rather than 50. + Delegation ``````````