--- - name: Set the hostname when different from the inventory one. hostname: name={{ hostname }} when: hostname is defined tags: [ 'systemsetup', 'hostname' ] - name: Set the hostname as defined in the inventory hostname: name={{ inventory_hostname }} when: hostname is not defined tags: [ 'systemsetup', 'hostname' ] - name: Add the hostname to /etc/hosts shell: grep -v {{ ansible_default_ipv4.address }} /etc/hosts > /etc/hosts.tmp ; echo "{{ ansible_default_ipv4.address }} {{ hostname }} {{ ansible_hostname }}" >> /etc/hosts.tmp ; /bin/mv /etc/hosts.tmp /etc/hosts when: - hostname is defined - ansible_virtualization_type == 'xen' tags: [ 'systemsetup', 'hostname' ]