Avatar (Fabio Alessandro Locati|Fale)'s blog

Ansible Tower in Vagrant

July 26, 2017

A lot of times during my job I found myself with the need of Ansible Tower testing environments. In the last few weeks I created a Vagrant script to actually automate it. As this is a single host installation, which is usually more than enough for the majority of tests I do, the Vagrant file is very easy: Vagrant.configure(2) do |config| # Set machine size config.vm.provider :libvirt do |domain| domain.memory = 2048 domain.

Read More

AnsibleFest London 2017

June 23, 2017 - London, UK

This year, I decided to go to AnsibleFest. Since the day before AnsibleFest, an Ansible Contributor Conference was scheduled, I decided to partecipate to both. On Wednesday morning I arrived to the location and I had the pleasure of speaking with few people before the begin of the Contributor Conference. The Contributor Conference was very interesting and I had the occasion to speak with many other people over the course of the day.

Read More

PostgreSQL streaming replication for Ansible Tower

May 31, 2017

Ansible Tower 3.1 has recently been released, and it does implement real HA. In fact, up to version 3.0, Ansible Tower multi-node installation, only allowed a single machine to be primary and the switch was not possible in an automated fashion, so if the primary Ansible Tower would have collapsed, an operator should have promoted one of the secondary Ansible Tower to be primary to be able to carry on the work.

Read More

Vagrant etcd cluster

March 21, 2017

Sometimes I need to do some tests which are destructive and I need to perform them over and over until I figure out a process that reliably brings me to a desired state. I usually create some kind of easy to provision environments and work on it. In the last few weeks I found myself working on an etcd cluster, so I created an environment with Vagrant, and since I had to write the majority of this by myself, since I have not found anything on Google that suited my needs, I’m going to share this with you.

Read More

Ansible Inventories

March 1, 2017

I often receive questions about Ansible Inventories (far more often than any other Ansible component). My guess is that Inventories are effectively among the most complex things in Ansible. Ansible Inventories are complex in the following ways: After you have decided an Inventory model is hard to change it, in fact you would probably be required to touch all your Playbooks to make everything working again There is not a single way of doing Inventories Often Inventories are the glue to make a generic Playbook run properly on your specific architecture.

Read More

Avoid Ansible Galaxy (as default option)

December 13, 2016

When I speak with people that are starting with Ansible from Puppet, the first thing they want to experiment is Ansible Galaxy. This leaves me very sceptical, since I think the default mode in Ansible should be DIY. Since I’ve found myself in this situation far to many times, I decided to write down all the reasons why you should avoid Ansible Galaxy in the majority of situations. Using Ansible Galaxy often violates the Ansible way.

Read More

Speedup Ansible

December 1, 2016

The single most frequent complain I hear about Ansible is about it’s slowness. This is very common, but even more common among people that used to use Puppet. There are many reasons why Ansible is slower than Puppet. The three main reasons are: Linear execution: Ansible will execute each operation in order and will not run many steps at the same time as Puppet does. SSH Connection: all Ansible commands will be issued from the control system to the controlled system via SSH.

Read More

Learning Ansible 2 - Second Edition

Published on November 21, 2016
Authored by Fabio Alessandro Locati
Published by Packt Publishing Limited

Ansible is an open source automation platform that assists organizations with tasks such as configuration management, application deployment, orchestration, and task automation. With Ansible, even complex tasks can be handled easier than before. In this book, you will learn about the fundamentals and practical aspects of Ansible 2 by diving deeply into topics such as installation (Linux, BSD, and Windows Support), Playbooks, modules, various testing strategies, provisioning, deployment, and orchestration. In this book, you will get accustomed with the new features of Ansible 2 such as cleaner architecture, task blocks, Playbook parsing, new execution strategy plugins, and modules.

Read More Buy it on Packt Buy it on Amazon

Ansible Tower High Availability maintenance

September 28, 2016

IMPORTANT NOTICE: This article deals with Ansible Tower <= 3.0. If you are looking for information around Ansible Tower >= 3.1, please look my newer article on the topic. In the last few months I’ve setted up multiple times Ansible Tower, but I’ve noticed that there is not much documentation on how to perform basic maintenance on Ansible Tower High Availability setup, so I decided to write an article about it.

Read More

Escaping Ansible variables

July 11, 2016

Recently a customer asked me to help him debug an Ansible Playbook that was throwing a very generic error that was not helping at all. The error was: ERROR! Syntax Error while loading YAML. As soon as I saw the error, I already guessed which problems could trigger such error: it’s either a bad usage of spaces, a badly escaped column within a value, or a variable escaping problem. With a couple of grep runs, I identified it as the variable escaping problem.

Read More