Skip to content

Commit 7995bf1

Browse files
committed
WIP: Make aio job work for deploy and upgrade
1 parent 339824a commit 7995bf1

File tree

2 files changed

+49
-9
lines changed

2 files changed

+49
-9
lines changed

.github/workflows/stackhpc-all-in-one.yml

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ on:
5555
description: Whether to run the workflow (workaround for required status checks issue)
5656
type: boolean
5757
default: true
58+
upgrade:
59+
description: Whether to perform an upgrade
60+
type: boolean
61+
default: false
5862
secrets:
5963
KAYOBE_VAULT_PASSWORD:
6064
required: true
@@ -78,14 +82,25 @@ jobs:
7882
KAYOBE_IMAGE: ${{ inputs.kayobe_image }}
7983
# NOTE(upgrade): Reference the PREVIOUS release here.
8084
PREVIOUS_KAYOBE_IMAGE: ghcr.io/stackhpc/stackhpc-kayobe-config:stackhpc-yoga
85+
# NOTE(upgrade): Reference the PREVIOUS release branch here.
86+
PREVIOUS_BRANCH: stackhpc/yoga
8187
steps:
8288
# Checkout previous release
8389
- uses: actions/checkout@v3
8490
with:
85-
# NOTE(upgrade): Reference the PREVIOUS release branch here.
86-
ref: stackhpc/yoga
91+
ref: ${{ inputs.upgrade && env.PREVIOUS_BRANCH }}
8792
submodules: true
8893

94+
- name: Output Kayobe image
95+
id: kayobe_image
96+
run: |
97+
if ${{ inputs.upgrade }}; then
98+
kayobe_image=$PREVIOUS_KAYOBE_IMAGE
99+
else
100+
kayobe_image=$KAYOBE_IMAGE
101+
fi
102+
echo kayobe_image=$kayobe_image >> $GITHUB_OUTPUT
103+
89104
- name: Output image tag
90105
id: image_tag
91106
run: |
@@ -141,7 +156,7 @@ jobs:
141156
VM_NETWORK: ${{ inputs.vm_network }}
142157
VM_SUBNET: ${{ inputs.vm_subnet }}
143158
VM_INTERFACE: ${{ inputs.vm_interface }}
144-
VM_VOLUME_SIZE: 45
159+
VM_VOLUME_SIZE: ${{ inputs.upgrade && '45' || '35' }}
145160

146161
- name: Terraform Plan
147162
run: terraform plan
@@ -216,7 +231,8 @@ jobs:
216231
# The same tag may be reused (e.g. stackhpc/yoga), so ensure we have the latest image.
217232
- name: Pull previous Kayobe image
218233
run: |
219-
sudo docker image pull $PREVIOUS_KAYOBE_IMAGE
234+
sudo docker image pull ${{ steps.kayobe_image.outputs.kayobe_image }}
235+
if: inputs.upgrade
220236

221237
# The same tag may be reused (e.g. pr-123), so ensure we have the latest image.
222238
- name: Pull current Kayobe image
@@ -228,7 +244,7 @@ jobs:
228244
sudo -E docker run -t --rm \
229245
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
230246
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
231-
$PREVIOUS_KAYOBE_IMAGE \
247+
${{ steps.kayobe_image.outputs.kayobe_image }} \
232248
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/growroot.yml'
233249
env:
234250
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
@@ -238,7 +254,7 @@ jobs:
238254
sudo -E docker run -t --rm \
239255
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
240256
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
241-
$PREVIOUS_KAYOBE_IMAGE \
257+
${{ steps.kayobe_image.outputs.kayobe_image }} \
242258
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-host-configure.sh
243259
env:
244260
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
@@ -248,7 +264,7 @@ jobs:
248264
sudo -E docker run -t --rm \
249265
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
250266
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
251-
$PREVIOUS_KAYOBE_IMAGE \
267+
${{ steps.kayobe_image.outputs.kayobe_image }} \
252268
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-service-deploy.sh
253269
env:
254270
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
@@ -258,22 +274,25 @@ jobs:
258274
sudo -E docker run -t --rm \
259275
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
260276
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
261-
$PREVIOUS_KAYOBE_IMAGE \
277+
${{ steps.kayobe_image.outputs.kayobe_image }} \
262278
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/playbook-run.sh etc/kayobe/ansible/configure-aio-resources.yml
263279
env:
264280
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
265281

266282
- name: Stash config changes
267283
run: git stash
284+
if: inputs.upgrade
268285

269286
# Now begin upgrade
270287
- uses: actions/checkout@v3
271288
with:
272289
submodules: true
273290
clean: false
291+
if: inputs.upgrade
274292

275293
- name: Pop stashed config changes
276294
run: git stash pop
295+
if: inputs.upgrade
277296

278297
- name: Host upgrade
279298
run: |
@@ -284,6 +303,7 @@ jobs:
284303
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-host-upgrade.sh
285304
env:
286305
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
306+
if: inputs.upgrade
287307

288308
- name: Host configure
289309
run: |
@@ -294,6 +314,7 @@ jobs:
294314
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-host-configure.sh
295315
env:
296316
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
317+
if: inputs.upgrade
297318

298319
- name: Service upgrade
299320
run: |
@@ -304,6 +325,7 @@ jobs:
304325
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-service-upgrade.sh
305326
env:
306327
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
328+
if: inputs.upgrade
307329

308330
- name: Tempest tests
309331
run: |
@@ -320,7 +342,7 @@ jobs:
320342
- name: Upload test result artifacts
321343
uses: actions/upload-artifact@v3
322344
with:
323-
name: tempest-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.neutron_plugin }}
345+
name: tempest-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.neutron_plugin }}${{ inputs.upgrade && '-upgrade' }}
324346
path: tempest-artifacts/*
325347

326348
- name: Fail if any Tempest tests failed

.github/workflows/stackhpc-pull-request.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,21 @@ jobs:
143143
if: ${{ needs.check-changes.outputs.aio == 'true' }}
144144
secrets: inherit
145145
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
146+
147+
all-in-one-upgrade-rocky-9-ovn:
148+
name: aio upgrade (Rocky 9 OVN)
149+
needs:
150+
- check-changes
151+
- build-kayobe-image
152+
uses: ./.github/workflows/stackhpc-all-in-one.yml
153+
with:
154+
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
155+
os_distribution: rocky
156+
os_release: "9"
157+
ssh_username: cloud-user
158+
neutron_plugin: ovn
159+
OS_CLOUD: sms-lab-release
160+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
161+
upgrade: true
162+
secrets: inherit
163+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}

0 commit comments

Comments
 (0)