4 - name: Copy all files to undercloud
6 src: "{{ apex_temp_dir }}/{{ item }}"
7 dest: "/home/stack/{{ item }}"
12 - network-environment.yaml
14 - overcloud-full.qcow2
15 - overcloud-full.vmlinuz
16 - overcloud-full.initrd
17 - ironic-python-agent.initramfs
18 - ironic-python-agent.kernel
20 - virtual-environment.yaml
21 - baremetal-environment.yaml
22 - kubernetes-environment.yaml
23 - "{{ apex_env_file }}"
24 - name: Copy ansible.cfg data to undercloud in aarch64
26 src: "{{ apex_temp_dir }}/ansible.cfg"
27 dest: "/home/stack/ansible.cfg"
32 - name: Copy network data to undercloud
34 src: "{{ apex_temp_dir }}/network_data.yaml"
35 dest: "/home/stack/network_data.yaml"
39 when: os_version != 'ocata'
41 src: "{{ apex_temp_dir }}/storage-environment.yaml"
42 dest: /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
47 src: "{{ apex_temp_dir }}/neutron-opendaylight-sriov.yaml"
48 dest: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-opendaylight-sriov.yaml
52 - name: Remove Ceph OSD from ceph storage role
54 path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
55 line: ' - OS::TripleO::Services::CephOSD'
60 - name: Insert Ceph OSDs into Compute role
62 path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
63 insertbefore: '^\s*-\sOS::TripleO::Services::NovaCompute$'
64 line: ' - OS::TripleO::Services::CephOSD'
68 - name: Insert Ceph OSDs into Controller role
70 path: /usr/share/openstack-tripleo-heat-templates/roles_data.yaml
71 insertbefore: '^\s*-\sOS::TripleO::Services::CephRbdMirror$'
72 line: ' - OS::TripleO::Services::CephOSD'
76 - name: Insert External network into Compute role
80 data = YAML.load(File.read("/usr/share/openstack-tripleo-heat-templates/roles_data.yaml"))
81 data[1]["networks"].push("External")
82 data[1]["default_route_networks"] = Array.new(["External"])
83 File.open("/usr/share/openstack-tripleo-heat-templates/roles_data.yaml", "w") { |f| f.write(data.to_yaml) }
86 - name: Upload glance images
87 shell: "{{ stackrc }} && openstack overcloud image upload"
90 - name: Import inventory (baremetal)
91 shell: "{{ stackrc }} && openstack overcloud node import instackenv.json"
93 - name: Introspect inventory (baremetal)
94 shell: "{{ stackrc }} && openstack overcloud node introspect --all-manageable --provide"
96 - name: Import inventory (virtual)
97 shell: "{{ stackrc }} && openstack overcloud node import --provide instackenv.json"
100 shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="{{ ansible_architecture }}" {{ item }}'
105 - name: Re-enable ceph config for aarch64
107 path: "/usr/share/ceph-ansible/roles/ceph-client/tasks/create_users_keys.yml"
112 - name: Configure DNS server for ctlplane network
113 shell: "{{ stackrc }} && openstack subnet set ctlplane-subnet {{ dns_server_args }}"
114 - name: Update NIC templates before deployment
116 /usr/share/openstack-tripleo-heat-templates/tools/merge-new-params-nic-config-script.py
117 -n /home/stack/network_data.yaml -t /home/stack/nics/{{ item }}.yaml --discard-comments True
124 - name: Execute Overcloud Deployment
125 shell: "{{ stackrc }} && bash deploy_command"
129 - name: Show overcloud failures
130 shell: "{{ stackrc }} && openstack stack failures list overcloud --long"
134 - name: Archive Mistral logs
139 dest: /root/mistral_logs.tar.gz
141 - name: Fetch mistral logs
143 src: /root/mistral_logs.tar.gz
144 dest: "{{ apex_temp_dir }}/"
147 - name: Show Keystone output
148 shell: "{{ overcloudrc }} && {{ item }}"
149 when: debug and vim == 'openstack'
151 - openstack endpoint list
152 - openstack service list
153 - name: Get overcloud nodes and IPs
154 shell: "{{ stackrc }} && openstack server list -f json"
156 - name: Write nova list output to file
157 local_action: copy content="{{ nova_list.stdout }}" dest="{{ apex_temp_dir }}/nova_output"
158 - name: Fetch overcloudrc
160 src: /home/stack/overcloudrc
161 dest: "{{ apex_temp_dir }}/"