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 if data[1]["networks"].is_a?(Array)
82 data[1]["networks"].push("External")
83 elsif data[1]["networks"].is_a?(Hash)
84 data[1]["networks"].merge!("External"=> { "subnet" => "external_subnet" })
86 raise "Unable to determine data to modify in roles_data.yaml"
88 data[1]["default_route_networks"] = Array.new(["External"])
89 File.open("/usr/share/openstack-tripleo-heat-templates/roles_data.yaml", "w") { |f| f.write(data.to_yaml) }
92 - name: Upload glance images
93 shell: "{{ stackrc }} && openstack overcloud image upload"
96 - name: Import inventory (baremetal)
97 shell: "{{ stackrc }} && openstack overcloud node import instackenv.json"
99 - name: Introspect inventory (baremetal)
100 shell: "{{ stackrc }} && openstack overcloud node introspect --all-manageable --provide"
102 - name: Import inventory (virtual)
103 shell: "{{ stackrc }} && openstack overcloud node import --provide instackenv.json"
106 shell: '{{ stackrc }} && openstack flavor set --property "cpu_arch"="{{ ansible_architecture }}" {{ item }}'
111 - name: Re-enable ceph config for aarch64
113 path: "/usr/share/ceph-ansible/roles/ceph-client/tasks/create_users_keys.yml"
118 - name: Configure DNS server for ctlplane network
119 shell: "{{ stackrc }} && openstack subnet set ctlplane-subnet {{ dns_server_args }}"
120 - name: Update NIC templates before deployment
122 /usr/share/openstack-tripleo-heat-templates/tools/merge-new-params-nic-config-script.py
123 -n /home/stack/network_data.yaml -t /home/stack/nics/{{ item }}.yaml --discard-comments True
124 --role-name Controller
131 - name: Execute Overcloud Deployment
132 shell: "{{ stackrc }} && bash deploy_command"
136 - name: Show overcloud failures
137 shell: "{{ stackrc }} && openstack stack failures list overcloud --long"
141 - name: Archive Mistral logs
146 dest: /root/mistral_logs.tar.gz
148 - name: Fetch mistral logs
150 src: /root/mistral_logs.tar.gz
151 dest: "{{ apex_temp_dir }}/"
154 - name: Show Keystone output
155 shell: "{{ overcloudrc }} && {{ item }}"
156 when: debug and vim == 'openstack'
158 - openstack endpoint list
159 - openstack service list
160 - name: Get overcloud nodes and IPs
161 shell: "{{ stackrc }} && openstack server list -f json"
163 - name: Write nova list output to file
164 local_action: copy content="{{ nova_list.stdout }}" dest="{{ apex_temp_dir }}/nova_output"
165 - name: Fetch overcloudrc
167 src: /home/stack/overcloudrc
168 dest: "{{ apex_temp_dir }}/"