Skip to content

Commit 9938a9e

Browse files
authored
Merge pull request #398 from stackhpc/upstream/2024.1-2025-04-02
Synchronise 2024.1 with upstream
2 parents 5ecf357 + 6aba731 commit 9938a9e

File tree

18 files changed

+263
-29
lines changed

18 files changed

+263
-29
lines changed

.zuul.d/base.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@
8787
- name: primary
8888
label: ubuntu-jammy
8989

90+
- nodeset:
91+
name: kolla-ubuntu-noble
92+
nodes:
93+
- name: primary
94+
label: ubuntu-noble
95+
9096
- nodeset:
9197
name: kolla-debian-bookworm
9298
nodes:
@@ -117,6 +123,12 @@
117123
- name: primary
118124
label: ubuntu-jammy-arm64
119125

126+
- nodeset:
127+
name: kolla-ubuntu-noble-aarch64
128+
nodes:
129+
- name: primary
130+
label: ubuntu-noble-arm64
131+
120132
- job:
121133
name: kolla-base
122134
parent: base

.zuul.d/project.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
check:
1212
jobs:
1313
- kolla-tox-genconfig
14+
- openstack-tox-py312
15+
check-arm64:
16+
jobs:
17+
- openstack-tox-py312-arm64
1418
gate:
1519
jobs:
1620
- kolla-tox-genconfig

.zuul.d/ubuntu.yaml

Lines changed: 56 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
- project:
33
check:
44
jobs:
5-
- kolla-build-ubuntu
6-
- kolla-build-ubuntu-podman
5+
- kolla-build-ubuntu-jammy
6+
- kolla-build-ubuntu-noble
7+
- kolla-build-ubuntu-jammy-podman
8+
- kolla-build-ubuntu-noble-podman
79
- kolla-ansible-ubuntu
810
- kolla-ansible-ubuntu-upgrade
911
# Test rabbitmq and mariadb in multinode ceph jobs.
@@ -33,45 +35,72 @@
3335
files: ^docker/bifrost/
3436
gate:
3537
jobs:
36-
- kolla-build-ubuntu
37-
- kolla-build-ubuntu-podman
38+
- kolla-build-ubuntu-jammy
39+
- kolla-build-ubuntu-noble
40+
- kolla-build-ubuntu-jammy-podman
41+
- kolla-build-ubuntu-noble-podman
3842
- kolla-ansible-ubuntu
3943
- kolla-ansible-ubuntu-upgrade
4044
periodic:
4145
jobs:
42-
- kolla-publish-ubuntu-quay
46+
- kolla-publish-ubuntu-jammy-quay
47+
- kolla-publish-ubuntu-noble-quay
4348
periodic-weekly:
4449
jobs:
45-
- kolla-publish-ubuntu-dockerhub
50+
- kolla-publish-ubuntu-jammy-dockerhub
4651
experimental:
4752
jobs:
4853
- kolla-build-no-infra-wheels-ubuntu
4954

5055
- job:
51-
name: kolla-build-ubuntu
56+
name: kolla-build-ubuntu-jammy
5257
parent: kolla-base
5358
nodeset: kolla-ubuntu-jammy
5459
vars:
5560
base_distro: ubuntu
5661
base_distro_version: jammy
5762

5863
- job:
59-
name: kolla-build-ubuntu-podman
64+
name: kolla-build-ubuntu-noble
65+
parent: kolla-base
66+
nodeset: kolla-ubuntu-noble
67+
vars:
68+
base_distro: ubuntu
69+
base_distro_version: noble
70+
base_distro_tag: '24.04'
71+
72+
- job:
73+
name: kolla-build-ubuntu-jammy-podman
6074
parent: kolla-base-podman
6175
nodeset: kolla-ubuntu-jammy
6276
vars:
6377
base_distro: ubuntu
6478
base_distro_version: jammy
6579

6680
- job:
67-
name: kolla-build-ubuntu-aarch64
68-
parent: kolla-build-ubuntu
81+
name: kolla-build-ubuntu-noble-podman
82+
parent: kolla-base-podman
83+
nodeset: kolla-ubuntu-noble
84+
vars:
85+
base_distro: ubuntu
86+
base_distro_version: noble
87+
base_distro_tag: '24.04'
88+
89+
- job:
90+
name: kolla-build-ubuntu-jammy-aarch64
91+
parent: kolla-build-ubuntu-jammy
6992
nodeset: kolla-ubuntu-jammy-aarch64
7093
voting: false
7194

7295
- job:
73-
name: kolla-publish-ubuntu-dockerhub
74-
parent: kolla-build-ubuntu
96+
name: kolla-build-ubuntu-noble-aarch64
97+
parent: kolla-build-ubuntu-noble
98+
nodeset: kolla-ubuntu-noble-aarch64
99+
voting: false
100+
101+
- job:
102+
name: kolla-publish-ubuntu-jammy-dockerhub
103+
parent: kolla-build-ubuntu-jammy
75104
post-run: tests/playbooks/publish.yml
76105
vars:
77106
publisher: true
@@ -81,8 +110,20 @@
81110
- kolla_dockerhub_credentials
82111

83112
- job:
84-
name: kolla-publish-ubuntu-quay
85-
parent: kolla-build-ubuntu
113+
name: kolla-publish-ubuntu-jammy-quay
114+
parent: kolla-build-ubuntu-jammy
115+
post-run: tests/playbooks/publish.yml
116+
vars:
117+
publisher: true
118+
kolla_registry: quay.io
119+
kolla_namespace: openstack.kolla
120+
secrets:
121+
- kolla_quay_io_creds
122+
- kolla_quay_io_api
123+
124+
- job:
125+
name: kolla-publish-ubuntu-noble-quay
126+
parent: kolla-build-ubuntu-noble
86127
post-run: tests/playbooks/publish.yml
87128
vars:
88129
publisher: true
@@ -95,6 +136,6 @@
95136
- job:
96137
name: kolla-build-no-infra-wheels-ubuntu
97138
parent: kolla-build-no-infra-wheels-base
98-
nodeset: kolla-ubuntu-jammy
139+
nodeset: kolla-ubuntu-noble
99140
vars:
100141
base_distro: ubuntu

doc/source/support_matrix.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,14 @@ Distribution Default base Default base tag
2020
Rocky Linux quay.io/rockylinux/rockylinux 9
2121
Debian Bullseye debian bullseye
2222
Ubuntu Jammy ubuntu 22.04
23+
Ubuntu Noble ubuntu 24.04
2324
================== =============================== ================
2425

26+
.. note::
27+
In order to build Ubuntu Noble based images ``base_tag`` needs to be set
28+
to ``24.04`` (if using a local image from your own registry - the tag needs
29+
to at least start with 24.04, e.g. '24.04-my-version')
30+
2531
The remainder of this document outlines which images are supported on which of
2632
these distribution.
2733

docker/base/Dockerfile.j2

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,11 +237,21 @@ RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc \
237237
-e s/#*LAST_SYSTEM_GID=999/LAST_SYSTEM_GID=59999/g /etc/adduser.conf
238238

239239
{% block base_ubuntu_package_sources_list %}
240-
{% if base_distro == 'debian' or ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %}
240+
{% if base_distro == 'debian' %}
241241
RUN rm -f /etc/apt/sources.list.d/debian.sources
242242
COPY sources.list.{{ base_distro }} /etc/apt/sources.list
243+
{% elif ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %}
244+
{% if base_distro_tag.startswith('22.04') %}
245+
COPY sources.list.{{ base_distro }}.jammy /etc/apt/sources.list
246+
{% elif base_distro_tag.startswith('24.04') %}
247+
COPY sources.list.{{ base_distro }}.noble /etc/apt/sources.list
248+
{% endif %}
243249
{% else %}
244-
COPY sources.list.{{ base_distro }}.{{ base_arch }} /etc/apt/sources.list
250+
{% if base_distro_tag.startswith('22.04') %}
251+
COPY sources.list.{{ base_distro }}.jammy.{{ base_arch }} /etc/apt/sources.list
252+
{% elif base_distro_tag.startswith('24.04') %}
253+
COPY sources.list.{{ base_distro }}.noble.{{ base_arch }} /etc/apt/sources.list
254+
{% endif %}
245255
{% endif %}
246256
COPY sources.list /etc/apt/sources.list.d/kolla-custom.list
247257
{% endblock %}
@@ -268,6 +278,7 @@ COPY apt_preferences /etc/apt/preferences.d/kolla-custom
268278
{% set base_apt_packages = [
269279
'apt-utils',
270280
'dumb-init',
281+
'systemd-standalone-sysusers',
271282
'gawk',
272283
'iproute2',
273284
'kmod',
File renamed without changes.
File renamed without changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# For non-x86 architectures we use sources.list.ubuntu.<arch>
2+
3+
# Default repos
4+
deb mirror://mirrors.ubuntu.com/mirrors.txt noble main universe
5+
deb mirror://mirrors.ubuntu.com/mirrors.txt noble-updates main universe
6+
deb mirror://mirrors.ubuntu.com/mirrors.txt noble-security main universe
7+
8+
# Backports have a lower priority and must be explicitly installed to be used
9+
deb http://archive.ubuntu.com/ubuntu/ noble-backports main universe
10+
11+
# NOTE: In Caracal we don't need to add the repo for the updated packages like qemu,
12+
# libvirt, and openvswitch.
13+
14+
# NOTE(hrw): extra repositories are added into image when they are needed as
15+
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
16+
# are defined in kolla/template/repos.yaml file.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Default repos
2+
deb http://ports.ubuntu.com/ noble main universe
3+
deb http://ports.ubuntu.com/ noble-updates main universe
4+
deb http://ports.ubuntu.com/ noble-security main universe
5+
6+
# Backports have a lower priority and must be explicitly installed to be used
7+
deb http://ports.ubuntu.com/ noble-backports main universe
8+
9+
# We need to add the repo for the updated packages they provide. The main ones
10+
# are qemu, libvirt, and openvswitch.
11+
deb http://ubuntu-cloud.archive.canonical.com/ubuntu noble-updates/dalmatian main
12+
13+
# NOTE(hrw): extra repositories are added into image when they are needed as
14+
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
15+
# are defined in kolla/template/repos.yaml file.

docker/bifrost/bifrost-base/Dockerfile.j2

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,18 @@ ENV ANSIBLE_GATHER_TIMEOUT=30
3737
{% block bifrost_ansible_install %}
3838
{%- if base_package_type == 'deb' %}
3939
RUN apt-get --error-on=any update && \
40+
{%- if base_distro_tag.startswith('24.04') %}
41+
bash -c 'export VENV=/var/lib/kolla/venv && \
42+
{# NOTE(darmach): Bumped to ansible-core 2.16 to match Python 3.12 #}
43+
$VENV/bin/pip install "ansible>=9,<10" && \
44+
{%- else %}
45+
bash -c '$VENV/bin/pip install "ansible>=6,<7" && \
46+
{%- endif %}
4047
{%- else %}
4148
RUN echo " " && \
49+
bash -c 'export VENV=/var/lib/kolla/venv && \
50+
$VENV/bin/pip install "ansible>=6,<7" && \
4251
{%- endif %}
43-
bash -c 'export VENV=/var/lib/kolla/venv && \
44-
$VENV/bin/pip install "ansible>=6,<7" && \
4552
$VENV/bin/ansible-galaxy collection install -r /bifrost/ansible-collections-requirements.yml && \
4653
ansible-playbook -vvvv -i /bifrost/playbooks/inventory/target \
4754
/bifrost/playbooks/install.yaml \

0 commit comments

Comments
 (0)