--- - name: Bootstrap hosts: "{{ host }}" become: true handlers: - import_tasks: handlers/main.yml pre_tasks: - name: Check if ansible cannot be run here stat: path: /etc/no-ansible register: no_ansible - name: Verify if we can run ansible assert: that: - "not no_ansible.stat.exists" success_msg: "We are able to run on this node" fail_msg: "/etc/no-ansible exists - skipping run on this node" tasks: - name: Loading Variables from OS Common import_tasks: tasks/common_vars.yml - name: Bootstrap ansible become: true shell: scripts/bootstrap-ansible.sh args: chdir: /opt/openstack-ansible/ creates: /etc/ansible/ tags: - bootstrap #- name: Fix roles # become: true # ansible.builtin.shell: # cmd: "{{ item }}" # with_items: # - grep -ril 'openstack.config_template.' /etc/ansible/roles/ | xargs sed -i.bak 's,openstack.config_template.,,g' # - grep -ril 'openstack.osa.provider_networks' /etc/ansible/roles/ | xargs sed -i.bak 's,openstack.osa.provider_networks,provider_networks,g' # - grep -ril 'openstack.osa.db_se' /etc/ansible/roles/ | xargs sed -i.bak 's,openstack.osa.provider_networks,provider_networks,g' # tags: # - temporary # - ansible # - bootstrap - name: Deploy and setup configuration when: not aio_install | default('true') # bootstrap-AIO script instead does these things. block: - name: Copy template to etc ansible.builtin.copy: remote_src: yes src: /opt/openstack-ansible/etc/openstack_deploy/ dest: /etc/openstack_deploy/ directory_mode: yes force: no - name: Copy distributed openstack configs ansible.builtin.copy: src: "files/{{ item }}.yml" dest: /etc/openstack_deploy/ mode: '0644' with_items: - openstack_user_config - name: Create secrets become: true ansible.builtin.shell: cmd: /opt/openstack-ansible/scripts/pw-token-gen.py --file /etc/openstack_deploy/user_secrets.yml tags: secrets args: creates: /etc/openstack_deploy/user_secrets.yml.tar - import_tasks: tasks/python3-lxc.yml - name: "[AIO] Deploy and setup configuration / bootstrap" when: aio_install | default('false') block: - name: Debug - Running AIO bootstrap debug: var: aio_install - name: Run bootstrap aio with included args ansible.builtin.shell: scripts/bootstrap-aio.sh become: true args: chdir: /opt/openstack-ansible/ creates: /etc/openstack_deploy/ environment: SCENARIO: "{{ SCENARIO | default('') }}" tags: - bootstrap - aio #- name: Create volume group for cinder # lvg: # pv_options: --metadatasize=2048 # pvs: "{{ cinder_pv_device | default('/dev/vdb') }}" # vg: cinder-volumes - name: Copy common openstack configs ansible.builtin.copy: src: "files/{{ item }}.yml" dest: /etc/openstack_deploy/ mode: '0644' with_items: - user_lxc - user_galera - user_debug tags: config - name: manually patch lxc_hosts role to bring in powertools repo ansible.builtin.copy: src: "files/{{ item }}.yml" dest: /etc/ansible/roles/lxc_hosts/tasks/ mode: '0644' with_items: - lxc_install_dnf tags: config - name: manually patch os_nova role to kill powervmtools and futures== requiresments ansible.builtin.copy: src: "files/{{ item }}" dest: /tmp/ mode: '0644' with_items: - os_nova.patch tags: config - name: patch the thing args: chdir: /etc/ansible/roles/os_nova/ ansible.builtin.shell: patch -p1 < /tmp/os_nova.patch when: do_patch | bool - name: Disable SSH Agent Forwarding lineinfile: dest: /etc/ssh/sshd_config regexp: '^.*AllowAgentForwarding' line: 'AllowAgentForwarding no' tags: services notify: - restart_sshd - name: Check playbooks tags: syntax become: true ansible.builtin.shell: cmd: "openstack-ansible --syntax-check setup-{{ item }}.yml" args: chdir: /opt/openstack-ansible/playbooks/ loop: - hosts - infrastructure - openstack register: playbooks_res post_tasks: - name: Touching run file that ansible has ran here file: path: /var/log/ansible.run state: touch mode: '0644' owner: root group: root ...