This repository has been archived by the owner on Feb 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 39
/
overcloud-prep-images.yml
164 lines (150 loc) · 5.47 KB
/
overcloud-prep-images.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
---
- name: Download overcloud image
shell: >
set -o pipefail &&
{{ working_dir }}/download-overcloud-image.sh 2>&1 {{ timestamper_cmd }} >
{{ download_overcloud_image_log }}
changed_when: true
when: download_overcloud_image|bool
- name: Upload Overcloud Images
when: step_overcloud_image|bool
block:
- name: Run overcloud image upload - legacy
when:
- release in ['queens', 'stein', 'train']
shell: >
set -o pipefail &&
{{ working_dir }}/overcloud-image-upload.sh 2>&1 {{ timestamper_cmd }} >
{{ overcloud_image_upload_log }}
changed_when: true
- name: Run overcloud image upload via tripleo-operator-ansible
when:
- release not in ['queens', 'stein', 'train']
collections:
- tripleo.operator
include_role:
name: tripleo_overcloud_image_upload
vars:
tripleo_os_cloud: undercloud
tripleo_overcloud_image_upload_debug: true
tripleo_overcloud_image_upload_generate_scripts: true
tripleo_overcloud_image_upload_http_boot: "{{ containerized_undercloud | default(false) | ternary('/var/lib/ironic/httpboot', None) }}"
tripleo_overcloud_image_upload_whole_disk: "{{ whole_disk_images|default(false) }}"
tripleo_overcloud_image_upload_local: "{{ undercloud_enable_nova|default(false) }}"
tripleo_overcloud_image_upload_log: "{{ overcloud_image_upload_log }}"
tripleo_overcloud_image_upload_log_combine: true
- name: Upload overcloud images with Glance for multinode
shell: >
set -o pipefail &&
{{ working_dir }}/overcloud-glance-image-upload.sh 2>&1 {{ timestamper_cmd }} >
{{ overcloud_glance_image_upload_log }}
changed_when: true
when: step_glance_upload|bool
- name: List overcloud flavors for Nova deployment
shell: >
set -o pipefail &&
{{ working_dir }}/overcloud-list-flavors.sh 2>&1 {{ timestamper_cmd }} >
{{ overcloud_list_flavors_log }}
changed_when: true
when: undercloud_enable_nova|bool
- name: Run import nodes
when:
- step_register|bool
block:
- name: Import and register overcloud nodes - legacy
when:
- release in ['queens', 'stein']
shell: >
set -o pipefail &&
{{ working_dir }}/overcloud-import-nodes.sh 2>&1 {{ timestamper_cmd }} >
{{ overcloud_import_nodes_log }}
changed_when: true
- name: Run import nodes via tripleo-operator-ansible
when:
- release not in ['queens', 'stein']
collections:
- tripleo.operator
include_role:
name: tripleo_overcloud_node_import
vars:
tripleo_overcloud_node_import_debug: true
tripleo_os_cloud: undercloud
tripleo_overcloud_node_import_provide: "{{ not step_introspect|bool and not step_introspect_with_retry|bool }}"
tripleo_overcloud_node_import_log: "{{ overcloud_import_nodes_log }}"
tripleo_overcloud_node_import_environment_file: instackenv.json
- name: Wait until nodes will be manageable
shell: >-
set -o pipefail &&
openstack --os-cloud undercloud baremetal node list -f value -c "Provisioning State" | grep -v -e manageable -e available
register: result
until: result.stdout == ''
failed_when: result.rc == 0
retries: 10
delay: 30
changed_when: false
when: step_introspect|bool
- name: Set root device size
shell: >
set -o pipefail &&
{{ working_dir }}/root-device-size.sh 2>&1 {{ timestamper_cmd }} >
{{ root_device_size_log }}
changed_when: true
when: step_root_device_size|bool
- name: Set root device hints
shell: >
set -o pipefail &&
{{ working_dir }}/root-device-hints.sh 2>&1 {{ timestamper_cmd }} >
{{ root_device_hints_log }}
changed_when: true
when: step_root_device_hints|bool
- name: Run tcpdump during introspection in background
become: true
shell: >
{{ ansible_pkg_mgr }} -y install tcpdump;
tcpdump -U -i any port {{ step_introspect_debug_tcpdump_ports | join(' or port ') }}
-w {{ step_introspect_debug_tcpdump_log }} > /dev/null &
args:
executable: /bin/bash
async: 1
poll: 0
changed_when: false
when:
- step_introspect|bool
- step_introspect_debug|bool
- name: Run Introspection
when: step_introspect|bool
block:
- name: Introspect overcloud nodes - legacy
when: release in ['queens', 'stein']
shell: >
set -o pipefail &&
{{ working_dir }}/overcloud-introspect.sh 2>&1 {{ timestamper_cmd }} >
{{ overcloud_introspect_script_log }}
changed_when: true
- name: Run Introspection on overcloud nodes via tripleo-operator-ansible
when:
- release not in ['queens', 'stein']
collections:
- tripleo.operator
include_role:
name: tripleo_overcloud_node_introspect
vars:
tripleo_os_cloud: undercloud
tripleo_overcloud_node_introspect_debug: true
tripleo_overcloud_node_introspect_all_manageable: true
tripleo_overcloud_node_introspect_provide: true
tripleo_overcloud_node_introspect_log: "{{ overcloud_introspect_script_log }}"
- name: Stop tcpdump after introspection
become: true
command: pkill tcpdump
changed_when: false
failed_when: false
- name: Inject ARA into mistral executor container image
shell: >
set -o pipefail &&
{{ working_dir }}/inject-ara.sh 2>&1 {{ timestamper_cmd }} >
{{ inject_ara_log }}
changed_when: true
when:
- release not in ['newton', 'ocata', 'pike', 'queens']
- undercloud_enable_mistral|bool