34
34
vm_interface :
35
35
description : Default network interface name
36
36
type : string
37
- default : enp3s0
37
+ default : ens3
38
38
vm_flavor :
39
39
description : Flavor for the all-in-one VM
40
40
type : string
41
- default : general.v1.medium
41
+ default : en1.large
42
42
vm_network :
43
43
description : Network for the all-in-one VM
44
44
type : string
45
- default : stackhpc-release
45
+ default : stackhpc-ci
46
46
vm_subnet :
47
47
description : Subnet for the all-in-one VM
48
48
type : string
49
- default : stackhpc-release-subnet
49
+ default : stackhpc-ci
50
50
OS_CLOUD :
51
51
description : Name of cloud in clouds.yaml
52
52
type : string
74
74
all-in-one :
75
75
name : All in one
76
76
if : inputs.if
77
- runs-on : [self-hosted, stackhpc-kayobe-config- aio]
77
+ runs-on : arc-skc- aio-runner
78
78
permissions : {}
79
79
env :
80
80
KAYOBE_ENVIRONMENT : ci-aio
85
85
# NOTE(upgrade): Reference the PREVIOUS release branch here.
86
86
PREVIOUS_BRANCH : stackhpc/yoga
87
87
steps :
88
+ - name : Install Package
89
+ uses : ConorMacBride/install-package@main
90
+ with :
91
+ apt : git unzip nodejs
92
+
88
93
# If testing upgrade, checkout previous release, otherwise checkout current branch
89
94
- name : Checkout ${{ inputs.upgrade && 'previous release' || 'current' }} config
90
95
uses : actions/checkout@v4
@@ -102,6 +107,10 @@ jobs:
102
107
fi
103
108
echo kayobe_image=$kayobe_image >> $GITHUB_OUTPUT
104
109
110
+ - name : Make sure dockerd is running and test Docker.
111
+ run : |
112
+ docker run --rm hello-world
113
+
105
114
- name : Output image tag
106
115
id : image_tag
107
116
run : |
@@ -168,7 +177,17 @@ jobs:
168
177
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
169
178
170
179
- 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
172
191
working-directory : ${{ github.workspace }}/terraform/aio
173
192
env :
174
193
OS_CLOUD : ${{ inputs.OS_CLOUD }}
@@ -232,17 +251,17 @@ jobs:
232
251
# The same tag may be reused (e.g. stackhpc/yoga), so ensure we have the latest image.
233
252
- name : Pull previous Kayobe image
234
253
run : |
235
- sudo docker image pull ${{ steps.kayobe_image.outputs.kayobe_image }}
254
+ docker image pull ${{ steps.kayobe_image.outputs.kayobe_image }}
236
255
if : inputs.upgrade
237
256
238
257
# The same tag may be reused (e.g. pr-123), so ensure we have the latest image.
239
258
- name : Pull current Kayobe image
240
259
run : |
241
- sudo docker image pull $KAYOBE_IMAGE
260
+ docker image pull $KAYOBE_IMAGE
242
261
243
262
- name : Run growroot
244
263
run : |
245
- sudo -E docker run -t --rm \
264
+ docker run -t --rm \
246
265
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
247
266
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
248
267
${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -252,7 +271,7 @@ jobs:
252
271
253
272
- name : Host configure
254
273
run : |
255
- sudo -E docker run -t --rm \
274
+ docker run -t --rm \
256
275
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
257
276
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
258
277
${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -262,7 +281,7 @@ jobs:
262
281
263
282
- name : Service deploy
264
283
run : |
265
- sudo -E docker run -t --rm \
284
+ docker run -t --rm \
266
285
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
267
286
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
268
287
${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -272,7 +291,7 @@ jobs:
272
291
273
292
- name : Configure aio resources
274
293
run : |
275
- sudo -E docker run -t --rm \
294
+ docker run -t --rm \
276
295
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
277
296
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
278
297
${{ steps.kayobe_image.outputs.kayobe_image }} \
@@ -300,7 +319,7 @@ jobs:
300
319
# Now begin upgrade
301
320
- name : Host upgrade
302
321
run : |
303
- sudo -E docker run -t --rm \
322
+ docker run -t --rm \
304
323
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
305
324
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
306
325
$KAYOBE_IMAGE \
@@ -311,7 +330,7 @@ jobs:
311
330
312
331
- name : Host configure
313
332
run : |
314
- sudo -E docker run -t --rm \
333
+ docker run -t --rm \
315
334
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
316
335
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
317
336
$KAYOBE_IMAGE \
@@ -322,7 +341,7 @@ jobs:
322
341
323
342
- name : Service upgrade
324
343
run : |
325
- sudo -E docker run -t --rm \
344
+ docker run -t --rm \
326
345
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
327
346
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
328
347
$KAYOBE_IMAGE \
@@ -334,7 +353,7 @@ jobs:
334
353
- name : Tempest tests
335
354
run : |
336
355
mkdir -p tempest-artifacts
337
- sudo -E docker run -t --rm \
356
+ docker run -t --rm \
338
357
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
339
358
-v $(pwd)/tempest-artifacts:/stack/tempest-artifacts \
340
359
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
@@ -344,7 +363,7 @@ jobs:
344
363
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY : ${{ steps.ssh_key.outputs.ssh_key }}
345
364
346
365
- name : Upload test result artifacts
347
- uses : actions/upload-artifact@v3
366
+ uses : actions/upload-artifact@v4
348
367
with :
349
368
name : tempest-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.neutron_plugin }}${{ inputs.upgrade && '-upgrade' }}
350
369
path : tempest-artifacts/*
@@ -361,8 +380,3 @@ jobs:
361
380
OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
362
381
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
363
382
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