You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
3.0 KiB

  1. ---
  2. - name: Fetch /etc/os-release
  3. raw: cat /etc/os-release
  4. register: os_release
  5. changed_when: false
  6. # This command should always run, even in check mode
  7. check_mode: false
  8. - include_tasks: bootstrap-centos.yml
  9. when: '''ID="centos"'' in os_release.stdout_lines or ''ID="ol"'' in os_release.stdout_lines or ''ID="almalinux"'' in os_release.stdout_lines'
  10. - include_tasks: bootstrap-amazon.yml
  11. when: '''ID="amzn"'' in os_release.stdout_lines'
  12. - include_tasks: bootstrap-redhat.yml
  13. when: '''ID="rhel"'' in os_release.stdout_lines'
  14. - include_tasks: bootstrap-clearlinux.yml
  15. when: '''ID=clear-linux-os'' in os_release.stdout_lines'
  16. # Fedora CoreOS
  17. - include_tasks: bootstrap-fedora-coreos.yml
  18. when:
  19. - '''ID=fedora'' in os_release.stdout_lines'
  20. - '''VARIANT_ID=coreos'' in os_release.stdout_lines'
  21. - include_tasks: bootstrap-flatcar.yml
  22. when: '''ID=flatcar'' in os_release.stdout_lines'
  23. - include_tasks: bootstrap-debian.yml
  24. when: '''ID=debian'' in os_release.stdout_lines or ''ID=ubuntu'' in os_release.stdout_lines'
  25. # Fedora "classic"
  26. - include_tasks: bootstrap-fedora.yml
  27. when:
  28. - '''ID=fedora'' in os_release.stdout_lines'
  29. - '''VARIANT_ID=coreos'' not in os_release.stdout_lines'
  30. - include_tasks: bootstrap-opensuse.yml
  31. when: '''ID="opensuse-leap"'' in os_release.stdout_lines or ''ID="opensuse-tumbleweed"'' in os_release.stdout_lines'
  32. - name: Create remote_tmp for it is used by another module
  33. file:
  34. path: "{{ ansible_remote_tmp | default('~/.ansible/tmp') }}"
  35. state: directory
  36. mode: 0700
  37. # Workaround for https://github.com/ansible/ansible/issues/42726
  38. # (1/3)
  39. - name: Gather host facts to get ansible_os_family
  40. setup:
  41. gather_subset: '!all'
  42. filter: ansible_*
  43. - name: Assign inventory name to unconfigured hostnames (non-CoreOS, non-Flatcar, Suse and ClearLinux)
  44. hostname:
  45. name: "{{ inventory_hostname }}"
  46. when:
  47. - override_system_hostname
  48. - ansible_os_family not in ['Suse', 'Flatcar Container Linux by Kinvolk', 'ClearLinux'] and not is_fedora_coreos
  49. # (2/3)
  50. - name: Assign inventory name to unconfigured hostnames (CoreOS, Flatcar, Suse and ClearLinux only)
  51. command: "hostnamectl set-hostname {{ inventory_hostname }}"
  52. register: hostname_changed
  53. become: true
  54. changed_when: false
  55. when:
  56. - override_system_hostname
  57. - ansible_os_family in ['Suse', 'Flatcar Container Linux by Kinvolk', 'ClearLinux'] or is_fedora_coreos
  58. # (3/3)
  59. - name: Update hostname fact (CoreOS, Flatcar, Suse and ClearLinux only)
  60. setup:
  61. gather_subset: '!all'
  62. filter: ansible_hostname
  63. when:
  64. - override_system_hostname
  65. - ansible_os_family in ['Suse', 'Flatcar Container Linux by Kinvolk', 'ClearLinux'] or is_fedora_coreos
  66. - name: "Install ceph-commmon package"
  67. package:
  68. name:
  69. - ceph-common
  70. state: present
  71. when: rbd_provisioner_enabled|default(false)
  72. - name: Ensure bash_completion.d folder exists
  73. file:
  74. name: /etc/bash_completion.d/
  75. state: directory
  76. owner: root
  77. group: root
  78. mode: 0755