Errata
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 |
---|---|---|---|---|---|
? Example 7-9 |
Checking for 'not result.failed' will not properly guard against attempts to access a missing 'result.out' variable in cases where the database has already been created as the returned value for result.failed in that situation (as shown in Example 7-6) also false. Note from the Author or Editor: |
Ed Hynes | Nov 13, 2015 | ||
1 Example 9-13 |
"include_vars" is in in the playbook in Example 9-13, 9-19, and 9-20 but it's not defined anywhere in the book. This seems like an important concept and it should be defined somewhere if it's used in the book. Note from the Author or Editor: |
Oscar Silva | Jun 16, 2019 | ||
Printed, PDF, ePub | Page 4 Figure 1-1, the yaml |
The "handlers" section lists the name "notify nginx", whereas the "notify" field of the task refers to "restart nginx". Note from the Author or Editor: |
Anonymous | May 30, 2015 | |
Page 4 Step 3 |
|
Jon Forrest | Nov 06, 2016 | ||
Page 4 Figure 1-1 |
I'm embarrassed to even mention this, but Figure 1-1 says: |
Jon Forrest | Nov 06, 2016 | ||
Page 12 5th paragraph |
Using these specific vagrant sub-commands requires at least version 1.5.x of Vagrant. They will fail on 'vagrant up' if the user is using 1.4.x. |
MarkD | Sep 28, 2015 | ||
Page 33 Last paragraph |
"you can use the --start-at-task <task name> flag to tell ansibleplaybook to start a playbook in the middle of a task," Note from the Author or Editor: |
Jon Forrest | Sep 24, 2016 | ||
Page 35 1st paragraph in "Putting It All Together" section |
"A play associates an unordered set of hosts with an ordered list of task_" |
Jon Forrest | Sep 24, 2016 | ||
Page 42 1st paragraph in "A few things to keep in mind about handlers" |
"Handlers only run after all of the tasks are run, and they only run once, even if they are notified multiple times. They always run in the order that they appear in the play, not the notification order" Note from the Author or Editor: |
Jon Forrest | Sep 24, 2016 | ||
Page 48 near the bottom |
The line "Modify your hosts file so it looks like this:" |
kennethwolcott | Jun 11, 2015 | ||
Page 50 Table 3-2 |
The table shown is repeated from the previous page (Behavioral Inventory parameters). Note from the Author or Editor: |
Anonymous | Jul 27, 2015 | ||
Page 51 near the top |
Actually this is of minor importance, just an annoyance. |
kennethwolcott | Jun 11, 2015 | ||
Printed, PDF, ePub | Page 57 Example 3.6 Specyfying group variables in inventory; section [vagrant:vars] |
Variable db_primary_port=5432 in section[vagrant:vars] is set twice. Note from the Author or Editor: |
Artur Owczarek | May 01, 2015 | |
Page 58 Example 3-7 |
Figure 3-7 should also contain the following two lines: |
Jon Forrest | Nov 19, 2016 | ||
Page 63 Middle of page |
"Our dynamic inventory script will need to call these commands, parse the outputs, and output the appropriate json." |
Jon Forrest | Sep 25, 2016 | ||
Printed | Page 65 after 3rd paragraph |
It would be helpful to add a note or warning that static inventory files cannot have a .ini extension when using multiple files in a directory; these files will be skipped and may lead to a "No hosts matched" error. Note from the Author or Editor: |
Rachel Rawlings | Aug 18, 2015 | |
Page 65 1st paragraph |
"You can grab these by going to the Ansible GitHub repo and Note from the Author or Editor: |
Jon Forrest | Sep 25, 2016 | ||
Page 66 Middle of page |
"Here’s the add_host command in action, bringing up a new vagrant machine" |
Jon Forrest | Sep 25, 2016 | ||
Page 66 Middle of page |
- name: Bring up a vagrant server |
Jon Forrest | Nov 19, 2016 | ||
Page 70 2nd paragraph |
"Ansible also let you define variables" |
Jon Forrest | Nov 19, 2016 | ||
Page 77 1st paragraph in "Local Facts" |
"Ansible will recognize the file if it’s:" |
Jon Forrest | Sep 25, 2016 | ||
Page 77 1st paragraph in "Local Facts" |
"can place one or more files on the host machine" |
Jon Forrest | Nov 19, 2016 | ||
Page 80 last paragraph |
Our configuration file would contain a fragment that looks like this: |
Andrey Hsiao | Feb 03, 2017 | ||
Page 81 2nd paragraph |
"when you want to want to use" |
Jon Forrest | Nov 19, 2016 | ||
Page 81 2nd to last paragraph |
"you’ll need two use quotes like this:" |
Anonymous | Jan 01, 2017 | ||
ePub | Page 85 Example 3-6. Specifying group variables in inventory |
Missing `db_primary_port=5432` in section `[staging:vars]`. Note from the Author or Editor: |
Alexandre Garnier | Nov 02, 2015 | |
Page 87 Last paragraph |
(I'm almost too embarrassed to mention this since it's such a trivial error.) |
Jon Forrest | Sep 26, 2016 | ||
Page 87 Last paragraph |
(Another trivial mistake ...) |
Jon Forrest | Sep 26, 2016 | ||
Page 88 Figure 5-3 |
|
Jon Forrest | Nov 20, 2016 | ||
Page 91 1st paragraph |
The word "database_user" was broken in a strange way. |
Jon Forrest | Nov 20, 2016 | ||
Page 94 Bottom third of page |
(Another trivial typo.) |
Jon Forrest | Sep 27, 2016 | ||
Page 94 1st paragraph in "Updating the Apt Cache" |
"the names of all of the Apt packages" |
Jon Forrest | Nov 20, 2016 | ||
Page 99 2nd line |
"virtualenv" has a bad word break. |
Jon Forrest | Nov 20, 2016 | ||
Page 106 Middle of page |
This is another of those bad word break issues. |
jon@berkeleyparentsnetwork.org | Sep 28, 2016 | ||
Page 108 In the "Passing Environment Variables to Ansible Tasks" section |
The word "environment" is broken incorrectly in two places. |
Jon Forrest | Sep 28, 2016 | ||
Page 109 Example 6-17 |
The text in Example 6-17 appears with syntax coloring, while Examples 6-16 and 6-18 are all have black text. |
Jon Forrest | Nov 25, 2016 | ||
Page 110 Toward the bottom of the page. |
(Another trivial issue) |
Jon Forrest | Sep 28, 2016 | ||
Printed | Page 128 2nd, 3rd,4th code segments |
In the three 'changed_when' examples, the author has changed '"Creating tables" in result.out' to '...not in result.out'. These should remain '"Creating tables" in result.out', as in the first code segment and Examples 7-8 and 7-9. |
Rachel Rawlings | Aug 13, 2015 | |
Printed, PDF, ePub | Page 129 Last code sample in "Retrieving IP Address from the Host" |
live_hostname: "{{ ansible_eth1.ipv4.address }}.xip.io" Note from the Author or Editor: |
Chuck Hudson | May 06, 2015 | |
Page 129 Example 7-10 |
This example appears with colored text, unlike most of the others. |
Jon Forrest | Nov 26, 2016 | ||
Page 131 2nd paragraph of 'Patterns for Specifying Hosts' |
'...which lets will run a play against all known hosts:' |
Anonymous | Jan 03, 2017 | ||
Page 134 1st paragraph |
'... that are useful when a variable contains the path to a variable on the control machine’s filesystem.' |
Anonymous | Jan 03, 2017 | ||
Page 134 Table 7-4 |
Table 7-4 contains no header. Instead the first row of content is formatted as a header. |
Anonymous | Jan 03, 2017 | ||
Page 145 middle of the page |
We could iterate over this dictionary and print out the entries one at a time by doing: |
Andrey Hsiao | Feb 15, 2017 | ||
Page 148 In "Where Does Ansible Look for My Roles?" section. |
(Very minor typo) |
Jon Forrest | Sep 29, 2016 | ||
Page 150 1st paragraph |
"and you wanted to send a notification to Slack channel" |
Jon Forrest | Dec 03, 2016 | ||
Page 150 2nd paragraph |
"and a list of tasks that executes after the roles" |
Jon Forrest | Dec 03, 2016 | ||
Page 154 1st full paragraph |
"Example 8-9 shows the default variables defined on our mezzanine role." |
Jon Forrest | Dec 11, 2016 | ||
Page 163 Toward the bottom of the page. |
"and another session to execute the host." |
Jon Forrest | Sep 30, 2016 | ||
Page 163 4th paragraph |
"This will time how long it takes to indicate an SSH connection" |
Jon Forrest | Jan 02, 2017 | ||
Page 163 2nd to last paragraph |
"and another session to execute the host" |
Jon Forrest | Jan 02, 2017 | ||
Printed | Page 164 Last paragraph |
Text reads: |
Jon Brandenburg | May 30, 2015 | |
Page 165 2nd paragraph |
"There is a built-in Jinja2 filter called join, that will join a list of strings with a delimiter such as a column." |
Jon Forrest | Nov 26, 2016 | ||
Page 168 1st line |
(This is a very trivial error) |
Jon Forrest | Jan 02, 2017 | ||
Page 168 Last paragraph |
(This is another extremely trivial error). |
Jon Forrest | Jan 02, 2017 | ||
ePub | Page 181 `changed_when` examples |
3 examples are: Note from the Author or Editor: |
Alexandre Garnier | Nov 02, 2015 | |
ePub | Page 182-183 Last code of "Retrieving the IP Address from the Host" |
Code is: Note from the Author or Editor: |
Alexandre Garnier | Nov 02, 2015 | |
Printed | Page 193 title of final paragraph |
"Specifying an Alternaive Location for Bash" |
Kerim Satirli | Jul 04, 2015 | |
Page 204 2nd to last paragraph |
"they typically give you provision storage so you can attach and detach |
Jon Forrest | Oct 01, 2016 | ||
Page 206, 207 Bottom of 206, top of 207 |
You contradict yourself. On Page 206 you say: Note from the Author or Editor: |
Jon Forrest | Oct 01, 2016 | ||
Page 208 Example 12-3 |
Now the following URLs are not found. |
Kohei Nozaki | Sep 09, 2015 | ||
Printed | Page 214 footnote no. 8 |
"... but I must admit that I never bothing doing this ..." |
Kerim Satirli | Jul 04, 2015 | |
Printed | Page 218 - 219 Example 12-8. Security groups |
The first two security groups defined here (web and ssh) do not have the region defined. The third and final group (outbound) does like so: |
Jon Brandenburg | Jun 05, 2015 | |
Printed, PDF, ePub | Page 220 Last paragraph of Security Group Ports - 2nd word |
Text states: "The c2_group module ..." |
Jon Brandenburg | May 30, 2015 | |
Printed | Page 227 3rd play: - name: start the instances |
defines the group as following: |
Jon Brandenburg | Jun 05, 2015 | |
Printed | Page 271 1st paragraph |
"... you encounter colleagues who is in clear need" |
Kerim Satirli | Jul 04, 2015 | |
Printed | Page 290 Step 7 - Select "Power User Access." |
Step 7 seems out of date. When I look at the options I am presented with "PowerUserAccess" not "Power User Access" and I do not see anything that resembles the example in C-1, nor the last two sentences in Step 7. Note from the Author or Editor: |
Jon Brandenburg | Jun 04, 2015 |