Compare commits

..

82 commits

Author SHA1 Message Date
Michal Arbet
07103ab0a0 debian: Use bookworkm suite for rabbitmq APT repo
Change-Id: Ifd664de82a81830eeda8ccc019b22ee93768635e
(cherry picked from commit c930c9fb9c)
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-09 16:56:14 +00:00
Bartosz Bezak
37d68ab91b [stable] Use versioned Erlang 26 and 27 repo on aarch64
In stable branches we need both Erlang 26.2 (RabbitMQ 3.13) and
Erlang 27 (RabbitMQ 4.1).

Follows [1], adapted for stable branches where both versions are
required.

[1] https://review.opendev.org/c/openstack/kolla/+/959135

Change-Id: Ied94e0fac36e60cbf227eb9105f659adc1500545
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
(cherry picked from commit 688c3c7ed8)
2025-09-05 10:36:14 +00:00
Michal Nasiadka
d0870105a2 docs: Update contributor guide
Remove references to blueprints and kolla-ansible-core Gerrit group.

Change-Id: I56dbc9f8599075b7cc87726f0507c63e74723e0f
(cherry picked from commit 2a941f8268)
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-08-21 10:44:54 +00:00
Alex-Welsh
1fe1364310 Bump libvirt exporter
Bumps libvirt exporter source from v1.6.0 to v2.2.0. This fixes some
metrics that were lost when the exporter was changed from the old
"tinkoff" source to "inovex".

See also Icc8a3651d601ab45d448c9d252ca6155219d21cf

Closes-Bug: #2120639

Change-Id: Ib738325603173157b4c482f9de6d5d9cea0b758a
Signed-off-by: Alex Welsh <alex@stackhpc.com>
(cherry picked from commit ed094e0af4)
2025-08-15 12:14:10 +00:00
Zuul
97350d8337 Merge "Revert "mariadb: pin to 10.11.13"" into stable/2024.1 2025-08-13 13:08:07 +00:00
Michal Nasiadka
519c7e860f Revert "mariadb: pin to 10.11.13"
This reverts commit 9b1a12cdb4.

Reason for revert: mariabackup fixed

Change-Id: I0b7d73cd536ef2de4d0034596558827fba108e37
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-12 19:59:00 +00:00
Zuul
507e8de9d6 Merge "CI: use opendevmirror for debian/ubuntu builds" into stable/2024.1 2025-08-09 10:46:14 +00:00
Bartosz Bezak
e10ef98805 CI: use opendevmirror for debian/ubuntu builds
Depends-On: https://review.opendev.org/c/opendev/system-config/+/956760

Change-Id: I136bb702b20e941611dd90830e81c9d358a2e355
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
(cherry picked from commit 6ec52073b6)
2025-08-08 12:50:15 +00:00
Pierre Riteau
9b1a12cdb4 mariadb: pin to 10.11.13
Closes-Bug: #2119954

Change-Id: I1e334b47c6ab16eb032458141faae55cf39e3eb4
Signed-off-by: Pierre Riteau <pierre@stackhpc.com>
(cherry picked from commit e478adcbe6)
2025-08-07 18:42:37 +02:00
Zuul
9f7cc8ff32 Merge "[2024.1 only] Add conditionals for Ubuntu Jammy" into stable/2024.1 2025-08-07 11:50:23 +00:00
Zuul
eef56454e0 Merge "update debian release in support matrix" into stable/2024.1 2025-08-07 08:58:00 +00:00
Bartosz Bezak
489989c587 send empty X-Registry-Auth for anonymous pushes
Since Docker 28.3.3 the daemon rejects a push that carries no
`X-Registry-Auth` header [1]. The SDK already sets this header when it
finds credentials, so the breakage happens only on anonymous pushes.

During `PushTask.push_image()` we now check whether the SDK can resolve
credentials for the target registry; if it cannot, we inject
`auth_config={}`, causing the SDK to send the minimal "{}" header that
satisfies the daemon while leaving authenticated pushes unchanged.

Drop this addition when [2] is fixed.

[1] https://github.com/moby/moby/pull/50371
[2] https://github.com/docker/docker-py/issues/3348

Closes-Bug: #2119619

Change-Id: I7a2f3fce223afd74741b40bf62836b325fca5b19
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
(cherry picked from commit ddac7ca1ed)
2025-08-06 15:15:00 +00:00
Bartosz Bezak
8345ef2961 update debian release in support matrix
it was omitted in Caracal cycle

Change-Id: I913208b09771bc18ad3214d7518a837d762f6c33
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
(cherry picked from commit f25cf12455)
2025-08-04 14:09:29 +00:00
Bartosz Bezak
2a6a901291 change erlang arm64 repo to rhel based
centos stream diverged too much
nothing provides libcrypto.so.3(OPENSSL_3.4.0)(64bit)
needed by erlang-26.2.5.14-1.el9.aarch64

Change-Id: I3a0aa82d0903b341156c2fce68393cc4031e7728
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
(cherry picked from commit ac1969542d)
2025-07-28 14:46:10 +00:00
Zuul
a2c688add9 Merge "Add rsync package to the nova-ssh container" into stable/2024.1 2025-07-22 10:18:11 +00:00
Zuul
48f076b2d9 Merge "Build RabbitMQ 4.1 in stable releases" into stable/2024.1 2025-07-21 11:31:30 +00:00
Maksim Malchuk
fd4a0e9d5e Add rsync package to the nova-ssh container
This change fixes the issue with absent rsync package when
'remote_filesystem_transport = rsync' is enabled in nova_compute.

Closes-Bug: #2113926
Change-Id: Ie6719928e4ec2901d661f44c9f259add35afa269
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
(cherry picked from commit bc018d398b)
2025-07-18 13:54:14 +00:00
Matt Crees
23a40140e9 Build RabbitMQ 4.1 in stable releases
RabbitMQ 4.1 is released, meaning 4.0 and prior are out of community
support. This patch allow for building 4.1 in the `rabbitmq-4-1`
container, while keeping the existing version in the standard `rabbitmq`
container.

We do not need to build 4.0 in past releases, as 4.1 supports upgrades
from 4.0.x and 3.13.x. [1].

Same method as in: https://review.opendev.org/c/openstack/kolla/+/918974

1. https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.1.0

Change-Id: I4a4fe7244ea0b92cf12b96f4dee8a7abd34028d9
Signed-off-by: Matt Crees <mattc@stackhpc.com>
Co-Authored-by: Seunghun Lee <seunghun@stackhpc.com>
(cherry picked from commit af9f7cf13f)
2025-07-18 14:51:21 +01:00
Grzegorz Koper
fa6431e210 [2024.1 only] Add conditionals for Ubuntu Jammy
This commit aligns Ubuntu Jammy behavior with Debian and
Ubuntu Noble by explicitly removing appropriate `.sources` files
and relying solely on the sources configured by Kolla.
This ensures consistent and reproducible builds both in CI and
on local environments.

Closes-Bug: #2112140
Change-Id: Icfb64a4e2b39e722cb88e72f8f2605379484b54a
Signed-off-by: Grzegorz Koper <grzegorzk@stackhpc.com>
2025-07-18 13:47:57 +02:00
Joachim de Groot
c03188b4d6 Fix glance-api: add missing lsscsi package
Closes-Bug: #2111828
Change-Id: I8e20c77a8f1538162fc1dac9dc92c837348a09f4
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
(cherry picked from commit aa2e504a70)
2025-07-15 13:13:57 +00:00
Michal Nasiadka
5f9055397a ovn: Fix log permissions
ovn is running as root, and fluentd can't read it's log files,
so we need to precreate these.

Closes-Bug: #2115244

Change-Id: Icb0e47cf95a67cb4585c71f863e542bc59ff5009
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-07-14 06:48:37 +00:00
Bartosz Bezak
92c9782e83 Enable EPEL repo for Ceph deps in glance and gnocchi
Ceph Reef client dependencies now require EPEL repo on EL9.
See thread here [1].

[1] https://lists.centos.org/hyperkitty/list/devel%40lists.centos.org/thread/BZM3RO2LNAMB47FBT2QO3ZOSGBHPCO3V/

Closes-Bug: #2115448

Change-Id: I87e4135425e721f2f750402b3fcc6404643a3bd3
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
(cherry picked from commit 62a69190cb)
2025-07-04 14:50:31 +00:00
Michal Nasiadka
9f557299c6 [2024.2 and earlier]: horizon: Work around pyscss bug
See [1] and [2].

[1]: https://bugs.launchpad.net/horizon/+bug/2045394
[2]: https://launchpadlibrarian.net/792177956/horizon_4%3A25.1.0-0ubuntu1_4%3A25.1.0-0ubuntu1.1.diff.gz

Change-Id: Ie99f9d941e91d438f2d983b0a0e5af01483ade82
(cherry picked from commit cb204aa173)
2025-06-05 12:47:57 +00:00
Zuul
a3ca3af0fc Merge "Revert "mariadb: pin to 10.11.11"" into stable/2024.1 2025-05-23 18:33:08 +00:00
Michal Nasiadka
4dde14f101 Revert "mariadb: pin to 10.11.11"
This reverts commit eb29ede7b3.

Reason for revert: 10.11.12 is revoked upstream

Change-Id: I9d559990f96e6d293da6baf8d9b7680be58ff440
2025-05-15 05:07:50 +00:00
Michal Nasiadka
8f50223bb1 CI: Drop upgrade jobs from 2023.2
2023.2 is getting EOL

Change-Id: Icb00df50b8628d1d83bc5e5c07d4c6b0fdb34e7c
2025-05-15 07:03:20 +02:00
Michal Nasiadka
eb29ede7b3 mariadb: pin to 10.11.11
Closes-Bug: #2110122

Change-Id: If301b9ebd7d0dc38bea4d60467e8e80a7a49825d
(cherry picked from commit b0cd0dfe6e)
2025-05-07 18:09:18 +00:00
Zuul
1e2bcd5f26 Merge "[2024.2 and 2024.1 only] Fix issue with 'pycadf' installation" into stable/2024.1 2025-04-29 11:59:15 +00:00
Maksim Malchuk
ca00700185
[2024.2 and 2024.1 only] Fix issue with 'pycadf' installation
Fixes the issue introduced in I5a9162a30b23cfabb64dabe5c12c226fa8627abd
when 'openstack-base' container built with 'pycadf' plugin from git.

Closes-Bug: #2107733
Related-Bug: #2074075
Change-Id: I7944c59d1bb83d42631c3d0ecc14aa8e25ce620e
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
(cherry picked from commit 3ef707286e)
2025-04-20 23:23:54 +03:00
Michal Nasiadka
ed303dc385 nova/aarch64: Fix qemu-efi build failures
It probably has been omitted in Ubuntu 24.04 introduction since
aarch64 build jobs have not been stable.

Removing from nova-compute since it's already in nova-base,
nova-libvirt's parent is base - so updating to qemu-efi-aarch64

Change-Id: Idae2e87bfc8a556a090085e46f96d11279080f0f
(cherry picked from commit 7a0c639da3)
2025-04-16 11:28:39 +00:00
Seunghun Lee
0bb6a65ed6 [2024.1 only] Extend base_tag check to cover more ubuntu base image tags
https://hub.docker.com provides base Ubuntu images with two type of
namings.
For example for Ubuntu Noble, there are ``24.04``, ``noble`` and
``noble-20250127``.

Currently whenever Kolla checks base tag to determine which Ubuntu
release is being used, it only expects tag of version number.
So if users use base tag with release codename, they will not get
correct python version or other dependencies.

Fixing this by extending all base_tag checks to include case for
release codenames.

Change-Id: Iab02de97cdde79db540c7336512d7014f9b71753
2025-04-03 22:11:06 +02:00
Zuul
6aba731d6a Merge "Add support for Ubuntu 24.04 LTS" into stable/2024.1 2025-04-01 07:31:44 +00:00
Zuul
6fd8f4f4f5 Merge "Added systemd-standalone-sysusers package for Debuntu" into stable/2024.1 2025-03-31 22:55:11 +00:00
Michal Nasiadka
ce5b6560bc Add support for Ubuntu 24.04 LTS
Add setuptools because Python3.12 dropped distutils

taskflow needs to be bumped to 5.8.0 because that's the first version
that supports python3.12

Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/932539

Co-Authored-By: Jakub Darmach <jakub@stackhpc.com>
Change-Id: Ie12c43dc1de122c203edc28181366457ccd67834
(cherry picked from commit 5f9850c5ed)
2025-03-31 21:27:22 +00:00
Piotr Milewski
8cf022c355 Opensearch and opensearch-dashboard image size reduction
When building an image, the RUN command grants
permissions which causes the previous layer
to be copied.

During the test, the image was reduced from 2.84GB to 1.57GB

Closes-Bug: #2104007

Change-Id: I7d2367d4c277287f4db2885f5720a35d934f94b7
(cherry picked from commit 47a6ad020d)
2025-03-26 06:21:28 +00:00
Bartosz Bezak
9ef6688a99 tests: Add cross-arch test for etcd
Ensure that when building etcd with --base-arch aarch64, Kolla
uses the arm64 tarball instead of amd64.

Related-Bug: #2103810

Change-Id: I6248cb6646b2b0c7af1c29f9a0a244cef1c4cf05
(cherry picked from commit 9c6f6ae2d9)
2025-03-24 11:24:18 +00:00
Bartosz Bezak
6053fefb34 fix sources.py based cross-arch builds
Derive debian_arch from base_arch by default when not set by the user.
This ensures that cross-architecture builds correctly download
the appropriate binaries, while preserving any explicit user override.

Closes-Bug: #2103810

Change-Id: I11b7e19ac3a12147138a98fc1e030767f70b44c9
(cherry picked from commit 915189d10b)
2025-03-24 11:02:21 +00:00
Zuul
34d537a90e Merge "Adds missing nvme package in cinder-backup" into stable/2024.1 2025-03-19 17:33:32 +00:00
Michal Arbet
0d3cec1153 Added systemd-standalone-sysusers package for Debuntu
This package provides a standalone sysusers binary with
minimal dependencies, designed for use in non-systemd
environments.

This package simply ensures that all packages that want
to install systemd as dependency will have to settle for
this one because the systemd package breaks
systemd-standalone-sysusers, as it is an alternative.

This backport is necessary to fix failing Opensearch
builds while backporting Noble support to 2024.1.

[1] https://packages.debian.org/bookworm/systemd-standalone-sysusers
[2] https://packages.ubuntu.com/noble/systemd-standalone-sysusers

Needed-by: Ie12c43dc1de122c203edc28181366457ccd67834
Change-Id: I3ba85069c265844bd2f8b5e6d2b14f32e4898cfd
(cherry picked from commit 55168f909d)
2025-03-13 10:27:18 +00:00
Piotr Milewski
9ac6af71cf Prometheus update all exporters to the latest versions
prometheus-alertmanager: 0.27.0 -> 0.28.0
prometheus-blackbox-exporter: 0.24.0 -> 0.25.0
prometheus-cadvisor: 0.49.1 -> 0.49.2
prometheus-elasticsearch-exporter: 1.7.0 -> 1.8.0
prometheus-memcached-exporter: 0.14.2 -> 0.15.0
prometheus-mtail: 3.0.0-rc54 -> 3.0.8
prometheus-mysqld-exporter: 0.15.1 -> 0.16.0
prometheus-node-exporter: 1.7.0 -> 1.8.2
prometheus 2.50.1 -> 2.55.1

Co-authored-by: Piotr Parczewski <piotr@stackhpc.com>

Change-Id: I9359df23a41a600dd46dbc1812a54be57fd33f71
(cherry picked from commit 0f5c679dc9)
2025-02-21 16:54:23 +00:00
FelipeAFV
e99c27ac41 Adds missing nvme package in cinder-backup
The package moved to the cinder-base image since it already added to
the cinder-volume in I84c7633765749a5e9ced983505ef290c32154ccc.

Closes-Bug: #2089587
Change-Id: I06e61ab388d9ecfa78e5d1fe1ae9cb8602d1cd36
Signed-off-by: FelipeAFV <ffigueroa@whitestack.com>
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
(cherry picked from commit 4a7af468b6)
2025-02-11 13:13:33 +00:00
Michal Nasiadka
fddc922c3a Fix genconfig
Currently tox -e genconfig fails with stevedore issues,
because tox is not doing sdist.

Closes-Bug: #2051575

Change-Id: Idfc26fe380a546d0fd712a531e5913090b01d808
(cherry picked from commit d3bb06d5ce)
2025-01-24 15:47:13 +00:00
Zuul
efc4b72d18 Merge "ironic: Fix dnsmasq.log permissions" into stable/2024.1 2025-01-14 12:14:20 +00:00
Michal Nasiadka
771272100b openvswitch: Fix logs dir permission
Closes-Bug: #1795609

Change-Id: Iedfb2df027c0cefc45668a76d45ce62193aba9ef
(cherry picked from commit a9c94abf53)
2025-01-14 05:21:12 +00:00
Michal Nasiadka
8a856586c4 ironic: Fix dnsmasq.log permissions
Closes-Bug: #2093881
Change-Id: I3f45178c07a9cd054e572ff80d0e19fb014d69d3
(cherry picked from commit ac2bbcc9f1)
2025-01-14 05:20:06 +00:00
Michal Nasiadka
5e94215406 neutron-dhcp-agent: change dnsmasq.log rights
Fixes /var/log/kolla/neutron/dnsmasq.log rights so
fluentd can read logs from that file.

Closes-Bug: #1693712
Change-Id: I57e36ef07e8840eead2efde77e0ab9dfd4842931
(cherry picked from commit 0f5e399542)
2025-01-07 15:14:19 +00:00
Michal Nasiadka
86d6fac7af magnum: Add helm binary for magnum-cluster-api
Closes-Bug: #2091608

Change-Id: I52105f6cbf7529ce107cabf8a38a10525be7435c
(cherry picked from commit 592f341dd2)
2024-12-17 06:10:13 +00:00
Michal Nasiadka
b0c98b0987 CI: Stop using LABEL for ephemeral0
For some reason it doesn't work in raxflex, i.e. the created filesystems
label is not seen.

Change-Id: I9c805b866ee359d2da150438ca78be25b1462988
(cherry picked from commit a6a15966aa)
2024-12-10 07:13:40 +00:00
Michal Nasiadka
0a8d76e861 CI: Use debian/ubuntu images from quay mirror
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/936666

Change-Id: I3fab494e939478458c2c299303f5c2c91943e0ec
(cherry picked from commit 7ba43d2820)
2024-11-29 07:25:42 +00:00
Michal Arbet
68e96e72f4 Add way to backup from MariaDB replica server
ProxySQL reports its version to MySQL clients,
causing the backup process to fail when ProxySQL is used.

This patch adds a new script that handles backups from
the replica server directly, without modifying the original
backup script. The new script retrieves the server address
via the load balancer and connects directly to the replica
server to execute the backup.

Moreover, this reduces the risk that the backup will be inconsistent
or that it will block OpenStack MySQL clients, because they are
connected to a different server, and no one is connected to the replica,
or that it will overload the load balancer (such as ProxySQL or HAProxy)
which listens on the VIP.

Closes-Bug: #2080818
Change-Id: Ibf7e40e8b059d733e114963022df06180249c650
(cherry picked from commit ec4c4310dd)
2024-11-07 16:31:07 +00:00
Michal Arbet
648be98c9b Fix handling configs in base image
This commit restructures the handling of configuration
files in set_configs.py, introducing functions for managing
default configuration files first.

Closes-Bug: #2060855
Change-Id: If91e0330dc149143c82d2183b8ddf6fa9f68d80e
(cherry picked from commit 36c12676ff)
2024-11-07 09:44:40 +00:00
Rafal Lewandowski
af464eeb36 Fix missing tss user in Ubuntu/Debian nova containers
Closes-Bug: #2067050
Change-Id: Ife426c073048ff27bdfd9f3af30aaaab8c2e4497
(cherry picked from commit 757cf4c147)
2024-10-22 18:51:35 +00:00
Zuul
7eb2f9e9d9 Merge "aarch64: Exclude syslinux from ironic conductor packages" into stable/2024.1 2024-10-03 21:34:54 +00:00
Bartosz Bezak
97a6d193be aarch64: Exclude syslinux from ironic conductor packages
The 'syslinux' package is not available on aarch64, so it is only
included in the ironic conductor packages for x86_64 systems.

Related-Bug: #1749780
Change-Id: I3eea308a0a70e47dd3b185eece106185b25616f5
(cherry picked from commit 7b4913e6f8)
2024-10-03 18:30:41 +00:00
Bartosz Bezak
4537f2b534 aarch64: fix name of rabbitmq copr repo
it should be the same as in repos.yaml

Change-Id: Ieb413f7a4bd1989d7f29309368b6b218d1395e0b
(cherry picked from commit 672601a3e6)
2024-10-03 16:19:01 +00:00
Michal Nasiadka
9a0914d10d erlang/aarch64: Move to openstack-kolla owned COPR
Change-Id: I219418411470bdeae9af84277f5150a623c05e69
(cherry picked from commit 2480da6d98)
2024-10-02 15:17:48 +00:00
Zuul
b3eaf7df8e Merge "Revert "Pin OpenSearch Dashboards to 2.15"" into stable/2024.1 2024-09-27 14:17:13 +00:00
Bartosz Bezak
d9639f05c8 Revert "Pin OpenSearch Dashboards to 2.15"
This reverts commit a58a7f88de.

Reason for revert: bug fixed upstream https://github.com/opensearch-project/OpenSearch-Dashboards/pull/8097

Change-Id: Ib22a7ffaecc97408dcffe351232abbfdf7122c7c
2024-09-27 09:28:35 +00:00
Rafal Lewandowski
abf7a4cf85 Add missing iso packages to ironic-conductor
Closes-Bug: #2067133
Change-Id: I097ad8988a4707173c19006d83b4d76cec5d0940
(cherry picked from commit 8f0a3b5871)
2024-09-24 07:08:12 +00:00
Zuul
04ce136b99 Merge "Fix cinder-backup: add missing sysfsutils,lsscsi package" into stable/2024.1 2024-09-22 02:23:55 +00:00
Zuul
b5e84f4bc6 Merge "Pin OpenSearch Dashboards to 2.15" into stable/2024.1 2024-09-19 13:59:00 +00:00
Bui Doan Dang
b9584882ed Fix cinder-backup: add missing sysfsutils,lsscsi package
Closes-Bug: #2078886
Change-Id: Ia678484c001c66a9db675035dbb4505b0448bf58
Signed-off-by: Bui Doan Dang <doandang27052000@gmail.com>
(cherry picked from commit 546084b0a8)
2024-09-18 08:17:03 +00:00
Matt Crees
6f63211cff rabbitmq: Switch to Cloudsmith mirrors
PackageCloud is discontinued as of August 18th [1].

Also corrects the versions docs for RabbitMQ and Erlang.

Use new RMQ Cloudsmith repo URLs, these now use
*.rabbitmq.com domains [2].

1. https://www.rabbitmq.com/blog/2024/08/11/package-repository-updates#packagecloud-will-be-discontinued-on-aug-18th-2024
2. https://www.rabbitmq.com/blog/2024/08/11/package-repository-updates#mirrors-now-use-rabbitmqcom-domains

Change-Id: I2cce3dd2540c878878ff0aae80ee5a7e0f455da7
(cherry picked from commit 528b7eef16)
2024-09-13 15:28:26 +00:00
Mark Goddard
a58a7f88de Pin OpenSearch Dashboards to 2.15
OpenSearch Dashboards 2.16.0 discover page hangs after initial
deployment due to an upstream bug [1].

This change fixes the issue by pinning OpenSearch Dashboards to 2.15.

Note that it seemed safer not to pin OpenSearch to fix this issue, to
avoid breaking deployments that have already deployed 2.16.

[1] https://github.com/opensearch-project/OpenSearch-Dashboards/issues/7626

Closes-Bug: #2077319
Change-Id: I0de9928b2657ab5f31580325e866bff28f2b5510
(cherry picked from commit 3c49991a86)
2024-09-09 10:28:04 +00:00
Seunghun Lee
4df43abd70 Fix symlinking of openstack-base source
Original symlinking works fine with a tarball source for the
requirements repo.

However, when user supplies git type source of it, we cannot
guarantee that the source direcotry name contains ``requirements``.

This patch fixes it by moving plugins directory outside of
openstack-base directory, which ultimately allow us to use simpler
symlinking as openstack-base-archive would be the only directory
inside.

Closes-Bug: #2074075
Change-Id: I5a9162a30b23cfabb64dabe5c12c226fa8627abd
(cherry picked from commit 978a2864f9)
2024-09-03 12:59:24 +00:00
Michal Nasiadka
9c54f236bc keystone: Fix requests-kerberos installation
Since it was bundled with plugins installation, and we did not
have any plugins in keystone container - it was not installed
at all.

Adding in libkrb5 dependencies for requests-kerberos.

Closes-Bug: #2078305
Change-Id: I51c69d0673280e351daa410d943f769d33a10d6c
(cherry picked from commit 082d90cca0)
2024-09-03 06:02:38 +00:00
Michal Nasiadka
08f6b89cc3 CI: Disable CentOS/Rocky/Ubuntu aarch64 jobs
Since Linaro shut down their nodepool provider - OpenDev infra
is left with OSUOSL cloud with max 15 instances running - let's
not put any additional strain on CI (especially that it seems
there are some I/O or similar issues that cause our jobs to
time out).

Change-Id: I7f0f723b37e552c4ea01bf51b6354209608d904a
(cherry picked from commit fd4f1a8a82)
2024-08-27 15:19:22 +00:00
Maksim Malchuk
7bc03b99ff Configure Apache services to use correct locale
Closes-Bug: #2076453
Change-Id: I6af9baf09a19a7dbcaf98585870aa44ff79398d3
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
(cherry picked from commit 2caa64df67)
2024-08-21 15:13:16 +00:00
Zuul
b44df3b5d0 Merge "Trivial fix letsencrypt base image" into stable/2024.1 2024-08-20 12:50:19 +00:00
Zuul
dd701c4d39 Merge "Pass rabbitmq apt preferences into kolla-toolbox" into stable/2024.1 2024-08-01 09:14:27 +00:00
Michal Arbet
6f755f9e75 Trivial fix letsencrypt base image
Replace cinder -> letsencrypt typo in
letsencrypt-base image.

Change-Id: Ia21f81d9cb0850e37882dd6155b4d2d6ba774a05
(cherry picked from commit 7aec372480)
2024-07-29 07:50:00 +00:00
Sven Kieske
745c911f57 [docs] remove not working dev setup
also add the command to clone the repository
and use the pip-install `--editable` option in
it's long form so it's immediately clear what it does.

Change-Id: I00403f967c06af6d8c718ed1245aaa01f1218add
Signed-off-by: Sven Kieske <kieske@osism.tech>
(cherry picked from commit bdf5dae433)
2024-07-18 15:17:29 +00:00
Tadas Sutkaitis
cc66d0a534 fix: apple silicon architecture selection
Closes-Bug: #2073256

Change-Id: I9fdccbe3bde07a7f9a1e6ac82b1096a024e1b0ee
(cherry picked from commit 8b98145f23)
2024-07-16 16:18:35 +00:00
Matt Crees
14081a8251 Pass rabbitmq apt preferences into kolla-toolbox
If the latest and targeted rabbitmq-server dependencies mismatch,
kolla-toolbox will fail to build.

Closes-Bug: #2066171
Change-Id: I64e9442545d98364585e3c632ae9142cd6b4f9bf
(cherry picked from commit 006ccee101)
2024-07-11 10:12:32 +00:00
Bartosz Bezak
4936a6ff98 add kayobe to release management doc's Launchpad admin section
Kayobe moved away from Storyboard some time ago

Change-Id: I9e57150645aebf4b684c609b9b356b8921aa7333
(cherry picked from commit f36e45382e)
2024-06-27 07:45:00 +00:00
Bartosz Bezak
bbe297d5b9 CI: Pin requests to <2.32 for publish jobs
Periodic jobs are failing because Zuul Ansible executor runs with
Ansible 8 which uses community.docker collection that needs requests<2.32.
Revert this patch when Zuul supports Ansible 10, and/or Ansible 9 gets
fixed community.docker collection. [1]

[1] https://github.com/ansible-collections/community.docker/issues/868

Related-Bug: #2066364
Change-Id: I1dda73b0bc9a9f57ec8fda3f2234449b04906410
(cherry picked from commit 428f371249)
2024-06-12 05:59:07 +00:00
Michal Nasiadka
7efe8a37f0 Drop packaging requirement and unpin docker-py
Change-Id: I11d306be5e5bb3d5b05b50dd8ee64ac9424854a1
(cherry picked from commit 968711579f)
2024-05-28 12:20:16 +00:00
Michal Nasiadka
eb23d9cc28 CI: pin codespell to <2.3.0
Change-Id: I403d933b029e846e682fd41a62ada4fc73cdfd12
(cherry picked from commit 91f91e1cc2)
2024-05-28 12:19:18 +00:00
Michal Nasiadka
adaef5768c [2024.1 only] switch rpm distros to Cloud SIG Caracal repos
Change-Id: Ibf4d24657f246a191a4b4c1ab95b47d6873e468a
2024-05-13 13:24:30 +00:00
Michal Nasiadka
84f036a54b collectd: Mark unbuildable on rocky
Since Rocky 9.4 release - delivered libpqos is 5, not 4 - and
CentOS Stream 9 OpsTools packages have not been rebuilt.

Related-Bug: #2065362
Change-Id: Ic0929becd44f25a9fb8d6d789b8169f41c95a226
(cherry picked from commit 25f357ecc8)
2024-05-10 14:41:49 +00:00
OpenStack Release Bot
d48e7ee9da Update TOX_CONSTRAINTS_FILE for stable/2024.1
Update the URL to the upper-constraints file to point to the redirect
rule on releases.openstack.org so that anyone working on this branch
will switch to the correct upper-constraints list automatically when
the requirements repository branches.

Until the requirements repository has as stable/2024.1 branch, tests will
continue to use the upper-constraints list on master.

Change-Id: I8d4b9c6b816bef4f91a04401035c6a689ce979ea
2024-05-08 10:11:58 +00:00
OpenStack Release Bot
e46a6ecb9a Update .gitreview for stable/2024.1
Change-Id: I46f20854bec6d7acb75d86aa3ff0cfc4865e536f
2024-05-08 10:11:55 +00:00
489 changed files with 3281 additions and 4054 deletions

View file

@ -1,13 +0,0 @@
---
exclude_paths:
- .cache/ # implicit unless exclude_paths is defined in config
- zuul.d/
- kolla/template/repos.yaml
offline: true
parseable: true
profile: basic
skip_list:
- package-latest
- role-name
strict: true
use_default_rules: true

View file

@ -2,3 +2,4 @@
host=review.opendev.org
port=29418
project=openstack/kolla.git
defaultbranch=stable/2024.1

10
.yamllint Normal file
View file

@ -0,0 +1,10 @@
---
extends: default
ignore: |
.tox/
rules:
line-length: disable
truthy: disable
braces:
max-spaces-inside: 1

172
.zuul.d/base.yaml Normal file
View file

@ -0,0 +1,172 @@
---
- project:
queue: kolla
- secret:
name: kolla_dockerhub_credentials
data:
username: !encrypted/pkcs1-oaep
- LgqBUH6EMZT5mKJMoXsaMAv9CSbiAgoqxU98QjeoDX84K/y6NmFF/ZhficQD0+JT7NfpB
2pPAEKeILn63Toeu6ZFkGeUHo5Gf6cIzbXJjqdWIvnwpxV+zUWqM8C2uf8JZjc3mIVOXp
yShDzmCCVkeX/x1n69pwuURabR1p5N15CbroT4l1eK7HGiMAcQwhRaCgDpgxsX5yKP07A
jIn9M3xwJdjSPxQ7dp1ean3CGPtEHkRuOHjezXfQfdIB7ZMNkGkDaQKTwof56UKDT+MMN
L0QT0PntUd0QwTYfUeCPGRd2TI8EFq+iuEy+6945OxLN9WcZmBza3HTVRyPQ8Hx1hXfaP
yth8F56SIchc5HQP+zHRZg9KQlb5wPNdKwoIkhDVBZW5Zb1mZmRJF/LR45o+NT0DT7+SE
6JshLSOHChD7JfQE19Gi/Rrf9VZS4wd5TfHQSOQH1u8pZzC71sBOkeSnsQsqWePoyERN2
gr0uvfB6yX7y2WHfuZRs2a+5HfYjAR+CQPA87nJYOQf8AfQ++9RGVFCSCpaAmTU2tGcjs
/J/khnpd0iNNimT3+oXqtBnvi5WCWZ+t/yDfsa3HQ5qRtbXepGoFDibOfhACZ8K7jaFGV
lBF6StAFCCOz+MXUyn/a+Vo19k43CRe3kdIpOcca0bcrjOx8fqBnc4zmnuhgQQ=
password: !encrypted/pkcs1-oaep
- najtUY1DOo18hXxnz8L+FdJo2gW5jyZbJhnMOK1qu9/N94N+K+S72hgvusFMewq4rq9Es
fsSe98ZCBmMUT1ZUVs9LymSgzaQSxSXkyETlaEjauF/DLahEHCCWW249l5pQ7lZXiaBAM
edlZCdTth+wSFLMcF4jhoFlftAcFv8ue10HrH3vTG7lYfhL8u1ueGKsauVcxzAiT/F1Wd
xACZrT5vGoHlv9fALK39JC9OuNNNLPAkqecsP+/abjttyX5OR/ZQ2amM3hWoC1cFIxsYR
Gfakq0yLEewnErV8ryaTSzgvpT8bB1wJk8Ti/iU6xuaNO13x7VpHtMErHcN0BrOadPJdb
B/xFqkIdX0km6ioffZUELsxrEonSD8tAS8vdn5+KUBFkg9f/KJdCAaR3LmZvF975U9QdI
0BnA0XcjOBm+HZqWvcnkIUmoTqzK0vdjRJ2lRPqTvTBTc/i82mTMiChf0G85CV7kTGdjG
D9O5sYvy2fQobg28DCXXTxA7YV03nVFPJ56VhB6TmbKCZXqlKNXIbWy5RSNZ8d4cfC7qF
kOrdp8oW6+KidWKFYrJaqFhGfpfg+j1nv8BIzGqmspN7PsUo9Q/svCVy+d5FaDs7rxz+j
b7jPyuV0g5760TUHjsqIlamYegGSz1ZhGkp2Gl1VzQRjo2/6Tr6Gk546DMlZDI=
- secret:
name: kolla_quay_io_creds
data:
username: !encrypted/pkcs1-oaep
- VsvMvV5wOUfl5B2HJboWfN8mta/Tuk7PXcJf5RfKk4uXP6qYGM4dcMB9EdoJNhMCi7FeA
NrTZaxf/AjLAkgKlRhz7sPKhmR95+jrFRgEzedpcCamdPkCa+wNQEMNMd0rTwioYUEWm4
Y+Oa2mIswy5LcUViz38MPQhf0725U5sYtH2qkuhMbU8u8vzYhSk749xtAN6I1T8ziTKKB
3FBowFc2rSRJUQPsLLZjTxBHbrk+00p/DPoHLOz9/9Jf5U//jkqx4ziE2w1a4+x/kWlYT
BPXuRL9wWN9ci2uKuoDRRd6QHJzPIJerKG07YU4PAcS3M245rbjjUQC3n3SQJs3u4kKI8
rZrxfbmtbfjkzRQXnhnhPk47PebpjnpEUNw6+scnQ+ELdQ0QYGsVRM4x4/ywe5CeFYVDR
whQQ1iG21FOs3iv592I7P7l4cEKqKFyx9qiV4t2fyLrHgtU+L/05iENH9igGJ0tDCQ5zT
2F2laUWGtzUh76txuFDjpBxR3qS62g825dZXaTegkA+v6c1az23lrYTqbTRf63cuAQyYX
APPRC5QU0URXBoIbWb0ry3O5lr/uudI1ZCLN8SSJhpmZAIlviOfaxrKu9fg2YY9e0xpz9
CMEWQ/n1EsUyL34Wv189Rvpq4M4GTvozEKsRsjY3u0ygwEUXcH2lEXGOrs+hms=
password: !encrypted/pkcs1-oaep
- dR2beX9Bn7O8iCqNHtWo1FWX71vy+CwffDk5rafUh5yew2OVNcVtVjVOPvHwb5zZv1LCd
MVcgIJe513dM5tQkn2H/HvN/seVu/CfHA6lg6Tj+ueW9VdUH6KiBPr+NCgQWX+Xt3sXbt
sPzfNGpvTw1ZCUp0nnudZEKPZ2jn83baNMumW8E8xPb4s2kePzINsb8sGvqy6BOk5rUIo
7DaEwWrNnq9TTnMcWGIF+fLP5Pin7+fmvnLkT6qRN4v5FszpHYm8YCpv02nzqI1/F9HeM
P3GtkUdIPxa1+3VwZ/DSA9BWi4VG15jDtaxeZFVGQuMqQAiCx8Jqvd+xX2qugAq1m+U7W
JobDbaeTYrUmJ1zUaspPZ16RTSf9UGCTaejoSVKM9lJHv6ixtsX7UWkgFvceVrlkt7TtH
2mqhBnXvwB6VD5d311WRUfNXz7gb60otisB5G2k/UnRnv1Mu33TPVT7XOFDpVnAvRS3lt
haJ34N7AWnDIsllvzcmVWTw3wf/6LLfOQrW2Z+vNambyR4Oc+LVUTbEvZVIU65LpOTIn3
LfDhCLDD3VtnVOrj4UxZsjzmPbday1fziua/7f+CXsShC5erz0ZM65rMCwkjWeI6Kc63A
0M27tl+OWHO3KkfFR4tWc3dws3r1kYjQeds0adBHyYD0eL8SJfwZkbtojAQ1JM=
- secret:
name: kolla_quay_io_api
data:
token: !encrypted/pkcs1-oaep
- uGqaFVfPP2HdAELtq12FTGstT7Y7/TCz4IwAgrGtB+2ZUXgCTYrkzhImRLFG3OQMqzx4d
oO6ChFxPGI9hX06mg4MbPBVYXCyh+opxxeaVrgtu03IOB1V8bMlGfVgPSJO8mEp/00poY
hMtut/12FWMhjNO+Um2XaKtRmDZKYYoPmuO4BDauJTaTAl1+Elhm5qjrkFOuklb4jP07c
9OIex5KiSIqMCmSzduGzVK60BoByzl4u2KPDheEAcohIpjrkm9c6VBe13hZw5llXiDRf2
LqHPu/IXIFlT9bnPp49rP8+Gm3z1/sdNsN+TKk1VSWGlUudvaBO9Cdejwo+NMWKMAqwGi
drzt/YcCDCQ1SFzkhWk5EdEN5qyrH3jF3I5YzcQ1dKXgr9NOoQSwNLxL5oNL88sH7tqPT
xN+EKz+AGG+ib3S9efhYFkFkqs9z4ia8mIM+2/lH5V5gy7iVVMHmxPr+JJ+5sq5lsHrS5
No+QrCyeZWWH2qnToQo8S73i9yISzDAML6u5NlKfIJ/nAqsxBOqpCq8xqgI3PLD86lmfL
7xlK/HOqvgMubcqzR33mRoSnkcnFpD50O9k41ZsF9SPKHMGmk9LyI05vkL6bcc3ypLBQY
BTdg70hF/5m6rHFbVCsNDPlVykcEzsW6D4qqxh/5b3LHbPYbe7ciXcc+PTnYb8=
- nodeset:
name: kolla-centos-9-stream
nodes:
- name: primary
label: centos-9-stream
- nodeset:
name: kolla-rockylinux-9
nodes:
- name: primary
label: rockylinux-9
- nodeset:
name: kolla-ubuntu-jammy
nodes:
- name: primary
label: ubuntu-jammy
- nodeset:
name: kolla-ubuntu-noble
nodes:
- name: primary
label: ubuntu-noble
- nodeset:
name: kolla-debian-bookworm
nodes:
- name: primary
label: debian-bookworm
- nodeset:
name: kolla-centos-9-stream-aarch64
nodes:
- name: primary
label: centos-9-stream-arm64
- nodeset:
name: kolla-debian-bookworm-aarch64
nodes:
- name: primary
label: debian-bookworm-arm64
- nodeset:
name: kolla-rockylinux-9-aarch64
nodes:
- name: primary
label: rockylinux-9-arm64
- nodeset:
name: kolla-ubuntu-jammy-aarch64
nodes:
- name: primary
label: ubuntu-jammy-arm64
- nodeset:
name: kolla-ubuntu-noble-aarch64
nodes:
- name: primary
label: ubuntu-noble-arm64
- job:
name: kolla-base
parent: base
timeout: 10800
post-timeout: 10800
pre-run: tests/playbooks/pre.yml
run: tests/playbooks/run.yml
post-run: tests/playbooks/post.yml
attempts: 5
irrelevant-files:
- ^.*\.rst$
- ^doc/.*
- ^etc/.*
- ^releasenotes/.*$
- ^specs/.*$
- ^test-requirements.txt$
- ^\.zuul\.d/
- ^\..+
- ^contrib/
- ^LICENSE$
- ^tox\.ini$
vars:
publisher: false
container_engine: "docker"
extra-vars:
kolla_logs_dir: "{{ zuul_output_dir }}/logs/kolla"
kolla_build_logs_dir: "{{ kolla_logs_dir }}/build"
virtualenv_path: "/tmp/kolla-virtualenv"
- job:
name: kolla-base-podman
parent: kolla-base
vars:
container_engine: "podman"
configure_ephemeral_mountpoint: "/var/lib/containers"
- job:
name: kolla-build-no-infra-wheels-base
parent: kolla-base
vars:
use_infra_wheels_mirror: false

30
.zuul.d/centos.yaml Normal file
View file

@ -0,0 +1,30 @@
---
- project:
check:
jobs:
- kolla-build-centos9s
- kolla-ansible-centos9s
experimental:
jobs:
- kolla-build-no-infra-wheels-centos9s
- job:
name: kolla-build-centos9s
parent: kolla-base
nodeset: kolla-centos-9-stream
vars:
base_distro: centos
voting: false
- job:
name: kolla-build-centos9s-aarch64
parent: kolla-build-centos9s
nodeset: kolla-centos-9-stream-aarch64
voting: false
- job:
name: kolla-build-no-infra-wheels-centos9s
parent: kolla-build-no-infra-wheels-base
nodeset: kolla-centos-9-stream
vars:
base_distro: centos

104
.zuul.d/debian.yaml Normal file
View file

@ -0,0 +1,104 @@
---
- project:
check:
jobs:
- kolla-build-debian
- kolla-build-debian-podman
- kolla-ansible-debian
check-arm64:
jobs:
- kolla-build-debian-aarch64
- kolla-ansible-debian-aarch64
gate:
jobs:
- kolla-build-debian
- kolla-build-debian-podman
- kolla-ansible-debian
periodic:
jobs:
- kolla-publish-debian-quay
- kolla-publish-debian-aarch64-quay
periodic-weekly:
jobs:
- kolla-publish-debian-dockerhub
- kolla-publish-debian-aarch64-dockerhub
experimental:
jobs:
- kolla-build-no-infra-wheels-debian
- kolla-ansible-debian-ironic:
files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.*
- job:
name: kolla-build-debian
parent: kolla-base
nodeset: kolla-debian-bookworm
vars:
base_distro: debian
base_distro_version: bookworm
- job:
name: kolla-build-debian-podman
parent: kolla-base-podman
nodeset: kolla-debian-bookworm
vars:
base_distro: debian
base_distro_version: bookworm
- job:
name: kolla-build-debian-aarch64
parent: kolla-build-debian
nodeset: kolla-debian-bookworm-aarch64
voting: false
- job:
name: kolla-publish-debian-dockerhub
parent: kolla-build-debian
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: dockerhub
kolla_namespace: kolla
secrets:
- kolla_dockerhub_credentials
- job:
name: kolla-publish-debian-quay
parent: kolla-build-debian
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: quay.io
kolla_namespace: openstack.kolla
secrets:
- kolla_quay_io_creds
- kolla_quay_io_api
- job:
name: kolla-publish-debian-aarch64-dockerhub
parent: kolla-build-debian-aarch64
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: dockerhub
kolla_namespace: kolla
secrets:
- kolla_dockerhub_credentials
- job:
name: kolla-publish-debian-aarch64-quay
parent: kolla-build-debian-aarch64
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: quay.io
kolla_namespace: openstack.kolla
secrets:
- kolla_quay_io_creds
- kolla_quay_io_api
- job:
name: kolla-build-no-infra-wheels-debian
parent: kolla-build-no-infra-wheels-base
nodeset: kolla-debian-bookworm
vars:
base_distro: debian

20
.zuul.d/project.yaml Normal file
View file

@ -0,0 +1,20 @@
---
- project:
templates:
- openstack-python3-jobs
- openstack-python3-jobs-arm64
- openstack-cover-jobs
- check-requirements
- publish-openstack-docs-pti
- release-notes-jobs-python3
- periodic-stable-jobs
check:
jobs:
- kolla-tox-genconfig
- openstack-tox-py312
check-arm64:
jobs:
- openstack-tox-py312-arm64
gate:
jobs:
- kolla-tox-genconfig

97
.zuul.d/rocky.yaml Normal file
View file

@ -0,0 +1,97 @@
---
- project:
check:
jobs:
- kolla-build-rocky9
- kolla-build-rocky9-podman
- kolla-ansible-rocky9
# Test rabbitmq and mariadb in multinode ceph jobs.
- kolla-ansible-rocky9-cephadm:
files: ^docker\/(base|cinder|glance|mariadb|openstack-base|rabbitmq)\/.*
- kolla-ansible-rocky9-ironic:
files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.*
- kolla-ansible-rocky9-swift:
files: ^docker/(base|openstack-base|glance|swift)/
- kolla-ansible-rocky9-mariadb:
files: ^docker/(base|mariadb)/
- kolla-ansible-rocky9-masakari:
files: ^docker/(base|masakari|openstack-base)/
- kolla-ansible-rocky9-octavia:
files: ^docker/(base|neutron|octavia|openstack-base|openvswitch|ovn)/
- kolla-ansible-rocky9-ovn:
files: ^docker/(base|neutron|openstack-base|openvswitch|ovn)/
- kolla-ansible-rocky9-prometheus-opensearch:
files: ^docker/(base|opensearch|fluentd|grafana|prometheus)/
- kolla-ansible-rocky9-kvm:
files: ^docker/nova/
- kolla-ansible-rocky9-cells:
files: ^docker/proxysql/
- kolla-ansible-rocky9-bifrost:
files: ^docker/bifrost/
gate:
jobs:
- kolla-build-rocky9
- kolla-build-rocky9-podman
- kolla-ansible-rocky9
periodic:
jobs:
- kolla-publish-rocky9-quay
periodic-weekly:
jobs:
- kolla-publish-rocky9-dockerhub
experimental:
jobs:
- kolla-build-no-infra-wheels-rocky9
- job:
name: kolla-build-rocky9
parent: kolla-base
nodeset: kolla-rockylinux-9
vars:
base_distro: rocky
base_distro_version: 9
- job:
name: kolla-build-rocky9-podman
parent: kolla-base-podman
nodeset: kolla-rockylinux-9
vars:
base_distro: rocky
base_distro_version: 9
- job:
name: kolla-build-rocky9-aarch64
parent: kolla-build-rocky9
nodeset: kolla-rockylinux-9-aarch64
voting: false
- job:
name: kolla-build-no-infra-wheels-rocky9
parent: kolla-build-no-infra-wheels-base
nodeset: kolla-rockylinux-9
vars:
base_distro: rocky
base_distro_version: 9
- job:
name: kolla-publish-rocky9-dockerhub
parent: kolla-build-rocky9
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: dockerhub
kolla_namespace: kolla
secrets:
- kolla_dockerhub_credentials
- job:
name: kolla-publish-rocky9-quay
parent: kolla-build-rocky9
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: quay.io
kolla_namespace: openstack.kolla
secrets:
- kolla_quay_io_creds
- kolla_quay_io_api

12
.zuul.d/tox.yaml Normal file
View file

@ -0,0 +1,12 @@
---
- job:
name: kolla-tox-genconfig
parent: openstack-tox
timeout: 2400
description: |
Run genconfig
Uses tox with the ``genconfig`` environment.
vars:
tox_envlist: genconfig

137
.zuul.d/ubuntu.yaml Normal file
View file

@ -0,0 +1,137 @@
---
- project:
check:
jobs:
- kolla-build-ubuntu-jammy
- kolla-build-ubuntu-noble
- kolla-build-ubuntu-jammy-podman
- kolla-build-ubuntu-noble-podman
- kolla-ansible-ubuntu
# Test rabbitmq and mariadb in multinode ceph jobs.
- kolla-ansible-ubuntu-cephadm:
files: ^docker\/(base|cinder|glance|mariadb|openstack-base|rabbitmq)\/.*
- kolla-ansible-ubuntu-ironic:
files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.*
- kolla-ansible-ubuntu-swift:
files: ^docker/(base|openstack-base|glance|swift)/
- kolla-ansible-ubuntu-mariadb:
files: ^docker/(base|mariadb)/
- kolla-ansible-ubuntu-masakari:
files: ^docker/(base|masakari|openstack-base)/
- kolla-ansible-ubuntu-octavia:
files: ^docker/(base|neutron|octavia|openstack-base|openvswitch|ovn)/
- kolla-ansible-ubuntu-ovn:
files: ^docker/(base|neutron|openstack-base|openvswitch|ovn)/
- kolla-ansible-ubuntu-prometheus-opensearch:
files: ^docker/(base|opensearch|fluentd|grafana|prometheus)/
- kolla-ansible-ubuntu-kvm:
files: ^docker/nova/
- kolla-ansible-ubuntu-cells:
files: ^docker/proxysql/
- kolla-ansible-ubuntu-bifrost:
files: ^docker/bifrost/
gate:
jobs:
- kolla-build-ubuntu-jammy
- kolla-build-ubuntu-noble
- kolla-build-ubuntu-jammy-podman
- kolla-build-ubuntu-noble-podman
- kolla-ansible-ubuntu
periodic:
jobs:
- kolla-publish-ubuntu-jammy-quay
- kolla-publish-ubuntu-noble-quay
periodic-weekly:
jobs:
- kolla-publish-ubuntu-jammy-dockerhub
experimental:
jobs:
- kolla-build-no-infra-wheels-ubuntu
- job:
name: kolla-build-ubuntu-jammy
parent: kolla-base
nodeset: kolla-ubuntu-jammy
vars:
base_distro: ubuntu
base_distro_version: jammy
- job:
name: kolla-build-ubuntu-noble
parent: kolla-base
nodeset: kolla-ubuntu-noble
vars:
base_distro: ubuntu
base_distro_version: noble
base_distro_tag: '24.04'
- job:
name: kolla-build-ubuntu-jammy-podman
parent: kolla-base-podman
nodeset: kolla-ubuntu-jammy
vars:
base_distro: ubuntu
base_distro_version: jammy
- job:
name: kolla-build-ubuntu-noble-podman
parent: kolla-base-podman
nodeset: kolla-ubuntu-noble
vars:
base_distro: ubuntu
base_distro_version: noble
base_distro_tag: '24.04'
- job:
name: kolla-build-ubuntu-jammy-aarch64
parent: kolla-build-ubuntu-jammy
nodeset: kolla-ubuntu-jammy-aarch64
voting: false
- job:
name: kolla-build-ubuntu-noble-aarch64
parent: kolla-build-ubuntu-noble
nodeset: kolla-ubuntu-noble-aarch64
voting: false
- job:
name: kolla-publish-ubuntu-jammy-dockerhub
parent: kolla-build-ubuntu-jammy
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: dockerhub
kolla_namespace: kolla
secrets:
- kolla_dockerhub_credentials
- job:
name: kolla-publish-ubuntu-jammy-quay
parent: kolla-build-ubuntu-jammy
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: quay.io
kolla_namespace: openstack.kolla
secrets:
- kolla_quay_io_creds
- kolla_quay_io_api
- job:
name: kolla-publish-ubuntu-noble-quay
parent: kolla-build-ubuntu-noble
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: quay.io
kolla_namespace: openstack.kolla
secrets:
- kolla_quay_io_creds
- kolla_quay_io_api
- job:
name: kolla-build-no-infra-wheels-ubuntu
parent: kolla-build-no-infra-wheels-base
nodeset: kolla-ubuntu-noble
vars:
base_distro: ubuntu

View file

@ -92,8 +92,10 @@ Kolla provides images to deploy the following OpenStack projects:
- `Nova <https://docs.openstack.org/nova/latest/>`__
- `Octavia <https://docs.openstack.org/octavia/latest/>`__
- Skyline (`APIServer <https://docs.openstack.org/skyline-apiserver/latest/>`__ and `Console <https://docs.openstack.org/skyline-console/latest/>`__)
- `Swift <https://docs.openstack.org/swift/latest/>`__
- `Tacker <https://docs.openstack.org/tacker/latest/>`__
- `Trove <https://docs.openstack.org/trove/latest/>`__
- `Venus <https://docs.openstack.org/venus/latest/>`__
- `Watcher <https://docs.openstack.org/watcher/latest/>`__
- `Zun <https://docs.openstack.org/zun/latest/>`__
@ -133,7 +135,7 @@ Kolla provides images to deploy the following infrastructure components:
direct messaging back end for communication between services.
- `RabbitMQ <https://www.rabbitmq.com/>`__ as a broker messaging back end for
communication between services.
- `Valkey Sentinel <https://valkey.io/topics/sentinel>`__ provides high availability for valkey
- `Redis Sentinel <https://redis.io/topics/sentinel>`__ provides high availability for redis
along with collateral tasks such as monitoring, notification and acts as configuration
provider for clients.
- `Telegraf <https://www.docs.influxdata.com/telegraf/>`__ as a plugin-driven server

View file

@ -298,144 +298,16 @@ To remove a package from that list, say ``locales``, one would do:
# Horizon
{% set horizon_packages_remove = ['locales'] %}
An example of this is the Grafana plugins, which are mentioned in the next
section.
Grafana plugins
^^^^^^^^^^^^^^^
Additional Grafana plugins can be installed by adding the plugin name to the
``grafana_plugins_append`` list. Plugins can also be removed by adding the
plugin name to the ``grafana_plugins_remove`` list. Additionally the entire
list can be overridden by setting the ``grafana_plugins_override`` variable.
.. code-block:: ini
grafana_plugins_append:
- grafana-piechart-panel
- vonage-status-panel
Patching customization
----------------------
Kolla provides functionality to apply patches to Docker images during the build
process. This allows users to modify existing files or add new ones as part of
the image creation.
You need to define a ``patches_path`` in the ``[DEFAULT]`` section of
the ``/etc/kolla/kolla-build.conf`` file. This directory will be used to store
patches for the images.
.. path etc/kolla/kolla-build.conf
.. code-block:: ini
[DEFAULT]
patches_path = /path/to/your/patches
Create a directory for each image you want to patch, following a directory
structure similar to the Debian patch quilt format. Refer to
`quilt documentation <https://linux.die.net/man/1/quilt>`_. for more details.
- ``<patches_path>/image_name/`` : The directory for the specific image.
- ``<patches_path>/image_name/some-patch`` : Contains the patch content.
- ``<patches_path>/image_name/another-patch`` : Contains the patch content.
- ``<patches_path>/image_name/series`` : Lists the order in which the patches
will be applied.
For example, if you want to patch the ``nova-api`` image, the structure would
look like this:
.. code-block:: console
/path/to/your/patches/nova-api/some-patch
/path/to/your/patches/nova-api/another-patch
/path/to/your/patches/nova-api/series
The ``series`` file should list the patches in the order they should be
applied:
.. code-block:: console
some-patch
another-patch
When the images are built using ``kolla-build``, the patches defined in the
``patches_path`` will automatically be applied to the corresponding images.
After the patches are applied, Kolla stores information about the applied
patches in ``/etc/kolla/patched``. The patch files themselves are stored
in the ``/patches`` directory within the image. This allows you to track
which patches have been applied to each image for debugging or
verification purposes.
Python packages build options
-----------------------------
The block ``base_pip_conf`` in the ``base`` Dockerfile can be used to provide
the PyPI build customisation options via the standard environment variables
like ``PIP_INDEX_URL``, ``PIP_TRUSTED_HOST``, etc.
To override PYPI upper-constraints of all OpenStack images, you can
define the source location of openstack-base. in ``kolla-build.conf``.
Upstream repository of `openstack-base (requirements) <https://opendev.org/openstack/requirements>`__
has a source of
`upper constraints file <https://opendev.org/openstack/requirements/src/branch/master/upper-constraints.txt>`__.
Make a fork or clone the repository then customise ``upper-constraints.txt``
and define the location of ``openstack-base`` in ``kolla_build.conf``.
.. path /etc/kolla/kolla-build.conf
.. code-block:: ini
# These examples use upstream openstack-base as a demonstration
# To use custom openstack-base, make changes accordingly
# Using git source
[openstack-base]
type = git
location = https://opendev.org/openstack/requirements
reference = master
# Using URL source
[openstack-base]
type = url
location = https://tarballs.opendev.org/openstack/requirements/requirements-master.tar.gz
# Using local source
[openstack-base]
type = local
location = /home/kolla/src/requirements
To remove or change the version of specific Python packages in
``openstack-base`` upper-constraints, you can use the block
``openstack_base_override_upper_constraints`` in your template file,
for example, ``template-overrides.j2``:
.. code-block:: jinja
{% block openstack_base_override_upper_constraints %}
RUN {{ macros.upper_constraints_version_change("sqlparse", "0.4.4", "0.5.0") }}
RUN {{ macros.upper_constraints_remove("reno") }}
{% endblock %}
``kolla-toolbox`` image needs different approach as it does not uses
``openstack-base`` as a base image.
A variable ``UPPER_CONSTRAINTS_FILE`` is set in the
Dockerfile of ``kolla-toolbox``.
To change variable, add the following contents to the
``kolla_toolbox_pip_conf`` block in your template file, for example,
``template-overrides.j2``:
.. code-block:: jinja
{% block kolla_toolbox_pip_conf %}
ENV UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/master
{% endblock %}
.. note::
``UPPER_CONSTRAINTS_FILE`` must be a valid URL to the file
like ``PIP_INDEX_URL``, ``PIP_TRUSTED_HOST``, etc. Also here can be provided
the standard environment variable ``UPPER_CONSTRAINTS_FILE`` used for building
the ``bifrost_deploy`` container when PyPI upper-constraints needs to be
overridden. Also this variable would be used in the ``kolla-toolbox`` if
provided instead of the defaults.
Plugin functionality
--------------------
@ -529,7 +401,6 @@ Some of these plugins used to be enabled by default but, due to
their release characteristic, have been excluded from the default builds.
Please read the included ``README.rst`` to learn how to apply them.
Additions functionality
-----------------------
@ -583,98 +454,6 @@ The template becomes now:
RUN cp /additions/jenkins/jenkins.json /jenkins.json
{% endblock %}
Custom docker templates
-----------------------
In order to unify the process of managing OpenStack-related projects, Kolla
provides a way of building images for external 'non-built-in' projects.
If the template for a 'non-built-in' project meets Kolla template standards,
an operator can provide a root directory with a template via the
``--docker-dir`` CLI option (can be specified multiple times).
All Kolla's jinja2 macros should be available the same as for built-in
projects with some notes:
- The ``configure_user`` macro. As the 'non-built-in' user is unknown to Kolla,
there are no default values for user ID and group ID to use.
To use this macro, an operator should specify "non-default" user details
with ``<custom_user_name>-user`` configuration section and include info
for ``uid`` and ``gid`` at least.
Let's look into how an operator can build an image for an in-house project
with Kolla using `openstack/releases <https://opendev.org/openstack/releases>`_
project.
First, create a ``Dockerfile.j2`` template for the project.
.. path /home/kolla/custom-kolla-docker-templates/releaser/Dockerfile.j2
.. code-block:: jinja
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
{% block labels %}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% endblock %}
{% block releaser_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='releaser') }}
RUN ln -s releaser-source/* /releaser \
&& {{ macros.install_pip(['/releaser-source'] | customizable("pip_packages")) }} \
&& mkdir -p /etc/releaser \
&& chown -R releaser: /etc/releaser \
&& chmod 750 /etc/sudoers.d \
&& touch /usr/local/bin/kolla_releaser_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_releaser_extend_start
{% block footer %}{% endblock %}
Suggested directory structure:
.. code-block:: console
custom-kolla-docker-templates
|__ releaser
|__ Dockerfile.j2
Then, modify Kolla's configuration so the engine can download sources and
configure users.
.. path /etc/kolla/kolla-build.conf
.. code-block:: ini
[releaser]
type = git
location = https://opendev.org/openstack/releases
reference = master
[releaser-user]
uid = 53001
gid = 53001
Last pre-check before building a new image - ensure that the new template
is visible for Kolla:
.. code-block:: console
$ kolla-build --list-images --docker-dir custom-kolla-docker-templates "^releaser$"
1 : base
2 : releaser
3 : openstack-base
And finally, build the ``releaser`` image, passing the ``--docker-dir``
argument:
.. code-block:: console
kolla-build --docker-dir custom-kolla-docker-templates "^releaser$"
Can I use the ``--template-override`` option for custom templates? Yes!
Custom repos
------------
@ -683,16 +462,23 @@ Red Hat
Kolla allows the operator to build containers using custom repos.
The repos are accepted as a list of comma separated values and can be in the
form of ``.repo``, ``.rpm``, or a url.
form of ``.repo``, ``.rpm``, or a url. See examples below.
To use current RDO packages (aka Delorean or DLRN), update ``rpm_setup_config``
in ``kolla-build.conf``:
.. path /etc/kolla/kolla-build.conf
.. code-block:: ini
rpm_setup_config = https://trunk.rdoproject.org/centos8/current/delorean.repo,https://trunk.rdoproject.org/centos8/delorean-deps.repo
If specifying a ``.repo`` file, each ``.repo`` file will need to exist in the
same directory as the base Dockerfile (``kolla/docker/base``) or you need to
specify a url:
same directory as the base Dockerfile (``kolla/docker/base``):
.. path kolla/docker/base
.. code-block:: ini
rpm_setup_config = epel.repo,https://remote-server.com/your-repo.repo
rpm_setup_config = epel.repo,delorean.repo,delorean-deps.repo
Debian / Ubuntu
^^^^^^^^^^^^^^^

View file

@ -65,9 +65,6 @@ The `kolla_set_configs`_ script understands the following attributes:
Must be passed in the numeric octal form.
* **recurse**: whether to apply the change recursively over the target
directory. Boolean, defaults to ``false``.
* **exclude**: array of names of the directories or files to be excluded when
``recurse`` is set to ``true``. Supports Python regular expressions.
Defaults to empty array.
Here is an example configuration file:
@ -88,8 +85,7 @@ Here is an example configuration file:
{
"path": "/var/log/kolla/trove",
"owner": "trove:trove",
"recurse": true,
"exclude": ["/var/log/^snapshot.*"]
"recurse": true
}
]
}

View file

@ -1,5 +1,5 @@
Distro,Ceph,
,Source, Release
Rocky Linux,CentOS Storage SIG,Squid
Ubuntu,Ubuntu,Squid
Rocky Linux,CentOS Storage SIG,Reef
Ubuntu,Ubuntu,Reef
Debian,Debian,Pacific

1 Distro Ceph
2 Source Release
3 Rocky Linux CentOS Storage SIG Squid Reef
4 Ubuntu Ubuntu Squid Reef
5 Debian Debian Pacific

View file

@ -26,8 +26,7 @@ Communication
IRC Channel
``#openstack-kolla`` (`channel logs`_) on `OFTC <http://oftc.net>`_
Weekly Meetings
In the IRC channel (`meeting information`_)
`Weekly Meetings <https://meetings.opendev.org/#Kolla_Team_Meeting>`_
Mailing list (prefix subjects with ``[kolla]``)
https://lists.openstack.org/pipermail/openstack-discuss/
@ -41,7 +40,7 @@ Whiteboard (etherpad)
https://etherpad.openstack.org/p/KollaWhiteBoard
.. _channel logs: https://meetings.opendev.org/irclogs/%23openstack-kolla/
.. _meeting information: https://meetings.opendev.org/#Kolla_Team_Meeting
.. _meetings logs: https://meetings.opendev.org/meetings/kolla/
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
@ -50,8 +49,8 @@ In general it is suggested to use the above mentioned public communication
channels, but if you find that you need to contact someone from the Core team
directly, you can find the lists in Gerrit:
- `Kolla core team <https://review.opendev.org/admin/groups/kolla-core,members>`__
- `Kayobe core team <https://review.opendev.org/admin/groups/kayobe-core,members>`__
- kolla-core https://review.opendev.org/admin/groups/28d5dccfccc125b3963f76ab67e256501565d52b,members
- kayobe-core https://review.opendev.org/admin/groups/361e28280e3a06be2997a5aa47a8a11d3a8fb9b9,members
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
@ -62,30 +61,20 @@ prefix).
Task Tracking
~~~~~~~~~~~~~
Kolla family projects track tasks and bugs in Launchpad:
- `Kolla <https://bugs.launchpad.net/kolla>`__
- `Kolla Ansible <https://bugs.launchpad.net/kolla-ansible>`__
- `Ansible Collection Kolla <https://bugs.launchpad.net/ansible-collection-kolla>`__
- `Kayobe <https://bugs.launchpad.net/kayobe>`__
Kolla project tracks tasks in `Launchpad <https://bugs.launchpad.net/kolla>`__.
Note this is the same place as for bugs.
If you're looking for some smaller, easier work item to pick up and get started
on, search for the 'low-hanging-fruit' tag in the relevant project.
on, search for the 'low-hanging-fruit' tag.
A more lightweight task tracking is done via etherpad - `Whiteboard <https://etherpad.openstack.org/p/KollaWhiteBoard>`__.
Reporting a Bug
~~~~~~~~~~~~~~~
You found an issue and want to make sure we are aware of it?
Please report it in the appropriate Launchpad project:
- `Kolla <https://bugs.launchpad.net/kolla>`__
- `Kolla Ansible <https://bugs.launchpad.net/kolla-ansible>`__
- `Ansible Collection Kolla <https://bugs.launchpad.net/ansible-collection-kolla>`__
- `Kayobe <https://bugs.launchpad.net/kayobe>`__
Note these are also used for task tracking.
You found an issue and want to make sure we are aware of it? You can do so
on `Launchpad <https://bugs.launchpad.net/kolla>`__.
Note this is the same place as for tasks.
Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
@ -97,22 +86,6 @@ is described in :ref:`its own section <release-notes>`.
Significant changes should have documentation and testing provided with them.
To see an overview of in-progress patches, sorted into useful sections, you can
view the:
- `Kolla Review Dashboard <https://review.opendev.org/dashboard/?title=Kolla+Review+Dashboard&foreach=project%3Aopenstack%2Fkolla+status%3Aopen+NOT+label%3AWorkflow%3C%3D%2D1+NOT+label%3ACode%2DReview%3C%3D%2D2&High+priority+changes=label%3AReview%2DPriority%3D2&Priority+changes=label%3AReview%2DPriority%3D1&Feature+freeze=label%3AReview%2DPriority%3D%2D1&Stable+branch+backports=branch%3A%5Estable%2F.%2A+status%3Aopen+NOT+label%3AReview%2DPriority%3D%2D1&Small+things+%28%3C25+LOC%2C+limit+25%29+on+master+branch=delta%3A%3C%3D25+limit%3A25+NOT+label%3ACode%2DReview%2D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+Final+Approval+%28to+land+on+master+branch%29=NOT+label%3AWorkflow%3E%3D1+NOT+label%3AWorkflow%3C%3D%2D1+NOT+owner%3Aself+label%3ACode%2DReview%3E%3D2+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+revisit+%28You+were+a+reviewer+but+haven%27t+voted+in+the+current+revision%29=reviewer%3Aself+limit%3A50&Newer+%28%3C1wk%29+Open+Patches+%28limit+25%29+on+master+branch=%2Dage%3A1week+limit%3A25+NOT+label%3AWorkflow%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3ACode%2DReview%3E%3D2+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Older+%28%3E1wk%29+Open+Patches+Passing+Zuul+Tests+%28limit+50%29+on+master+branch=age%3A1week+limit%3A50+NOT+label%3AWorkflow%3E%3D1+NOT+label%3ACode%2DReview%3C%3D%2D1+NOT+label%3ACode%2DReview%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster>`__
- `Kolla Ansible Review Dashboard <https://review.opendev.org/dashboard/?title=Kolla%2DAnsible+Review+Dashboard&foreach=project%3Aopenstack%2Fkolla%2Dansible+status%3Aopen+NOT+label%3AWorkflow%3C%3D%2D1+NOT+label%3ACode%2DReview%3C%3D%2D2&High+priority+changes=label%3AReview%2DPriority%3D2&Priority+changes=label%3AReview%2DPriority%3D1&Feature+freeze=label%3AReview%2DPriority%3D%2D1&Stable+branch+backports=branch%3A%5Estable%2F.%2A+status%3Aopen+NOT+label%3AReview%2DPriority%3D%2D1&Small+things+%28%3C25+LOC%2C+limit+25%29+on+master+branch=delta%3A%3C%3D25+limit%3A25+NOT+label%3ACode%2DReview%2D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+Final+Approval+%28to+land+on+master+branch%29=NOT+label%3AWorkflow%3E%3D1+NOT+label%3AWorkflow%3C%3D%2D1+NOT+owner%3Aself+label%3ACode%2DReview%3E%3D2+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+revisit+%28You+were+a+reviewer+but+haven%27t+voted+in+the+current+revision%29=reviewer%3Aself+limit%3A50&Newer+%28%3C1wk%29+Open+Patches+%28limit+25%29+on+master+branch=%2Dage%3A1week+limit%3A25+NOT+label%3AWorkflow%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3ACode%2DReview%3E%3D2+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Older+%28%3E1wk%29+Open+Patches+Passing+Zuul+Tests+%28limit+50%29+on+master+branch=age%3A1week+limit%3A50+NOT+label%3AWorkflow%3E%3D1+NOT+label%3ACode%2DReview%3C%3D%2D1+NOT+label%3ACode%2DReview%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster>`__
- `Ansible Collection Kolla Review Dashboard <https://review.opendev.org/dashboard/?title=ansible%2Dcollection%2Dkolla+Review+Dashboard&foreach=project%3Aopenstack%2Fansible%2Dcollection%2Dkolla+status%3Aopen+NOT+label%3AWorkflow%3C%3D%2D1+NOT+label%3ACode%2DReview%3C%3D%2D2&High+priority+changes=label%3AReview%2DPriority%3D2&Priority+changes=label%3AReview%2DPriority%3D1&Feature+freeze=label%3AReview%2DPriority%3D%2D1&Stable+branch+backports=branch%3A%5Estable%2F.%2A+status%3Aopen+NOT+label%3AReview%2DPriority%3D%2D1&Small+things+%28%3C25+LOC%2C+limit+25%29+on+master+branch=delta%3A%3C%3D25+limit%3A25+NOT+label%3ACode%2DReview%2D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+Final+Approval+%28to+land+on+master+branch%29=NOT+label%3AWorkflow%3E%3D1+NOT+label%3AWorkflow%3C%3D%2D1+NOT+owner%3Aself+label%3ACode%2DReview%3E%3D2+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+revisit+%28You+were+a+reviewer+but+haven%27t+voted+in+the+current+revision%29=reviewer%3Aself+limit%3A50&Newer+%28%3C1wk%29+Open+Patches+%28limit+25%29+on+master+branch=%2Dage%3A1week+limit%3A25+NOT+label%3AWorkflow%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3ACode%2DReview%3E%3D2+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Older+%28%3E1wk%29+Open+Patches+Passing+Zuul+Tests+%28limit+50%29+on+master+branch=age%3A1week+limit%3A50+NOT+label%3AWorkflow%3E%3D1+NOT+label%3ACode%2DReview%3C%3D%2D1+NOT+label%3ACode%2DReview%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster>`__
- `Kayobe Review Dashboard <https://review.opendev.org/dashboard/?title=Kayobe+Review+Dashboard&foreach=%28project%3Aopenstack%2Fkayobe+OR+project%3Aopenstack%2Fkayobe%2Dconfig+OR+project%3Aopenstack%2Fkayobe%2Dconfig%2Ddev%29+status%3Aopen+NOT+label%3ACode%2DReview%3C%3D%2D2+NOT+label%3AWorkflow%3C%3D%2D1&High+priority+changes=label%3AReview%2DPriority%3D2&Priority+changes=label%3AReview%2DPriority%3D1&Feature+freeze=label%3AReview%2DPriority%3D%2D1&Stable+branch+backports=branch%3A%5Estable%2F.%2A+status%3Aopen+NOT+label%3AReview%2DPriority%3D%2D1&Small+things+%28%3C25+LOC%2C+limit+25%29+on+master+branch=delta%3A%3C%3D25+limit%3A25+NOT+label%3ACode%2DReview%2D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+Final+Approval+%28to+land+on+master+branch%29=NOT+label%3AWorkflow%3E%3D1+NOT+label%3AWorkflow%3C%3D%2D1+NOT+owner%3Aself+label%3ACode%2DReview%3E%3D2+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Needs+revisit+%28You+were+a+reviewer+but+haven%27t+voted+in+the+current+revision%29=reviewer%3Aself+limit%3A50&Newer+%28%3C1wk%29+Open+Patches+%28limit+25%29+on+master+branch=%2Dage%3A1week+limit%3A25+NOT+label%3AWorkflow%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3ACode%2DReview%3E%3D2+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster&Older+%28%3E1wk%29+Open+Patches+Passing+Zuul+Tests+%28limit+50%29+on+master+branch=age%3A1week+limit%3A50+NOT+label%3AWorkflow%3E%3D1+NOT+label%3ACode%2DReview%3C%3D%2D1+NOT+label%3ACode%2DReview%3E%3D1+label%3AVerified%3E%3D1%2Czuul+NOT+label%3AReview%2DPriority%3D%2D1+branch%3Amaster>`__
.. note::
If you feel that your change is getting overlooked, reach out via
:ref:`preferred communication methods <communication>` to let us know.
Project Team Lead Duties
~~~~~~~~~~~~~~~~~~~~~~~~

View file

@ -99,7 +99,7 @@ Day to Day
* Be available in IRC to help new and existing contributors
* Keep track of the progress of cycle priorities
* Keep track of the progress of cycle priorites
* Monitor the core team membership, mentor potential cores

View file

@ -152,6 +152,11 @@ R-8: Switch images to current release
.. note:: Debian does not provide repositories for the in-development release
until much later in the cycle.
* [kolla] Switch CentOS images to use the current in-development release
master RDO Delorean repository
* example: https://review.opendev.org/c/openstack/kolla/+/804269
* [kolla] Switch Ubuntu images to use the current in-development release
Ubuntu Cloud Archive (UCA) repository
@ -232,6 +237,11 @@ Prior to creating an RC1 release candidate:
* example: TODO
* [kolla] Switch CentOS images to use the current in-development release
stable RDO Delorean repository
* example: https://review.opendev.org/c/openstack/kolla/+/787339
R-0: Kolla & Kolla Ansible RC1 & stable branch creation
-------------------------------------------------------
@ -397,6 +407,13 @@ Several tasks are required to finalise the stable branch for release.
* example: https://review.opendev.org/c/openstack/kolla-ansible/+/788292
* [kolla] Switch CentOS images to use the CentOS Cloud SIG repository for the
new release
.. note:: This needs to be done on the stable branch.
* example: https://review.opendev.org/c/openstack/kolla/+/788490
* [kolla] Switch Debian images to use the Debian OpenStack repository
for the new release
@ -417,10 +434,6 @@ bugs against it.
* example: https://review.opendev.org/c/openstack/releases/+/769328
* [all] Update openstack-manuals project-data for kolla + kolla-ansible
* example: https://review.opendev.org/c/openstack/openstack-manuals/+/934349
After final release, projects enter the :ref:`stable-branch-lifecycle` with a
status of Maintained.

View file

@ -10,7 +10,7 @@ For each component used we list version used at branch release and provide
information about package sources.
.. note::
When table mentions 'CentOS' it means both CentOS Stream 10 and Rocky Linux 10.
When table mentions 'CentOS' it means both CentOS Stream 9 and Rocky Linux 9.
============== ================ =============================================
Name Version Package source information
@ -21,19 +21,19 @@ information about package sources.
Logstash 7.x `Logstash install guide`_
MariaDB 10.11 (LTS) `MariaDB Community downloads`_
Galera 26.4 (LTS) `MariaDB Community downloads`_
OpenSearch 3.x `OpenSearch install guide`_
ProxySQL 2.7.x `ProxySQL repository`_
Rabbitmq 4.1.x - CentOS/Rocky:
OpenSearch 2.x `OpenSearch install guide`_
ProxySQL 2.6.x `ProxySQL repository`_
Rabbitmq 3.13.x - CentOS/Rocky:
`Team RabbitMQ 'Cloudsmith' repo (RPM)`_
- Debian/Ubuntu:
`Team RabbitMQ 'Cloudsmith' repo (Deb)`_
Erlang 27.X - CentOS/Rocky aarch64:
Erlang 26.2.X - CentOS/Rocky aarch64:
`openstack-kolla COPR`_
- CentOS/Rocky x86-64:
`Team RabbitMQ 'Cloudsmith' repo (RPM)`_
- Debian/Ubuntu:
`Team RabbitMQ 'Modern Erlang' PPA`_
Fluentd 6.x (LTS) `Fluentd install guide`_
TD Agent 4.4.x `TreasureData install guide`_
Telegraf 1.24.x `InfluxDB upstream repo`_
============== ================ =============================================
@ -41,13 +41,13 @@ information about package sources.
.. _`OpenSearch install guide`: https://opensearch.org/downloads.html
.. _`Kibana install guide`: https://www.elastic.co/guide/en/kibana/7.10/install.html
.. _`Logstash install guide`: https://www.elastic.co/guide/en/logstash/7.9/installing-logstash.html
.. _`Fluentd install guide`: https://www.fluentd.org/download
.. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/
.. _`TreasureData install guide`: https://www.fluentd.org/download
.. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-2.6.x/
.. _`Team RabbitMQ 'Cloudsmith' repo (Deb)`: https://www.rabbitmq.com/install-debian.html#apt-cloudsmith
.. _`Team RabbitMQ 'Modern Erlang' PPA`: https://launchpad.net/~rabbitmq/+archive/ubuntu/rabbitmq-erlang
.. _`Team RabbitMQ 'Cloudsmith' repo (RPM)`: https://www.rabbitmq.com/docs/install-rpm#cloudsmith
.. _`openstack-kolla COPR`: https://copr.fedorainfracloud.org/coprs/g/openstack-kolla/rabbitmq-erlang-27/
.. _`openstack-kolla COPR`: https://copr.fedorainfracloud.org/coprs/g/openstack-kolla/rabbitmq-erlang-26/
.. _`Grafana install guide`: https://grafana.com/grafana/download?platform=linux&edition=oss
.. _`MariaDB Community downloads`: https://mariadb.com/downloads/community/

View file

@ -46,11 +46,12 @@ ovsdpdk,N,U,U
placement,U,U,U
prometheus,U,U,U
rabbitmq,U,U,U
redis,U,U,U
skyline,U,U,U
swift,U,U,U
tacker,U,U,U
telegraf,N,N,N
tgtd,U,U,U
trove,U,U,U
valkey,U,U,U
watcher,U,U,U
zun,U,U,U

1 Image Rocky Linux Ubuntu Debian
46 placement U U U
47 prometheus U U U
48 rabbitmq U U U
49 redis U U U
50 skyline U U U
51 swift U U U
52 tacker U U U
53 telegraf N N N
54 tgtd U U U
55 trove U U U
valkey U U U
56 watcher U U U
57 zun U U U

View file

@ -47,12 +47,12 @@ ovsdpdk,N,U,U
placement,T,T,T
prometheus,U,U,U
rabbitmq,T,T,T
redis,T,U,U
skyline,U,U,U
swift,T,T,U
tacker,T,U,U
telegraf,U,U,U
tgtd,N,T,U
trove,U,U,U
valkey,T,U,U
watcher,U,U,U
zun,T,T,U

1 Image Rocky Linux Ubuntu Debian
47 placement T T T
48 prometheus U U U
49 rabbitmq T T T
50 redis T U U
51 skyline U U U
52 swift T T U
53 tacker T U U
54 telegraf U U U
55 tgtd N T U
56 trove U U U
valkey T U U
57 watcher U U U
58 zun T T U

View file

@ -17,11 +17,17 @@ The following base container images are supported:
================== =============================== ================
Distribution Default base Default base tag
================== =============================== ================
Rocky Linux quay.io/rockylinux/rockylinux 10
Debian Trixie debian trixie
Rocky Linux quay.io/rockylinux/rockylinux 9
Debian Bookworm debian bookworm
Ubuntu Jammy ubuntu 22.04
Ubuntu Noble ubuntu 24.04
================== =============================== ================
.. note::
In order to build Ubuntu Noble based images ``base_tag`` needs to be set
to ``24.04`` (if using a local image from your own registry - the tag needs
to at least start with 24.04, e.g. '24.04-my-version')
The remainder of this document outlines which images are supported on which of
these distribution.
@ -59,11 +65,6 @@ N - Not Available/Unknown
Not available *(e.g. not buildable)*.
Please see :ref:`unbuildable-images-list`
Deprecations
============
None
x86_64 images
=============

View file

@ -10,7 +10,5 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_aodh_extend_start
RUN chmod 644 /usr/local/bin/kolla_aodh_extend_start
{{ macros.kolla_patch_sources() }}
{% block aodh_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -28,14 +28,10 @@ RUN ln -s aodh-base-source/* aodh \
&& {{ macros.install_pip(aodh_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/aodh /var/www/cgi-bin/aodh \
&& cp /aodh/aodh/api/app.wsgi /var/www/cgi-bin/aodh \
&& cp /aodh/aodh/api/api-paste.ini /etc/aodh/ \
&& chmod 644 /etc/aodh/api-paste.ini \
&& chmod 750 /etc/sudoers.d \
&& chmod 640 /etc/sudoers.d/kolla_aodh_sudoers \
&& chmod 755 /var/www/cgi-bin/aodh \
&& touch /usr/local/bin/kolla_aodh_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_aodh_extend_start
{{ macros.kolla_patch_sources() }}
{% block aodh_base_footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block aodh_evaluator_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block aodh_expirer_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block aodh_listener_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block aodh_notifier_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -11,8 +11,6 @@ COPY extend_start.sh /usr/local/bin/kolla_barbican_extend_start
RUN chmod 644 /usr/local/bin/kolla_barbican_extend_start
{{ macros.kolla_patch_sources() }}
{% block barbican_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,7 +7,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='barbican', groups='nfast,hsmusers') }}
{{ macros.configure_user(name='barbican', groups='nfast') }}
{% if base_package_type == 'rpm' %}
{% set barbican_base_packages = ['uwsgi-plugin-python3'] %}
{% elif base_package_type == 'deb' %}
{% set barbican_base_packages = ['uwsgi-plugin-python3'] %}
{% endif %}
{{ macros.install_packages(barbican_base_packages | customizable("packages")) }}
@ -15,6 +21,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'/barbican',
'pastedeploy',
'python-barbicanclient',
'uwsgi'
] %}
ADD barbican-base-archive /barbican-base-source
@ -31,6 +38,4 @@ RUN ln -s barbican-base-source/* barbican \
&& touch /usr/local/bin/kolla_barbican_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_barbican_extend_start
{{ macros.kolla_patch_sources() }}
{% block barbican_base_footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block barbican_keystone_listener_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block barbican_worker_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -23,8 +23,10 @@ LABEL kolla_version="{{ kolla_version }}"
{% block base_header %}{% endblock %}
ENV KOLLA_BASE_DISTRO={{ base_distro }} \
KOLLA_DISTRO_PYTHON_VERSION={{ distro_python_version }} \
KOLLA_BASE_ARCH={{ base_arch }}
#### Customize PS1 to be used with bash shell
COPY kolla_bashrc /tmp/
RUN cat /tmp/kolla_bashrc >> /etc/skel/.bashrc \
@ -39,9 +41,6 @@ ENV PS1="$(tput bold)($(printenv KOLLA_SERVICE_NAME))$(tput sgr0)[$(id -un)@$(ho
# enables to provide repo overrides at a later date in a simple fashion if we
# desire such functionality. I think we will :)
ENV KOLLA_RPM_OVS_VERSION=3.5 \
KOLLA_RPM_OVN_VERSION=25.03
RUN cat /tmp/kolla_bashrc >> /etc/bashrc \
&& sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/dnf/dnf.conf
@ -54,12 +53,45 @@ COPY dnf.conf /etc/dnf/dnf.conf
{% endblock %}
#### BEGIN REPO ENABLEMENT
{% set base_yum_repo_files = [
'grafana.repo',
'influxdb.repo',
'mariadb.repo',
'opensearch.repo',
'proxysql.repo',
'rabbitmq_rabbitmq-server.repo',
'td.repo',
] %}
{% set base_yum_url_packages = [
] %}
{% set base_yum_repo_keys = [
] %}
{% if base_arch == 'x86_64' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'rabbitmq_rabbitmq-erlang.repo',
] %}
{% elif base_arch == 'aarch64' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'copr-rabbitmq-erlang-26.repo',
'copr-rabbitmq-erlang-27.repo',
] %}
{#
SHA1 keys are not supported in RHEL9: https://github.com/rpm-software-management/rpm/issues/1977
'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc',
#}
{% set base_yum_repo_keys = base_yum_repo_keys + [
] %}
{% endif %}
{%- for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
COPY {{ repo_file }} /etc/yum.repos.d/{{ repo_file }}
{%- endfor %}
{% block base_centos_repo_overrides_post_copy %}{% endblock %}
# Install what is needed for en_US.UTF-8
@ -99,8 +131,10 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
] %}
{% set base_centos_yum_repo_packages = [
'centos-release-ceph-squid',
'centos-release-ceph-reef',
'centos-release-nfv-openvswitch',
'centos-release-openstack-caracal',
'centos-release-opstools',
'epel-release',
] %}
@ -108,9 +142,28 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
'dnf-plugins-core'
] %}
{% set base_centos_yum_repos_to_enable = [
] %}
# FIXME(hrw): entries not starting with 'centos-' (and 'centos-nfv-ovs') are
# from delorean or rdo-release-* package
# https://review.rdoproject.org/r/c/rdo-infra/ansible-role-dlrn/+/33241
{% set base_centos_yum_repos_to_disable = [
'centos-ceph-reef',
'centos-nfv-openvswitch',
'centos-opstools',
'epel',
'influxdb',
'opensearch-2.x',
'opensearch-dashboards-2.x',
] %}
RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages"), chain=True, clean=False) }}
{%- for repo in base_centos_yum_repos_to_enable | customizable('centos_yum_repos_to_enable') %} && dnf config-manager --enable {{ repo }} {% endfor -%}
{%- for repo in base_centos_yum_repos_to_disable | customizable('centos_yum_repos_to_disable') %} && dnf config-manager --disable {{ repo }} {% endfor -%}
{%- for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') %} && rpm --import {{ key }} {% endfor %} \
{% block base_centos_repo_overrides_post_yum %}{% endblock -%}
&& {{ macros.rpm_security_update(clean_package_cache) }}
@ -134,7 +187,6 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
'lsof',
'lvm2',
'ncurses',
'openssl',
'procps-ng',
'python3',
'python3-pip',
@ -143,13 +195,11 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
'tar',
'util-linux',
'util-linux-user',
'which',
'patch'
'which'
] %}
# Install base packages
{{ macros.enable_extra_repos(['epel']) }}
{{ macros.install_packages(base_centos_packages | customizable("centos_packages") | customizable("centos_binary_packages") | customizable("centos_source_packages")) }}
{{ macros.install_packages( base_centos_packages | customizable("centos_packages") | customizable("centos_binary_packages") | customizable("centos_source_packages") ) }}
{# endif for base_package_type rpm #}
{% elif base_package_type == 'deb' %}
@ -187,12 +237,26 @@ RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc \
&& sed -i -e s/#*LAST_SYSTEM_UID=999/LAST_SYSTEM_UID=59999/g \
-e s/#*LAST_SYSTEM_GID=999/LAST_SYSTEM_GID=59999/g /etc/adduser.conf
{# NOTE(mnasiadka): Ubuntu arm64 uses ports.ubuntu.com #}
{% block base_ubuntu_package_sources_list %}
{% if base_distro == "ubuntu" and base_arch == 'aarch64' %}
COPY {{ base_distro }}.sources.arm64 /etc/apt/sources.list.d/{{ base_distro }}.sources
{% if base_distro == 'debian' %}
RUN rm -f /etc/apt/sources.list.d/debian.sources
COPY sources.list.{{ base_distro }} /etc/apt/sources.list
{% elif base_distro == 'ubuntu' %}
{% if base_distro_tag.startswith('22.04') or base_distro_tag.startswith('jammy') %}
RUN rm -f /etc/apt/sources.list
{% if base_arch == 'x86_64' %}
COPY sources.list.{{ base_distro }}.jammy /etc/apt/sources.list
{% else %}
COPY {{ base_distro }}.sources /etc/apt/sources.list.d/
COPY sources.list.{{ base_distro }}.jammy.{{ base_arch }} /etc/apt/sources.list
{% endif %}
{% elif base_distro_tag.startswith('24.04') or base_distro_tag.startswith('noble') %}
RUN rm -f /etc/apt/sources.list.d/{{ base_distro }}.sources
{% if base_arch == 'x86_64' %}
COPY sources.list.{{ base_distro }}.noble /etc/apt/sources.list
{% else %}
COPY sources.list.{{ base_distro }}.noble.{{ base_arch }} /etc/apt/sources.list
{% endif %}
{% endif %}
{% endif %}
COPY sources.list /etc/apt/sources.list.d/kolla-custom.list
{% endblock %}
@ -204,7 +268,7 @@ COPY sources.list /etc/apt/sources.list.d/kolla-custom.list
RUN apt update \
&& apt install -y --no-install-recommends extrepo \
&& extrepo enable openstack_{{ openstack_release_codename | lower }} \
&& extrepo enable openstack_caracal \
&& apt purge -y extrepo \
&& apt --purge autoremove -y \
&& apt clean
@ -232,25 +296,23 @@ COPY apt_preferences /etc/apt/preferences.d/kolla-custom
'python3-pip',
'socat',
'sudo',
'tgt',
'patch'
'tgt'
] %}
{% set base_apt_keys = [
{'name': 'erlang-ppa', 'keyid': 'F77F1EDA57EBB1CC'},
{'name': 'rabbitmq', 'keyid': '6B73A36E6026DFCA'},
{'name': 'rabbitmq', 'keyid': '9F4587F226208342'},
{'name': 'haproxy', 'keyid': 'CFFB779AADC995E4F350A060505D97A41C61B9CD'},
] %}
{# NOTE(hrw): type field defaults to 'asc' which is used for single keys #}
{% set base_remote_apt_keys = [
{'name': 'docker-ce', 'url': 'https://download.docker.com/linux/debian/gpg'},
{'name': 'fluentd', 'url': 'https://fluentd.cdn.cncf.io/GPG-KEY-fluent-package'},
{'name': 'grafana', 'url': 'https://rpm.grafana.com/gpg.key'},
{'name': 'influxdb', 'url': 'https://repos.influxdata.com/influxdata-archive.key'},
{'name': 'influxdb', 'url': 'https://repos.influxdata.com/influxdata-archive_compat.key'},
{'name': 'mariadb', 'url': 'https://downloads.mariadb.com/MariaDB/mariadb-keyring-2019.gpg', 'type': 'gpg'},
{'name': 'opensearch', 'url': 'https://artifacts.opensearch.org/publickeys/opensearch-release.pgp'},
{'name': 'proxysql', 'url': 'https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/repo_pub_key'},
{'name': 'opensearch', 'url': 'https://artifacts.opensearch.org/publickeys/opensearch.pgp'},
{'name': 'proxysql', 'url': 'https://repo.proxysql.com/ProxySQL/proxysql-2.6.x/repo_pub_key'},
{'name': 'treasuredata', 'url': 'https://packages.treasuredata.com/GPG-KEY-td-agent'},
] %}
{% block base_ubuntu_package_installation %}
@ -277,9 +339,7 @@ RUN apt-get --error-on=any update \
&& locale-gen "$LANG" \
&& apt-get -y upgrade \
&& apt-get -y dist-upgrade \
&& {{ macros.install_packages(base_apt_packages | customizable('apt_packages'), True) }} \
# NOTE: python3-pip installs dependent tzdata package and blocks mount in docker - 2091161
&& unlink /etc/localtime
&& {{ macros.install_packages(base_apt_packages | customizable('apt_packages'), True) }}
{% endblock %}
@ -303,9 +363,7 @@ RUN sed -ri '/-session(\s+)optional(\s+)pam_systemd.so/d' /etc/pam.d/system-auth
COPY set_configs.py /usr/local/bin/kolla_set_configs
COPY start.sh /usr/local/bin/kolla_start
COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts
COPY install_projects.sh /usr/local/bin/kolla_install_projects
COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup
COPY kolla_patch.sh /usr/local/bin/kolla_patch
COPY sudoers /etc/sudoers
{% if use_dumb_init %}
@ -322,11 +380,7 @@ RUN chmod 755 /usr/local/bin/healthcheck_*
{% endif %}
RUN touch /usr/local/bin/kolla_extend_start \
&& chmod 755 /usr/local/bin/kolla_start \
/usr/local/bin/kolla_set_configs \
/usr/local/bin/kolla_copy_cacerts \
/usr/local/bin/kolla_install_projects \
/usr/local/bin/kolla_patch \
&& chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_set_configs /usr/local/bin/kolla_copy_cacerts \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_httpd_setup \
&& chmod 440 /etc/sudoers \
&& mkdir -p /var/log/kolla \
@ -338,9 +392,8 @@ RUN touch /usr/local/bin/kolla_extend_start \
# the variables like PIP_INDEX_URL, PIP_EXTRA_INDEX_URL, PIP_TRUSTED_HOST etc. should be defined here.
# ENV PIP_INDEX_URL=https://pypi.python.org/simple
# ENV PIP_TRUSTED_HOST=pypi.python.org
# ENV UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/{{ openstack_release }}
{% endblock %}
{{ macros.kolla_patch_sources() }}
{% block base_footer %}{% endblock %}
CMD ["kolla_start"]

View file

@ -1,4 +1,4 @@
# NOTE(hrw): we do not want backports unless requested
Package: *
Pin: release n=trixie-backports
Pin: release n=bookworm-backports
Pin-Priority: -1000

View file

@ -1,6 +1,6 @@
[baseos]
name=(OpenDev mirror) CentOS Stream $releasever - BaseOS
baseurl=http://MIRROR/centos-stream/$stream/BaseOS/$basearch/os/
baseurl=http://MIRROR/centos-stream/9-stream/BaseOS/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@ -8,7 +8,7 @@ enabled=1
[appstream]
name=(OpenDev mirror) CentOS Stream $releasever - AppStream
baseurl=http://MIRROR/centos-stream/$stream/AppStream/$basearch/os/
baseurl=http://MIRROR/centos-stream/9-stream/AppStream/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@ -16,7 +16,7 @@ enabled=1
[extras-common]
name=(OpenDev mirror) CentOS Stream $releasever - Extras packages
baseurl=http://MIRROR/centos-stream/SIGs/$stream/extras/$basearch/extras-common/
baseurl=http://MIRROR/centos-stream/SIGs/9-stream/extras/$basearch/extras-common/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
gpgcheck=1
repo_gpgcheck=0
@ -24,7 +24,7 @@ enabled=1
[crb]
name=(OpenDev mirror) CentOS Stream $releasever - CRB
baseurl=http://MIRROR/centos-stream/$stream/CRB/$basearch/os/
baseurl=http://MIRROR/centos-stream/9-stream/CRB/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@ -32,7 +32,7 @@ enabled=0
[highavailability]
name=(OpenDev mirror) CentOS Stream $releasever - HighAvailability
baseurl=http://MIRROR/centos-stream/$stream/HighAvailability/$basearch/os/
baseurl=http://MIRROR/centos-stream/9-stream/HighAvailability/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
@ -53,6 +53,14 @@ enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
module_hotfixes=1
[centos-openstack-caracal]
name=(OpenDev mirror) CentOS-$releasever - OpenStack Caracal
baseurl=http://MIRROR/centos-stream/SIGs/$stream/cloud/$basearch/openstack-caracal/
gpgcheck=1
enabled=1
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Cloud
module_hotfixes=1
[centos-opstools]
name=(OpenDev mirror) CentOS Stream $releasever - OpsTools - collectd
baseurl=http://MIRROR/centos-stream/SIGs/$stream/opstools/$basearch/collectd-5/

43
docker/base/ci-rocky.repo Normal file
View file

@ -0,0 +1,43 @@
[centos-ceph-reef]
name=(OpenDev mirror) CentOS-$stream - Ceph Reef
baseurl=http://MIRROR/centos-stream/SIGs/$stream/storage/$basearch/ceph-reef/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
[centos-nfv-openvswitch]
name=(OpenDev mirror) CentOS Stream $releasever - NFV OpenvSwitch
baseurl=http://MIRROR/centos-stream/SIGs/$stream/nfv/$basearch/openvswitch-2/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
module_hotfixes=1
[centos-openstack-caracal]
name=(OpenDev mirror) CentOS-$releasever - OpenStack Caracal
baseurl=http://MIRROR/centos-stream/SIGs/$stream/cloud/$basearch/openstack-caracal/
gpgcheck=1
enabled=1
gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Cloud
module_hotfixes=1
[centos-opstools]
name=(OpenDev mirror) CentOS Stream $releasever - OpsTools - collectd
baseurl=http://MIRROR/centos-stream/SIGs/$stream/opstools/$basearch/collectd-5/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-OpsTools
[centos-rabbitmq-38]
name=(OpenDev mirror) CentOS-9 - RabbitMQ 38
baseurl=http://MIRROR/centos-stream/SIGs/$stream/messaging/$basearch/rabbitmq-38
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging
[epel]
name=(OpenDev mirror) Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=http://MIRROR/epel/$releasever/Everything/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever

View file

@ -0,0 +1,11 @@
# NOTE(hrw): this repository contains rebuild of Erlang package from RabbitMQ team
# from https://github.com/rabbitmq/erlang-rpm/
# Thanks to COPR we have aarch64 packages for Rocky Linux
[copr-rabbitmq-erlang-26]
name=openstack-kolla COPR with Erlang 26 build for RabbitMQ
baseurl=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-26/rhel-$releasever-aarch64/
gpgcheck=1
enabled=0
gpgkey=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-26/pubkey.gpg
repo_gpgcheck=0

View file

@ -0,0 +1,11 @@
# NOTE(hrw): this repository contains rebuild of Erlang package from RabbitMQ team
# from https://github.com/rabbitmq/erlang-rpm/
# Thanks to COPR we have aarch64 packages for Rocky Linux
[copr-rabbitmq-erlang-27]
name=openstack-kolla COPR with Erlang 27 build for RabbitMQ
baseurl=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/
gpgcheck=1
enabled=0
gpgkey=https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg
repo_gpgcheck=0

View file

@ -3,46 +3,25 @@
# Copy custom CA certificates to system trusted CA certificates folder
# and run CA update utility
if [[ -e "/etc/debian_version" ]]; then
ca_dst_path="/usr/local/share/ca-certificates"
update_command="update-ca-certificates"
elif [[ -e "/etc/redhat-release" ]]; then
ca_dst_path="/etc/pki/ca-trust/source/anchors"
update_command="update-ca-trust"
else
echo "Unsupported OS"
exit 1
fi
# Initialize update_needed variable
update_needed="false"
# Remove old certificates
if find /etc/ssl/certs/ \
/usr/local/share/ca-certificates/ \
/etc/pki/ca-trust/source/anchors/ \
-name 'kolla*' -exec rm -f {} + 2>/dev/null; then
update_needed="true"
fi
rm -f /usr/local/share/ca-certificates/kolla-customca-* \
/etc/pki/ca-trust/source/anchors/kolla-customca-*
# Determine source path for CA certificates
if grep -q '"source": "/var/lib/kolla/share/ca-certificates"' /etc/kolla/defaults/state; then
ca_src_path="/var/lib/kolla/share/ca-certificates"
else
ca_src_path="/var/lib/kolla/config_files/ca-certificates"
fi
# Check if the source path exists and is not empty
if [[ -d ${ca_src_path} && $(ls -A "${ca_src_path}" 2>/dev/null) ]]; then
# Copy certificates and update CA
for cert in "${ca_src_path}"/*; do
file=$(basename "${cert}")
cp ${cert} ${ca_dst_path}/kolla-customca-${file}
update_needed="true"
done
fi
# Run the update command if needed
if [[ "${update_needed}" == "true" ]]; then
${update_command}
if [[ -d /var/lib/kolla/config_files/ca-certificates ]] && \
[[ ! -z "$(ls -A /var/lib/kolla/config_files/ca-certificates/)" ]]; then
if [[ -e /etc/debian_version ]]; then
# Debian, Ubuntu
for cert in /var/lib/kolla/config_files/ca-certificates/*; do
file=$(basename "$cert")
cp $cert "/usr/local/share/ca-certificates/kolla-customca-$file"
done
update-ca-certificates
elif [[ -e /etc/redhat-release ]]; then
# CentOS
for cert in /var/lib/kolla/config_files/ca-certificates/*; do
file=$(basename "$cert")
cp $cert "/etc/pki/ca-trust/source/anchors/kolla-customca-$file"
done
update-ca-trust
fi
fi

View file

@ -1,13 +0,0 @@
Types: deb
# http://snapshot.debian.org/archive/debian/20251020T000000Z
URIs: http://deb.debian.org/debian
Suites: trixie trixie-updates trixie-backports
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
# http://snapshot.debian.org/archive/debian-security/20251020T000000Z
URIs: http://deb.debian.org/debian-security
Suites: trixie-security
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

8
docker/base/grafana.repo Normal file
View file

@ -0,0 +1,8 @@
[grafana]
name=grafana
baseurl=https://rpm.grafana.com
enabled=0
gpgcheck=1
gpgkey=https://rpm.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

View file

@ -0,0 +1,6 @@
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 0
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key

View file

@ -1,12 +0,0 @@
#!/bin/bash
# This script finds all projects in /dev-mode folder and
# installs them using pip
# The projects are mounted there when dev mode is enabled for them
# in kolla-ansible
if [ -d "/dev-mode" ]; then
for project in /dev-mode/*; do
pip install -U "$project"
done
fi

View file

@ -1,55 +0,0 @@
#!/bin/bash
# This script works as debian quilt patch.
# So, patch files included in /patches/series
# are applied and information what was applied
# is stored in /etc/kolla/patched.
#
# No more, no less :)
cd /
# If exist /patches/series
# let's try to apply patches
if [ -e "/patches/series" ]; then
# If there is /patches/series.applied
# then it means previous run already applied
# some patches - from another intermediate container
#
# So, let's add patches again to /patches/series
# and let's script to handle it
if [ -e "/patches/series.applied" ]; then
grep -v '^#' /patches/series.applied > /tmp/series.tmp
grep -v '^#' /patches/series >> /tmp/series.tmp
rm -f /patches/series
mv /tmp/series.tmp /patches/series
fi
touch /etc/kolla/patched
for patchfile in $(grep -v '^#' /patches/series); do
# If patch is not applied, try to apply it, otherwise
# inform user that patchfile is already applied
if ! grep -q "$patchfile" /etc/kolla/patched; then
echo "[i] Applying /patches/${patchfile}"
patch -p0 --fuzz=0 --ignore-whitespace < /patches/${i}/${patchfile}
# If apply patch was successful inform user,
# otherwise fail build process and inform user
# to check/fix patch
if [ $? -eq 0 ]; then
echo "[i] Applied /patches/${patchfile}" >> /etc/kolla/patched
else
echo "[i] Patch /patches/${patchfile} failed, please fix your patchfiles."
exit 1
fi
else
echo "[i] /patches/${patchfile} already applied."
fi
done
# Ignore files which are commented and move
# to /patches/series.applied as /patch/series
# can be potentially replaced by another files
# from different intermediate container
grep -v '^#' /patches/series > /patches/series.applied
rm -f /patches/series
else
echo "[i] No series file found, nothing to patch."
fi

7
docker/base/mariadb.repo Normal file
View file

@ -0,0 +1,7 @@
[mariadb]
name = MariaDB Server
baseurl = https://dlm.mariadb.com/repo/mariadb-server/10.11/yum/rhel/$releasever/$basearch
gpgcheck = 1
enabled = 0
module_hotfixes = 1
gpgkey = https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB

View file

@ -0,0 +1,19 @@
[opensearch-2.x]
name=OpenSearch 2.x
baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/yum
enabled=0
repo_gpgcheck=1
gpgcheck=1
gpgkey=https://artifacts.opensearch.org/publickeys/opensearch.pgp
autorefresh=1
type=rpm-md
[opensearch-dashboards-2.x]
name=OpenSearch Dashboards 2.x
baseurl=https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/yum
enabled=0
repo_gpgcheck=1
gpgcheck=1
gpgkey=https://artifacts.opensearch.org/publickeys/opensearch.pgp
autorefresh=1
type=rpm-md

View file

@ -0,0 +1,6 @@
[proxysql]
name = ProxySQL
baseurl = https://repo.proxysql.com/ProxySQL/proxysql-2.6.x/almalinux/$releasever
gpgkey = https://repo.proxysql.com/ProxySQL/proxysql-2.6.x/repo_pub_key
gpgcheck = 1
enabled = 0

View file

@ -0,0 +1,9 @@
[rabbitmq_rabbitmq-erlang]
name=rabbitmq_rabbitmq-erlang
# Use a set of mirrors maintained by the RabbitMQ core team.
# The mirrors have significantly higher bandwidth quotas.
baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch
https://yum2.rabbitmq.com/erlang/el/9/$basearch
gpgcheck=1
enabled=0
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key

View file

@ -0,0 +1,9 @@
[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
gpgcheck=1
enabled=0
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc

View file

@ -19,18 +19,13 @@ import json
import logging
import os
import pwd
import re
import shutil
import stat
import sys
# TODO(rhallisey): add docstring.
logging.basicConfig(
format='%(asctime)s.%(msecs)03d %(levelname)s %(message)s',
level=logging.INFO,
datefmt='%Y-%m-%d %H:%M:%S'
)
logging.basicConfig()
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.INFO)
@ -64,14 +59,6 @@ class ConfigFileBadState(ExitingException):
pass
class ConfigFileCommandDiffers(ExitingException):
pass
class StateMismatch(ExitingException):
pass
class ConfigFile(object):
def __init__(self, source, dest, owner=None, perm=None, optional=False,
@ -350,7 +337,6 @@ def handle_permissions(config):
owner = permission.get('owner')
recurse = permission.get('recurse', False)
perm = permission.get('perm')
exclude = permission.get('exclude', [])
desired_user, desired_group = user_group(owner)
uid = pwd.getpwnam(desired_user).pw_uid
@ -390,24 +376,14 @@ def handle_permissions(config):
LOG.exception('Failed to set permission of %s to %s',
path, perm)
def handle_exclusion(root, path_suffix):
full_path = os.path.join(root, path_suffix)
LOG.debug("Checking for exclusion: %s" % full_path)
if exclude:
for exclude_ in exclude:
if not re.search(exclude_, full_path):
set_perms(full_path, uid, gid, perm)
else:
set_perms(full_path, uid, gid, perm)
for dest in glob.glob(path):
set_perms(dest, uid, gid, perm)
if recurse and os.path.isdir(dest):
for root, dirs, files in os.walk(dest):
for dir_ in dirs:
handle_exclusion(root, dir_)
set_perms(os.path.join(root, dir_), uid, gid, perm)
for file_ in files:
handle_exclusion(root, file_)
set_perms(os.path.join(root, file_), uid, gid, perm)
def get_defaults_state():
@ -577,66 +553,7 @@ def execute_config_strategy(config):
raise InvalidConfig('KOLLA_CONFIG_STRATEGY is not set properly')
def execute_command_check(config):
cmd = config.get('command')
with open("/run_command", "r") as f:
cmd_running = f.read()
if cmd != cmd_running:
msg = "Running command differs. " + cmd + " != " + cmd_running
raise ConfigFileCommandDiffers(msg)
def execute_config_check(config):
"""Check configuration state consistency and validate config file entries.
This function compares the current config file destinations from the
provided config dictionary with those stored in the defaults state file.
If any destinations are found in the state file but not in the config,
a StateMismatch exception is raised. These missing files would otherwise
be restored or removed depending on their backup state.
After validating consistency, the function performs standard checks on
each declared configuration file, including content, permissions, and
ownership validation.
Args:
config (dict): The configuration dictionary containing 'config_files'
entries as expected by Kolla.
Raises:
StateMismatch: If there are entries in the defaults state not present
in the provided config.
"""
state = get_defaults_state()
# Build a set of all current destination paths from config.json
# If the destination is a directory, we append the
# basename of the source
current_dests = {
entry['dest'] if not entry['dest'].endswith('/') else
os.path.join(entry['dest'], os.path.basename(entry['source']))
for entry in config.get('config_files', [])
if entry.get('dest')
}
# Detect any paths that are present in the state file but
# missing from config.json.
# These would be either restored (if state[dest] has a backup)
# or removed (if dest is null)
removed_dests = [
path for path in state.keys()
if path not in current_dests
]
if removed_dests:
raise StateMismatch(
f"The following config files are tracked in state but missing "
f"from config.json. "
f"They would be restored or removed: {sorted(removed_dests)}"
)
# Perform the regular content, permissions, and ownership
# checks on the declared files
for data in config.get('config_files', []):
config_file = ConfigFile(**data)
config_file.check()
@ -653,7 +570,6 @@ def main():
config = load_config()
if args.check:
execute_command_check(config)
execute_config_check(config)
else:
execute_config_strategy(config)

View file

@ -0,0 +1,11 @@
# Default repos
deb http://deb.debian.org/debian bookworm main
# debian security updates
deb http://deb.debian.org/debian-security bookworm-security main
# debian updates
deb http://deb.debian.org/debian bookworm-updates main
# debian backports
deb http://deb.debian.org/debian bookworm-backports main

View file

@ -0,0 +1,17 @@
# For non-x86 architectures we use sources.list.ubuntu.<arch>
# Default repos
deb mirror://mirrors.ubuntu.com/mirrors.txt jammy main universe
deb mirror://mirrors.ubuntu.com/mirrors.txt jammy-updates main universe
deb mirror://mirrors.ubuntu.com/mirrors.txt jammy-security main universe
# Backports have a lower priority and must be explicitly installed to be used
deb http://archive.ubuntu.com/ubuntu/ jammy-backports main universe
# We need to add the repo for the updated packages they provide. The main ones
# are qemu, libvirt, and openvswitch.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu jammy-updates/caracal main
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.

View file

@ -0,0 +1,15 @@
# Default repos
deb http://ports.ubuntu.com/ jammy main universe
deb http://ports.ubuntu.com/ jammy-updates main universe
deb http://ports.ubuntu.com/ jammy-security main universe
# Backports have a lower priority and must be explicitly installed to be used
deb http://ports.ubuntu.com/ jammy-backports main universe
# We need to add the repo for the updated packages they provide. The main ones
# are qemu, libvirt, and openvswitch.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu jammy-updates/caracal main
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.

View file

@ -0,0 +1,16 @@
# For non-x86 architectures we use sources.list.ubuntu.<arch>
# Default repos
deb mirror://mirrors.ubuntu.com/mirrors.txt noble main universe
deb mirror://mirrors.ubuntu.com/mirrors.txt noble-updates main universe
deb mirror://mirrors.ubuntu.com/mirrors.txt noble-security main universe
# Backports have a lower priority and must be explicitly installed to be used
deb http://archive.ubuntu.com/ubuntu/ noble-backports main universe
# NOTE: In Caracal we don't need to add the repo for the updated packages like qemu,
# libvirt, and openvswitch.
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.

View file

@ -0,0 +1,15 @@
# Default repos
deb http://ports.ubuntu.com/ noble main universe
deb http://ports.ubuntu.com/ noble-updates main universe
deb http://ports.ubuntu.com/ noble-security main universe
# Backports have a lower priority and must be explicitly installed to be used
deb http://ports.ubuntu.com/ noble-backports main universe
# We need to add the repo for the updated packages they provide. The main ones
# are qemu, libvirt, and openvswitch.
deb http://ubuntu-cloud.archive.canonical.com/ubuntu noble-updates/dalmatian main
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.

View file

@ -15,9 +15,6 @@ ARGS=""
# Install/remove custom CA certificates
sudo kolla_copy_cacerts
# Install projects that are in /dev-mode
sudo kolla_install_projects
if [[ ! "${!KOLLA_SKIP_EXTEND_START[@]}" ]]; then
# Run additional commands if present
. kolla_extend_start

View file

@ -20,7 +20,4 @@ root ALL=(ALL) ALL
# Copy custom CA certificates to containers
%kolla ALL=(root) NOPASSWD: /usr/local/bin/kolla_copy_cacerts
# Install projects in dev-mode
%kolla ALL=(root) NOPASSWD: /usr/local/bin/kolla_install_projects
#includedir /etc/sudoers.d

6
docker/base/td.repo Normal file
View file

@ -0,0 +1,6 @@
[fluent-package-lts]
name=Fluentd Project
baseurl=https://packages.treasuredata.com/lts/5/redhat/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent
enabled=0

View file

@ -1,24 +0,0 @@
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main universe
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu security updates. Aside from URIs and Suites,
## this should mirror your choices in the previous section.
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu Cloud Archive
Types: deb
URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu
Suites: noble-updates/flamingo
Components: main
Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.

View file

@ -1,24 +0,0 @@
Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble noble-updates noble-backports
Components: main universe
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu security updates. Aside from URIs and Suites,
## this should mirror your choices in the previous section.
Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble-security
Components: main universe
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
## Ubuntu Cloud Archive
Types: deb
URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu
Suites: noble-updates/flamingo
Components: main
Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.

View file

@ -7,28 +7,18 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% set venv_path='/var/lib/kolla/venv' %}
{{ macros.configure_user(name='bifrost') }}
{% set bifrost_base_packages = [
'cpio'
] %}
{% if base_package_type == 'rpm' %}
{# NOTE(mgoddard): EPEL required for nginx #}
{{ macros.enable_extra_repos(['epel']) }}
{% set bifrost_base_packages = bifrost_base_packages + [
'python3.12',
'python3.12-devel'
] %}
{% endif %}
{% set bifrost_base_packages = [
'cpio',
] %}
{{ macros.install_packages(bifrost_base_packages | customizable("packages")) }}
ENV VENV {{ venv_path }}
ENV VENV /var/lib/kolla/venv
{% set bifrost_base_pip_packages = [
'/bifrost'
@ -36,12 +26,7 @@ ENV VENV {{ venv_path }}
ADD bifrost-base-archive /bifrost-base-source
COPY build_arg.yml /tmp/build_arg.yml
RUN mkdir -p /requirements \
&& curl -o /requirements/upper-constraints.txt ${UPPER_CONSTRAINTS_FILE:-https://releases.openstack.org/constraints/upper/{{ openstack_release }}} \
&& python3 -m venv --system-site-packages {{ venv_path }} \
&& ln -s bifrost-base-source/* bifrost \
&& {{ macros.install_pip(['pip', 'wheel', 'setuptools']) }} \
RUN ln -s bifrost-base-source/* bifrost \
&& {{ macros.install_pip(bifrost_base_pip_packages | customizable("pip_packages")) }}
WORKDIR /bifrost
@ -52,16 +37,24 @@ ENV ANSIBLE_GATHER_TIMEOUT=30
{% block bifrost_ansible_install %}
{%- if base_package_type == 'deb' %}
RUN apt-get --error-on=any update && \
{%- if base_distro_tag.startswith('24.04') or base_distro_tag.startswith('noble') %}
bash -c 'export VENV=/var/lib/kolla/venv && \
{# NOTE(darmach): Bumped to ansible-core 2.16 to match Python 3.12 #}
$VENV/bin/pip install "ansible>=9,<10" && \
{%- else %}
bash -c '$VENV/bin/pip install "ansible>=6,<7" && \
{%- endif %}
{%- else %}
RUN echo " " && \
bash -c 'export VENV=/var/lib/kolla/venv && \
$VENV/bin/pip install "ansible>=6,<7" && \
{%- endif %}
bash -c '$VENV/bin/pip install "ansible>=12,<14" && \
$VENV/bin/ansible-galaxy collection install -r /bifrost/ansible-collections-requirements.yml && \
$VENV/bin/ansible-playbook -vvvv -i /bifrost/playbooks/inventory/target \
ansible-playbook -vvvv -i /bifrost/playbooks/inventory/target \
/bifrost/playbooks/install.yaml \
-e upper_constraints_file="/requirements/upper-constraints.txt" \
-e git_branch={{ openstack_branch_slashed }} \
-e ipa_upstream_release={{ openstack_branch }} \
-e enable_inspector=true \
-e @/tmp/build_arg.yml && \
{%- if base_package_type == 'deb' %}
apt-get clean && rm -rf /var/lib/apt/lists/*'
@ -76,6 +69,4 @@ RUN chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_bifrost_sudoers \
&& chown -R bifrost:bifrost /bifrost
{{ macros.kolla_patch_sources() }}
{% block bifrost_base_footer %}{% endblock %}

View file

@ -29,7 +29,5 @@ RUN rm -f $(find /lib/systemd/system/sysinit.target.wants/ ! -name systemd-tmpfi
ENTRYPOINT []
CMD [ "/sbin/init" ]
{{ macros.kolla_patch_sources() }}
{% block bifrost_deploy_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -5,13 +5,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block blazar_api_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
COPY extend_start.sh /usr/local/bin/kolla_blazar_extend_start
RUN chmod 644 /usr/local/bin/kolla_blazar_extend_start
{{ macros.kolla_patch_sources() }}
{% block blazar_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -24,6 +24,4 @@ RUN ln -s blazar-base-source/* blazar \
&& touch /usr/local/bin/kolla_blazar_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_blazar_extend_start
{{ macros.kolla_patch_sources() }}
{% block blazar_base_footer %}{% endblock %}

View file

@ -5,10 +5,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block blazar_manager_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block blazar_manager_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -29,6 +29,7 @@ RUN ln -s ceilometer-base-source/* ceilometer \
&& {{ macros.install_pip(ceilometer_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/ceilometer \
&& cp -r /ceilometer/etc/ceilometer/* /etc/ceilometer/ \
&& cp /etc/pycadf/ceilometer_api_audit_map.conf /etc/ceilometer/ \
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/ceilometer/rootwrap.conf \
&& if [ "$(ls /plugins)" ]; then \
{{ macros.install_pip(ceilometer_base_plugins_pip_packages) }}; \
@ -38,6 +39,4 @@ RUN ln -s ceilometer-base-source/* ceilometer \
&& touch /usr/local/bin/kolla_ceilometer_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_ceilometer_extend_start
{{ macros.kolla_patch_sources() }}
{% block ceilometer_base_footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block ceilometer_central_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -24,8 +24,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
RUN {{ macros.install_pip(ceilometer_compute_pip_packages | customizable("pip_packages")) }}
{{ macros.kolla_patch_sources() }}
{% block ceilometer_compute_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -19,8 +19,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(ceilometer_ipmi_packages | customizable("packages")) }}
{{ macros.kolla_patch_sources() }}
{% block ceilometer_ipmi_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -10,8 +10,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_ceilometer_extend_start
RUN chmod 644 /usr/local/bin/kolla_ceilometer_extend_start
{{ macros.kolla_patch_sources() }}
{% block ceilometer_notification_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -14,9 +14,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_cinder_extend_start
RUN chmod 644 /usr/local/bin/kolla_cinder_extend_start
{{ macros.kolla_patch_sources() }}
RUN mkdir -p /var/www/cgi-bin/cinder \
&& cp -a /var/lib/kolla/venv/bin/cinder-wsgi /var/www/cgi-bin/cinder/cinder-wsgi \
&& chmod 644 /usr/local/bin/kolla_cinder_extend_start \
&& chmod 755 /var/www/cgi-bin/cinder/cinder-wsgi
{% block cinder_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -25,8 +25,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(cinder_backup_packages | customizable("packages")) }}
{{ macros.kolla_patch_sources() }}
{% block cinder_backup_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -9,10 +9,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='cinder') }}
{% if base_package_type == 'rpm' %}
{{ macros.enable_extra_repos(['ceph', 'epel']) }}
{% if base_package_type == 'rpm' %}
{% set cinder_base_packages = [
'ceph-common',
'cryptsetup',
@ -32,6 +31,11 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'qemu-utils'
] %}
{% endif %}
{% if base_distro_tag.startswith('24.04') or base_distro_tag.startswith('noble') %}
RUN {{ macros.upper_constraints_version_change("taskflow", "5.6.0", "5.8.0") }}
{% endif %}
{{ macros.install_packages(cinder_base_packages | customizable("packages")) }}
{% set cinder_base_pip_packages = [
@ -47,13 +51,11 @@ RUN ln -s cinder-base-source/* cinder \
&& {{ macros.install_pip(cinder_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/cinder \
&& cp -r /cinder/etc/cinder/* /etc/cinder/ \
&& cp /var/lib/kolla/venv/etc/pycadf/cinder_api_audit_map.conf /etc/cinder/ \
&& cp /etc/pycadf/cinder_api_audit_map.conf /etc/cinder/ \
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/cinder/rootwrap.conf \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_cinder_sudoers \
&& touch /usr/local/bin/kolla_cinder_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_cinder_extend_start
{{ macros.kolla_patch_sources() }}
{% block cinder_base_footer %}{% endblock %}

View file

@ -3,9 +3,6 @@
if [[ ! -d "/var/log/kolla/cinder" ]]; then
mkdir -p /var/log/kolla/cinder
fi
if [[ $(stat -c %U:%G /var/log/kolla/cinder) != "cinder:kolla" ]]; then
chown -R cinder:kolla /var/log/kolla/cinder
fi
if [[ $(stat -c %a /var/log/kolla/cinder) != "755" ]]; then
chmod 755 /var/log/kolla/cinder
fi

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block cinder_scheduler_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -50,8 +50,6 @@ RUN chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_cinder_volume_sudoers \
&& chmod 644 /usr/local/bin/kolla_cinder_extend_start
{{ macros.kolla_patch_sources() }}
{% block cinder_volume_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -15,7 +15,5 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_cloudkitty_extend_start
RUN chmod 644 /usr/local/bin/kolla_cloudkitty_extend_start
{{ macros.kolla_patch_sources() }}
{% block cloudkitty_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -24,6 +24,4 @@ RUN ln -s cloudkitty-base-source/* cloudkitty \
&& touch /usr/local/bin/kolla_cloudkitty_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_cloudkitty_extend_start
{{ macros.kolla_patch_sources() }}
{% block cloudkitty_base_footer %}{% endblock %}

View file

@ -12,8 +12,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(cloudkitty_processor_packages | customizable("packages")) }}
{{ macros.kolla_patch_sources() }}
{% block cloudkitty_processor_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -9,14 +9,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='collectd') }}
{{ macros.enable_extra_repos(['opstools']) }}
{% set collectd_packages = [
'collectd'
] %}
{% if base_package_type == 'rpm' %}
{{ macros.enable_extra_repos(['opstools']) }}
{% set collectd_packages = collectd_packages + [
'collectd-amqp',
'collectd-amqp1',
@ -73,8 +72,6 @@ RUN chmod 644 /usr/local/bin/kolla_extend_start \
&& chown -R collectd /var/lib/collectd \
&& chown -R collectd /var/run/
{{ macros.kolla_patch_sources() }}
{% block collectd_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -29,7 +29,5 @@ COPY logrotate /etc/cron.daily/logrotate
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 644 /usr/local/bin/kolla_extend_start
{{ macros.kolla_patch_sources() }}
{% block cron_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -16,7 +16,5 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
RUN {{ macros.install_pip(cyborg_agent_pip_packages | customizable("pip_packages")) }}
{{ macros.kolla_patch_sources() }}
{% block cyborg_agent_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -13,7 +13,5 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_cyborg_extend_start
RUN chmod 644 /usr/local/bin/kolla_cyborg_extend_start
{{ macros.kolla_patch_sources() }}
{% block cyborg_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -26,6 +26,4 @@ RUN ln -s cyborg-base-source/* cyborg \
&& touch /usr/local/bin/kolla_cyborg_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_cyborg_extend_start
{{ macros.kolla_patch_sources() }}
{% block cyborg_footer %}{% endblock %}

View file

@ -5,9 +5,5 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block cyborg_conductor_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block cyborg_conductor_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block designate_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -25,7 +25,5 @@ RUN mkdir -p /var/lib/kolla/ /var/lib/{{ designate_backend_bind_name }}/ /run/{{
&& chown -R root: /var/lib/{{ designate_backend_bind_name }} /run/{{ designate_backend_bind_name }} \
&& chmod 755 /run/{{ designate_backend_bind_name }}
{{ macros.kolla_patch_sources() }}
{% block designate_backend_bind9_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -22,12 +22,11 @@ RUN ln -s designate-base-source/* designate \
&& {{ macros.install_pip(designate_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/designate \
&& cp -r /designate/etc/designate/* /etc/designate/ \
&& mv /etc/designate/rootwrap.conf.sample /etc/designate/rootwrap.conf \
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/designate/rootwrap.conf \
&& chmod 750 /etc/sudoers.d \
&& chmod 640 /etc/sudoers.d/kolla_designate_sudoers \
&& touch /usr/local/bin/kolla_designate_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_designate_extend_start
{{ macros.kolla_patch_sources() }}
{% block designate_base_footer %}{% endblock %}

View file

@ -10,8 +10,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_designate_extend_start
RUN chmod 644 /usr/local/bin/kolla_designate_extend_start
{{ macros.kolla_patch_sources() }}
{% block designate_central_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block designate_mdns_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block designate_producer_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -7,8 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ macros.kolla_patch_sources() }}
{% block designate_sink_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -19,8 +19,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% endif %}
{{ macros.install_packages(designate_worker_packages | customizable("packages")) }}
{{ macros.kolla_patch_sources() }}
{% block designate_worker_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -10,8 +10,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set dnsmasq_packages = ['dnsmasq'] %}
{{ macros.install_packages(dnsmasq_packages| customizable("packages")) }}
{{ macros.kolla_patch_sources() }}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 644 /usr/local/bin/kolla_extend_start

View file

@ -1,8 +1,5 @@
#!/bin/bash
DNSMASQ_PIDFILE=${DNSMASQ_PIDFILE:-/run/ironic/dnsmasq.pid}
DNSMASQ_PIDFILE_DIR="$(dirname $DNSMASQ_PIDFILE)"
if [[ ! -d "/var/log/kolla/ironic" ]]; then
mkdir -p /var/log/kolla/ironic
fi
@ -13,19 +10,3 @@ if [[ ! -r "/var/log/kolla/ironic/dnsmasq.log" ]]; then
touch /var/log/kolla/ironic/dnsmasq.log
chown ironic:ironic /var/log/kolla/ironic/dnsmasq.log
fi
if [[ ! -d "$DNSMASQ_PIDFILE_DIR" ]]; then
mkdir -p "$DNSMASQ_PIDFILE_DIR"
fi
# NOTE(wszumski): This writes the PID of dnsmasq out to a file. The PIDFILE can be used in
# another container to send a signal to dnsmasq to reload its config (providing that the two
# containers share a PID namespace). The concrete use case is for the Ironic PXE filter to
# clean up stale host entries on startup as documented in:
#
# https://docs.openstack.org/ironic/latest/admin/inspection/pxe_filter.html
#
# We cannot use the pid-file option in dnsmasq, since it will only write the PIDFILE if you
# run dnsmasq in its non-forking mode i.e you do use the --no-daemon or --keep-in-foreground
# options.
echo $$ > "$DNSMASQ_PIDFILE"

View file

@ -23,8 +23,6 @@ RUN chmod 644 /usr/local/bin/kolla_extend_start \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_etcd_sudoers
{{ macros.kolla_patch_sources() }}
{% block etcd_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -54,8 +54,6 @@ COPY extend_start.sh /usr/local/bin/kolla_extend_start
{% endblock %}
{{ macros.kolla_patch_sources() }}
{% block fluentd_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -27,8 +27,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_glance_extend_start
RUN chmod 644 /usr/local/bin/kolla_glance_extend_start
{{ macros.kolla_patch_sources() }}
{% block glance_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -9,10 +9,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='glance') }}
{% if base_package_type == 'rpm' %}
{{ macros.enable_extra_repos(['ceph', 'epel']) }}
{% if base_package_type == 'rpm' %}
{% set glance_base_packages = [
'python3-rados',
'python3-rbd'
@ -42,13 +41,11 @@ RUN ln -s glance-base-source/* glance \
&& {{ macros.install_pip(glance_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/glance \
&& cp -r /glance/etc/* /etc/glance/ \
&& cp /var/lib/kolla/venv/etc/pycadf/glance_api_audit_map.conf /etc/glance/ \
&& cp /etc/pycadf/glance_api_audit_map.conf /etc/glance/ \
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/glance/rootwrap.conf \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_glance_sudoers \
&& touch /usr/local/bin/kolla_glance_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_glance_extend_start
{{ macros.kolla_patch_sources() }}
{% block glance_base_footer %}{% endblock %}

View file

@ -10,7 +10,5 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_gnocchi_extend_start
RUN chmod 644 /usr/local/bin/kolla_gnocchi_extend_start
{{ macros.kolla_patch_sources() }}
{% block gnocchi_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -9,10 +9,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='gnocchi') }}
{% if base_package_type == 'rpm' %}
{{ macros.enable_extra_repos(['ceph', 'epel']) }}
{% if base_package_type == 'rpm' %}
{% set gnocchi_base_packages = [
'librados2-devel',
'python3-rados',
@ -46,12 +46,10 @@ RUN {{ macros.upper_constraints_version_change("Werkzeug", "3.0.1", "2.2.3") }}
RUN ln -s gnocchi-base-source/* gnocchi \
&& {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages")) }} \
&& mkdir -p /etc/gnocchi \
&& cp /var/lib/kolla/venv/etc/pycadf/gnocchi_api_audit_map.conf /etc/gnocchi/ \
&& cp /etc/pycadf/gnocchi_api_audit_map.conf /etc/gnocchi/ \
&& chmod 750 /etc/sudoers.d \
&& chmod 640 /etc/sudoers.d/kolla_gnocchi_sudoers \
&& touch /usr/local/bin/kolla_gnocchi_extend_start \
&& chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_gnocchi_extend_start
{{ macros.kolla_patch_sources() }}
{% block gnocchi_base_footer %}{% endblock %}

Some files were not shown because too many files have changed in this diff Show more