Skip to content

Commit b850154

Browse files
committed
Add ubuntu upgrade process on CI-AIO
1 parent fb736ce commit b850154

File tree

2 files changed

+120
-77
lines changed

2 files changed

+120
-77
lines changed

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,29 @@ jobs:
335335
env:
336336
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
337337

338+
- name: Upgrade host OS
339+
run: |
340+
docker run -t --rm \
341+
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
342+
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
343+
-e KAYOBE_PATH=/stack/kayobe-automation-env/src/kayobe \
344+
${{ steps.kayobe_image.outputs.kayobe_image }} \
345+
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/script-run.sh tools/ubuntu-upgrade-overcloud.sh all
346+
env:
347+
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
348+
if: inputs.upgrade && inputs.os_release == 'jammy'
349+
350+
- name: Deploy services that are built for later OS
351+
run: |
352+
docker run -t --rm \
353+
-v $(pwd):/stack/kayobe-automation-env/src/kayobe-config \
354+
-e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY \
355+
${{ steps.kayobe_image.outputs.kayobe_image }} \
356+
/stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/overcloud-service-deploy.sh
357+
env:
358+
KAYOBE_AUTOMATION_SSH_PRIVATE_KEY: ${{ steps.ssh_key.outputs.ssh_key }}
359+
if: inputs.upgrade && inputs.os_release == 'jammy'
360+
338361
- name: Run upgrade prerequisites
339362
run: |
340363
docker run -t --rm \

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

Lines changed: 97 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -127,109 +127,129 @@ jobs:
127127
secrets: inherit
128128
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
129129

130-
all-in-one-ubuntu-noble-ovs:
131-
name: aio (Ubuntu Noble OVS)
132-
needs:
133-
- check-changes
134-
- build-kayobe-image
135-
uses: ./.github/workflows/stackhpc-all-in-one.yml
136-
with:
137-
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
138-
os_distribution: ubuntu
139-
os_release: noble
140-
ssh_username: ubuntu
141-
neutron_plugin: ovs
142-
OS_CLOUD: openstack
143-
if: ${{ needs.check-changes.outputs.aio == 'true' }}
144-
secrets: inherit
145-
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
130+
# Temporarily disable normal AIOs
131+
# all-in-one-ubuntu-noble-ovs:
132+
# name: aio (Ubuntu Noble OVS)
133+
# needs:
134+
# - check-changes
135+
# - build-kayobe-image
136+
# uses: ./.github/workflows/stackhpc-all-in-one.yml
137+
# with:
138+
# kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
139+
# os_distribution: ubuntu
140+
# os_release: noble
141+
# ssh_username: ubuntu
142+
# neutron_plugin: ovs
143+
# OS_CLOUD: openstack
144+
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
145+
# secrets: inherit
146+
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
147+
148+
# all-in-one-ubuntu-noble-ovn:
149+
# name: aio (Ubuntu Noble OVN)
150+
# needs:
151+
# - check-changes
152+
# - build-kayobe-image
153+
# uses: ./.github/workflows/stackhpc-all-in-one.yml
154+
# with:
155+
# kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
156+
# os_distribution: ubuntu
157+
# os_release: noble
158+
# ssh_username: ubuntu
159+
# neutron_plugin: ovn
160+
# OS_CLOUD: openstack
161+
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
162+
# secrets: inherit
163+
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
164+
165+
# all-in-one-rocky-9-ovs:
166+
# name: aio (Rocky 9 OVS)
167+
# needs:
168+
# - check-changes
169+
# - build-kayobe-image
170+
# uses: ./.github/workflows/stackhpc-all-in-one.yml
171+
# with:
172+
# kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
173+
# os_distribution: rocky
174+
# os_release: "9"
175+
# ssh_username: cloud-user
176+
# neutron_plugin: ovs
177+
# OS_CLOUD: openstack
178+
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
179+
# secrets: inherit
180+
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
181+
182+
# all-in-one-rocky-9-ovn:
183+
# name: aio (Rocky 9 OVN)
184+
# needs:
185+
# - check-changes
186+
# - build-kayobe-image
187+
# uses: ./.github/workflows/stackhpc-all-in-one.yml
188+
# with:
189+
# kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
190+
# os_distribution: rocky
191+
# os_release: "9"
192+
# ssh_username: cloud-user
193+
# neutron_plugin: ovn
194+
# OS_CLOUD: openstack
195+
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
196+
# secrets: inherit
197+
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
146198

147-
all-in-one-ubuntu-noble-ovn:
148-
name: aio (Ubuntu Noble OVN)
199+
# Test three upgrade scenarios: Ubuntu Noble OVN, Rocky 9 OVN and Rocky 9 OVS.
200+
201+
all-in-one-upgrade-ubuntu-jammy-to-noble-ovn:
202+
name: aio upgrade (Ubuntu Jammy to Noble OVN)
149203
needs:
150204
- check-changes
151205
- build-kayobe-image
152206
uses: ./.github/workflows/stackhpc-all-in-one.yml
153207
with:
154208
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
155209
os_distribution: ubuntu
156-
os_release: noble
210+
os_release: jammy
157211
ssh_username: ubuntu
158212
neutron_plugin: ovn
159213
OS_CLOUD: openstack
160214
if: ${{ needs.check-changes.outputs.aio == 'true' }}
215+
upgrade: true
161216
secrets: inherit
162217
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
163218

164-
all-in-one-rocky-9-ovs:
165-
name: aio (Rocky 9 OVS)
166-
needs:
167-
- check-changes
168-
- build-kayobe-image
169-
uses: ./.github/workflows/stackhpc-all-in-one.yml
170-
with:
171-
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
172-
os_distribution: rocky
173-
os_release: "9"
174-
ssh_username: cloud-user
175-
neutron_plugin: ovs
176-
OS_CLOUD: openstack
177-
if: ${{ needs.check-changes.outputs.aio == 'true' }}
178-
secrets: inherit
179-
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
219+
# Temporarily disable rocky upgrades
180220

181-
all-in-one-rocky-9-ovn:
182-
name: aio (Rocky 9 OVN)
183-
needs:
184-
- check-changes
185-
- build-kayobe-image
186-
uses: ./.github/workflows/stackhpc-all-in-one.yml
187-
with:
188-
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
189-
os_distribution: rocky
190-
os_release: "9"
191-
ssh_username: cloud-user
192-
neutron_plugin: ovn
193-
OS_CLOUD: openstack
194-
if: ${{ needs.check-changes.outputs.aio == 'true' }}
195-
secrets: inherit
196-
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
197-
198-
# Test two upgrade scenarios: Ubuntu Noble OVS and Rocky 9 OVN.
221+
# all-in-one-upgrade-rocky-9-ovn:
222+
# name: aio upgrade (Rocky 9 OVN)
223+
# needs:
224+
# - check-changes
225+
# - build-kayobe-image
226+
# uses: ./.github/workflows/stackhpc-all-in-one.yml
227+
# with:
228+
# kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
229+
# os_distribution: rocky
230+
# os_release: "9"
231+
# ssh_username: cloud-user
232+
# neutron_plugin: ovn
233+
# OS_CLOUD: openstack
234+
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
235+
# upgrade: true
236+
# secrets: inherit
237+
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
199238

200-
# On hold until Noble support lands in stackhpc/2024.1
201-
# all-in-one-upgrade-ubuntu-noble-ovs:
202-
# name: aio upgrade (Ubuntu Noble OVS)
239+
# all-in-one-upgrade-rocky-9-ovs:
240+
# name: aio upgrade (Rocky 9 OVS)
203241
# needs:
204242
# - check-changes
205243
# - build-kayobe-image
206244
# uses: ./.github/workflows/stackhpc-all-in-one.yml
207245
# with:
208246
# kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
209-
# os_distribution: ubuntu
210-
# os_release: noble
211-
# ssh_username: ubuntu
247+
# os_distribution: rocky
248+
# os_release: "9"
249+
# ssh_username: cloud-user
212250
# neutron_plugin: ovs
213251
# OS_CLOUD: openstack
214252
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
215253
# upgrade: true
216254
# secrets: inherit
217255
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
218-
219-
all-in-one-upgrade-rocky-9-ovn:
220-
name: aio upgrade (Rocky 9 OVN)
221-
needs:
222-
- check-changes
223-
- build-kayobe-image
224-
uses: ./.github/workflows/stackhpc-all-in-one.yml
225-
with:
226-
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
227-
os_distribution: rocky
228-
os_release: "9"
229-
ssh_username: cloud-user
230-
neutron_plugin: ovn
231-
OS_CLOUD: openstack
232-
if: ${{ needs.check-changes.outputs.aio == 'true' }}
233-
upgrade: true
234-
secrets: inherit
235-
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}

0 commit comments

Comments
 (0)