set_hostnames.yaml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. ---
  2. - name: "Set hostnames for systems based on variables"
  3. hosts: all
  4. gather_facts: True
  5. become: true
  6. tasks:
  7. - name: Show facts gathered-- inventory_hostname
  8. debug:
  9. msg: "inventory_hostname is {{ inventory_hostname }}"
  10. ######################################## RH-Like Distros ############################################################
  11. - name: Set hostnames using redhat method if distro is RH-like and major version below 7
  12. hostname:
  13. name: "{{ inventory_hostname }}"
  14. use: redhat
  15. when:
  16. - ansible_facts['ansible_os_family'] == 'RedHat'
  17. - ansible_facts['distribution_major_version'] <= '7'
  18. ignore_errors: yes
  19. - name: Set hostnames using systemd if distro is RH-like and major version is 7 or higher
  20. hostname:
  21. name: "{{ inventory_hostname }}"
  22. use: systemd
  23. when:
  24. - ansible_facts['ansible_os_family'] == 'RedHat'
  25. - ansible_facts['distribution_major_version'] >= '7'
  26. ignore_errors: yes
  27. ######################################## Deb-like Distros #############################################################
  28. - name: Set hostnames using debian method if distro is Deb-like
  29. hostname:
  30. name: "{{ inventory_hostname }}"
  31. use: debian
  32. when:
  33. - ansible_facts['ansible_os_family'] == 'Debian'
  34. ignore_errors: yes