--- - hosts: all become: yes become_method: sudo tasks: - name: update hosts connection: local git: repo=~git/public/hosts.git dest=/tmp/generate-hosts-{{ ansible_hostname }} - name: generate hosts file connection: local shell: /tmp/generate-hosts-{{ ansible_hostname }}/generate-hosts.py < /tmp/generate-hosts-{{ ansible_hostname }}/hosts.in > /tmp/generate-hosts-{{ ansible_hostname }}/hosts - name: copy hosts file copy: src=/tmp/generate-hosts-{{ ansible_hostname }}/hosts dest=/etc/hosts backup=no - name: etckeeper commit command: etckeeper commit "Update /etc/hosts with ansible" - name: delete local copy connection: local command: rm -rf /tmp/generate-hosts-{{ ansible_hostname }}