@@ -45,32 +45,18 @@ jobs:
4545 uses : ./.github/workflows/runner-selector.yml
4646 with :
4747 runner_env : ${{ inputs.runner_env }}
48- overcloud-host-image-build :
49- name : Build overcloud host images
48+ create-tag :
49+ name : Create a tag to be added to resulting images
5050 if : github.repository == 'stackhpc/stackhpc-kayobe-config'
5151 environment : ${{ inputs.runner_env }}
5252 runs-on : ${{ needs.runner-selection.outputs.runner_name_image_build }}
5353 needs :
5454 - runner-selection
5555 permissions :
5656 actions : write
57+ outputs :
58+ host_image_tag : ${{ steps.host_image_tag.outputs.host_image_tag }}
5759 steps :
58- - name : Validate inputs
59- run : |
60- if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.rocky10 }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
61- echo "At least one distribution must be selected"
62- exit 1
63- fi
64-
65- - name : Install Package
66- uses : ConorMacBride/install-package@main
67- with :
68- apt : git unzip nodejs python3-pip python3-venv openssh-server openssh-client jq gh
69-
70- - name : Start the SSH service
71- run : |
72- sudo /etc/init.d/ssh start
73-
7460 - name : Checkout
7561 uses : actions/checkout@v6
7662 with :
8874 run : |
8975 echo "host_image_tag=$(date +${{ steps.openstack_release.outputs.openstack_release }}-%Y%m%dT%H%M%S)" >> $GITHUB_OUTPUT
9076
77+ overcloud-host-image-build :
78+ name : Build overcloud host images
79+ if : github.repository == 'stackhpc/stackhpc-kayobe-config'
80+ environment : ${{ inputs.runner_env }}
81+ runs-on : ${{ needs.runner-selection.outputs.runner_name_image_build }}
82+ needs :
83+ - runner-selection
84+ - create-tag
85+ permissions :
86+ actions : write
87+ steps :
88+ - name : Validate inputs
89+ run : |
90+ if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.rocky10 }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
91+ echo "At least one distribution must be selected"
92+ exit 1
93+ fi
94+
9195 - name : Display overcloud host image tag
9296 run : |
93- echo "${{ steps.host_image_tag.outputs.host_image_tag }}"
97+ echo "${{ needs.create-tag.outputs.host_image_tag }}"
98+
99+ - name : Checkout
100+ uses : actions/checkout@v6
101+ with :
102+ path : src/kayobe-config
103+
104+ - name : Install Package
105+ uses : ConorMacBride/install-package@main
106+ with :
107+ apt : git unzip nodejs python3-pip python3-venv openssh-server openssh-client jq gh
108+
109+ - name : Start the SSH service
110+ run : |
111+ sudo /etc/init.d/ssh start
94112
95113 - name : Install Kayobe
96114 run : |
@@ -259,7 +277,7 @@ jobs:
259277 kayobe playbook run \
260278 src/kayobe-config/etc/kayobe/ansible/tools/openstack-host-image-upload.yml \
261279 -e local_image_path="/opt/kayobe/images/overcloud-rocky-9/overcloud-rocky-9.qcow2" \
262- -e image_name=overcloud-rocky-9-${{ steps.host_image_tag .outputs.host_image_tag }}
280+ -e image_name=overcloud-rocky-9-${{ needs.create-tag .outputs.host_image_tag }}
263281 env :
264282 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
265283 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
@@ -273,7 +291,7 @@ jobs:
273291 kayobe playbook run \
274292 src/kayobe-config/etc/kayobe/ansible/tools/openstack-host-image-upload.yml \
275293 -e local_image_path="/opt/kayobe/images/overcloud-rocky-9/overcloud-rocky-9.qcow2" \
276- -e image_name=overcloud-rocky-9-${{ steps.host_image_tag .outputs.host_image_tag }}
294+ -e image_name=overcloud-rocky-9-${{ needs.create-tag .outputs.host_image_tag }}
277295 env :
278296 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
279297 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
@@ -287,7 +305,7 @@ jobs:
287305 kayobe playbook run \
288306 src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \
289307 -e artifact_path=/opt/kayobe/images/overcloud-rocky-9 \
290- -e artifact_tag=${{ steps.host_image_tag .outputs.host_image_tag }} \
308+ -e artifact_tag=${{ needs.create-tag .outputs.host_image_tag }} \
291309 -e artifact_type="kayobe-images" \
292310 -e file_regex="*.qcow2" \
293311 -e os_distribution="rocky" \
@@ -327,7 +345,7 @@ jobs:
327345 kayobe playbook run \
328346 src/kayobe-config/etc/kayobe/ansible/tools/openstack-host-image-upload.yml \
329347 -e local_image_path="/opt/kayobe/images/overcloud-rocky-10/overcloud-rocky-10.qcow2" \
330- -e image_name=overcloud-rocky-10-${{ steps.host_image_tag .outputs.host_image_tag }}
348+ -e image_name=overcloud-rocky-10-${{ needs.create-tag .outputs.host_image_tag }}
331349 env :
332350 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
333351 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
@@ -341,7 +359,7 @@ jobs:
341359 kayobe playbook run \
342360 src/kayobe-config/etc/kayobe/ansible/tools/openstack-host-image-upload.yml \
343361 -e local_image_path="/opt/kayobe/images/overcloud-rocky-10/overcloud-rocky-10.qcow2" \
344- -e image_name=overcloud-rocky-10-${{ steps.host_image_tag .outputs.host_image_tag }}
362+ -e image_name=overcloud-rocky-10-${{ needs.create-tag .outputs.host_image_tag }}
345363 env :
346364 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
347365 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
@@ -355,7 +373,7 @@ jobs:
355373 kayobe playbook run \
356374 src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \
357375 -e artifact_path=/opt/kayobe/images/overcloud-rocky-10 \
358- -e artifact_tag=${{ steps.host_image_tag .outputs.host_image_tag }} \
376+ -e artifact_tag=${{ needs.create-tag .outputs.host_image_tag }} \
359377 -e artifact_type="kayobe-images" \
360378 -e file_regex="*.qcow2" \
361379 -e os_distribution="rocky" \
@@ -395,7 +413,7 @@ jobs:
395413 kayobe playbook run \
396414 src/kayobe-config/etc/kayobe/ansible/tools/openstack-host-image-upload.yml \
397415 -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
398- -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag .outputs.host_image_tag }}
416+ -e image_name=overcloud-ubuntu-noble-${{ needs.create-tag .outputs.host_image_tag }}
399417 env :
400418 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
401419 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
@@ -409,7 +427,7 @@ jobs:
409427 kayobe playbook run \
410428 src/kayobe-config/etc/kayobe/ansible/tools/openstack-host-image-upload.yml \
411429 -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
412- -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag .outputs.host_image_tag }}
430+ -e image_name=overcloud-ubuntu-noble-${{ needs.create-tag .outputs.host_image_tag }}
413431 env :
414432 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
415433 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
@@ -423,7 +441,7 @@ jobs:
423441 kayobe playbook run \
424442 src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \
425443 -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-noble \
426- -e artifact_tag=${{ steps.host_image_tag .outputs.host_image_tag }} \
444+ -e artifact_tag=${{ needs.create-tag .outputs.host_image_tag }} \
427445 -e artifact_type="kayobe-images" \
428446 -e file_regex="*.qcow2" \
429447 -e os_distribution="ubuntu" \
@@ -470,9 +488,9 @@ jobs:
470488 update-overcloud-host-image-tags.yml \
471489 --repo stackhpc/stackhpc-kayobe-config \
472490 --ref $BRANCH_NAME \
473- $(if [[ "${{ inputs.rocky9 }}" == "true" ]]; then echo "-f rocky9_tag=${{ steps.host_image_tag .outputs.host_image_tag }}"; fi) \
474- $(if [[ "${{ inputs.rocky10 }}" == "true" ]]; then echo "-f rocky10_tag=${{ steps.host_image_tag .outputs.host_image_tag }}"; fi) \
475- $(if [[ "${{ inputs.ubuntu-noble }}" == "true" ]]; then echo "-f ubuntu_noble_tag=${{ steps.host_image_tag .outputs.host_image_tag }}"; fi)
491+ $(if [[ "${{ inputs.rocky9 }}" == "true" ]]; then echo "-f rocky9_tag=${{ needs.create-tag .outputs.host_image_tag }}"; fi) \
492+ $(if [[ "${{ inputs.rocky10 }}" == "true" ]]; then echo "-f rocky10_tag=${{ needs.create-tag .outputs.host_image_tag }}"; fi) \
493+ $(if [[ "${{ inputs.ubuntu-noble }}" == "true" ]]; then echo "-f ubuntu_noble_tag=${{ needs.create-tag .outputs.host_image_tag }}"; fi)
476494 env :
477495 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
478496 BRANCH_NAME : ${{ github.head_ref || github.ref_name }}
0 commit comments