Archive for the ‘Ansible’ Category

ansible-vault unexpected exception on Ubuntu

When attempting to edit an ansible-vault file… ansible-vault edit roles/cassandra_backup/vars/test_s3_cfg.yaml The following error was received… ERROR! Unexpected Exception, this is probably a bug: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object Encountered on this version of Ubuntu… Linux xxxxxxxxx 4.15.0-43-generic #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08 […]

Ansible: stop / start services on random hosts

In the coming weeks I’m performing some testing of a new application on a Cassandra cluster. To add a little randomness into some of the tests I thought it would be interesting to give the Cassandra service a little kick. I created a simple Ansible playbook this afternoon that does this. A simple Chaos Monkey […]

Use restview to to make the Ansible rst documentation browsable

The ansible-doc package not only installs the command line tool but also some quite detailed Ansible documentation in rst format. It would be nice if it was browsable in a html format. Here’s how that can happen (Redhat/CentOS) First install pip and restview… sudo yum install python-pip sudo pip install restview This will allow all […]

Create a space-separated list of play_hosts in Ansible

Sometimes I need a list of hosts as a string when working with Ansible. Pacemaker clustering is one example. Here’s a snippet of Ansible that does this.. – name: Setup list of cluster hosts set_fact: host_list: “{{ host_list }}{{ (play_hosts.index(item) == 0) | ternary(”,’ ‘) }}{{ item }}” loop: “{{ play_hosts }}” run_once: yes This […]

Offset cron jobs with Ansible

Sometimes I want to run the same cronjob on a few hosts but I might want to offset them slightly if I’m accessing any shared resources. Here’s an easy way to do that, for a small number of hosts, using Ansible… – name: Ensure cron exists cron: name: Test Job minute: “{{ play_hosts.index(inventory_hostname) }}-59/5” job: […]