--- - name: "Set hostnames for systems based on variables" hosts: all gather_facts: True become: true tasks: - name: Show facts gathered-- inventory_hostname debug: msg: "inventory_hostname is {{ inventory_hostname }}" ######################################## RH-Like Distros ############################################################ - name: Set hostnames using redhat method if distro is RH-like and major version below 7 hostname: name: "{{ inventory_hostname }}" use: redhat when: - ansible_facts['ansible_os_family'] == 'RedHat' - ansible_facts['distribution_major_version'] <= '7' ignore_errors: yes - name: Set hostnames using systemd if distro is RH-like and major version is 7 or higher hostname: name: "{{ inventory_hostname }}" use: systemd when: - ansible_facts['ansible_os_family'] == 'RedHat' - ansible_facts['distribution_major_version'] >= '7' ignore_errors: yes ######################################## Deb-like Distros ############################################################# - name: Set hostnames using debian method if distro is Deb-like hostname: name: "{{ inventory_hostname }}" use: debian when: - ansible_facts['ansible_os_family'] == 'Debian' ignore_errors: yes