76
76
description : Git ref to checkout (convenience for external CI)
77
77
type : string
78
78
default : ${{ github.ref }}
79
+ user-ssh-public-key :
80
+ description : User's SSH public key to access AIOs
81
+ type : string
79
82
secrets :
80
83
KAYOBE_VAULT_PASSWORD :
81
84
required : true
@@ -262,6 +265,9 @@ jobs:
262
265
cat terraform/aio/id_rsa >> $GITHUB_OUTPUT
263
266
echo "EOF" >> $GITHUB_OUTPUT
264
267
268
+ env :
269
+ KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
270
+
265
271
# The same tag may be reused (e.g. stackhpc/yoga), so ensure we have the latest image.
266
272
- name : Pull previous Kayobe image
267
273
run : |
@@ -315,6 +321,24 @@ jobs:
315
321
env :
316
322
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
317
323
324
+ - name : Add user's SSH key to authorized_keys
325
+ run : |
326
+ docker run -t --rm \
327
+ -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
328
+ -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
329
+ ${{ steps.kayobe_image.outputs.kayobe_image }} \
330
+ /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-host-command-run.sh \
331
+ -b --command "echo '${{ inputs.user-ssh-public-key }} << EOF' >> /home/stack/.ssh/authorized_keys"
332
+ env :
333
+ KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
334
+
335
+ - name : Copy kayobe-config dir to AIO
336
+ run : |
337
+ scp -i terraform/aio/id_rsa -r . stack@${{ fromJson(steps.tf_outputs.outputs.stdout).access_ip_v4.value }}:~/
338
+ env :
339
+ KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
340
+ continue-on-error : true
341
+
318
342
- name : Service deploy
319
343
run : |
320
344
docker run -t --rm \
@@ -481,6 +505,7 @@ jobs:
481
505
if : ${{ !cancelled() && (steps.tempest.outcome == 'success' || steps.stackhpc-cloud-tests.outcome == 'success' || steps.diagnostics.outcome == 'success') }}
482
506
483
507
- name : Fail if any tests failed
508
+ id : test-result
484
509
run : |
485
510
rc=0
486
511
if [[ $(wc -l < tempest-artifacts/failed-tests) -ne 0 ]]; then
@@ -494,6 +519,12 @@ jobs:
494
519
rc=1
495
520
fi
496
521
exit $rc
522
+ continue-on-error : true
523
+
524
+ - name : Break on failure
525
+ run : |
526
+ sleep 360m
527
+ if : steps.test-result.outcome != 'success'
497
528
498
529
- name : Destroy
499
530
run : terraform destroy -auto-approve
0 commit comments