Ansible – ssh pipelining

In recent Ansible update to 1.5 version there is really nice feature ssh pipelining. This option is serious alternative to accelerated mode.

Just add to you config file (ex. ~/.ansible.cfg):

[ssh_connection]
pipelining=True

Now run any playbook – you will see the difference 🙂

Source (and extended info about):
http://blog.ansibleworks.com/2014/01/15/ssh-connection-upgrades-coming-in-ansible-1-5/

Ansible – Dynamicaly update /etc/hosts files on target servers

I was configuring GlusterFS on few servers using Ansible and have a need to update /etc/hosts with hostnames for easier configuration. I found this one working:

- name: Update /etc/hosts
  lineinfile: dest=/etc/hosts regexp='.*{{item}}$' line='{{hostvars.{{item}}.ansible_default_ipv4.address}} {{item}}' state=present
  with_items: '{{groups.somegroup}}'

Update – that doesn’t work in Ansible version 2.x, you have to use this:

- name: Update /etc/hosts from inventory
  lineinfile: dest=/etc/hosts regexp='.*{{item}}$' line='{{hostvars[item].ansible_default_ipv4.address}} {{item}}' state=present
  with_items: '{{groups.all}}'
  tags:
    - hosts

Source:
http://xmeblog.blogspot.com/2013/06/ansible-dynamicaly-update-etchosts.html