--- - hosts: all tasks: - name: Copy all files to undercloud copy: src: "{{ apex_temp_dir }}/{{ item }}" dest: "/home/stack/{{ item }}" owner: stack group: stack mode: 0644 with_items: - network-environment.yaml - instackenv.json - overcloud-full.qcow2 - deploy_command - virtual-environment.yaml - baremetal-environment.yaml - "{{ apex_env_file }}" - name: Copy network data to undercloud copy: src: "{{ apex_temp_dir }}/network_data.yaml" dest: "/home/stack/network_data.yaml" owner: stack group: stack mode: 0644 when: os_version != 'ocata' - copy: src: "{{ apex_temp_dir }}/storage-environment.yaml" dest: /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml owner: root group: root mode: 0664 - copy: src: "{{ apex_temp_dir }}/neutron-opendaylight-sriov.yaml" dest: /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-sriov.yaml owner: root group: root mode: 0664 - systemd: name: openstack-swift-proxy state: restarted enabled: yes become: yes - name: Workaround to downgrade pacemaker (LP#1770692) block: - name: Pull haproxy container shell: docker pull {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-haproxy:current-tripleo-rdo - name: Find container pacemaker version shell: docker run {{ undercloud_ip }}:8787/tripleo{{ os_version }}/centos-binary-haproxy:current-tripleo-rdo /bin/rpm -q pacemaker register: pcs_version - name: Create centos74 repo (contains older pacemaker) copy: dest: /tmp/centos74.repo content: | [centos74-updates] name=CentOS-74 - Updates baseurl=http://mirror.centos.org/centos/7.4.1708/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 mode: 0644 - name: Install container pacemaker version to overcloud image shell: > LIBGUESTFS_BACKEND=direct virt-customize -a /home/stack/overcloud-full.qcow2 --upload /tmp/centos74.repo:/etc/yum.repos.d/ --run-command "yum remove -y pacemaker-cluster-libs pacemaker-libs pacemaker pacemaker-cli" --run-command "yum install -y {{ pcs_version.stdout }}" -v --install "pcs" become: yes when: ha_enabled - name: Remove Ceph OSD from ceph storage role lineinfile: path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml line: ' - OS::TripleO::Services::CephOSD' owner: root group: root state: absent become: yes - name: Insert Ceph OSDs into Compute role lineinfile: path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml insertbefore: '^\s*-\sOS::TripleO::Services::NovaCompute$' line: ' - OS::TripleO::Services::CephOSD' owner: root group: root become: yes - name: Upload glance images shell: "{{ stackrc }} && openstack overcloud image upload" become: yes become_user: stack - name: Import inventory (baremetal) shell: "{{ stackrc }} && openstack overcloud node import instackenv.json" when: introspect - name: Introspect inventory (baremetal) shell: "{{ stackrc }} && openstack overcloud node introspect --all-manageable --provide" when: introspect - name: Import inventory (virtual) shell: "{{ stackrc }} && openstack overcloud node import --provide instackenv.json" when: not introspect - name: Set flavors shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="{{ ansible_architecture }}" {{ item }}' with_items: - baremetal - control - compute - name: Configure DNS server for ctlplane network shell: "{{ stackrc }} && openstack subnet set ctlplane-subnet {{ dns_server_args }}" - block: - name: Execute Overcloud Deployment shell: "{{ stackrc }} && bash deploy_command" rescue: - name: Show overcloud failures shell: "{{ stackrc }} && openstack stack failures list overcloud --long" become: yes become_user: stack - name: Show Keystone output shell: "{{ overcloudrc }} && {{ item }}" when: debug with_items: - openstack endpoint list - openstack service list - name: Get overcloud nodes and IPs shell: "{{ stackrc }} && openstack server list -f json" register: nova_list - name: Write nova list output to file local_action: copy content="{{ nova_list.stdout }}" dest="{{ apex_temp_dir }}/nova_output" - name: Fetch overcloudrc fetch: src: /home/stack/overcloudrc dest: "{{ apex_temp_dir }}/" flat: yes