--- - name: Determining whether we need become=true hosts: localhost gather_facts: false tasks: - name: Get stats of {{ node_config }} ansible.builtin.stat: path: "{{ node_config }}" register: st - name: Set become fact ansible.builtin.set_fact: needs_root: "{{ not (st.stat.writeable | bool) }}" - name: Creating clouds.yaml file on the deploy node hosts: localhost tasks: - name: Template out clouds.yaml become: "{{ needs_root }}" ansible.builtin.template: src: "templates/clouds.yaml.j2" dest: "{{ node_config }}/clouds.yaml" owner: "{{ ansible_facts.user_uid }}" group: "{{ ansible_facts.user_gid }}" mode: "0600" - name: Creating admin openrc file on the deploy node hosts: localhost tasks: - name: Template out admin-openrc.sh become: "{{ needs_root }}" ansible.builtin.template: src: "templates/admin-openrc.sh.j2" dest: "{{ node_config }}/admin-openrc.sh" owner: "{{ ansible_facts.user_uid }}" group: "{{ ansible_facts.user_gid }}" mode: "0600" - name: Template out admin-openrc-system.sh become: "{{ needs_root }}" ansible.builtin.template: src: "templates/admin-openrc-system.sh.j2" dest: "{{ node_config }}/admin-openrc-system.sh" owner: "{{ ansible_facts.user_uid }}" group: "{{ ansible_facts.user_gid }}" mode: "0600" - name: Template out public-openrc.sh become: "{{ needs_root }}" ansible.builtin.template: src: "templates/public-openrc.sh.j2" dest: "{{ node_config }}/public-openrc.sh" owner: "{{ ansible_facts.user_uid }}" group: "{{ ansible_facts.user_gid }}" mode: "0600" - name: Template out public-openrc-system.sh become: "{{ needs_root }}" ansible.builtin.template: src: "templates/public-openrc-system.sh.j2" dest: "{{ node_config }}/public-openrc-system.sh" owner: "{{ ansible_facts.user_uid }}" group: "{{ ansible_facts.user_gid }}" mode: "0600" - name: Template out octavia-openrc.sh ansible.builtin.import_role: name: octavia tasks_from: openrc.yml vars: octavia_openrc_become: "{{ needs_root }}" when: enable_octavia | bool