3434 vm_interface :
3535 description : Default network interface name
3636 type : string
37- default : enp3s0
37+ default : ens3
3838 vm_flavor :
3939 description : Flavor for the all-in-one VM
4040 type : string
41- default : general.v1.medium
41+ default : en1.large
4242 vm_network :
4343 description : Network for the all-in-one VM
4444 type : string
45- default : stackhpc-release
45+ default : stackhpc-ci
4646 vm_subnet :
4747 description : Subnet for the all-in-one VM
4848 type : string
49- default : stackhpc-release-subnet
49+ default : stackhpc-ci
5050 OS_CLOUD :
5151 description : Name of cloud in clouds.yaml
5252 type : string
7474 all-in-one :
7575 name : All in one
7676 if : inputs.if
77- runs-on : [self-hosted, stackhpc-kayobe-config- aio]
77+ runs-on : arc-skc- aio-runner
7878 permissions : {}
7979 env :
8080 KAYOBE_ENVIRONMENT : ci-aio
8585 # NOTE(upgrade): Reference the PREVIOUS release branch here.
8686 PREVIOUS_BRANCH : stackhpc/yoga
8787 steps :
88+ - name : Install Package
89+ uses : ConorMacBride/install-package@main
90+ with :
91+ apt : git unzip nodejs
92+
8893 # If testing upgrade, checkout previous release, otherwise checkout current branch
8994 - name : Checkout ${{ inputs.upgrade && 'previous release' || 'current' }} config
9095 uses : actions/checkout@v4
@@ -102,6 +107,10 @@ jobs:
102107 fi
103108 echo kayobe_image=$kayobe_image >> $GITHUB_OUTPUT
104109
110+ - name : Make sure dockerd is running and test Docker.
111+ run : |
112+ docker run --rm hello-world
113+
105114 - name : Output image tag
106115 id : image_tag
107116 run : |
@@ -168,7 +177,17 @@ jobs:
168177 OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
169178
170179 - name : Terraform Apply
171- run : terraform apply -auto-approve
180+ run : |
181+ for attempt in $(seq 5); do
182+ if terraform apply -auto-approve; then
183+ echo "Created infrastructure on attempt $attempt"
184+ break
185+ fi
186+ echo "Failed to create infrastructure on attempt $attempt"
187+ sleep 10
188+ terraform destroy -auto-approve
189+ sleep 60
190+ done
172191 working-directory : ${{ github.workspace }}/terraform/aio
173192 env :
174193 OS_CLOUD : ${{ inputs.OS_CLOUD }}
@@ -232,17 +251,17 @@ jobs:
232251 # The same tag may be reused (e.g. stackhpc/yoga), so ensure we have the latest image.
233252 - name : Pull previous Kayobe image
234253 run : |
235- sudo docker image pull ${{ steps.kayobe_image.outputs.kayobe_image }}
254+ docker image pull ${{ steps.kayobe_image.outputs.kayobe_image }}
236255 if : inputs.upgrade
237256
238257 # The same tag may be reused (e.g. pr-123), so ensure we have the latest image.
239258 - name : Pull current Kayobe image
240259 run : |
241- sudo docker image pull $KAYOBE_IMAGE
260+ docker image pull $KAYOBE_IMAGE
242261
243262 - name : Run growroot
244263 run : |
245- sudo -E docker run -t --rm \
264+ docker run -t --rm \
246265 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
247266 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
248267 ${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -252,7 +271,7 @@ jobs:
252271
253272 - name : Host configure
254273 run : |
255- sudo -E docker run -t --rm \
274+ docker run -t --rm \
256275 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
257276 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
258277 ${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -262,7 +281,7 @@ jobs:
262281
263282 - name : Service deploy
264283 run : |
265- sudo -E docker run -t --rm \
284+ docker run -t --rm \
266285 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
267286 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
268287 ${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -272,7 +291,7 @@ jobs:
272291
273292 - name : Configure aio resources
274293 run : |
275- sudo -E docker run -t --rm \
294+ docker run -t --rm \
276295 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
277296 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
278297 ${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -300,7 +319,7 @@ jobs:
300319 # Now begin upgrade
301320 - name : Host upgrade
302321 run : |
303- sudo -E docker run -t --rm \
322+ docker run -t --rm \
304323 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
305324 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
306325 $KAYOBE_IMAGE \
@@ -311,7 +330,7 @@ jobs:
311330
312331 - name : Host configure
313332 run : |
314- sudo -E docker run -t --rm \
333+ docker run -t --rm \
315334 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
316335 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
317336 $KAYOBE_IMAGE \
@@ -322,7 +341,7 @@ jobs:
322341
323342 - name : Service upgrade
324343 run : |
325- sudo -E docker run -t --rm \
344+ docker run -t --rm \
326345 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
327346 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
328347 $KAYOBE_IMAGE \
@@ -334,7 +353,7 @@ jobs:
334353 - name : Tempest tests
335354 run : |
336355 mkdir -p tempest-artifacts
337- sudo -E docker run -t --rm \
356+ docker run -t --rm \
338357 -v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
339358 -v $(pwd)/tempest-artifacts:/stack/tempest-artifacts \
340359 -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
@@ -344,7 +363,7 @@ jobs:
344363 KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
345364
346365 - name : Upload test result artifacts
347- uses : actions/upload-artifact@v3
366+ uses : actions/upload-artifact@v4
348367 with :
349368 name : tempest-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.neutron_plugin }}${{ inputs.upgrade && '-upgrade' }}
350369 path : tempest-artifacts/*
@@ -361,8 +380,3 @@ jobs:
361380 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
362381 OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
363382 if : always()
364-
365- - name : Prune Docker images over 1 week old
366- # May fail if another prune is running
367- run : sudo docker image prune --all --force --filter until=168h || true
368- if : always()
0 commit comments