11
11
description : Build Ubuntu 22.04 Jammy
12
12
type : boolean
13
13
default : true
14
+ runner_env :
15
+ description : Which cloud to run on?
16
+ type : choice
17
+ default : SMS Lab
18
+ options :
19
+ - SMS Lab
20
+ - Leafcloud
14
21
secrets :
15
22
KAYOBE_VAULT_PASSWORD :
16
23
required : true
26
33
KAYOBE_ENVIRONMENT : ci-builder
27
34
KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
28
35
jobs :
36
+ runner-selection :
37
+ uses : ./.github/workflows/runner-selector.yml
38
+ with :
39
+ runner_env : ${{ inputs.runner_env }}
29
40
overcloud-host-image-build :
30
41
name : Build overcloud host images
31
42
if : github.repository == 'stackhpc/stackhpc-kayobe-config'
32
- runs-on : arc-skc-host-image-builder-runner
43
+ environment : ${{ inputs.runner_env }}
44
+ runs-on : ${{ needs.runner-selection.outputs.runner_name_image_build }}
45
+ needs :
46
+ - runner-selection
33
47
permissions : {}
34
48
steps :
35
49
- name : Validate inputs
@@ -109,10 +123,10 @@ jobs:
109
123
aio_vm_name = "skc-host-image-builder"
110
124
# Must be an Ubuntu Jammy host to successfully build all images
111
125
# This MUST NOT be an LVM image. It can cause confusing conficts with the built image.
112
- aio_vm_image = "Ubuntu-22.04 "
113
- aio_vm_flavor = "en1.medium "
114
- aio_vm_network = "stackhpc-ci "
115
- aio_vm_subnet = "stackhpc-ci "
126
+ aio_vm_image = "${{ vars.HOST_IMAGE_BUILD_IMAGE }} "
127
+ aio_vm_flavor = "${{ vars.HOST_IMAGE_BUILD_FLAVOR }} "
128
+ aio_vm_network = "${{ vars.HOST_IMAGE_BUILD_NETWORK }} "
129
+ aio_vm_subnet = "${{ vars.HOST_IMAGE_BUILD_SUBNET }} "
116
130
aio_vm_interface = "ens3"
117
131
EOF
118
132
working-directory : ${{ github.workspace }}/src/kayobe-config/terraform/aio
@@ -121,7 +135,7 @@ jobs:
121
135
run : terraform plan
122
136
working-directory : ${{ github.workspace }}/src/kayobe-config/terraform/aio
123
137
env :
124
- OS_CLOUD : " openstack "
138
+ OS_CLOUD : ${{ vars.OS_CLOUD }}
125
139
OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
126
140
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
127
141
@@ -141,7 +155,7 @@ jobs:
141
155
exit 1
142
156
working-directory : ${{ github.workspace }}/src/kayobe-config/terraform/aio
143
157
env :
144
- OS_CLOUD : " openstack "
158
+ OS_CLOUD : ${{ vars.OS_CLOUD }}
145
159
OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
146
160
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
147
161
@@ -250,7 +264,7 @@ jobs:
250
264
KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
251
265
if : inputs.rocky9 && steps.build_rocky_9.outcome == 'success'
252
266
253
- - name : Upload Rocky Linux 9 overcloud host image to Dev Cloud
267
+ - name : Upload Rocky Linux 9 overcloud host image to current Dev Cloud (SMS/Leafcloud)
254
268
run : |
255
269
source venvs/kayobe/bin/activate &&
256
270
source src/kayobe-config/kayobe-env --environment ci-builder &&
@@ -264,6 +278,20 @@ jobs:
264
278
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
265
279
if : inputs.rocky9 && steps.build_rocky_9.outcome == 'success'
266
280
281
+ - name : Upload Rocky Linux 9 overcloud host image to other Dev Cloud (Leafcloud/SMS)
282
+ run : |
283
+ source venvs/kayobe/bin/activate &&
284
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
285
+ kayobe playbook run \
286
+ src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
287
+ -e local_image_path="/opt/kayobe/images/overcloud-rocky-9/overcloud-rocky-9.qcow2" \
288
+ -e image_name=overcloud-rocky-9-${{ steps.host_image_tag.outputs.host_image_tag }}
289
+ env :
290
+ CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
291
+ OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
292
+ OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
293
+ if : inputs.rocky9 && steps.build_rocky_9.outcome == 'success'
294
+
267
295
- name : Build an Ubuntu Jammy 22.04 overcloud host image
268
296
id : build_ubuntu_jammy
269
297
continue-on-error : true
@@ -304,7 +332,7 @@ jobs:
304
332
KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
305
333
if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
306
334
307
- - name : Upload Ubuntu Jammy overcloud host image to Dev Cloud
335
+ - name : Upload Ubuntu Jammy overcloud host image to current Dev Cloud (SMS/Leafcloud)
308
336
run : |
309
337
source venvs/kayobe/bin/activate &&
310
338
source src/kayobe-config/kayobe-env --environment ci-builder &&
@@ -318,6 +346,20 @@ jobs:
318
346
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
319
347
if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
320
348
349
+ - name : Upload Ubuntu Jammy overcloud host image to other Dev Cloud (Leafcloud/SMS)
350
+ run : |
351
+ source venvs/kayobe/bin/activate &&
352
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
353
+ kayobe playbook run \
354
+ src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
355
+ -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-jammy/overcloud-ubuntu-jammy.qcow2" \
356
+ -e image_name=overcloud-ubuntu-jammy-${{ steps.host_image_tag.outputs.host_image_tag }}
357
+ env :
358
+ CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
359
+ OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
360
+ OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
361
+ if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
362
+
321
363
- name : Copy logs back
322
364
continue-on-error : true
323
365
run : |
0 commit comments