---
- 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' ]