7676 description : Git ref to checkout (convenience for external CI)
7777 type : string
7878 default : ${{ github.ref }}
79+ user-ssh-public-key :
80+ description : User's SSH public key to access AIOs
81+ type : string
7982 secrets :
8083 KAYOBE_VAULT_PASSWORD :
8184 required : true
@@ -262,6 +265,17 @@ jobs:
262265 cat terraform/aio/id_rsa >> $GITHUB_OUTPUT
263266 echo "EOF" >> $GITHUB_OUTPUT
264267
268+ - name : Add user's SSH key to authorized_keys
269+ run : |
270+ docker run -t --rm \
271+ -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
272+ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
273+ ${{ steps.kayobe_image.outputs.kayobe_image }} \
274+ /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-host-command-run.sh \
275+ echo "${{ inputs.user-ssh-public-key }} << EOF" >> /home/${{ inputs.ssh_username }}/.ssh/authorized_keys
276+ env :
277+ KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
278+
265279 # The same tag may be reused (e.g. stackhpc/yoga), so ensure we have the latest image.
266280 - name : Pull previous Kayobe image
267281 run : |
@@ -481,6 +495,7 @@ jobs:
481495 if : ${{ !cancelled() && (steps.tempest.outcome == 'success' || steps.stackhpc-cloud-tests.outcome == 'success' || steps.diagnostics.outcome == 'success') }}
482496
483497 - name : Fail if any tests failed
498+ id : test-result
484499 run : |
485500 rc=0
486501 if [[ $(wc -l < tempest-artifacts/failed-tests) -ne 0 ]]; then
@@ -495,6 +510,11 @@ jobs:
495510 fi
496511 exit $rc
497512
513+ - name : Break on failure
514+ run : |
515+ sleep 360m
516+ if : steps.test-result.outcome != 'success'
517+
498518 - name : Destroy
499519 run : terraform destroy -auto-approve
500520 working-directory : ${{ github.workspace }}/terraform/aio
0 commit comments