Ansible: Up and Running

Errata for Ansible: Up and Running, Third Edition

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Page Not Applicable
Figure 1-1

In the tasks section, the name ‘Install config file’ has the following statement: “notify: restart nginx” but in the handlers section, the name is “notify nginx”. The name of the handler should probably be changed to match the notify directive.

Note from the Author or Editor:
This was caught before the 3rd edition went to print.

David Goldsmith  Oct 29, 2021 
Page n/a
Chapter 2, Example 2-9. playbooks/webservers-tls.yml

A task to enable the web server configuration, by linking /etc/nginx/sites-enabled/default to /etc/nginx/sites-available/default (or "{{ conf_file }}"), is omitted from playbooks/webservers-tls.yml. If the reader has run webservers.yml and webservers2.yml playbooks from earlier in the chapter then this isn't an issue, but if not, or the Vagrant VM has since been destroyed, the playbook will fail to fully-configure the web server.

Note from the Author or Editor:
This was caught before the 3rd edition went to print.

Simon Ward  Feb 17, 2022 
Page n/a
Chapter 3, Example 3-3. Vagrantfile with three servers (

The first line of the Vagrantfile in Example 3-3 is missing underscores ("_") between the words in the variable name. Replace:




This is correct in the ansiblebook repository at

Note from the Author or Editor:
This was caught before the 3rd edition went to print.

Simon Ward  Feb 17, 2022 
Page n/a
9. Customizing Hosts, Runs, And Handlers Running on a Batch of Hosts at a Time the description under figure Example 9-8

In the preceding play, with 30 CDN hosts, Ansible would run against one host on the first batch run, and on each subsequent batch run it would run against at most 30% of the hosts (for instance, 1, 10, 10, and 9).

=> "1, 9, 9, 9, and 2" is correct, not "1, 10, 10, and 9".

Note from the Author or Editor:
This was fixed before going to print with the 3rd edition.

YUBI LEE  Mar 29, 2022 
Page Chapter 10 - Error handling with Blocks
Example 10-30. Error-agnostic application-upgrade playbook

The example at 10-29 and 10-30 differs but also it says that the objetive is ¨If all we want to do is get upgraded VMs back to the load-balancer cluster, the play will look a bit different". Accordingly to Ansible documentation, this is not true since:

"If an error occurs in the block and the rescue task succeeds, Ansible reverts the failed status of the original task for the run and continues to run the play as if the original task had succeeded."
meaning that the snapshot is reverted and the hosts with a failed upgrade are added back to the load balancer with the previous version of the application.

Note from the Author or Editor:
Thanks Victor, this issue has been fixed in the sample code on

Víctor  Oct 27, 2022 
Page 28
Last paragraph just before Example 1-2

spelling mistake.
Last sentence in paragraph: "... when connecting toother servers...."
should be: "... when connecting to other servers...."

Stephan Goeting  Jul 15, 2021