Skip to content

Commit 3fc2b96

Browse files
Merge branch 'stackhpc/yoga' into os-capacity-more-fixes
2 parents 2f99dac + 533ee57 commit 3fc2b96

File tree

72 files changed

+1951
-287
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1951
-287
lines changed

.github/path-filters.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# This file is a list of path filters for the PR workflow in .github/workflows/stackhpc-pull-request.yml.
2+
aio:
3+
- '.automation'
4+
- '.automation.conf/config.sh'
5+
- '.automation.conf/tempest/load-lists/default'
6+
- '.automation.conf/tempest/load-lists/platform.2022.11-test-list.txt'
7+
- '.automation.conf/tempest/load-lists/refstack-2019.11-test-list.txt'
8+
- '.automation.conf/tempest/tempest-ci-aio.overrides.conf'
9+
- '.github/workflows/stackhpc-all-in-one.yml'
10+
- '.github/workflows/stackhpc-build-kayobe-image.yml'
11+
- '.github/workflows/stackhpc-pull-request.yml'
12+
- 'etc/kayobe/*.yml'
13+
- 'etc/kayobe/ansible/configure-aio-resources.yml'
14+
- 'etc/kayobe/ansible/growroot.yml'
15+
- 'etc/kayobe/ansible/requirements.yml'
16+
- 'etc/kayobe/ansible/scripts/aio-init.sh'
17+
- 'etc/kayobe/environments/ci-aio/**'
18+
- 'etc/kayobe/inventory/**'
19+
- 'etc/kayobe/kolla/**'
20+
- 'kayobe-env'
21+
- 'requirements.txt'
22+
- 'terraform/aio/**'

.github/workflows/overcloud-host-image-build.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ on:
2323
description: Build Ubuntu 22.04 Jammy
2424
type: boolean
2525
default: true
26-
SMS:
27-
description: Push images to SMS
28-
type: boolean
29-
default: true
3026
secrets:
3127
KAYOBE_VAULT_PASSWORD:
3228
required: true
@@ -187,7 +183,7 @@ jobs:
187183
env:
188184
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
189185
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
190-
if: inputs.centos && steps.build_centos_stream_8.outcome == 'success' && inputs.sms
186+
if: inputs.centos && steps.build_centos_stream_8.outcome == 'success'
191187

192188
- name: Build a Rocky Linux 8 overcloud host image
193189
id: build_rocky_8
@@ -231,7 +227,7 @@ jobs:
231227
env:
232228
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
233229
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
234-
if: inputs.rocky8 && steps.build_rocky_8.outcome == 'success' && inputs.sms
230+
if: inputs.rocky8 && steps.build_rocky_8.outcome == 'success'
235231

236232
- name: Build a Rocky Linux 9 overcloud host image
237233
id: build_rocky_9
@@ -275,7 +271,7 @@ jobs:
275271
env:
276272
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
277273
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
278-
if: inputs.rocky9 && steps.build_rocky_9.outcome == 'success' && inputs.sms
274+
if: inputs.rocky9 && steps.build_rocky_9.outcome == 'success'
279275

280276
- name: Build an Ubuntu Focal 20.04 overcloud host image
281277
id: build_ubuntu_focal
@@ -319,7 +315,7 @@ jobs:
319315
env:
320316
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
321317
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
322-
if: inputs.ubuntu-focal && steps.build_ubuntu_focal.outcome == 'success' && inputs.sms
318+
if: inputs.ubuntu-focal && steps.build_ubuntu_focal.outcome == 'success'
323319

324320
- name: Build an Ubuntu Jammy 22.04 overcloud host image
325321
id: build_ubuntu_jammy
@@ -363,7 +359,7 @@ jobs:
363359
env:
364360
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
365361
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
366-
if: inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success' && inputs.sms
362+
if: inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
367363

368364
- name: Upload updated images artifact
369365
uses: actions/upload-artifact@v3

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ on:
5151
description: Name of cloud in clouds.yaml
5252
type: string
5353
required: true
54+
if:
55+
description: Whether to run the workflow (workaround for required status checks issue)
56+
type: boolean
57+
default: true
5458
secrets:
5559
KAYOBE_VAULT_PASSWORD:
5660
required: true
@@ -65,6 +69,7 @@ jobs:
6569
# NOTE: Runner needs unzip and nodejs packages.
6670
all-in-one:
6771
name: All in one
72+
if: inputs.if
6873
runs-on: [self-hosted, stackhpc-kayobe-config-aio]
6974
permissions: {}
7075
env:

.github/workflows/stackhpc-build-kayobe-image.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ on:
1616
no_proxy:
1717
type: string
1818
required: false
19+
if:
20+
description: Whether to run the workflow (workaround for required status checks issue)
21+
type: boolean
22+
default: true
1923
outputs:
2024
kayobe_image:
2125
description: Reference of Kayobe image that was built
@@ -28,6 +32,7 @@ env:
2832
jobs:
2933
build-kayobe-image:
3034
name: Build kayobe image
35+
if: inputs.if
3136
runs-on: ubuntu-20.04
3237
permissions:
3338
contents: read

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

Lines changed: 65 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,29 @@ name: Pull request
88
'on':
99
pull_request:
1010
jobs:
11+
# Detect which files have changed and use this to run jobs conditionally.
12+
# Note that we can't use the workflow-level paths attribute since this
13+
# would skip the workflow entirely, and would prevent us from making the
14+
# aio jobs required to pass (a skip counts as a pass).
15+
check-changes:
16+
runs-on: ubuntu-20.04
17+
permissions:
18+
pull-requests: read
19+
name: Check changed files
20+
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
21+
outputs:
22+
aio: ${{ steps.changes.outputs.aio }}
23+
steps:
24+
- name: GitHub Checkout
25+
uses: actions/checkout@v3
26+
27+
- name: Check changed files
28+
uses: dorny/paths-filter@v2
29+
id: changes
30+
with:
31+
# Filters are defined in this file.
32+
filters: .github/path-filters.yml
33+
1134
tox:
1235
runs-on: ubuntu-20.04
1336
permissions: {}
@@ -36,38 +59,55 @@ jobs:
3659
- name: Run Tox ${{ matrix.environment }} 🧪
3760
run: tox -e ${{ matrix.environment }}
3861

62+
# A skipped job is treated as success when used as a required status check.
63+
# The registered required status checks refer to the name of the job in the
64+
# called reusable workflow rather than the jobs in this file. The following
65+
# jobs need to run unconditionally to allow GitHub required status checks to
66+
# pass even when there are changed files. The `! failure()` condition runs
67+
# when the parent jobs completed successfully or were skipped. We pass an
68+
# 'if' argument to the called workflow to allow running it conditionally.
69+
3970
build-kayobe-image:
4071
name: Build Kayobe Image
72+
needs:
73+
- check-changes
4174
uses: ./.github/workflows/stackhpc-build-kayobe-image.yml
75+
with:
76+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
4277
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
4378

4479
all-in-one-centos-ovs:
4580
name: aio (CentOS OVS)
4681
needs:
82+
- check-changes
4783
- build-kayobe-image
4884
uses: ./.github/workflows/stackhpc-all-in-one.yml
4985
with:
5086
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
5187
neutron_plugin: ovs
5288
OS_CLOUD: sms-lab-release
89+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
5390
secrets: inherit
54-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
91+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
5592

5693
all-in-one-centos-ovn:
5794
name: aio (CentOS OVN)
5895
needs:
96+
- check-changes
5997
- build-kayobe-image
6098
uses: ./.github/workflows/stackhpc-all-in-one.yml
6199
with:
62100
kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }}
63101
neutron_plugin: ovn
64102
OS_CLOUD: sms-lab-release
103+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
65104
secrets: inherit
66-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
105+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
67106

68107
all-in-one-rocky-8-ovs:
69108
name: aio (Rocky OVS)
70109
needs:
110+
- check-changes
71111
- build-kayobe-image
72112
uses: ./.github/workflows/stackhpc-all-in-one.yml
73113
with:
@@ -76,12 +116,14 @@ jobs:
76116
os_release: "8"
77117
neutron_plugin: ovs
78118
OS_CLOUD: sms-lab-release
119+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
79120
secrets: inherit
80-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
121+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
81122

82123
all-in-one-rocky-8-ovn:
83124
name: aio (Rocky OVN)
84125
needs:
126+
- check-changes
85127
- build-kayobe-image
86128
uses: ./.github/workflows/stackhpc-all-in-one.yml
87129
with:
@@ -90,12 +132,14 @@ jobs:
90132
os_release: "8"
91133
neutron_plugin: ovn
92134
OS_CLOUD: sms-lab-release
135+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
93136
secrets: inherit
94-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
137+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
95138

96139
all-in-one-ubuntu-ovs:
97140
name: aio (Ubuntu OVS)
98141
needs:
142+
- check-changes
99143
- build-kayobe-image
100144
uses: ./.github/workflows/stackhpc-all-in-one.yml
101145
with:
@@ -105,12 +149,14 @@ jobs:
105149
ssh_username: ubuntu
106150
neutron_plugin: ovs
107151
OS_CLOUD: sms-lab-release
152+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
108153
secrets: inherit
109-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
154+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
110155

111156
all-in-one-ubuntu-ovn:
112157
name: aio (Ubuntu OVN)
113158
needs:
159+
- check-changes
114160
- build-kayobe-image
115161
uses: ./.github/workflows/stackhpc-all-in-one.yml
116162
with:
@@ -120,12 +166,14 @@ jobs:
120166
ssh_username: ubuntu
121167
neutron_plugin: ovn
122168
OS_CLOUD: sms-lab-release
169+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
123170
secrets: inherit
124-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
171+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
125172

126173
all-in-one-ubuntu-jammy-ovs:
127174
name: aio (Ubuntu Jammy OVS)
128175
needs:
176+
- check-changes
129177
- build-kayobe-image
130178
uses: ./.github/workflows/stackhpc-all-in-one.yml
131179
with:
@@ -135,12 +183,14 @@ jobs:
135183
ssh_username: ubuntu
136184
neutron_plugin: ovs
137185
OS_CLOUD: sms-lab-release
186+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
138187
secrets: inherit
139-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
188+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
140189

141190
all-in-one-ubuntu-jammy-ovn:
142191
name: aio (Ubuntu Jammy OVN)
143192
needs:
193+
- check-changes
144194
- build-kayobe-image
145195
uses: ./.github/workflows/stackhpc-all-in-one.yml
146196
with:
@@ -150,12 +200,14 @@ jobs:
150200
ssh_username: ubuntu
151201
neutron_plugin: ovn
152202
OS_CLOUD: sms-lab-release
203+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
153204
secrets: inherit
154-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
205+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
155206

156207
all-in-one-rocky-9-ovs:
157208
name: aio (Rocky 9 OVS)
158209
needs:
210+
- check-changes
159211
- build-kayobe-image
160212
uses: ./.github/workflows/stackhpc-all-in-one.yml
161213
with:
@@ -165,12 +217,14 @@ jobs:
165217
ssh_username: cloud-user
166218
neutron_plugin: ovs
167219
OS_CLOUD: sms-lab-release
220+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
168221
secrets: inherit
169-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
222+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
170223

171224
all-in-one-rocky-9-ovn:
172225
name: aio (Rocky 9 OVN)
173226
needs:
227+
- check-changes
174228
- build-kayobe-image
175229
uses: ./.github/workflows/stackhpc-all-in-one.yml
176230
with:
@@ -180,5 +234,6 @@ jobs:
180234
ssh_username: cloud-user
181235
neutron_plugin: ovn
182236
OS_CLOUD: sms-lab-release
237+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
183238
secrets: inherit
184-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
239+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}

0 commit comments

Comments
 (0)