Skip to content

Commit 97768a2

Browse files
Enable AIOs in Master (#1512)
Enable AIOs in Master --------- Co-authored-by: Seunghun Lee <[email protected]>
1 parent 46ecb0a commit 97768a2

File tree

9 files changed

+150
-163
lines changed

9 files changed

+150
-163
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
build-kayobe-image:
4343
name: Build kayobe image
4444
if: inputs.if || github.repository == 'stackhpc/stackhpc-kayobe-config' && github.event_name == 'push'
45-
runs-on: ubuntu-24.04
45+
runs-on: ubuntu-22.04
4646
permissions:
4747
contents: read
4848
packages: write
@@ -93,6 +93,7 @@ jobs:
9393
http_proxy=${{ inputs.http_proxy }}
9494
https_proxy=${{ inputs.https_proxy }}
9595
BASE_IMAGE=${{ inputs.base_image || 'rockylinux:9' }}
96+
USE_PYTHON_312=true
9697
KAYOBE_USER_UID=1001
9798
KAYOBE_USER_GID=1001
9899
push: true

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

Lines changed: 127 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -8,58 +8,58 @@ 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-24.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-
# build-kayobe-image: ${{ steps.changes.outputs.build-kayobe-image }}
24-
# check-tags: ${{ steps.changes.outputs.check-tags }}
25-
# steps:
26-
# - name: GitHub Checkout
27-
# uses: actions/checkout@v4
28-
29-
# - name: Check changed files
30-
# uses: dorny/paths-filter@v3
31-
# id: changes
32-
# with:
33-
# # Filters are defined in this file.
34-
# filters: .github/path-filters.yml
35-
36-
# tox:
37-
# runs-on: ubuntu-24.04
38-
# permissions: {}
39-
# strategy:
40-
# matrix:
41-
# include:
42-
# - environment: pep8
43-
# python-version: "3.10"
44-
# - environment: releasenotes
45-
# python-version: "3.10"
46-
# - environment: docs
47-
# python-version: "3.10"
48-
# name: Tox ${{ matrix.environment }} with Python ${{ matrix.python-version }}
49-
# if: github.repository == 'stackhpc/stackhpc-kayobe-config'
50-
# steps:
51-
# - name: GitHub Checkout 🛎
52-
# uses: actions/checkout@v4
53-
# with:
54-
# fetch-depth: 0
55-
# - name: Setup Python ${{ matrix.python-version }} 🐍
56-
# uses: actions/setup-python@v5
57-
# with:
58-
# python-version: ${{ matrix.python-version }}
59-
# - name: Install Tox 📦
60-
# run: pip install tox
61-
# - name: Run Tox ${{ matrix.environment }} 🧪
62-
# run: tox -e ${{ matrix.environment }}
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-24.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+
build-kayobe-image: ${{ steps.changes.outputs.build-kayobe-image }}
24+
check-tags: ${{ steps.changes.outputs.check-tags }}
25+
steps:
26+
- name: GitHub Checkout
27+
uses: actions/checkout@v4
28+
29+
- name: Check changed files
30+
uses: dorny/paths-filter@v3
31+
id: changes
32+
with:
33+
# Filters are defined in this file.
34+
filters: .github/path-filters.yml
35+
36+
tox:
37+
runs-on: ubuntu-24.04
38+
permissions: {}
39+
strategy:
40+
matrix:
41+
include:
42+
- environment: pep8
43+
python-version: "3.12"
44+
- environment: releasenotes
45+
python-version: "3.12"
46+
- environment: docs
47+
python-version: "3.12"
48+
name: Tox ${{ matrix.environment }} with Python ${{ matrix.python-version }}
49+
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
50+
steps:
51+
- name: GitHub Checkout 🛎
52+
uses: actions/checkout@v4
53+
with:
54+
fetch-depth: 0
55+
- name: Setup Python ${{ matrix.python-version }} 🐍
56+
uses: actions/setup-python@v5
57+
with:
58+
python-version: ${{ matrix.python-version }}
59+
- name: Install Tox 📦
60+
run: pip install tox
61+
- name: Run Tox ${{ matrix.environment }} 🧪
62+
run: tox -e ${{ matrix.environment }}
6363

6464
lint:
6565
runs-on: ubuntu-24.04
@@ -106,14 +106,14 @@ jobs:
106106
# when the parent jobs completed successfully or were skipped. We pass an
107107
# 'if' argument to the called workflow to allow running it conditionally.
108108

109-
# build-kayobe-image:
110-
# name: Build Kayobe Image
111-
# needs:
112-
# - check-changes
113-
# uses: ./.github/workflows/stackhpc-build-kayobe-image.yml
114-
# with:
115-
# if: ${{ needs.check-changes.outputs.build-kayobe-image == 'true' }}
116-
# if: github.repository == 'stackhpc/stackhpc-kayobe-config'
109+
build-kayobe-image:
110+
name: Build Kayobe Image
111+
needs:
112+
- check-changes
113+
uses: ./.github/workflows/stackhpc-build-kayobe-image.yml
114+
with:
115+
if: ${{ needs.check-changes.outputs.build-kayobe-image == 'true' }}
116+
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
117117

118118
# check-tags:
119119
# name: Check container image tags
@@ -127,73 +127,73 @@ 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' }}
146-
147-
# all-in-one-ubuntu-noble-ovn:
148-
# name: aio (Ubuntu Noble 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: ubuntu
156-
# os_release: noble
157-
# ssh_username: ubuntu
158-
# neutron_plugin: ovn
159-
# OS_CLOUD: openstack
160-
# if: ${{ needs.check-changes.outputs.aio == 'true' }}
161-
# secrets: inherit
162-
# if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
163-
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' }}
180-
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' }}
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' }}
146+
147+
all-in-one-ubuntu-noble-ovn:
148+
name: aio (Ubuntu Noble 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: ubuntu
156+
os_release: noble
157+
ssh_username: ubuntu
158+
neutron_plugin: ovn
159+
OS_CLOUD: openstack
160+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
161+
secrets: inherit
162+
if: ${{ ! failure() && ! cancelled() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
163+
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' }}
180+
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' }}
197197

198198
# Test two upgrade scenarios: Ubuntu Noble OVS and Rocky 9 OVN.
199199

doc/source/operations/upgrading-openstack.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ to the ``stackhpc.linux.sriov`` role, which is not used by Kayobe. If a custom
5252
playbook uses this role, you can retain existing behaviour by setting
5353
``sriov_numvfs_driver`` to ``udev``.
5454

55-
Neutron driver defaults
55+
Neutron driver defaults
5656
-----------------------
5757

5858
The default Neutron ML2 type drivers and tenant network types now use

etc/kayobe/environments/ci-builder/stackhpc-ci.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ kolla_docker_namespace: stackhpc-dev
88
# Kolla feature flag configuration.
99
kolla_enable_barbican: true
1010
kolla_enable_blazar: true
11-
kolla_enable_caso: true
1211
kolla_enable_central_logging: true
1312
kolla_enable_cinder: true
1413
kolla_enable_cloudkitty: true

etc/kayobe/kolla-image-tags.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
# TODO: Build real master images
66
kolla_image_tags:
77
openstack:
8-
rocky-9: master-rocky-9-placeholder
9-
ubuntu-noble: master-ubuntu-noble-placeholder
8+
rocky-9: master-rocky-9-20250213T114650
9+
ubuntu-noble: master-ubuntu-noble-20250213T091307

etc/kayobe/kolla.yml

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,6 @@ kolla_sources:
121121
type: git
122122
location: https://github.com/stackhpc/stackhpc-inspector-plugins.git
123123
reference: 1.3.0
124-
bifrost-base:
125-
type: git
126-
location: https://github.com/stackhpc/bifrost.git
127-
reference: stackhpc/{{ openstack_release }}
128-
cloudkitty-base:
129-
type: git
130-
location: https://github.com/stackhpc/cloudkitty.git
131-
reference: stackhpc/{{ openstack_release }}
132124
horizon-plugin-cloudkitty-dashboard:
133125
type: git
134126
location: https://github.com/stackhpc/cloudkitty-dashboard.git
@@ -148,20 +140,12 @@ kolla_sources:
148140
reference: stackhpc/{{ openstack_release }}
149141
neutron-server-plugin-networking-mlnx:
150142
type: git
151-
location: https://github.com/stackhpc/networking-mlnx
152-
reference: stackhpc/{{ openstack_release }}
143+
location: https://opendev.org/x/networking-mlnx
144+
reference: master
153145
nova-compute-plugin-networking-mlnx:
154146
type: git
155-
location: https://github.com/stackhpc/networking-mlnx
156-
reference: stackhpc/{{ openstack_release }}
157-
octavia-base:
158-
type: git
159-
location: https://github.com/stackhpc/octavia.git
160-
reference: stackhpc/{{ openstack_release }}
161-
blazar-base:
162-
type: git
163-
location: https://github.com/stackhpc/blazar
164-
reference: stackhpc/master
147+
location: https://opendev.org/x/networking-mlnx
148+
reference: master
165149

166150
###############################################################################
167151
# Kolla image build configuration.
@@ -183,12 +167,6 @@ stackhpc_rocky_9_additional_repos:
183167
- url: "{{ stackhpc_repo_centos_stream_9_nfv_openvswitch_url }}"
184168
file: "CentOS-NFV-OpenvSwitch.repo"
185169
tag: "centos-nfv-openvswitch"
186-
- url: "{{ stackhpc_repo_delorian_master_testing_url }}"
187-
file: "DeLorean.repo"
188-
tag: "delorean-master-testing"
189-
- url: "{{ stackhpc_repo_delorian_master_build_deps_url }}"
190-
file: "DeLorean.repo"
191-
tag: "delorean-master-build-deps"
192170
- url: "{{ stackhpc_repo_centos_stream_9_opstools_url }}"
193171
file: "CentOS-OpsTools.repo"
194172
tag: "centos-opstools"
@@ -371,9 +349,16 @@ kolla_build_customizations_common:
371349
- python3-libvirt
372350
- python3-ethtool
373351
neutron_mlnx_agent_pip_packages_override:
374-
- networking-mlnx@git+https://github.com/stackhpc/networking-mlnx@stackhpc/{{ openstack_release }}
352+
- networking-mlnx@git+https://opendev.org/x/networking-mlnx@master
375353

376354
kolla_build_customizations_rocky:
355+
base_centos_yum_repo_packages_append:
356+
- centos-release-ceph-squid
357+
base_centos_yum_repo_packages_remove:
358+
- centos-release-ceph-reef
359+
base_centos_yum_repos_to_disable_remove:
360+
- centos-ceph-reef
361+
- epel
377362
kolla_toolbox_packages_remove:
378363
- openvswitch
379364
kolla_toolbox_packages_append:

etc/kayobe/pulp-host-image-versions.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
# Overcloud host image versioning tags
33
# These images must be in SMS, since they are used by our AIO CI runners
44
# TODO: Build real master images
5-
stackhpc_rocky_9_overcloud_host_image_version: "2024.1-20241209T151515"
6-
stackhpc_ubuntu_noble_overcloud_host_image_version: "2024.1-20250116T133659"
5+
stackhpc_rocky_9_overcloud_host_image_version: "master-20250213T092714"
6+
stackhpc_ubuntu_noble_overcloud_host_image_version: "master-20250213T092714"

0 commit comments

Comments
 (0)