Since many book sales platforms don't allow easy book revisioning, this page will collect all known flaws in Ansible for DevOps, starting with the 1.0 release (as tracked on LeanPub).
If you'd like to report an error or suggest an improvement, please post an issue in the Ansible for DevOps issue queue on GitHub.
Version 1.17 - Current
- No errata at this time.
Version 1.16 - 1.17
- Updated Mac Ansible install instructions in chapter 1 (thanks to @vtraida!).
- Install Django version 1.x in chapter 3 example so it works with CentOS 7 out of the box (thanks to @everett-toews!).
- Tidied up ntpd service detection in example script in chapter 2 (thanks to Germain G!).
- Added more detailed current book publication stats in the preface (thanks to vinceskahan!).
- Removed mention of nonexistent
host_vars/all
inventory file in chapter 5 (thanks to @vaygr!).
- Updated link to Hashicorp's Vagrant box directory in chapter 2 (thanks to bryankennedy!).
- Added note about overcoming host key prompts when connecting to a server for the first time in chapter 3 (thanks to i-zu!).
- Mention
.bash_login
instead of repeating .bash_profile
ad nauseam in chapter 5 (thanks to jdavid5815!).
- Fixed a typo in chapter 6 (thanks to jdavid5815!).
- Add
become: yes
to playbook example for Node.js App deployment in chapter 4 (thanks to krystan!).
- Fixed a typo in chapter 5 (thanks to nkabir!).
- Use https for Drupal.org git repository in chapter 4 and chapter 6 includes examples (thanks to dglinder!).
- Add chapter 13, dedicated to Docker and Ansible. Move Docker content from chapter 8 into this new chapter.
- Updated cowsay quote in chapter 8 (moved it's cowsay to chapter 13).
- Add Hubot Slack bot example in chapter 13.
- Add chapter 14, dedicated to Kubernetes and Ansible.
- Fixed typo in MySQL example in chapter 8 (thanks to ck05!).
- Install dependency
libssl-dev
to ensure self-signed cert example works in chapter 12.
- Fix spelling errors in chapter 13.
- Standardize on spelling 'web server' instead of 'webserver'.
- Adjusted Remi's repo and GPG key URLs to use https (thanks to scottdavis99!).
Version 1.15 - 1.16
- Updated example
Dockerfile
s; removed usage of deprecated MAINTAINER
property.
- Updated HAProxy example in chapter 9 to use
with_items: "{{ variable }}"
syntax.
- Updated Includes and Role vars examples in chapter 6 to use
with_items: "{{ variable }}"
syntax.
- Fixed withitems and withindexed_items syntax in chapter 8 AWS LAMP infrastructure example (thanks to Ben K!).
- Switch the
memcached_listen_ip
to 0.0.0.0
in chapter 8 LAMP infrastructure example so Memcached starts more reliably.
- Use 64-bit CentOS image in chapter 8 DigitalOcean LAMP infrastructure example (thanks to @mattjmcnaughton!).
- Updated URLs for Cobbler and Func in introduction (thanks to @codeyy!).
- Added chapter 12: "Automating HTTPS and TLS Certificates".
- Switch from using '.dev' to '.test' for local domains.
- Switch from using
ansible.sudo
to ansible.become
in Vagrantfiles.
- Fix typo in chapter 11 (double 'a's) (thanks to bngsudheer!).
- Switch incorrect usage of 'most any' to 'almost any' in chapter 11 (thanks to @Gogowitsch!).
- Updated now-deprecated use of
include:
to import_tasks:
or include_tasks:
.
- Fixed three typos spotted by Amazon Kindle's AI bot that loves good spelling.
- Updated DigitalOcean provisioning example in chapter 8 to work with new size and image slugs.
- Updated Docker Flask example in chapter 8 to use Ubuntu 16.04 and library MySQL image.
- Updated use of
include:
to import_playbook:
in examples in chapter 9.
- Updated DigitalOcean playbook to use new size and image slugs in chapter 7.
Version 1.14 - 1.15
- Updated the
creates
examples in chapter 4's Drupal example to be Composer-specific (thanks to @santisaez!).
- Updated the Drupal example to default to Drupal
8.2.x
(was 8.1.x
).
- Updated the Drupal example to use PHP 7.1 instead of 7.0.
- Updated the Drupal example to install Ondrej's updated and maintained PPA (thanks to @jonleibowitz!).
- Rewrote appendix a in light of the Windows 10 WSL and Bash on Ubuntu on Windows.
- Updated documentation to switch from deprecated
always_run: yes
to check_mode: no
.
- Fixed Node.js rolling deployment example's
forever
usage in chapter 9 (thanks to @mattjmcnaughton!).
- Fixed bare variable warning for
environment
setting in chapter 9 Rails deployment playbook.
- Fixed Drupal playbook example in chapter 4; drush git checkout is now
version: 8.x
(thanks to @cwardgar, @rschmidtz, and @scarroy!).
- Fixed Docker example in chapter 8;
docker
module is deprecated, use the docker_container
module instead.
- Fixed Drupal playbook includes example in chapter 6 (to match tasks from chapter 4 Drupal playbook) (thanks to @cwardgar!).
- Fixed reference to
docker-py
Pip library (now it's just docker
) in chapter 8.
- Switched Jenkins example in chapter 11 to use Ubuntu 16.04 since CentOS 7 doesn't include Java 8 by default.
- Removed deprecated
{{ var }}
syntax from Node.js when
clauses in examples in chapters 4 and 5.
- Fixed links to various Ansible Galaxy roles that were 404'ing.
- Updated Solr example in chapter 4 to use Solr 6.5.1.
Version 1.13 - 1.14
- Fixed typo in Node.js app section in chapter 4 (thanks to @guntbert!).
- In chapter 1, when installing Ansible on Mac via
pip
, don't use sudo
(thanks to @rdonkin!).
- In chapter 4, an incorrect use of 'play' was replaced with 'task' in 'Power Plays' (thanks to @guntbert!).
- In chapters 3, 8, and 11, updated multiple instances of
-s
and --sudo
in ad-hoc commands; should use -b
and --become
instead (thanks to @charleshepner!).
- Fixed typo:
s/infrasturcture/infrastructure
in chapter 9 (thanks to /u/levelupirl!).
- Rewrote entire Travis CI testing section in chapter 11 to use Docker for multi-platform tests.
- Added a note on SSH key IDs in chapter 7 and chapter 8 DigitalOcean examples (thanks to @tychay!).
- Fixed playbook name (was
do_test
, should be provision
) in chapter 7 (thanks to @tychay!).
- Removed deprecated include variables usage example in chapter 6 in 'Includes' section (thanks to @williamt!).
- Added
unzip
dependency to Drupal example in chapter 4 (thanks to @wurzeldub!).
Version 1.12 - 1.13
- Updated DigitalOcean example in chapter 7 to use DO v2 API, as well as updated nomenclature in Ansible 1.9.5/2.0+. See updated example in the book's repository: DigitalOcean Example.
- Updated DigitalOcean example in chapter 8 to use DO v2 API. See updated example in the book's repository: LAMP Infrastructure - DigitalOcean example.
Version 1.11 - 1.12
- Updated links to resources in Introduction, removed link to defunct Ansible Weekly newsletter.
- Fixed grammar mistakes in parts of the Foreword, Preface, and Introduction.
- Updated URLs to Vagrant resources in chapter 2.
- Added note about cleaning up example VM with
vagrant destroy
in chapter 2.
- Use [linked clones](https://www.vagrantup.com/docs/virtualbox/configuration.html#linked-clones) in Vagrantfiles for faster build in chapters 3, 7, 8, 9, and 11.
- Added 'Manage packages' section in chapter 3 to discuss different package modules like
package
, yum
, and apt
.
- Switched usage of
sudo
and sudo
-related CLI options to become
lingo for 1.9+.
- Updated Drupal playbook example in chapter 4 to use Ubuntu 16.04 LTS and PHP 7.
- Updated Apache Solr playbook example in chapter 4 to use Ubuntu 16.04 LTS and Solr 6.1.0.
- Added example images of running Drupal and Apache Solr home pages in chapter 4.
Version 1.1 - 1.11
- Fixed Apache Solr mirror URL in chapter 4—should be
https://archive.apache.org/dist/lucene/solr/{{ solr_version }}/solr-{{ solr_version }}.tgz
(thanks to @daniloradenovic!).
- Updated Drupal example in chapter 4 for Ubuntu 14.04 and PHP 5.6 (see this commit for specific changes; thanks to @e1nh4nd3r!).
- Updated Node.js app server example in chapter 4 to use
yum
for Remi repo install (see this commit for specific changes).
- Update a few lines for Ansible 2.1.x support.
- Fixed 'Variable Precedence' section in chapter 5 for Ansible 2.x (see Ansible's updated documentation on Variable Precedence; thanks to @daniel!).
- Updated misspellings of 'RedHat' to 'Red Hat' or 'RHEL' when referring to the OS.
Version 1.0 - 1.1
- Fixed sentence describing use of
serial: 2
in chapter 9 (inside "Ensuring zero downtime with serial
" section).
- Fixed sentence describing SSH password behavior in chapter 10 (inside "SSH" section). The sentence about disabling password-based SSH authentication should read "Even though passwords are not sent in the clear".
- Fixed private key destination path in example in chapter 6 (inside "Includes" section). The private key destination should read:
dest: "/home/{{ username }}/.ssh/{{ item.dest }}"
- Fixed order of
vars_files
includes in example in chapter 5 (inside "Playbook Variables" section). The example should read:
---
- hosts: example
vars_files:
- "apache_default.yml"
- "apache_{{ ansible_os_family }}.yml"
tasks:
- service: name={{ apache }} state=running
- Updated usage of
become
instead of now-deprecated sudo
throughout book and examples (thanks to David!).
- Fixed task name text in idempotence example in chapter 4 (thanks to Joel S!).
- Fixed Node.js Forever installation in chapter 4 and chapter 6 due to Ansible
npm
module bug; state=latest
is now state=present
(thanks to Stephen W!).
- Add
geerlingguy.php-mysql
role to LAMP server example in chapter 6 (thanks to Paul M!).
- Fixed typo in "Configure PHP with
lineinfile
" example in chapter 4 (thanks to Adrian!).
- Fixed script name
digital_ocean.py
in bullet point 5 under the DigitalOcean dynamic inventory section in chapter 7 (thanks to Adrian!).
Back to Ansible for DevOps home