Skip to content

Commit 25ebb3f

Browse files
committed
Only upload host images when required
1 parent 6302be7 commit 25ebb3f

File tree

1 file changed

+95
-35
lines changed

1 file changed

+95
-35
lines changed

.github/workflows/overcloud-host-image-upload.yml

Lines changed: 95 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,23 @@ jobs:
9494
source venvs/kayobe/bin/activate &&
9595
pip install python-openstackclient -c https://opendev.org/openstack/requirements/raw/branch/stable/yoga/upper-constraints.txt
9696
97+
- name: Output CentOS Stream 8 image tag
98+
id: centos_8_stream_image_tag
99+
run: |
100+
echo image_tag=$(grep stackhpc_centos_8_stream_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
101+
102+
- name: Check if image exists already
103+
id: centos_8_stream_image_exists
104+
run: |
105+
source venvs/kayobe/bin/activate &&
106+
openstack image show \
107+
overcloud-centos-8-stream-${{ steps.centos_8_stream_image_tag.outputs.image_tag }}
108+
env:
109+
OS_CLOUD: openstack
110+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
111+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
112+
continue-on-error: true
113+
97114
- name: Download CentOS Stream 8 overcloud host image from Ark
98115
run: |
99116
source venvs/kayobe/bin/activate &&
@@ -104,12 +121,7 @@ jobs:
104121
-e os_release="8-stream"
105122
env:
106123
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
107-
if: inputs.centos
108-
109-
- name: Output CentOS Stream 8 image tag
110-
id: centos_8_stream_image_tag
111-
run: |
112-
echo image_tag=$(grep stackhpc_centos_8_stream_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
124+
if: inputs.centos && steps.centos_8_stream_image_exists.outcome == 'failure'
113125

114126
- name: Upload CentOS Stream 8 overcloud host image to Cloud
115127
run: |
@@ -125,7 +137,24 @@ jobs:
125137
OS_CLOUD: openstack
126138
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
127139
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
128-
if: inputs.centos
140+
if: inputs.centos && steps.centos_8_stream_image_exists.outcome == 'failure'
141+
142+
- name: Output Rocky Linux 8 image tag
143+
id: rocky_8_image_tag
144+
run: |
145+
echo image_tag=$(grep stackhpc_rocky_8_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
146+
147+
- name: Check if image exists already
148+
id: rocky_8_image_exists
149+
run: |
150+
source venvs/kayobe/bin/activate &&
151+
openstack image show \
152+
overcloud-rocky-8-${{ steps.rocky_8_image_tag.outputs.image_tag }}
153+
env:
154+
OS_CLOUD: openstack
155+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
156+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
157+
continue-on-error: true
129158

130159
- name: Download Rocky Linux 8 overcloud host image from Ark
131160
run: |
@@ -137,12 +166,7 @@ jobs:
137166
-e os_release="8"
138167
env:
139168
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
140-
if: inputs.rocky8
141-
142-
- name: Output Rocky Linux 8 image tag
143-
id: rocky_8_image_tag
144-
run: |
145-
echo image_tag=$(grep stackhpc_rocky_8_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
169+
if: inputs.rocky8 && steps.rocky_8_image_exists.outcome == 'failure'
146170

147171
- name: Upload Rocky Linux 8 overcloud host image to Cloud
148172
run: |
@@ -158,7 +182,24 @@ jobs:
158182
OS_CLOUD: openstack
159183
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
160184
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
161-
if: inputs.rocky8
185+
if: inputs.rocky8 && steps.rocky_8_image_exists.outcome == 'failure'
186+
187+
- name: Output Rocky Linux 9 image tag
188+
id: rocky_9_image_tag
189+
run: |
190+
echo image_tag=$(grep stackhpc_rocky_9_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
191+
192+
- name: Check if image exists already
193+
id: rocky_9_image_exists
194+
run: |
195+
source venvs/kayobe/bin/activate &&
196+
openstack image show \
197+
overcloud-rocky-9-${{ steps.rocky_9_image_tag.outputs.image_tag }}
198+
env:
199+
OS_CLOUD: openstack
200+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
201+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
202+
continue-on-error: true
162203

163204
- name: Download Rocky Linux 9 overcloud host image from Ark
164205
run: |
@@ -170,12 +211,7 @@ jobs:
170211
-e os_release="9"
171212
env:
172213
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
173-
if: inputs.rocky9
174-
175-
- name: Output Rocky Linux 9 image tag
176-
id: rocky_9_image_tag
177-
run: |
178-
echo image_tag=$(grep stackhpc_rocky_9_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
214+
if: inputs.rocky9 && steps.rocky_9_image_exists.outcome == 'failure'
179215

180216
- name: Upload Rocky Linux 9 overcloud host image to Cloud
181217
run: |
@@ -191,7 +227,24 @@ jobs:
191227
OS_CLOUD: openstack
192228
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
193229
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
194-
if: inputs.rocky9
230+
if: inputs.rocky9 && steps.rocky_9_image_exists.outcome == 'failure'
231+
232+
- name: Output Ubuntu Focal image tag
233+
id: ubuntu_focal_image_tag
234+
run: |
235+
echo image_tag=$(grep stackhpc_ubuntu_focal_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
236+
237+
- name: Check if image exists already
238+
id: ubuntu_focal_image_exists
239+
run: |
240+
source venvs/kayobe/bin/activate &&
241+
openstack image show \
242+
overcloud-ubuntu-focal-${{ steps.ubuntu_focal_image_tag.outputs.image_tag }}
243+
env:
244+
OS_CLOUD: openstack
245+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
246+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
247+
continue-on-error: true
195248

196249
- name: Download Ubuntu Focal 20.04 overcloud host image from Ark
197250
run: |
@@ -203,12 +256,7 @@ jobs:
203256
-e os_release="focal"
204257
env:
205258
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
206-
if: inputs.ubuntu-focal
207-
208-
- name: Output Ubuntu Focal image tag
209-
id: ubuntu_focal_image_tag
210-
run: |
211-
echo image_tag=$(grep stackhpc_ubuntu_focal_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
259+
if: inputs.ubuntu-focal && steps.ubuntu_focal_image_exists.outcome == 'failure'
212260

213261
- name: Upload Ubuntu Focal 20.04 overcloud host image to Cloud
214262
run: |
@@ -224,7 +272,24 @@ jobs:
224272
OS_CLOUD: openstack
225273
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
226274
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
227-
if: inputs.ubuntu-focal
275+
if: inputs.ubuntu-focal && steps.ubuntu_focal_image_exists.outcome == 'failure'
276+
277+
- name: Output Ubuntu Jammy image tag
278+
id: ubuntu_jammy_image_tag
279+
run: |
280+
echo image_tag=$(grep stackhpc_ubuntu_jammy_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
281+
282+
- name: Check if image exists already
283+
id: ubuntu_jammy_image_exists
284+
run: |
285+
source venvs/kayobe/bin/activate &&
286+
openstack image show \
287+
overcloud-ubuntu-jammy-${{ steps.ubuntu_jammy_image_tag.outputs.image_tag }}
288+
env:
289+
OS_CLOUD: openstack
290+
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
291+
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
292+
continue-on-error: true
228293

229294
- name: Download Ubuntu Jammy 22.04 overcloud host image from Ark
230295
run: |
@@ -236,12 +301,7 @@ jobs:
236301
-e os_release="jammy"
237302
env:
238303
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
239-
if: inputs.ubuntu-jammy
240-
241-
- name: Output Ubuntu Jammy image tag
242-
id: ubuntu_jammy_image_tag
243-
run: |
244-
echo image_tag=$(grep stackhpc_ubuntu_jammy_overcloud_host_image_version: src/kayobe-config/etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT
304+
if: inputs.ubuntu-jammy && steps.ubuntu_jammy_image_exists.outcome == 'failure'
245305

246306
- name: Upload Ubuntu Jammy 22.04 overcloud host image to Cloud
247307
run: |
@@ -257,4 +317,4 @@ jobs:
257317
OS_CLOUD: openstack
258318
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
259319
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
260-
if: inputs.ubuntu-jammy
320+
if: inputs.ubuntu-jammy && steps.ubuntu_jammy_image_exists.outcome == 'failure'

0 commit comments

Comments
 (0)