--- - name: Fetch /etc/os-release raw: cat /etc/os-release register: os_release changed_when: false environment: {} - name: Set bootstrap_os set_fact: os_family: >- {%- if 'Ubuntu' in os_release.stdout -%} ubuntu {%- elif 'Debian' in os_release.stdout -%} debian {%- elif 'CoreOS' in os_release.stdout -%} coreos {%- elif 'Fedora' in os_release.stdout -%} fedora {%- elif 'CentOS' in os_release.stdout -%} centos {%- elif 'OpenSUSE' in os_release.stdout -%} opensuse {%- elif 'Clear Linux OS' in os_release.stdout -%} clearlinux {%- endif -%} - include_tasks: bootstrap-ubuntu.yml when: os_family == "ubuntu" - include_tasks: bootstrap-debian.yml when: os_family == "debian" - include_tasks: bootstrap-coreos.yml when: os_family == "coreos" - include_tasks: bootstrap-fedora.yml when: os_family == "fedora" - include_tasks: bootstrap-centos.yml when: os_family == "centos" - include_tasks: bootstrap-opensuse.yml when: os_family == "opensuse" - include_tasks: bootstrap-clearlinux.yml when: os_family == "clearlinux" - import_tasks: setup-pipelining.yml - name: Create remote_tmp for it is used by another module file: path: "{{ lookup('config', 'DEFAULT_REMOTE_TMP', on_missing='skip', wantlist=True) | first | default('~/.ansible/tmp') }}" state: directory mode: 0700 - name: Gather nodes hostnames setup: gather_subset: '!all' filter: ansible_* - name: Assign inventory name to unconfigured hostnames (non-CoreOS and Tumbleweed) hostname: name: "{{inventory_hostname}}" when: - override_system_hostname - ansible_os_family not in ['Suse', 'CoreOS', 'Container Linux by CoreOS', 'ClearLinux'] - name: Assign inventory name to unconfigured hostnames (CoreOS and Tumbleweed only) command: "hostnamectl set-hostname {{inventory_hostname}}" register: hostname_changed when: - override_system_hostname - ansible_os_family in ['Suse', 'CoreOS', 'Container Linux by CoreOS', 'ClearLinux'] - name: Update hostname fact (CoreOS and Tumbleweed only) setup: gather_subset: '!all' filter: ansible_hostname when: - hostname_changed.changed