Compare commits

...

429 commits

Author SHA1 Message Date
Zuul
a590ac5a5e Merge "bifrost/kolla-toolbox: Bump ansible-core to 2.20" 2026-01-13 13:39:43 +00:00
Michal Nasiadka
b59312e36c bifrost/kolla-toolbox: Bump ansible-core to 2.20
Set inject_facts_as_vars to False to match what we do in
Kolla-Ansible (and this option will default to False in 2.24)

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/972696

Change-Id: Iae2b70ca62fd68400bde9296edcda8e53f14a896
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-01-12 14:58:24 +00:00
Bartosz Bezak
5a47700917 CI: Fix publish job secret aliases
Change-Id: Ib7c2d8419932e049db871053c3b4faad791c3566
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2026-01-12 11:56:29 +01:00
Zuul
2aa6b33b58 Merge "Update repo GPG key for influxdata." 2026-01-09 22:39:57 +00:00
Michael Still
b852b8ce32 Update repo GPG key for influxdata.
According to https://www.influxdata.com/blog/package-signing-key-rotation
the preferred signing key for influxdata package repositories
changed in early 2026. Update to the new preferred key.

Closes-Bug: #2138095

Change-Id: I77d38e713678ea653ded3b14fd0541d3ec0ebee6
Signed-off-by: Michael Still <mikal@stillhq.com>
2026-01-09 19:09:59 +00:00
Bartosz Bezak
9d9c922c51 CI: rotate zuul secrets
and store COPR webhook URLs as list

Change-Id: Ic75619db8c4b4f02bc51f4bfa6ae067acd1ba7e8
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2026-01-09 13:25:43 +01:00
Michal Nasiadka
9a09f82646 CI: Add ^docker/ trigger for aio jobs
Without that - these are not run at all

Update Bookworm to Trixie while we're at it

Change-Id: I6fb70da636514b5c1057c16cc2df08b07820bc5f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-22 16:39:51 +00:00
Zuul
e90762c3ab Merge "Revert "kolla-toolbox: Bump ansible-core to 2.20"" 2025-12-22 14:08:54 +00:00
Michal Nasiadka
8aa631d40c Revert "kolla-toolbox: Bump ansible-core to 2.20"
This reverts commit ef12d96731.

Reason for revert: Broke community.mysql

Change-Id: Icb85112c66645d8df00eb0c40076a6bd822f6866
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-22 12:13:03 +00:00
Zuul
48b4337b1e Merge "kolla-toolbox: Bump ansible-core to 2.20" 2025-12-20 11:06:47 +00:00
Zuul
e203ff055b Merge "Switch to Debian Trixie" 2025-12-20 07:24:35 +00:00
Michal Nasiadka
cfebb40d86 mariadb: Sync packages across distros
Change-Id: I93ac9c28332644f51fa350d5a7a6207ae822e4cf
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-19 09:53:30 +00:00
Michal Nasiadka
ef12d96731 kolla-toolbox: Bump ansible-core to 2.20
Change-Id: I2a74d906b5239b3896fcdca015a9b37641ade833
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-16 12:26:33 +00:00
Zuul
dd3cb3dd1f Merge "debian: Switch to deb822" 2025-12-16 12:20:52 +00:00
Michal Nasiadka
cee27f6426 Switch to Debian Trixie
Change-Id: Ib7f551d4a7c6ffe95786853d6899e704de4747b8
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-16 12:15:22 +00:00
Michal Nasiadka
a7ee5ccb2b debian: Switch to deb822
Change-Id: I8156e2c2a57d820afdee0b76cd5a050ad682fb38
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-16 06:05:28 +00:00
Zuul
443ea2f9aa Merge "CI: add rocky-10 kolla-ansible jobs" 2025-12-15 16:17:27 +00:00
Michal Nasiadka
35f7b3c342 setup.cfg: Update Python versions according to Flamingo PTI
Add Python 3.13 and drop 3.8 & 3.9.

See https://governance.openstack.org/tc/reference/runtimes/2025.2.html

Change-Id: I2125879365dbe9a1645c159d87777939dae824c4
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-15 08:19:16 +00:00
Bartosz Bezak
7401179ab6 CI: add rocky-10 kolla-ansible jobs
Change-Id: I5607081701b59ac0ca58cb6c285769209a009355
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-12-12 13:38:52 +01:00
Rafal Lewandowski
96b5402285 Add genisoimage package to nova-compute-ironic
Closes-Bug: #2132960
Change-Id: I672f625e445bd1a2db1c4994baa7c44c20723a62
Signed-off-by: rafal Lewandowski <rafal@stackhpc.com>
2025-12-09 15:07:58 +01:00
Zuul
364807f8dd Merge "Revert "Switch to 2025.2 release"" 2025-12-05 13:53:49 +00:00
Zuul
93736f28ee Merge "neutron: Remove networking-generic-switch from u-c" 2025-12-05 10:40:50 +00:00
Michal Nasiadka
c30e4e524a Revert "Switch to 2025.2 release"
This reverts commit a28d2409c5.

Change-Id: I55c99ea29f20165b7853976f13312fca62e0be8f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-05 07:40:25 +00:00
Michal Nasiadka
5ff768f0bd neutron: Remove networking-generic-switch from u-c
networking-generic-switch was added to u-c [1] and it breaks our
install scheme.

Alternative is to remove networking-generic-switch from sources.py,
but that would be a user facing change and if we would pursue that
we would need to do the same for all neutron plugins.

using u-c removal macro to preserve previous approach of installing
n-g-s from a branch tarball compared to a pypi version

[1]: https://review.opendev.org/c/openstack/requirements/+/964059

Change-Id: Ifcee01f9415e9b9de8138b55cd676873a99c86aa
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-05 07:40:18 +00:00
Michal Nasiadka
2da1676d7a redis: Drop redis and redis-sentinel images
We switched to Valkey

Change-Id: Ic40fecb87dd3eaf67eb1d3088978d462ff5b4320
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-03 12:06:34 +01:00
Zuul
b013f9ad1d Merge "mariadb: Switch EL to mariadb upstream repos" 2025-12-02 22:22:30 +00:00
Michal Nasiadka
3b1fe42e32 mariadb: Switch EL to mariadb upstream repos
Change-Id: I8fa363e7e9bc87195adaf218c46d6e9fb4575419
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-02 15:51:27 +00:00
Michal Nasiadka
14a7644a1e manila: Stop enabling kolla_el10 COPR repo
This repo enablement is here by mistake, the glusterfs-fuse
package installation has been removed in the original
CentOS Stream 10 patch.

Change-Id: I395fcae7fd39ea7488191690f994ad98a8184f65
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-02 12:43:01 +00:00
Michal Nasiadka
cbbc1b0bca rocky: Remove EPEL hack - 10.1 is out
Change-Id: I60de8ef452adad4a9b0d974a2678264b91eb6e3b
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-11-26 18:27:28 +01:00
OpenStack Release Bot
0dedcb82e4 reno: Update master for unmaintained/2024.1
Update the 2024.1 release notes configuration to build from
unmaintained/2024.1.

Change-Id: Id395efcfe0381340318c3bf27090a8f8fc2e9bfe
Signed-off-by: OpenStack Release Bot <infra-root@openstack.org>
Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/change_reno_branch_to_unmaintained.sh
2025-11-24 16:16:08 +00:00
Michael Still
0fc73a644b Transition to the new rabbitmq Debian package archives.
RabbitMQ announced some time ago that the package archives were moving:
https://www.rabbitmq.com/blog/2025/07/16/debian-apt-repositories-are-moving

The old location is no longer working, so this patch transitions to
the new one.

Closes-Bug: #2131736

Change-Id: I6ef0ed9cc40be42a0d98c6a4c83c5c5c26d9cdbf
Signed-off-by: Michael Still <mikal@stillhq.com>
2025-11-18 18:21:25 +00:00
OpenStack Release Bot
a03766b07f Update master for stable/2025.2
Add file to the reno documentation build to show release notes for
stable/2025.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2025.2.

Sem-Ver: feature
Change-Id: If6d5a967a12cb6143a5bb1f321d8cc0231552275
Signed-off-by: OpenStack Release Bot <infra-root@openstack.org>
Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/add_release_note_page.sh
2025-11-10 16:18:04 +00:00
Bartosz Bezak
4ed9bcee50 Tidy up release notes for Flamingo release
Change-Id: I10f47d3454fd81a36aa7a724050869ef680e88b4
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-11-07 12:44:58 +01:00
Zuul
e1240df719 Merge "Add httpd image for OIDC/SAML frontend in uWSGI case" 2025-11-06 17:42:22 +00:00
Bartosz Bezak
477f71b6ba debian: use valkey from bookworm-backports
To fix arm64 valkey build.
The virtual `valkey` resolves to `valkey-server` in bookworm-backports,
but our global -1000 pin blocks it. Amd64 worked only because extrepo
shipped it. Use valkey directly from the backports packages instead.

follow up to https://review.opendev.org/c/openstack/kolla/+/932174

Change-Id: I846e4f19696ca28758cb9c0400be96c01b079daa
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-11-05 14:22:31 +01:00
Michal Nasiadka
5ad545cc72 Bump versions of packages in sources.py
Change-Id: I395cfdf22cd87a43294dbae561a8872cb0b48e1b
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-11-03 06:38:41 +00:00
Michal Nasiadka
40bcc42978 CI: Fix publish secret for arm64
Change-Id: Ifd0b4d511aa5481ff9066c81289457383932079b
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-31 10:30:58 +01:00
Michal Nasiadka
8c2c3c90f9 CI: Fix missing variable in publish jobs
Change-Id: Ie76463977d2e9e4358bcd37b62cc8172813cf7b4
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-30 16:39:44 +01:00
Zuul
5a79eff427 Merge "Add Valkey" 2025-10-30 09:05:33 +00:00
Michal Nasiadka
af9dfb0dba Add Valkey
Change-Id: I02f3adf9825636e2b81c50543d6f95ea986019b6
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-29 16:32:24 +01:00
Zuul
b7e2d6508c Merge "horizon: unpin pip and setuptools" 2025-10-29 10:41:49 +00:00
Zuul
ae3229311a Merge "Drop Venus images" 2025-10-28 19:15:39 +00:00
Michal Nasiadka
3913b62295 Bump Ansible to 12 and ansible-core to 2.19
Change-Id: I37f4515587cb040296612e35d4c643f0c2bea6f6
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-28 10:45:51 +00:00
Zuul
cde2df1beb Merge "mariadb: Bump to 11.4" 2025-10-27 17:52:33 +00:00
Michal Nasiadka
07872d34d0 horizon: unpin pip and setuptools
Since Venus is removed - that is not needed anymore

Change-Id: I444304139dfbe451b5449a181de1129f073b7535
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-27 10:39:51 +01:00
Michal Nasiadka
539342b730 Drop Venus images
It has been marked as inactive and venus dashboard plugin is breaking
Horizon Kolla builds.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/964860

Change-Id: I3a04487a75c04ba989fa70f2025db33308671dfb
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-27 09:38:44 +00:00
Michal Nasiadka
9bc8d4d081 horizon: pin pip to <25.3
Closes-Bug: #2129916

Change-Id: Ib1b40a65cb2667b53c72f00d16bfe280bcf24bfe
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-27 09:38:09 +00:00
Zuul
6bae37377c Merge "Remove container image of neutron-linuxbridge-agent" 2025-10-24 18:58:24 +00:00
Takashi Kajinami
3e12a642c2 Remove container image of neutron-linuxbridge-agent
The agent was removed from neutron during 2025.1 cycle. The remaining
implementation to deploy it is being removed from kolla-anible now.

Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/962278
Change-Id: I2cf22b874fcb885752bf3800c8ad8fa7a5eacff7
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-10-24 16:13:33 +00:00
Zuul
2fdd26aa38 Merge "neutron-metadata-agent: copy wrapper script for haproxy processes" 2025-10-24 11:13:01 +00:00
Michal Nasiadka
8f827e021b Add httpd image for OIDC/SAML frontend in uWSGI case
Change-Id: Ia85f253ecaeaef63c17e75dc4a223e030dbbc58d
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-24 10:22:30 +00:00
Michal Nasiadka
c245289176 mariadb: Bump to 11.4
11.4 is the next LTS release (see [1])

New variable ``VERIFY_DB_SERVER_CERT`` is added to mitigate the MariaDB
client variable ``ssl-verify-server-cert`` change from ``FALSE`` to
``TRUE``. [2]
This variable can be overidden by assigning ``TRUE`` to environment
variable with the same name.

[1]: https://mariadb.org/11-4-lts/
[2]: https://jira.mariadb.org/browse/MDEV-31857

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/928487
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/958281

Change-Id: Ifb41c0c48c4743e70e95fa7e1d329e91362e966c
Signed-off-by: Seunghun Lee <seunghun@stackhpc.com>
2025-10-14 16:07:46 +01:00
Zuul
f71ab2be35 Merge "Drop support for building MariaDB clustercheck" 2025-10-14 12:53:25 +00:00
Seunghun Lee
cd75df6ce0 Drop support for building MariaDB clustercheck
MariaDB clustercheck script has not been maintained and it will not work
with MariaDB 11.4 (the next LTS version).
This is because clustercheck.sh uses ``mysql*`` commands but from
MariaDB 11.4, those commands are not supported.

The health check of MariaDB server containers will be done by new script
which comes with change [1].

Without MariaDB clustercheck, MariaDB server becomes only container image in
the family, so mariadb-base and mariadb-server dockerfiles are merged.
To avoid breaking changes, the name 'mariadb-server' is retained.
Follow-up to rename references in Kolla and K-A from 'mariadb-server' to
'mariadb' would be nice.

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

Change-Id: I01278f76ee82b018a854b5862f3caaa8c78a9a30
Signed-off-by: Seunghun Lee <seunghun@stackhpc.com>
2025-10-14 10:06:30 +01:00
Michal Nasiadka
4d87fecd16 repos: Deduplicate repos.yaml
Introduce rpm/deb entry in repos.yaml, create a structure

[base_package_type]:
  [base_distro]:
    [base_distro-$arch]

Allow any of these to be undefined, defaulting to empty dict

This allows to deduplicate entries between distros of the same
base_package_type (rpm/deb)

Sort repos.yaml

Change-Id: Ifc351d5d612e6c6cc82be282aed179c656ae252c
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-10 07:42:44 +00:00
Piotr Milewski
79726bd9d5 Update Fluentd from v5 LTS to v6 LTS
Fluent Package v5 LTS will reach end of support at
the end of 2025.
Fluent Package v6 LTS will be supported until at least
the end of 2027.

This change updates the apt repository configuration and package version
to use Fluent Package v6 LTS for Ubuntu, Debian and RHEL.

No changes to existing Fluentd configuration files are required.

Change-Id: Iaf3c4de859986629f9768563a319fe0385acff6a
Signed-off-by: Piotr Milewski <vurmil@gmail.com>
2025-10-09 11:45:48 +00:00
Michal Nasiadka
90d255daa3 neutron: keepalived wrapper script does not rm containers
keepalived wrapper script as the only one didn't have --rm
in docker/podman invocation - so these didn't get deleted
when stopped/crashed/etc.

Closes-Bug: #2127170

Change-Id: I85ae37250ac4ef629b77ade04826a363e8047a91
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-09 10:46:53 +02:00
Zuul
34923a33ec Merge "ironic: Remove ipxe.efi handling for EL10" 2025-10-07 09:22:28 +00:00
Michal Nasiadka
3b80723615 ironic: Remove ipxe.efi handling for EL10
RHEL removed ipxe.efi - see [1].

[1]: https://issues.redhat.com/browse/RHEL-37610

Change-Id: I142257d6537ceeff23cb2cb34e64d93de9f19d2e
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-07 07:01:48 +00:00
Zuul
ccaf00b936 Merge "debian: Use {{ openstack_release_codename }} for extrepo" 2025-10-06 14:17:59 +00:00
Zuul
f758ac96ea Merge "CI: Update API token for fixing repo visibility" 2025-10-06 13:49:57 +00:00
Michal Nasiadka
88f6daa720 CI: Update API token for fixing repo visibility
Change-Id: Iae913ff1b917104fdbb3257c24386f22f6764a03
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-06 09:57:37 +00:00
Zuul
1dabf1812a Merge "Add MariaDB healthcheck.sh" 2025-10-06 09:46:45 +00:00
Seunghun Lee
683ae79657 Add MariaDB healthcheck.sh
MariaDB clustercheck has not been updated for a long time.
Since the script uses ``mysql*`` commands but MariaDB 11.4 (next LTS version)
does not support them, it will not work once MariaDB gets upgraded.

Added alternative MariaDB container health check script ``healthcheck.sh``
from official MariaDB docker images. [1]
This script uses ``mariadb*`` commands, so it's prone to MariaDB
upgrade.

[1] https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/installing-mariadb/binary-packages/automated-mariadb-deployment-and-administration/docker-and-mariadb/using-healthcheck-sh

Change-Id: I7816edb6ebd8c95412a6833ea20b32193c2d1415
Signed-off-by: Seunghun Lee <seunghun@stackhpc.com>
2025-10-03 14:47:05 +01:00
Zuul
6c8f2b9042 Merge "Adds ironic-pxe-filter container" 2025-10-03 12:50:59 +00:00
Will Szumski
bacaf8f494 Adds ironic-pxe-filter container
Used in conjunction with the inspector implementation built into Ironic
and based on the Ironic documentation[1].

[1] https://docs.openstack.org/ironic/latest/admin/inspection/pxe_filter.html

Partial-Bug: #2094790

Depends-On: https://review.opendev.org/c/openstack/ironic/+/959850
Change-Id: I17811f2225edd64fb20cc44f0d40e14e9edb1413
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
Signed-off-by: Will Szumski <will@stackhpc.com>
2025-10-03 10:00:05 +02:00
Zuul
e65d3b50b4 Merge "Stop duplicating repos in repos.yaml" 2025-10-02 16:09:45 +00:00
Zuul
57590d07af Merge "Add support for rpm to repos.yaml" 2025-10-02 16:05:25 +00:00
Zuul
5b2b5e705e Merge "CI: Improve aarch64 and vars config" 2025-10-02 15:26:16 +00:00
Michal Nasiadka
b2713797e6 CI: Improve aarch64 and vars config
Rename aarch64 to arm64 to sync with OpenDev nodeset naming
Remove base_arch/base_distro/base_distro_version and derive it
from zuul job name

Change-Id: I2f8367ae81d0972517b8712e1cb6ead1044accc4
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02 13:37:46 +00:00
Zuul
3c792793ee Merge "CI: Add zuul.d to irrelevant files" 2025-10-02 12:50:08 +00:00
Zuul
15c4e4d416 Merge "Move repo enablement to respective rpm blocks" 2025-10-02 12:50:04 +00:00
Michal Nasiadka
5c6ffd7457 Stop duplicating repos in repos.yaml
Change-Id: Ic8bfaedb1e94dd8b64fa8a63d9cd3b76a2b73ffb
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02 12:25:07 +00:00
Michal Nasiadka
806602e488 Add support for rpm to repos.yaml
Add the ability to configure repositories in the same
way as we do Debuntu ones - via repos.yaml.

Removes .repo files from base - since these are not
needed there anymore.

gpgcheck = 1 is default in docker/base/dnf.conf

Change-Id: I7df7d452c45c57c434d5b4ad15a87963e4d6d0d4
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02 14:24:31 +02:00
Michal Nasiadka
17727e1481 Move repo enablement to respective rpm blocks
Currently we are enabling repos irrespective of rpm/deb
statement blocks and not failing in the method used
if a repository is missing.

Downside is - we might be producing one more layer,
but it probably is a more logical approach.

This is required for adding rpm support in repos.yaml
that will also include failing on missing repositories.

Change-Id: I5479c5c935760f00fe4cd307366f261deee3199f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02 08:37:07 +00:00
Michal Nasiadka
918018c18e CI: Add zuul.d to irrelevant files
It was ommitted in the patch that renamed it from .zuul.d

Change-Id: I8e4470185321fad1be3e2307c7578ca54d197718
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02 08:16:57 +00:00
Michal Nasiadka
f17a23747f CI: Fix rocky publish jobs - version missing
podman jobs have also been omitted in the original patch

Change-Id: I1ddb4e9ead170f22b231b8595d4dbf7cb0d4fb78
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02 07:44:07 +00:00
Michal Nasiadka
d4b777bb06 Move to Rocky Linux 10
Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/961237

Change-Id: Idd809f5efd2d308c1565d7635e67af0a431d18f7
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-01 12:39:22 +00:00
Pierre Riteau
8b121529cb doc: Fix Ubuntu Ceph version
Ubuntu Noble is using Ceph Squid, not Reef [1].

[1] https://packages.ubuntu.com/noble-updates/ceph

Change-Id: I11926e764909ec53bdd2a38d815a31253abd6868
Co-authored-by: Chema Peribáñez <epgboe2.tid@telefonica.com>
Signed-off-by: Pierre Riteau <pierre@stackhpc.com>
2025-09-25 17:51:38 +02:00
Zuul
8f462c7f05 Merge "CI: Rename jobs according to changes in K-A" 2025-09-24 15:03:40 +00:00
Michal Nasiadka
1d3e70e589 CI: Rename jobs according to changes in K-A
See I1f08f9b9064d9f7e95b07944db0e7ebac3120c57

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/961226

Change-Id: I2eb93bbd7de108d6d7f3f61c932642fdf7017fd7
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-24 07:44:44 +00:00
Zuul
f7db20a52d Merge "horizon: Ensure horizon owns /var/log/kolla/horizon" 2025-09-23 13:42:34 +00:00
Michal Nasiadka
d9a4b6cfa9 debian: Use {{ openstack_release_codename }} for extrepo
Change-Id: I5e89a9a241f746a2cbab723ea5fc57ea65ad5ee5
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-23 12:51:50 +00:00
Zuul
88121bb633 Merge "openstack-base: Fix psycopg2 install on EL" 2025-09-23 10:24:48 +00:00
Zuul
ef74be174f Merge "Switch to 2025.2 release" 2025-09-22 15:17:41 +00:00
Michal Nasiadka
c35fb9ce5c openstack-base: Fix psycopg2 install on EL
pg_config has been moved to postgresql-server, postgresql-devel
only installs a link to pg_config which is unresolvable without
-server package.

Installing postgresql-server-devel to include headers which are
also required for building psycopg2.

Change-Id: I35548a02f652c035c17aabe149752322ffc869c4
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-22 13:39:37 +02:00
Zuul
8ef672bdd7 Merge "Drop ironic-inspector" 2025-09-19 11:58:09 +00:00
Michal Nasiadka
74b01d6630 horizon: Ensure horizon owns /var/log/kolla/horizon
Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/961614

Change-Id: I9011f9a6d065b85ff76852950e4537070a12b437
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-18 16:44:29 +02:00
Michal Nasiadka
46e89ee3b4 CI: Use UCA mirror for Ubuntu
Change-Id: I80070b3c3658948c7157564fb8a79e6dd427f1d1
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-18 06:19:34 +00:00
Michal Nasiadka
a28d2409c5 Switch to 2025.2 release
Change-Id: Ib73e2c47faf66ddee79d07259e75f1b1d721f0aa
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-18 07:27:16 +02:00
Michal Nasiadka
baa9d4ed9c cinder: Remove wsgi script handling
Cinder removed it in I28666e63896fed0f1661b5964ec46952074f4b23

Change-Id: I69ec97fe8480d27942cc923c170ec3cd669caf06
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-18 07:25:57 +02:00
Maximilian Stinsky
df4d573eb5
neutron-metadata-agent: copy wrapper script for haproxy processes
In ml2/ovn setups, the neutron-metadata-agent spawns haproxy processes
to serve metadata requests. To run these haproxy instances inside their
own containers, the wrapper script must be available in the
metadata-agent container.
This is a follow up on I679ac66186d457ae53f89469fe22c5662089019a

Change-Id: Ia47af98ff723ebe8ea8461d05a2bc3b58af845f9
Signed-off-by: Maximilian Stinsky <maximilian.stinsky-damke@wiit.cloud>
2025-09-17 09:44:05 +02:00
Michal Nasiadka
4f9d8c0e1c gnocchi: Bump to 4.7.0
This is required for uwsgi module usage

Change-Id: If1a078d2704fbd0b119d6c1ffc5a10aeff0a150a
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-11 09:52:24 +02:00
Zuul
0d51f0ab03 Merge "Prometheus and core components update" 2025-09-10 08:22:53 +00:00
Bartosz Bezak
e8d8d12ac2 CI: fix secrets for erlang COPR periodic job
It was created with extra newlines.

Change-Id: I9394e5ecf913385870396fa51401748ca0de5e22
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-09-08 18:10:18 +02:00
Michal Nasiadka
012d69d157 CI: Drop zun jobs
Similar to https://review.opendev.org/c/openstack/kolla-ansible/+/959307

Change-Id: I6033521fc1fefe55f685914f823d58c96f68611a
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-05 12:55:18 +02:00
Zuul
f53d451903 Merge "docs: update main contributor guide page" 2025-09-05 09:02:52 +00:00
Michal Nasiadka
97899bce58 Drop ironic-inspector
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/951864

Change-Id: Ie7e607c5a9c6f8c2e36aea5d52dc2ffbe97dddb3
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-05 07:23:23 +00:00
Bartosz Bezak
0ab1d7240e docs: update main contributor guide page
The goal is to unify common contributor information across
all kolla projects (communication, launchpad links, etc).

Change-Id: Iddcaa8723b364fe4e8619f8fc2b03c93b685db86
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-09-05 09:19:13 +02:00
Zuul
20f371e01d Merge "CI: add weekly COPR RPM build Erlang job" 2025-09-04 08:12:20 +00:00
Bartosz Bezak
6b8123a8cc CI: add weekly COPR RPM build Erlang job
Updating Erlang RPMs for aarch64 in Fedora COPR build system [1] [2].
Using COPR webhooks feature [3].

[1] https://copr.fedorainfracloud.org/coprs/g/openstack-kolla/rabbitmq-erlang-26
[2] https://copr.fedorainfracloud.org/coprs/g/openstack-kolla/rabbitmq-erlang-27
[3] https://docs.pagure.org/copr.copr/user_documentation.html#custom-webhook

Change-Id: Ibd4450d14691aca627d99c321b313420ce6dd6f2
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-09-03 12:27:45 +02:00
Bartosz Bezak
d2ca2d38fe Use versioned Erlang 27 repo on aarch64
Fedora COPR build system cannot handle storing multiple package
versions in one repo.

Change-Id: I3ff95aa75f1f1cccfa40f3ab7f216cb221a6af29
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-09-02 14:27:31 +02:00
Zuul
cc328dc865 Merge "Revert "zuul: make failing job temporarily non-voting"" 2025-08-29 21:14:54 +00:00
Zuul
8e720b388e Merge "Remove RDO/Delorean" 2025-08-29 17:42:02 +00:00
Michal Nasiadka
5781b359ef Remove RDO/Delorean
RDO has staffing problems and has decided to only
support SLURP releases - let's drop reliance on that
repository.

Change-Id: I56f86a1c5262e3ee2bcbb52cae53c3b2655ed87f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-29 07:19:33 +00:00
Piotr Milewski
67e37b703a Prometheus and core components update
Updates a range of monitoring and core infrastructure components
to their latest stable upstream versions to leverage new
features and bug fixes.

etcd: 3.5.16 -> 3.6.4
letsencrypt-lego: 4.20.4 -> 4.25.2
prometheus-blackbox-exporter: 0.25.0 -> 0.27.0
prometheus-cadvisor: 0.49.2 -> 0.53.0
prometheus-elasticsearch-exporter: 1.8.0 -> 1.9.0
prometheus-memcached-exporter: 0.15.0 -> 0.15.3
prometheus-mysqld-exporter: 0.16.0 -> 0.17.2
prometheus-node-exporter: 1.8.2 -> 1.9.1
prometheus-server: 3.2.1 -> 3.5.0

The Prometheus-server package has also been switched to
a Long-Term Support (LTS) version, which ensures extended
stability and security support.

Change-Id: Ib9805fb6a93a0da887918174d9994caa5f1306d3
Signed-off-by: Piotr Milewski <vurmil@gmail.com>
2025-08-27 13:30:16 +02:00
Michal Nasiadka
da1f630158 CI: Drop dump_info.sh
It should not be required anymore, all these information are dumped
by different means (generic zuul playbooks, etc).

Change-Id: I80569b6fe9e4d779a5448015b8ad9caf09e5abf6
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-26 19:07:40 +02:00
Zuul
d3e3f6b414 Merge "[release] Use Flamingo Ubuntu Cloud Archive" 2025-08-25 14:13:57 +00:00
Bartosz Bezak
cabc3627e8 [release] Use Flamingo Ubuntu Cloud Archive
Change-Id: I92f3095b2d51bd6ac7ff48b0c7d79852eccc9803
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-08-25 10:34:08 +00:00
Zuul
c93cf1be3e Merge "Update information on RabbitMQ and Erlang version" 2025-08-21 11:28:28 +00:00
Zuul
1c5239e193 Merge "Enable Prometheus mtail build for ARM64" 2025-08-20 13:58:48 +00:00
Zuul
ec3b0a1730 Merge "Influxdb: use stable RHEL repo" 2025-08-20 13:49:14 +00:00
Zuul
a40ad7ea0a Merge "Enable Barbican build on Ubuntu ARM64" 2025-08-19 23:23:04 +00:00
Seunghun Lee
8f83116224 Update information on RabbitMQ and Erlang version
RabbitMQ from 4.0.x to 4.1.x
Erlang from 26.2.x to 27.x

Change-Id: I710b2a95c840862f52d812df306d1fb26dd4340b
Signed-off-by: Seunghun Lee <seunghun@stackhpc.com>
2025-08-19 14:33:18 +01:00
Zuul
0a34b97781 Merge "CI: Switch centos 10 nodeset to centos 10" 2025-08-18 20:58:18 +00:00
Bartosz Bezak
444a81b62b Influxdb: use stable RHEL repo
Switch the RHEL repo to the stable channel as per [1]. Use new GPG.
Telegraf arm64 builds are enabled again, as binaries exists.

[1] https://repos.influxdata.com/stable/x86_64/

Change-Id: Ie4f6f15404f6965df51f3214506ae9f8bb9b61e7
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-08-18 20:15:13 +02:00
Bartosz Bezak
85878fe6a8 Enable Barbican build on Ubuntu ARM64
Re-enable the Ubuntu arm64 build. The previous exclusion was due to
uWSGI issue [1], which is no longer reproducible on Ubuntu Noble.

Change-Id: I400e9a9a3bf03053589835f933023eedee504f08
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-08-18 20:05:57 +02:00
Bartosz Bezak
a7ada218cc Enable Prometheus mtail build for ARM64
arm64 binaries are available currently.

Change-Id: Iabf606848a6160eaf9e2494a2564f37c6db09882
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-08-18 16:48:41 +02:00
Zuul
164eb7845a Merge "Revert "Switch to 2025.1 sources"" 2025-08-18 14:16:30 +00:00
Dr. Jens Harbott
fd71b42ed2 Revert "zuul: make failing job temporarily non-voting"
This reverts commit 2b42c958ef.

Reason for revert: Make job voting again

Change-Id: Ie3583682ec0d7a55cd9e8bedde9f51550b7c1840
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-18 13:21:16 +00:00
Michal Nasiadka
5ee56bb87e CI: Switch centos 10 nodeset to centos 10
9 was used as an interim solution when OpenDev did not support it.

Change-Id: If6101d99c216a9b1142bfdf194f7a053730e28da
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-18 13:16:57 +00:00
Alex-Welsh
ed094e0af4
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>
2025-08-14 14:25:06 +01:00
Zuul
c40cc8c2ef Merge "Revert "mariadb: pin to 10.11.13"" 2025-08-12 15:09:32 +00:00
Michal Nasiadka
e77d2ba794 Revert "mariadb: pin to 10.11.13"
This reverts commit e478adcbe6.

Reason for revert: mariabackup fixed

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/957087

Change-Id: Ib694d3be0d2a199469690a01ba17a3349f3802b1
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-12 07:18:23 +00:00
Michal Nasiadka
87678d014f Revert "Switch to 2025.1 sources"
This reverts commit 0733a13d7b.

Reason for revert: switch back to master

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/956785

Change-Id: If888500a791c66a592f17aa2be1f3784ee009a91
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-12 06:23:54 +00:00
Zuul
82b52bee0a Merge "CI: use opendevmirror for debian/ubuntu builds" 2025-08-08 12:48:00 +00:00
Zuul
d066f4bfe0 Merge "heat: Ensure log files are owned by heat user" 2025-08-08 08:17:37 +00:00
Pierre Riteau
e478adcbe6 mariadb: pin to 10.11.13
Closes-Bug: #2119954

Change-Id: I1e334b47c6ab16eb032458141faae55cf39e3eb4
Signed-off-by: Pierre Riteau <pierre@stackhpc.com>
2025-08-07 16:22:16 +02:00
Zuul
998f34be85 Merge "manila: Drop copying of wsgi files" 2025-08-07 13:18:21 +00:00
Zuul
946a4133a9 Merge "keystone: Add local wsgi file" 2025-08-07 11:30:48 +00:00
Zuul
8dbb71b70c Merge "ironic: Stop copying rootwrap since Ironic dropped it" 2025-08-07 09:31:13 +00:00
Michal Nasiadka
fa487adcf0 manila: Drop copying of wsgi files
They have been removed with Icaba9424862b883388bf68d2c3d48138b7b906b0

Not creating local versions like with keystone because Kolla-Ansible
does not use WSGI for Manila yet.

Change-Id: Ia34d848d8641e43681c602c9c4433364e8be1d92
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-07 09:30:18 +00:00
Bartosz Bezak
6ec52073b6 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>
2025-08-07 11:20:12 +02:00
Zuul
9782b68982 Merge "Copy aodh's api-paste to /etc as default" 2025-08-07 09:16:21 +00:00
Zuul
a9fd56138c Merge "masakari: Ensure log files are owned by masakari user" 2025-08-07 09:16:17 +00:00
Zuul
f48e1b40f2 Merge "collectd: Deprecate support" 2025-08-07 08:58:16 +00:00
Zuul
186a9ba14c Merge "telegraf: Deprecate support" 2025-08-07 08:58:12 +00:00
Michal Nasiadka
bbc842720c keystone: Add local wsgi file
It has been removed with I9fa7cd60bf27768db06f69681675fce2e55712af

Change-Id: Ib42be3d56bdb64247ac6f17b8ac1f1baa873f475
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-07 07:50:14 +00:00
Zuul
5563c32e65 Merge "send empty X-Registry-Auth for anonymous pushes" 2025-08-06 15:13:35 +00:00
Michal Nasiadka
63c4202d20 ironic: Stop copying rootwrap since Ironic dropped it
See I0a8e26e8990eae8108537541159f7810d35b70f1

Change-Id: I95500612168871454ce269b3562a8daccdf4de4f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-08-06 13:55:46 +00:00
Bartosz Bezak
ddac7ca1ed 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>
2025-08-06 11:50:39 +02:00
Bartosz Bezak
f25cf12455 update debian release in support matrix
it was omitted in Caracal cycle

Change-Id: I913208b09771bc18ad3214d7518a837d762f6c33
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-08-04 14:24:24 +02:00
Zuul
9f24ce63d0 Merge "change erlang arm64 repo to rhel based" 2025-07-28 12:01:26 +00:00
Bartosz Bezak
ac1969542d 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>
2025-07-25 11:10:03 +00:00
Michael Still
4f98cf5ba9 Remove temporary fix for skyline-apiserver.
skyline-apiserver's Dockerfile has a comment around removing a line when
I2dababab7c79e7c37983c1702178419c88e014a5 merges. Given the
referenced change has now merged, remove the TODO and the temporary
fix.

Change-Id: If2b9aff8f1900fb98e038972e775c3eddaad373f
Signed-off-by: Michael Still <mikal@stillhq.com>
2025-07-25 20:04:16 +10:00
Bartosz Bezak
7591bb27c6 CI: Bump ansible-lint to <26
to be in sync with kolla-ansible
also add pin to ansible-core

Change-Id: Idf35af1b776d0e908fd328f0ec5eb825f1f2ca9c
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-07-23 11:56:47 +02:00
Grzegorz Koper
a4d8efeba3 [base/rhel] Disable docker-ce repository in base file
Enabling repo should be handled by enable_extra_repos macro

Closes-bug: #2117249
Change-Id: I92af980a4fd63540297b6bde0d52b2dfd02f72ce
Signed-off-by: Grzegorz Koper <grzegorzk@stackhpc.com>
2025-07-18 14:44:50 +02:00
Zuul
5d2dfc0eb9 Merge "Move to CentOS Stream 10" 2025-07-17 11:54:34 +00:00
Michal Nasiadka
9e36b89766 Move to CentOS Stream 10
Known missing packages:
- mod_auth_mellon - missing SAML support in Keystone/Horizon - built in Kolla COPR
- glusterfs-fuse in manila-share - built in Kolla COPR
- collectd/telegraf - no opstools repository
- redis - needs a switch to valkey
- python3-ethtool - not required for neutron-mlnx-agent since 6 years [1]

Building packages in Kolla COPR is a temporary solution until these show up
in EPEL10.

[1]: Id2cae3ac9ff049e9fc8225551f99e1e99a87fc65

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/951751

Change-Id: I7074fabcf95184fcfd2561648ae1e05acfb0bc11
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-07-16 14:05:50 +00:00
Michal Nasiadka
edd9933fde masakari: Ensure log files are owned by masakari user
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/954903

Change-Id: Icc2fe528956a0fb47dd66344d414c81212705480
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-07-14 08:10:11 +00:00
Michal Nasiadka
b0714b2e98 heat: Ensure log files are owned by heat user
Change-Id: I4567aaf352f1f590af2fa7d067768799adad64d1
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-07-14 07:37:03 +02:00
Michal Nasiadka
ba2b4bb564 CI: Drop publishing to DockerHub
Change-Id: I9d1f24b98f1d7c8f29b0dba45105b0263f961ca5
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-07-11 09:42:58 +02:00
Zuul
7aef10849b Merge "ovn: Fix log permissions" 2025-07-10 14:31:08 +00:00
Zuul
d2d9c9b3b6 Merge "rabbitmq: fix Erlang pin in Debian/Ubuntu" 2025-07-04 15:00:49 +00:00
Zuul
2bb2281896 Merge "Enable EPEL repo for Ceph deps in glance and gnocchi" 2025-07-04 14:36:25 +00:00
Zuul
605f64b2e2 Merge "CI: add kolla-ansible zun job to tests" 2025-07-04 14:36:21 +00:00
Zuul
cb6ae7b6c5 Merge "zun: add wsgi script to use module paths" 2025-07-04 12:06:35 +00:00
Bartosz Bezak
512d8928c4 rabbitmq: fix Erlang pin in Debian/Ubuntu
Previous apt preference missed the epoch and sub-packages, so no
pinning was applied.

Closes-Bug: #2115893

Change-Id: I5c765db0508a2ffec90ba149bb5ea9b90dd31bc8
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-07-04 10:32:41 +00:00
Bartosz Bezak
62a69190cb 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>
2025-07-04 10:31:31 +00:00
Bartosz Bezak
fb7a43b1d1 CI: add kolla-ansible zun job to tests
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/954100

Change-Id: I528a141e1a3ff09e820be803c3467952d77b13c6
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-07-04 10:31:23 +00:00
Bartosz Bezak
bba9c3dd55 zun: add wsgi script to use module paths
zun has moved to module paths [1].

[1] https://review.opendev.org/c/openstack/zun/+/953551

Change-Id: I81ad9c5bc404adfdc31eb50fd98e636ae5312eef
Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-07-04 10:01:14 +02:00
Zuul
4c1ffa93ac Merge "docs: Update contributor guide" 2025-07-04 05:44:42 +00:00
Zuul
b56331ca8e Merge "Fix glance-api: add missing lsscsi package" 2025-06-27 16:27:29 +00:00
Michal Nasiadka
5121ff7679 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
2025-06-27 05:48:23 +00:00
Zuul
fa20e57464 Merge "keystone: Remove ARGS to support uwsgi" 2025-06-25 08:11:37 +00:00
Zuul
466fbc53e6 Merge "rabbitmq: Improve healthcheck script output" 2025-06-23 13:55:19 +00:00
Zuul
c840d4dc62 Merge "Remove the OVN exporter for Prometheus" 2025-06-23 11:00:38 +00:00
Zuul
1d2decfa42 Merge "Fix kolla-set-configs --check to detect state mismatch" 2025-06-23 09:02:21 +00:00
Michal Arbet
cf3c65fef7 Fix kolla-set-configs --check to detect state mismatch
If a configuration file is tracked in the state file
but no longer appears in config.json, it should either be
restored or removed.

This patch introduces a new exception StateMismatch and
updates execute_config_check() to detect such cases. If
any destination path is present in the defaults state but
missing from config.json, we now raise StateMismatch.

A dedicated unit test has been added to verify
this behavior.

Closes-Bug: #2114173

Signed-off-by: Michal Arbet <michal.arbet@ultimum.io>
Change-Id: I6e0b4aaa5722990e3ac647578023f474db3d4381
2025-06-19 14:23:35 +02:00
Michal Nasiadka
2a941f8268 docs: Update contributor guide
Remove references to blueprints and kolla-ansible-core Gerrit group.

Change-Id: I56dbc9f8599075b7cc87726f0507c63e74723e0f
2025-06-19 10:57:49 +02:00
Maksim Malchuk
bc018d398b
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>
2025-06-13 18:45:41 +03:00
Michal Arbet
0d2429af23 Copy aodh's api-paste to /etc as default
Normally, for other images, we simply copy
etc/*, but Aodh has its api-paste located
elsewhere. This patch copies the default
Aodh api-paste into /etc/aodh/.

Signed-off-by: Michal Arbet <michal.arbet@ultimum.io>
Change-Id: I5eccc1b994c537e1d1adea21520d045674a9d41c
2025-06-11 17:31:22 +02:00
Michal Nasiadka
bbe23bd107 rabbitmq: Improve healthcheck script output
We've seen multiple occassions of all these healthcheck commands
not being able to be executed in 30s after the switch to RMQ 4.1.
Let's put more information in the Docker/Podman healthcheck logs.

Change-Id: I4b1b54983144f5514a6703c255d2cb4fa052a0fb
2025-06-11 13:25:39 +00:00
Zuul
2319d12145 Merge "Remove dibbler from neutron-l3-agent" 2025-06-10 16:31:20 +00:00
Michal Nasiadka
fb0ebb2380 collectd: Deprecate support
Change-Id: I26550599b8ea7ea17687475154b3070aaed659e9
2025-06-09 17:00:47 +00:00
Michal Nasiadka
e36dd064a9 telegraf: Deprecate support
Change-Id: Ib95fc21ed380d0eccc5ee3434cebc348c1088352
2025-06-09 18:42:03 +02:00
Michal Nasiadka
d1b54b5214 keystone: Remove ARGS to support uwsgi
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/952093

Change-Id: I38688e442b995d38e9826fbb545b6ab09e06bdf5
2025-06-09 08:56:33 +00:00
Doug Szumski
0aaefd2dfe Remove the OVN exporter for Prometheus
Since this exporter is no longer developed, and is not used in Kolla
Ansible, remove it immediately. A replacement has been proposed in
change #951971.

Change-Id: Ie47aed221d04bbb2b50ccfbd7c398e6ab6022442
2025-06-06 17:40:23 +01:00
Zuul
a90a8893c8 Merge "Revert "[release] Use RDO's Epoxy packages"" 2025-06-05 22:28:18 +00:00
Alex-Welsh
6a1d383c48
Remove dibbler from neutron-l3-agent
The dibbler-client package has been removed from upstream Rocky repos,
breaking neutron-l3-agent container image builds on RL9. Since the
2025.1 release, package is no longer used in Neutron has been removed
because the project is stale and functionality was untested [1].

This change removes the package from the image build for all
distributions.

[1] https://review.opendev.org/c/openstack/neutron/+/934283

Closes-Bug: #2112575
Change-Id: I35b233a499c6bf1861b376fc441dc8081cfaf5d6
Signed-off-by: Alex Welsh <alex@stackhpc.com>
2025-06-05 16:25:43 +01:00
Michal Arbet
b643e8f9fd Fix ProxySQL rule sanity check to support username-based routing
Kolla Ansible now generates ProxySQL query rules not only based on
the schema name (schemaname), but also on the username. This is
needed to properly route queries that are executed before a database
schema is selected, such as `SET AUTOCOMMIT` or `ROLLBACK`.

To support this, the ProxySQL config sanity check must correctly
deduplicate rules based on both `schemaname` and `username`, and
avoid false positives when both types are used simultaneously.

This change adjusts the logic in `kolla_proxysql_config_sync` to:
- recognize rules by key `schema:<schemaname>` or `user:<username>`
- assign unique rule IDs only to truly distinct rules
- log and skip exact duplicates with appropriate context

This fix is required to support the Kolla Ansible patch below.

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

Change-Id: I99acd1984ee555a5b6c731e6ee460a33677060d0
2025-06-04 10:24:54 +02:00
Zuul
9a5315e9d2 Merge "Update OpenSearch and OpenSearch Dashboards to version 3.x" 2025-06-03 14:21:44 +00:00
Zuul
627c451ebe Merge "Bump proxysql to 3.0.x" 2025-06-03 09:54:07 +00:00
Zuul
7db1ac8f6d Merge "rabbitmq: Update to 4.1" 2025-06-02 23:16:00 +00:00
Zuul
cea5658fdb Merge "kolla-toolbox: Fix apt_preferences_rabbitmq.ubuntu link" 2025-05-31 05:25:47 +00:00
Zuul
475f81f62d Merge "debian: Use bookworkm suite for rabbitmq APT repo" 2025-05-31 00:27:04 +00:00
Zuul
e589707953 Merge "debian: Use Epoxy extrepo" 2025-05-31 00:25:57 +00:00
Zuul
4a81f224b8 Merge "[base] Ensure full control over APT sources for Ubuntu" 2025-05-31 00:25:53 +00:00
Zuul
ba805a4989 Merge "[mariadb] Fix incremental backup using correct base dir" 2025-05-31 00:23:37 +00:00
Dr. Jens Harbott
2b42c958ef zuul: make failing job temporarily non-voting
We have multiple CI issues currently, make the
kolla-ansible-debian-upgrade job non-voting so that we can merge fixes
in order.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I2d7137f3d01eb28f7693113fb690069e2760820f
2025-05-30 20:35:52 +02:00
Piotr Milewski
bf86273caf Update OpenSearch and OpenSearch Dashboards to version 3.x
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/949478

Change-Id: I4507fb60d361ea504459a4b502d6f6c42a327064
2025-05-30 18:07:48 +02:00
Michal Arbet
a4f68e1889 Bump proxysql to 3.0.x
This patch bump proxysql 2.7.x to 3.0.x

Change-Id: I30d5093c1997b1ac99a762983248b8d29e677ba3
2025-05-30 18:07:48 +02:00
Michal Arbet
c930c9fb9c debian: Use bookworkm suite for rabbitmq APT repo
Change-Id: Ifd664de82a81830eeda8ccc019b22ee93768635e
2025-05-30 18:07:48 +02:00
Michal Nasiadka
ede71c02c4 debian: Use Epoxy extrepo
Change-Id: I1ba004df309667460aa152928f789aaf6be6051f
2025-05-30 18:07:48 +02:00
Michal Arbet
b5849adc45 [base] Ensure full control over APT sources for Ubuntu
Ubuntu images were occasionally failing to build due to
unavailability or slowness of the official Ubuntu security
repositories. Although Kolla uses `mirror://` URLs to
leverage Ubuntu mirror infrastructure, the original
`/etc/apt/sources.list.d/ubuntu.sources` file was still
present, causing the system to fallback to default sources.

This commit aligns Ubuntu behavior with Debian by
explicitly removing the distro `.sources` file 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: I00bcb30662bb12ed8711b28a64ef1941dcce893a
2025-05-30 18:07:48 +02:00
Michal Arbet
bcf37e5016 [mariadb] Fix incremental backup using correct base dir
The original script used --incremental-history-name and compressed
full backups as gzip streams. This failed because mariabackup expects
an actual decompressed base directory for incremental backups.

This patch:
- Decompresses the latest full backup into a temporary directory
- Uses that as --incremental-basedir
- Aligns the backup flow with official Mariabackup documentation:
  https://mariadb.com/kb/en/incremental-backup-and-restore-with-mariabackup/

This makes the incremental process reliable and fully supported.

Closes-Bug: #2111620

Change-Id: I562ce5e54752015863a20bf113bce74a69e02331
2025-05-30 18:07:48 +02:00
Joachim de Groot
aa2e504a70 Fix glance-api: add missing lsscsi package
Closes-Bug: #2111828
Change-Id: I8e20c77a8f1538162fc1dac9dc92c837348a09f4
2025-05-30 12:56:31 +02:00
Zuul
32d2f1719a Merge "Drop environments for nose" 2025-05-27 07:34:44 +00:00
Takashi Kajinami
2666f1929b Drop environments for nose
... because stestr is now used instead of nose.

Also drop the VIRTUAL_ENV environment which is now automatically set
by tox.

Change-Id: Ied6e20f5b1dc5de384f29d317bec998e86f26efa
2025-05-27 16:04:20 +09:00
Michal Nasiadka
ff373463c4 CI: Drop centos9/rocky9 testing
We'll readd it later when introducing centos10 and rocky10.

Change-Id: I555deccfd7b58c05d0b62d7d200dcec97b2e6f7d
2025-05-22 17:57:21 +02:00
Michal Nasiadka
e13801b4a1 Fix mock_open() expectations for Python 3.13+
Python 3.13 introduces a behavior change in unittest.mock.mock_open(),
which now calls close() when exiting the context manager
as described in bpo-44185 [1]. This causes additional mock calls to appear,
breaking strict mock_calls assertions.

This patch fix tests and add compatibility for Python 3.13.

From mock documentation [2]:
  "bpo-44185: unittest.mock.mock_open() will call the close() method
   of the file handle mock when it is exiting from the context manager.
   Patch by Samet Yaslan."

[1] https://bugs.python.org/issue44185
[2] https://mock.readthedocs.io/en/latest/changelog.html

Change-Id: Ib8e2a8a20a828c4c69deedd307c9b726f51489f8
2025-05-21 14:58:57 +02:00
Michal Arbet
0006320d98 Fix lines in documencation [trivial]
Change-Id: I5295bba1e11f84217bb2b28ea4d92cb47812b778
2025-05-20 18:54:46 +02:00
Michal Nasiadka
c9b665fa8a rabbitmq: Update to 4.1
Change-Id: I4f852176918531ea19210961fd1b4fa63bc0ecca
2025-05-20 13:50:52 +02:00
Michal Nasiadka
be41ef297f kolla-toolbox: Fix apt_preferences_rabbitmq.ubuntu link
Change-Id: I1f9bc50b71f55dd5f579d1536a7ab63d5d554d1e
2025-05-20 13:50:27 +02:00
Zuul
8af831c75a Merge "Revert "mariadb: pin to 10.11.11"" 2025-05-18 11:22:56 +00:00
Michal Nasiadka
431b4ae3e9 Revert "mariadb: pin to 10.11.11"
This reverts commit 535b2f270f.

Reason for revert: 10.11.12 is revoked upstream

Change-Id: I0a8cdc232e5b46cb47e4a3e1b0af7b2402103690
2025-05-15 05:08:37 +00:00
Michal Nasiadka
d21cab3a1e Revert "[release] Use RDO's Epoxy packages"
This reverts commit 64f171ccfa.

Reason for revert: Let's switch to master

Change-Id: I28f474015ffd000a3c2cf4c461c3c2f2b8959b0b
2025-05-14 14:04:38 +00:00
OpenStack Release Bot
d430850a90 Update master for stable/2025.1
Add file to the reno documentation build to show release notes for
stable/2025.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2025.1.

Sem-Ver: feature
Change-Id: I4842c6c95633743dc949e3d19d6c5e295c89af33
2025-05-09 14:12:27 +00:00
Michal Nasiadka
a01e339edc CI: Set upgrade jobs back to voting
Change-Id: Ida32d4fc0b182ef24a694ed08c7f032976eedcd5
2025-05-08 20:26:31 +02:00
Zuul
e7bd46dad0 Merge "CI: Fix pip mirror multiline" 2025-05-08 07:45:26 +00:00
Michal Nasiadka
535b2f270f mariadb: pin to 10.11.11
Temporarily disable upgrade jobs to get epoxy rc1
branched this week.

Closes-Bug: #2110122

Change-Id: If301b9ebd7d0dc38bea4d60467e8e80a7a49825d
2025-05-07 19:21:28 +00:00
Zuul
02c54efb42 Merge "Allow specification of a key type" 2025-05-06 07:54:18 +00:00
Zuul
03f4951077 Merge "bifrost: fix creation of python3 lib symlink" 2025-05-06 07:54:14 +00:00
Zuul
e0b7cb9d8b Merge "Enabling support for Thales Luna user id and group id." 2025-05-06 07:45:46 +00:00
Michal Nasiadka
06ac69bd87 CI: Fix pip mirror multiline
Change-Id: Ic75fdaedfa62816fae0cc0b7924425b574feb1ee
2025-05-06 06:06:59 +00:00
Zuul
acbaec3ee1 Merge "neutron: Add agents wrappers in the neutron-base image" 2025-05-05 17:18:13 +00:00
Michal Nasiadka
a101add561 neutron: Add agents wrappers in the neutron-base image
These scripts have been based on TripleO version of the
same feature.

Unfortunately due to the fact that Neutron/python is
stripping env vars when it's running dnsmasq/haproxy/etc
processes - we need to do the ,,config'' handling in
copy-wrappers script.

Change-Id: I679ac66186d457ae53f89469fe22c5662089019a
2025-05-05 07:29:58 +00:00
Pierre Riteau
e33902c30c bifrost: fix creation of python3 lib symlink
When {{ venv_path }}/lib/python3 already exist and we run the ln
command, we end up with:

    /var/lib/kolla/venv/lib/
    ├── python3 -> python3.9
    ├── python3.12
    │   └── site-packages
    └── python3.9
        ├── python3.12 -> python3.12
        └── site-packages

Instead, it should be:

    /var/lib/kolla/venv/lib/
    ├── python3 -> python3.12
    ├── python3.12
    │   └── site-packages
    └── python3.9
        └── site-packages

Remove the existing link first to ensure it is created properly.

Change-Id: I42dd2490d14070074fe1fa7ae9e0a4cbf095b06f
2025-05-02 20:11:38 +02:00
Mauricio Harley
d85bc282b9 Enabling support for Thales Luna user id and group id.
The new client software version requires the use of a specific group
called "hsmusers", and for consistency reasons, we are specifying both,
the user id and the group id, and inserting the Barbican username inside
of such a group.

More information can be found on
https://www.thalesdocs.com/gphsm/luna/7/docs/pci/Content/install/client_install/linux_install.htm

Change-Id: Ib7d0c879b3741ca472cd0bbf3a9a88a0fee25cac
Signed-off-by: Mauricio Harley <mharley@redhat.com>
2025-05-02 10:20:00 +00:00
Zuul
aa44d7a9d1 Merge "Fix preparation of /tftpboot for ironic-pxe" 2025-04-28 11:29:56 +00:00
Zuul
2d4305737e Merge "opensearch: remove example certs and securityadmin_demo.sh" 2025-04-28 09:38:35 +00:00
Jay Jahns
f1248fe58a Allow specification of a key type
Letsencrypt allows using a specific key type for certificates. If
the user has an internal letsencrypt mechanism, such as Vault Acme,
then they have to provide a specific key type as the default is
not supported.

This change will allow a user to specify a key type and use the lego
default in the event that they don't specify it.

Partial-Bug: 2087860
Change-Id: I83e618a861b4d51b6a7893f79c50fdfc35228891
2025-04-24 08:10:08 -05:00
Zuul
e9d3176144 Merge "Upgrade Prometheus to v3" 2025-04-24 08:36:06 +00:00
Zuul
4203f2531d Merge "Remove deprecated AngularJS plugins from Grafana" 2025-04-22 19:18:03 +00:00
Piotr Parczewski
ac79bc9b67 Upgrade Prometheus to v3
Needed-by: https://review.opendev.org/c/openstack/kolla-ansible/+/945611

Change-Id: I4113976db743d3c5c4ff62f2876e224888f05a36
2025-04-22 16:32:38 +00:00
Michal Nasiadka
3eb606a36e opensearch: remove example certs and securityadmin_demo.sh
Change-Id: Iceb16a5cf2ebc64effe30bbc9144144cdffebab0
2025-04-18 08:43:03 +00:00
Jack Hodgkiss
bd42e9d435 Update prometheus alertmanager to newest available version
* prometheus-alertmanager: 0.28.0 -> 0.28.1

Change-Id: Iec5b936ae77f2d8298803fbfe50f55b2ed69f4b3
2025-04-17 23:17:20 +01:00
Zuul
a0af54161e Merge "rabbitmq: Bump to 4.0" 2025-04-11 08:35:39 +00:00
Michal Nasiadka
74843405de rabbitmq: Bump to 4.0
Change-Id: If15ba52acfd305aa9bbae382fe7429c11041e93f
2025-04-10 16:52:45 +02:00
Matt Anson
80d931982a Fix preparation of /tftpboot for ironic-pxe
Copy aarch64 snponly.efi to /tftpboot during bootstrapping
of Centos- and Rocky-based ironic-pxe.

Don't use $KOLLA_BASE_ARCH when symlinking to
/tftpboot/ipxe.efi, because an aarch64 variant of this
binary doesn't exist, just x86_64.

Change-Id: Ie19fcb441a2e54a60762e5c8483487b713a29ddd
2025-04-08 21:04:04 +01:00
Zuul
e7391f65bd Merge "bifrost: bump Ansible version to 11" 2025-04-04 01:06:22 +00:00
Grzegorz Koper
c8fdb5550b bifrost: bump Ansible version to 11
Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/945498
Change-Id: I0e7ce418508f6684a20539c6b6129a134f91c71c
2025-04-02 10:30:46 +02:00
Zuul
72e0d38bff Merge "Add libnetfilter-log to l3 agent container" 2025-04-01 01:31:51 +00:00
Zuul
92d787628d Merge "Added libvirt dependency to nova-libvirt debian based containers" 2025-04-01 01:31:48 +00:00
Zuul
92f4325486 Merge "Add support for aarch64 ipxe to ironic-pxe image" 2025-03-31 11:42:45 +00:00
Zuul
78c5638f37 Merge "neutron: Add docker clients for ML2/OVS improvement" 2025-03-28 20:23:14 +00:00
Zuul
ec782ff297 Merge "CI: Sort alphabetically zuul templates" 2025-03-27 13:52:08 +00:00
Zuul
cba22d4235 Merge "Change Bifrost Python upper-constraints source" 2025-03-27 13:12:48 +00:00
Matt Anson
16b3223d8c Add support for aarch64 ipxe to ironic-pxe image
Support aarch64 ipxe only when using Ubuntu and Rocky
Linux base images, as the Debian ipxe package does not
provide a suitable aarch64 ipxe binary.

Change-Id: If5610148fc80acf13d4eb79fef78349764f08a17
2025-03-27 11:33:13 +00:00
Zuul
0b3945ad1b Merge "Deprecate bifrost" 2025-03-26 15:31:28 +00:00
Zuul
e5e308f034 Merge "Switch to 2025.1 sources" 2025-03-26 14:05:01 +00:00
Michal Nasiadka
6da05fc6d5 neutron: Add docker clients for ML2/OVS improvement
Docker does not support running a container in a given
network namespace (netns) so we need a client installed
in the Neutron container images.

Related-Bug: #1891469

Change-Id: I5349449183dbb7f4ec2042a21526076fb42591b3
2025-03-26 06:16:00 +00:00
Zuul
7cbcfb3337 Merge "Opensearch and opensearch-dashboard image size reduction" 2025-03-25 21:10:02 +00:00
Michal Nasiadka
0733a13d7b Switch to 2025.1 sources
Change-Id: If0cd6444e5d0c898d199a98204588f8ffa4351b9
2025-03-25 17:58:33 +00:00
Michal Nasiadka
a09ba2027c Deprecate bifrost
It has long been sort of an abomination of the container world,
let's use this deprecation notice as a motivation to work out
a kolla-ansible mechanism utilising regular ironic container
images to deploy standalone ironic.

Change-Id: I6b4e6edc110eebb524396138d24b873cb4ea6726
2025-03-25 18:48:06 +01:00
Zuul
71fd3920f7 Merge "kolla-toolbox: Bump ansible-core to 2.18" 2025-03-25 16:38:58 +00:00
Michal Nasiadka
057e7ad604 CI: Sort alphabetically zuul templates
Change-Id: I0c001c77bae17eace8c9ca9d94828d04101752fe
2025-03-25 17:29:12 +01:00
Zuul
7667e24931 Merge "Remove swift container images" 2025-03-24 14:07:09 +00:00
Piotr Milewski
47a6ad020d 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
2025-03-24 12:37:43 +00:00
Bartosz Bezak
dc0fbd20a1 CI: Switch aarch64 builds to native platform
Change-Id: I18cea367e94ff2433346c1b388d606e41b1831ad
2025-03-24 08:20:06 +00:00
Bartosz Bezak
9c6f6ae2d9 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
2025-03-21 17:06:48 +00:00
Bartosz Bezak
915189d10b 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
2025-03-21 17:06:14 +00:00
Zuul
ad300f6dae Merge "Add mtools package to ironic-conductor image" 2025-03-21 15:34:35 +00:00
Michal Nasiadka
f2fba3842c Remove swift container images
Change-Id: I05a96f27b47a0f87bcf435872dd08ec0927232e3
2025-03-21 09:37:17 +00:00
Michal Nasiadka
7a0c639da3 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
2025-03-20 12:34:16 +00:00
Grzegorz Koper
e1fff62525 kolla-toolbox: Bump ansible-core to 2.18
Change-Id: I0bdef4252d4f2850d2b1a40feac3c373e5c453e7
2025-03-20 12:56:36 +01:00
Zuul
830a109225 Merge "Ironic: Add ESP image for UEFI virtual media" 2025-03-20 11:00:36 +00:00
Zuul
d25e9a7a70 Merge "debian: Use Dalmatian extrepo release" 2025-03-19 20:32:39 +00:00
Bartosz Bezak
5025ab688b Ironic: Add ESP image for UEFI virtual media
UEFI virtual media boot requires an ESP image [1].

[1] https://docs.openstack.org/ironic/2024.2/admin/drivers/redfish.html#virtual-media-boot

Change-Id: Ie8485a7098743e1d736145e8fd9441cf13c929d7
2025-03-19 14:35:58 +01:00
Zuul
9a4eeaab59 Merge "CI: Add qemu-user-static back" 2025-03-19 12:48:39 +00:00
Michal Nasiadka
c6700a4045 debian: Use Dalmatian extrepo release
Change-Id: I954106dc32b4c08604d5c40e00fe53e5bb18b266
2025-03-17 16:10:39 +01:00
Michal Nasiadka
4c9113f964 CI: Add qemu-user-static back
It was misssed when moving kolla-build-deps to a role

Change-Id: Ic342d9d96dfd8ea03f89cdf04ff28e4a7070a54c
2025-03-13 16:01:09 +01:00
Grzegorz Koper
64f171ccfa [release] Use RDO's Epoxy packages
Change-Id: I86a894398f5a41e996735f06fe170fc5e305abbf
2025-03-13 15:33:19 +01:00
Mickael Razzouk
09f706bc2e Added libvirt dependency to nova-libvirt debian based containers
fix: added mdevctl to nova-libvirt debian based containers, mdevctl is an
optional dependency of libvirt needed in 2024.2 for nova vGPU feature.

Closes-Bug: #2088055
Change-Id: Ifa92999672ed267ce877c492c9140fbee271b8b3
2025-03-13 14:19:05 +00:00
Dr. Jens Harbott
d2837d8538 Add mtools package to ironic-conductor image
In certain deployments ironic-conductor needs to create floppy images to
mount in virtual media. This needs the mtools package installed.

Change-Id: I00ccc47f7a993f13e2b2feb3f6a2565dad32b80c
2025-02-26 12:57:11 +01:00
Grzegorz Koper
9efdcc01ca [release] Use UCA Epoxy
Change-Id: I6c15cf0fd7b8f1cc3339936c58ad8a8581cfc570
2025-02-25 10:55:38 +01:00
Zuul
48423b908f Merge "CI: Use ansible-lint for CI roles and playbooks" 2025-02-21 17:02:12 +00:00
Michal Nasiadka
498b793c86 CI: Add rocky support to process_build_logs.py
Change-Id: I57e05a235359547a4477dc869e92047818dc5c15
2025-02-21 11:59:16 +01:00
Michal Nasiadka
af632db5d1 CI: Use ansible-lint for CI roles and playbooks
Removing dbus-python deps because now a-c-k handles that.

Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/942179

Change-Id: I97a97da73a7ccb27789e979656867e4adfe8a633
2025-02-20 10:59:30 +00:00
Michal Arbet
405f950193 Remove Git remote origin after cloning sources
When kolla is cloning a Git repository during the build
process, the `.git/config` file retains the remote
origin URL, which may expose sensitive credentials if
authentication tokens are embedded in the URL.

This fix ensures that the remote is removed after cloning
to prevent unintended exposure of credentials.

Closes-Bug: #2098904
Change-Id: Iec21fc2363e03133ec77326da7392bc25b40132a
2025-02-19 23:43:19 +01:00
Zuul
6d44736756 Merge "CI: Move pre tasks into roles" 2025-02-18 13:53:44 +00:00
Andriy Kurilin
cfa266a3a2 Allow to use configure_user macro for external templates
Commit 79a2342395 introduced an ability to
build 'in-house'/'not-built-in' projects with Kolla.

This commits extends this feature with an ability to use configure_user
macro for 'not-built-in' users.
The implementation is done the same way as for 'sources', i.e. engine
after registers new section structure as soon as it finds unknown
'<project>-user' section.

In addition, the documentation and CI are extended to cover
``--docker-dir`` option.

Change-Id: I690d9f3829083f2493bf286a1c45764b9699219b
2025-02-18 09:41:17 +01:00
Michal Nasiadka
96d6a94278 CI: Move pre tasks into roles
Change-Id: If5aa7371d14041d6e0efca866341be2894fd6f87
2025-02-17 13:52:34 +00:00
Zuul
2941ea2c7a Merge "Add ovn-sb-db-relay image with newer ovn-ctl" 2025-02-14 17:06:11 +00:00
Zuul
d332efe210 Merge "Adds missing nvme package in cinder-backup" 2025-02-11 11:38:46 +00:00
Michal Arbet
ed7c8399c4 Fix permissions for ironic metrics
This patch adds creation of metrics folder, set
permissions  and  SetGID bit.

Closes-Bug: #2097098
Change-Id: Ic46b895775edf5e5fb2b637be49e2de1eb4adf36
2025-02-07 08:49:31 +00:00
Michal Arbet
13d6a664f0 Install pycadf from pypi package
Previously, the `pycadf` package did not include
configuration files, so they were manually installed
from source. However, this was fixed in pycadf's upstream
in [1], allowing us to rely on the package itself.

Additionally, the `ceilometer_api_audit_map.conf` file
has been removed, as it was dropped in pycadf's upstream
commit here [2]

[1] https://review.opendev.org/c/openstack/pycadf/+/936741
[2] https://review.opendev.org/c/openstack/pycadf/+/930971

Change-Id: I022aa4c403f08385beb83b5d0c81f8abb42eb4a7
2025-02-06 13:43:24 +01:00
Seunghun Lee
4cab35b1a8 Change Bifrost Python upper-constraints source
Users can override the upper-constraints.txt by setting the source of
openstack-base in kolla-build.conf.

However, bifrost-base Dockerfile so far doesn't pass overridden
upper-constraints file to Bifrost install playbook resulting the
playbook not acknowledging it and just use upstream one.

This change sets the source of Bifrost upper-constraints to use
upper-constraints of openstack-base for consistency among all Kolla
images

With this, change the environment variable UPPER_CONSTRAINTS_FILE is
only affecting kolla-toolbox image.
Therefore, moved UPPER_CONSTRATINS_FILE variable example to the
``kolla_toolbox_pip_conf`` block of kolla-toolbox Dockerfile.

Additionally, updated 'Python packages build options' section of
documentation to represent latest method of changing Python package
related options (including this change).

Change-Id: I0a9c782ca1177ef84e4323cb1e5bfac0fb3f383c
2025-02-05 15:36:52 +00:00
Zuul
dbdc53fa8f Merge "Prometheus update all exporters to the latest versions" 2025-02-02 16:28:31 +00:00
Michal Arbet
ff55c29259 Bump pycadf version to 4.0.1
This patch also removing copy of
ceilometer_api_audit_map.conf file as it is
now removed [1].

[1] https://review.opendev.org/c/openstack/pycadf/+/930971

Change-Id: I7c086ed5da0e3713ac15aaeaceb38f4a05b84bf0
2025-01-31 15:47:38 +01:00
Piotr Milewski
0f5c679dc9 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
2025-01-30 14:27:02 +00:00
Zuul
5e24daa332 Merge "cinder: Fix log dir permission" 2025-01-29 14:23:50 +00:00
Zuul
aa0cf0216a Merge "swift: Deprecate for removal in 2025.2" 2025-01-24 17:00:18 +00:00
Zuul
1db94519c3 Merge "Fix genconfig" 2025-01-24 15:32:07 +00:00
Michal Nasiadka
21b6d87bcb swift: Deprecate for removal in 2025.2
Change-Id: Ie62060b806c3d66653901bf6f2b5ea8941e7a6be
2025-01-24 15:12:09 +00:00
Michal Nasiadka
f82b9e3b18 Add ovn-sb-db-relay image with newer ovn-ctl
We need newer ovn-ctl with [1] - for now download that from
ovn-org/ovn@master - once 25.03 is branched we should
get that the normal way.

[1]: 2ecba75432

Change-Id: I429f00ed4bdcd24409d14453ab53c5fa11fdb00b
2025-01-24 08:47:46 +00:00
Michal Nasiadka
d3bb06d5ce Fix genconfig
Currently tox -e genconfig fails with stevedore issues,
because tox is not doing sdist.

Closes-Bug: #2051575

Change-Id: Idfc26fe380a546d0fd712a531e5913090b01d808
2025-01-24 06:48:38 +00:00
Zuul
e70c58e35d Merge "Update Let's Encrypt lego version" 2025-01-20 10:08:59 +00:00
Zuul
f86849dcbe Merge "openvswitch: Fix logs dir permission" 2025-01-13 18:40:42 +00:00
Michal Nasiadka
a9c94abf53 openvswitch: Fix logs dir permission
Closes-Bug: #1795609

Change-Id: Iedfb2df027c0cefc45668a76d45ce62193aba9ef
2025-01-13 15:21:16 +00:00
Michal Nasiadka
ac2bbcc9f1 ironic: Fix dnsmasq.log permissions
Closes-Bug: #2093881
Change-Id: I3f45178c07a9cd054e572ff80d0e19fb014d69d3
2025-01-13 14:24:30 +01:00
FelipeAFV
4a7af468b6 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>
2025-01-13 16:10:24 +03:00
Zuul
744ba3b98e Merge "[letsencrypt] Rename script for updating certificates" 2025-01-10 15:27:03 +00:00
Zuul
c781c66d2b Merge "neutron-dhcp-agent: change dnsmasq.log rights" 2025-01-07 14:21:59 +00:00
Michal Nasiadka
0f5e399542 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
2025-01-07 10:40:56 +00:00
Zuul
aa3e06cd33 Merge "Time mismatch in /etc/localtime and /etc/timezone" 2025-01-02 11:01:29 +00:00
Zuul
e3a33aae3a Merge "Remove setuptools pin" 2024-12-30 12:11:00 +00:00
Michal Nasiadka
969cbc7367 cinder: Fix log dir permission
In order to add support to uwsgi (which is opening the log file
after dropping privileges) we need to set proper permissions
for /var/log/kolla/cinder directory

Change-Id: I46da8fad93febbc462cbe42a0d96ef7d423b8965
2024-12-23 12:36:40 +01:00
Zuul
3cb7bea93b Merge "Move uwsgi installation to openstack-base" 2024-12-19 09:01:02 +00:00
Michal Arbet
36ef420f82 [letsencrypt] Rename script for updating certificates
This patch renames the update-haproxy-cert script to
update-loadbalancer-cert to make the name more generic.
The change is necessary because support for ProxySQL
will be introduced in the next patch, requiring a name
that reflects broader applicability.

To keep the diff in the following patch clean and easier
to review, this patch focuses exclusively on the rename.

Change-Id: I15f9b5cf3976f4298cdc7da4530f2d7d09614e88
2024-12-18 13:13:55 +00:00
Piotr Parczewski
7c9b560f83 Update Let's Encrypt lego version
Change-Id: I979df16dea4499b470ce7a4e23df7927a5952aa7
2024-12-17 10:30:28 +01:00
Zuul
b1be326178 Merge "magnum: Add helm binary for magnum-cluster-api" 2024-12-16 16:07:30 +00:00
Zuul
3087808329 Merge "Fix EAB support in letsencrypt" 2024-12-16 12:10:23 +00:00
Dawud
3575d7d8bd
Remove deprecated AngularJS plugins from Grafana
Change-Id: Id81ce23fed7c19211aa8b15abce185d990be8389
2024-12-13 19:13:08 +00:00
Michal Nasiadka
592f341dd2 magnum: Add helm binary for magnum-cluster-api
Closes-Bug: #2091608

Change-Id: I52105f6cbf7529ce107cabf8a38a10525be7435c
2024-12-13 11:11:00 +00:00
Zuul
27f31009cb Merge "Revert "CI: Pin requests to <2.32 for publish jobs"" 2024-12-12 10:01:05 +00:00
Michal Arbet
6698a072d0 Fix EAB support in letsencrypt
This patch fixes recently merged [1] patch.

 - Original patch added params function args
   eab, hmac, key_id, but then
   EXTERNAL_ACCOUNT_BINDING_OPTS var is passed
   into obtain_or_renew_certificate which
   can't work

 - This patch correctly set EXTERNAL_ACCOUNT_BINDING,
   HMAC, KEY_ID defaults and then call obtain_or_renew_certificate
   function with them. This will ensure that arguments are always
   set, so we can write if condtional correctly and process.

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

Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/933924
Change-Id: I406ff10edec9dc94b1a3de005080e149ee3ab3f2
2024-12-11 18:55:47 +00:00
Michal Nasiadka
7ae7815613 Remove setuptools pin
Change-Id: I7d08ebb65e2de82e3edba7bd9307b2b6ac8cb7a8
2024-12-11 12:14:33 +00:00
Zuul
da7562c73f Merge "Revert "[release] Use Dalmatian sources by default"" 2024-12-11 10:07:33 +00:00
Zuul
33f5eb260b Merge "Revert "CentOS/Rocky: use CentOS Cloud SIG repo instead of Delorean (Dalmatian)"" 2024-12-11 10:05:02 +00:00
Michal Nasiadka
f33c1ef176 Revert "CI: Pin requests to <2.32 for publish jobs"
This reverts commit 428f371249.

Reason for revert: Should be fixed now

Change-Id: Ife393e7f1b00fa37921e7822668d6a40dd467d5b
2024-12-11 07:41:28 +00:00
Michal Nasiadka
795e347853 Revert "[release] Use Dalmatian sources by default"
This reverts commit 5af5febf50.

Reason for revert: Epoxy cycle is on

In addition to the revert skyline-apiserver aiosqlite u-c
is removed until [1] is merged, designate rootwrap.conf.sample
file has been renamed to rootwrap.conf and pycadf is bumped to 4.0.0.

[1]: https://review.opendev.org/c/openstack/skyline-apiserver/+/935604

Change-Id: I1265633f0913b7927955564fac911a682615004a
2024-12-10 20:22:51 +00:00
Zuul
f57457f906 Merge "Add Python 3.12 classifier" 2024-12-10 19:33:59 +00:00
Zuul
8b7254af1f Merge "CI: Stop using LABEL for ephemeral0" 2024-12-10 00:17:46 +00:00
Zuul
51ed557385 Merge "Update release-management doc with openstack-manuals step" 2024-12-09 17:50:35 +00:00
Piotr Milewski
2d8e98ec7b Time mismatch in /etc/localtime and /etc/timezone
Python3-pip installs the dependent package tzdata
and blocks the mount of the /etc/localtime file in docker.

After deleting the symbolic link docker correctly mounts
the external localtime file.
Applies only to ubuntu 24.04, in previous versions
of ubuntu there was no such problem

Closes-Bug: #2091161
Change-Id: I733a50b5ca455cfa4b248dc324500d78c17c817b
2024-12-09 16:29:21 +00:00
Michal Nasiadka
a6a15966aa 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
2024-12-09 14:23:01 +00:00
Zuul
681cb1b26d Merge "Add Let's Encrypt EAB support" 2024-12-05 11:52:47 +00:00
Piotr Parczewski
4adc9a1035 Add Let's Encrypt EAB support
Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/935656

Change-Id: I0b20d82a0061062f8aa9dfe179b1d02708ad610e
2024-12-05 08:21:14 +00:00
Pierre Riteau
45ddb71947 Add Python 3.12 classifier
Change-Id: I56cf5a869e854f760874d207802173c89b04c0df
2024-12-02 14:28:58 +01:00
Roman Krček
d22245c711 Change copy-cacerts behaviour
So far, the certificates were not part of config.json
files for containers. With future patches that will remove
container restarts based on triggers from config and
service-copy-cert, it is important that all files that change
during config are specified in config.json so that
kolla-set-configs --check can detect those changes and based
on that restart the container. This patch provides prerequisite
for future patch in kolla-ansible.

Comments from kevko:

The script also takes into account whether review [1] is
merged or not, ensuring that it will function correctly in
both cases thanks to review [2], because using the state
file, we can effectively verify whether the config.json that
copies CA certs to /var/lib/kolla/share is being used or not.

If we didn’t handle it this way, we would have to rely on
checking whether the directory /var/lib/kolla/share exists or
some another magic, which is insufficient because various
states and combinations of Kolla image and Kolla-Ansible
versions could result in certificates always being copied.
This method provides a clear and definitive distinction.

[1] https://review.opendev.org/c/openstack/kolla-ansible/+/924651
[2] https://review.opendev.org/c/openstack/kolla/+/915440

Change-Id: I5120f1874f25a9ca8326e6db8b12dee4c81feb56
Signed-off-by: Roman Krček <roman.krcek@tietoevry.com>
Co-Authored-By: Michal Arbet <michal.arbet@ultimum.io>
Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/924651
2024-12-02 06:54:21 +01:00
Michal Nasiadka
08a97807be Revert "CentOS/Rocky: use CentOS Cloud SIG repo instead of Delorean (Dalmatian)"
This reverts commit db0f87d3c8.

Reason for revert: Epoxy cycle is on

Change-Id: Ie2a747223b33039684650bede8863af0c8906d2f
2024-11-29 11:14:05 +00:00
Michal Nasiadka
23519e6d88 CI: Use debian/ubuntu images from quay mirror
Change-Id: I3fab494e939478458c2c299303f5c2c91943e0ec
2024-11-28 09:45:07 +00:00
Michal Nasiadka
1df09532d7 Move uwsgi installation to openstack-base
Change-Id: I581ff79993d011b421d69295a6552cb14b8e2e66
2024-11-21 20:35:57 +01:00
Zuul
dca8462bc4 Merge "Add mechanism for patching files in containers" 2024-11-15 12:09:58 +00:00
Michal Arbet
11f65c6c1d Add mechanism for patching files in containers
This patch adds a way to patch files in a Docker
image built by Kolla. This is very useful for several
reasons, specifically:

- Custom modifications
- The stable branch of some library has a fix but no pip
  package has been released
- Eliminates the need to package your own pip packages
- Eliminates the need to invent your own versioning to prevent
  upstream versioning
- Eliminates the need to manage a pip server
- In other words, it eliminates the need to get a wheel into
  the image and install it manually using any method not
  previously mentioned

It is also highly desirable because, although Kolla can replace
the source for a service with a custom URL for a tarball or its
own Git repo, it cannot do this for dependencies pulled from pip.

I would also like to point out that this is a feature with its own
code path and works only if the user "inserts" a patch into the folder
patches/docker-image/something.patch and creates an analogous series
file for patch source code.

Simply said, this code will never interfere with the upstream build process
since this feature is not intended for use in upstream.
It is rather meant for downstream users who know what they are doing.
Now they just have an option to patch their images.

Everything works on all layers of the Docker image and stores a report
of applied patches which can then be seen in /etc.

This mechanism is similar as debian patch quilt.

Change-Id: I61d0790c5d4d070b7ea9e8c99c0a76ff5d22bf9d
2024-11-15 08:04:30 +00:00
Zuul
68fa7d3020 Merge "CI: Add reno linting" 2024-11-08 13:53:17 +00:00
Michal Nasiadka
d930fca08c CI: Add reno linting
Change-Id: I799d6bf7a381c377dee565c13b1732f7313520f4
2024-11-08 11:28:21 +00:00
Dr. Jens Harbott
ba90788167 Update release-management doc with openstack-manuals step
After a release is made, kolla docs need to be added to the docs index.

Change-Id: I204c288399992b66682415b4ccb4845cfa9ea064
2024-11-08 11:04:58 +01:00
Michal Arbet
36c12676ff 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
2024-11-06 17:37:31 +01:00
Michal Arbet
8eaf4149b1 Enhance logging format for better readability
Added timestamp with milliseconds, log level, and custom
date format to improve clarity and make logs more useful
for debugging.

Change-Id: Ice2d601eddb54bbb0e7e3be6f03ba6db58256c1f
2024-11-05 19:13:04 +01:00
OpenStack Release Bot
ee7fe59f7b Update master for stable/2024.2
Add file to the reno documentation build to show release notes for
stable/2024.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.2.

Sem-Ver: feature
Change-Id: Ib8db1e811fc8bae9600730536a48b6358cbcf76d
2024-10-28 15:34:00 +00:00
Zuul
fcff57b200 Merge "CentOS/Rocky: use CentOS Cloud SIG repo instead of Delorean (Dalmatian)" 2024-10-25 08:12:05 +00:00
Zuul
7ee20ff110 Merge "[release] Use Dalmatian sources by default" 2024-10-24 18:59:04 +00:00
Bartosz Bezak
5af5febf50 [release] Use Dalmatian sources by default
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/933312

Change-Id: I9a671d63dc6c6919609b667704bc3ce6d91fa22b
2024-10-24 15:46:02 +02:00
Michal Nasiadka
db0f87d3c8 CentOS/Rocky: use CentOS Cloud SIG repo instead of Delorean (Dalmatian)
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/933312

Change-Id: I0ce9e907594fd160a08ad7929d5bc4bca9abf536
2024-10-24 13:45:49 +00:00
Michal Nasiadka
1864231693 CI: bump hacking
Change-Id: I5f2177b7c2edc0e35ed2e8e9bdfc4be2f262309f
2024-10-24 13:39:20 +00:00
Zuul
830500bb55 Merge "etcd: Bump version to v3.5.16" 2024-10-24 12:16:51 +00:00
Zuul
71d7edd615 Merge "Fix missing tss user in Ubuntu/Debian nova containers" 2024-10-22 15:05:52 +00:00
Rafal Lewandowski
757cf4c147 Fix missing tss user in Ubuntu/Debian nova containers
Closes-Bug: #2067050
Change-Id: Ife426c073048ff27bdfd9f3af30aaaab8c2e4497
2024-10-22 09:15:14 +02:00
Michal Arbet
ec4c4310dd 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
2024-10-09 11:47:01 +02:00
Zuul
068790cddc Merge "Bump proxysql to 2.7.x" 2024-10-07 12:30:39 +00:00
Zuul
5f07585e0b Merge "[release] Change RDO's DELOREAN_DEPS repo to Dalmatian" 2024-10-07 09:21:31 +00:00
Bartosz Bezak
7b4913e6f8 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
2024-10-03 13:28:57 +00:00
Bartosz Bezak
672601a3e6 aarch64: fix name of rabbitmq copr repo
it should be the same as in repos.yaml

Change-Id: Ieb413f7a4bd1989d7f29309368b6b218d1395e0b
2024-10-03 11:26:57 +00:00
Michal Nasiadka
39d328da32 CI: Fix aarch64 builds on x86 after switching to role
bf04bd90a15e7d3949214d15a8b8e25f2050bb65 omitted the --platform
option

Change-Id: I4febdf6b391bb7320ea30e1ca71fed81e332021d
2024-10-03 13:25:05 +02:00
Zuul
01515cdff1 Merge "erlang/aarch64: Move to openstack-kolla owned COPR" 2024-10-02 15:12:44 +00:00
Michal Nasiadka
2480da6d98 erlang/aarch64: Move to openstack-kolla owned COPR
Change-Id: I219418411470bdeae9af84277f5150a623c05e69
2024-10-02 12:18:09 +02:00
Michal Nasiadka
91c3014857 etcd: Bump version to v3.5.16
Change-Id: Ic7cb4e97deb04a82fd73238adbe5b4b74a6a50a0
2024-10-02 08:05:31 +00:00
Michal Nasiadka
20cdc32537 CI: Move image building to a role
This role can be then used in kolla-ansible instead of setup_gate.sh

Change-Id: Ibf04bd90a15e7d3949214d15a8b8e25f2050bb65
2024-10-02 07:37:29 +00:00
Michal Arbet
046ad524eb Bump proxysql to 2.7.x
This patch bump proxysql 2.6.x to 2.7.x

Change-Id: I6e726d8ebf9dbc6d019dd72d6d0be9d9957a3f22
2024-10-01 17:43:26 +02:00
Michal Nasiadka
9b10b7d235 CI: Fix aarch64 publish jobs on x86
Change-Id: I5c69d288a427d708b42deadac872a3a7368181e3
2024-10-01 16:05:04 +02:00
Michal Nasiadka
602a6f7d4e Revert "CI: Disable CentOS/Rocky/Ubuntu aarch64 jobs"
This reverts commit fd4f1a8a82.

Reason for revert: Switching to builds on x86

Change-Id: If615c27f3cdf779b773f333845419d09a552aa9b
2024-10-01 11:16:47 +00:00
Michal Nasiadka
5f9850c5ed Switch to Ubuntu 24.04 LTS
Add setuptools because Python3.12 dropped distutils

Needed-By: https://review.opendev.org/c/openstack/kolla-ansible/+/925581
Change-Id: Ie12c43dc1de122c203edc28181366457ccd67834
2024-09-30 23:13:43 +02:00
Michal Arbet
55168f909d 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.

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

Change-Id: I3ba85069c265844bd2f8b5e6d2b14f32e4898cfd
2024-09-30 23:13:34 +02:00
Zuul
694cb421b5 Merge "CI: Build aarch64 images on x86" 2024-09-30 15:14:15 +00:00
Zuul
533bd2125d Merge "pyinotify is no longer needed" 2024-09-30 14:09:27 +00:00
Michal Nasiadka
af3a4bbf60 CI: Build aarch64 images on x86
Since aarch64 OpenDev nodes currently have issues
that cause builds to time out (and we can't extend
over 3 hours since that's OpenDev maximum).

Change-Id: I20d8b7b6de007866f73c41272682f4532987c9e7
2024-09-27 15:57:15 +00:00
Zuul
382a467f3b Merge "Revert "Pin OpenSearch Dashboards to 2.15"" 2024-09-27 12:15:39 +00:00
Bartosz Bezak
c862b076f7 Revert "Pin OpenSearch Dashboards to 2.15"
This reverts commit 3c49991a86.

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

Change-Id: Icc810554dc877c9dedaf26609d59a93059a38ba7
2024-09-27 09:11:28 +00:00
Michal Nasiadka
0644a5df86 dev-mode: Run kolla_install_projects using sudo
Since packages are installed using root during image build - we
need to use sudo when updating those packages when using dev-mode.

Change-Id: Idf14e334d50abeb1719563b1733af0b8425b3b55
2024-09-26 13:40:32 +02:00
Rafal Lewandowski
8f0a3b5871 Add missing iso packages to ironic-conductor
Closes-Bug: #2067133
Change-Id: I097ad8988a4707173c19006d83b4d76cec5d0940
2024-09-23 14:07:31 +02:00
Zuul
46b82a2a77 Merge "Switch to Dynamic Python Version Detection" 2024-09-23 10:01:57 +00:00
Zuul
a7135c9e15 Merge "Fix state checking via kolla_set_configs" 2024-09-20 08:36:34 +00:00
Michal Arbet
1cda1acc7f Switch to Dynamic Python Version Detection
This commit removes the hardcoded KOLLA_DISTRO_PYTHON_VERSION
and replaces it with dynamic Python version detection during
container images build. Dockerfiles and scripts now use general
python3 references, simplifying maintenance and ensuring
compatibility with future Python versions.

Test cases relying on distro_python_version were also cleaned up.

Change-Id: I891749598247a5e951ed4a873b16acfd0566f59c
2024-09-19 12:22:16 +02:00
Michael Chapman
d389964ce2 Add libnetfilter-log to l3 agent container
neutron-fwaas requires libnetfilter-log1 when fwaas_v2_log is
enabled on l3 agent.

As this package isn't easily available via rpm, this is only
added for deb platforms.

Partial-Bug: #2079775
Change-Id: I22d05d1a1c6ab92ed5507d6c90b8c2281abfc7af
2024-09-19 12:58:23 +10:00
Zuul
015fd8d42a Merge "Fix cinder-backup: add missing sysfsutils,lsscsi package" 2024-09-17 12:14:48 +00:00
Bui Doan Dang
546084b0a8 Fix cinder-backup: add missing sysfsutils,lsscsi package
Closes-Bug: #2078886
Change-Id: Ia678484c001c66a9db675035dbb4505b0448bf58
Signed-off-by: Bui Doan Dang <doandang27052000@gmail.com>
2024-09-17 01:55:11 +00:00
Zuul
0b390c35ae Merge "Gnocchi: Bump to 4.6.4" 2024-09-16 21:44:33 +00:00
Michal Arbet
ea198170ba Fix state checking via kolla_set_configs
Kolla checks the status of its configurations
using kolla_set_configs --check. However, this
doesn't work for the command block in the config.json
file. This means that if only the command value changes,
but not the config_files block, which is common practice
in Kolla-Ansible btw, the container will not report the
changes.

This is undesirable and important to fix, especially
considering the planned rework of notifiers in
Kolla-Ansible [1].

[1] https://review.opendev.org/c/openstack/kolla-ansible/+/773243/14

Closes-Bug: #2080861
Change-Id: I2a290da38ea34b05ce3da8fb8b39b6252bf2da47
2024-09-16 21:23:39 +02:00
Zuul
7b860abb69 Merge "Removal of deletion of the proxysql database" 2024-09-16 14:10:51 +00:00
Matus Jenca
88b7ee1c2a Gnocchi: Bump to 4.6.4
This makes Gnocchi work with Redis Sentinel + TLS [1][2].

[1] https://github.com/gnocchixyz/gnocchi/releases/tag/4.6.3
[2] https://github.com/gnocchixyz/gnocchi/releases/tag/4.6.4

Change-Id: Icbd001f1f487b25c4bfd6f6a78106a7f0ed1c8c8
2024-09-14 09:31:42 +02:00
Michal Nasiadka
896b50f57b [release] Change RDO's DELOREAN_DEPS repo to Dalmatian
Change-Id: Ie135a8e678cdd408311001e8fb33e17f6c08e64e
2024-09-13 17:21:30 +02:00
Zuul
6c5a443efe Merge "rabbitmq: Switch to Cloudsmith mirrors" 2024-09-13 12:48:32 +00:00
Zuul
8bc94e6dca Merge "openvswitch: Drop ovs_ensure_configured.sh" 2024-09-13 08:33:51 +00:00
Michal Arbet
8fde7db3f5 Removal of deletion of the proxysql database
It seems that at the time of implementing proxysql,
it did not have the --reload parameter, or I overlooked
it back then. In any case, it is available now, and this
patch just removes the deletion of the proxysql database
and keeps it there. The deletion was in the extended start
precisely because proxysql ignored changes in the configuration
file, so the internal database was always rebuilt during
a restart. However, this now works with the --reload parameter.

Change-Id: I47848bb1e9847821c9b5fa25f0d817ef00358dd6
2024-09-12 15:30:42 +00:00
Matt Crees
528b7eef16 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
2024-09-12 15:09:56 +00:00
Zuul
c4b12b1ace Merge "Pin OpenSearch Dashboards to 2.15" 2024-09-06 12:24:52 +00:00
Roman Krček
8ae55dd0b8 Refactor dev mode
Provides mechanism for future work to fix bug where when package file
manifest changes, the changes were not reflected in to devmode-enabled
container.

It changes the strategy of installing projects in dev mode in containers.
Instead of bind mounting the project's git repository to the venv
of the container, the repository is bind mounted to
/dev-mode/<project_name> from which the it is installed using pip
on every startup of the container using kolla_install_projects script.

Related-bug: #1814515
Change-Id: Ia1bdff87cba73587a03124ab78a56b21c6176373
Signed-off-by: Roman Krček <roman.krcek@tietoevry.com>
2024-09-04 06:37:09 +00:00
Tony Breeds
a65ede6ded pyinotify is no longer needed
This library was used by oslo.log but isn't now.  It's being removed
from global-requirements so let's drop it from openstack-base.

Depends-On: https://review.opendev.org/c/openstack/requirements/+/917831
Change-Id: Ie91b533047d59e19bdd56f3a999e377d49a745a8
2024-09-04 01:21:34 +00:00
Zuul
c63961fdbe Merge "Fix symlinking of openstack-base source" 2024-09-03 08:22:18 +00:00
Zuul
1fb183ad98 Merge "keystone: Fix requests-kerberos installation" 2024-09-03 05:51:49 +00:00
Zuul
57dd38f365 Merge "Drop prometheus-msteams container images" 2024-09-02 20:56:03 +00:00
Seunghun Lee
978a2864f9 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
2024-08-29 23:38:29 +00:00
Michal Nasiadka
082d90cca0 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
2024-08-29 08:20:56 +02:00
Zuul
779a9a33f4 Merge "Revert "[release] Change RDO's DELOREAN_DEPS repo to Caracal"" 2024-08-28 17:04:19 +00:00
Zuul
35b69f033e Merge "Remove incorrect reno" 2024-08-28 16:33:57 +00:00
Zuul
e7eff35e42 Merge "Revert "Add support for checking incoming RabbitMQ version"" 2024-08-28 15:50:58 +00:00
Matt Crees
423a73d9d1 Revert "Add support for checking incoming RabbitMQ version"
This reverts commit 36a7cd053d.

Reason for revert: feature not needed anymore, see here:
https://review.opendev.org/c/openstack/kolla-ansible/+/926146/comment/e593d721_7c48143b/

Change-Id: Ic0f9521c66240f13ff5b7fc94480dbbb76498339
2024-08-28 11:05:50 +00:00
Michal Nasiadka
ece67cd2ae Check if archive is tarfile
Change-Id: I802267d848c1dee722015b0d379bd9210f6c103e
2024-08-27 20:20:32 +00:00
Bartosz Bezak
a8c7df6ea8 Remove incorrect reno
The cAdvisor update change [1] mistakenly added a reno to the wrong
folder. Moving it back to the correct folder would accidentally add it
to the master branch. Therefore, the reno is being removed.

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

Change-Id: I876f3c88c5bcd3c0a7c776796e9870c8512f90e2
2024-08-27 10:20:40 +02:00
Michal Nasiadka
fd4f1a8a82 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
2024-08-26 17:17:23 +02:00
Zuul
ccb13b672d Merge "bifrost: bump Ansible version to 8 (rpm) and 9 (deb)" 2024-08-23 17:09:51 +00:00
Zuul
26f9d8f580 Merge "nova: drop dmidecode" 2024-08-23 17:05:30 +00:00
Zuul
fd1e4501e3 Merge "nova: Drop xen remnants" 2024-08-23 16:59:42 +00:00
Zuul
fe00de50c4 Merge "Add support for checking incoming RabbitMQ version" 2024-08-23 16:44:33 +00:00
Michal Nasiadka
cd26b72658 bifrost: bump Ansible version to 8 (rpm) and 9 (deb)
This is used by bifrost in setup script [1].

[1]: 1c95336154/scripts/env-setup.sh (L9)

Change-Id: Ia2721dd7459a11324726910c99ea4c357047631e
2024-08-23 13:57:31 +00:00
Bartosz Bezak
a2c07b3c2b Drop prometheus-msteams container images
The prometheus-msteams project is no longer maintained [1]. As a result
we are removing its associated container images from our repository.
Users are encouraged to switch to the native Prometheus Alertmanager
integration with Microsoft Teams [2], which offers ongoing support and
features.

[1] https://github.com/prometheus-msteams/prometheus-msteams/issues/343
[2] https://prometheus.io/docs/alerting/latest/configuration/#msteams_config

Change-Id: I66421b14668722607b58865a2ad100204fd387f7
2024-08-23 11:10:53 +02:00
Michal Nasiadka
29fc6a8bc2 nova: drop dmidecode
It's basically noop since dmidecode is in libvirt deps
in all distributions for a long time.

Change-Id: I48251e0a96f22a3ca6e1cc2523b81e3e1aa1ae71
2024-08-23 07:49:12 +00:00
Michal Nasiadka
c19f210ad3 Revert "[release] Change RDO's DELOREAN_DEPS repo to Caracal"
This reverts commit 8102d02782.

Reason for revert: Let's switch back to master

Change-Id: Ia1142a5d67009c28ab820652785deb45263a548b
2024-08-23 07:00:35 +00:00
Zuul
8f6bc332bf Merge "Add exclude for permissions in kolla config.json file" 2024-08-21 17:18:55 +00:00
Zuul
fe1aefd67f Merge "Configure Apache services to use correct locale" 2024-08-21 15:10:03 +00:00
MinSun
07d0b12efd
Add exclude for permissions in kolla config.json file
When using recursive mode to set permissions for a directory as
defined in kolla config.json, all the subdirectories and files will
receive the same permissions. This change adds the option to exclude
specific files or directories - either a name or a regular expression
can be used.

Closes-Bug: #1931294
Closes-Bug: #1972168

Co-Authored-By: Jakub Darmach <jakub@stackhpc.com>
Change-Id: If2f39736e2af34cd91d0976051ff66f06e96ab42
2024-08-21 14:43:12 +02:00
Mark Goddard
3c49991a86 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
2024-08-21 09:53:28 +01:00
Michal Nasiadka
56de572119 nova: Drop xen remnants
Xen support in Nova has been dropped cycles ago.

Change-Id: Ieb52291529eb0d94206b3f30195c4d2527c9dc52
2024-08-19 17:16:52 +02:00
Matt Crees
36a7cd053d Add support for checking incoming RabbitMQ version
Will be used to check if the current RabbitMQ version is high enough
before upgrading to the new one.

Change-Id: Ie133d6efc2e4c00002b8f0724e0183eaab35d1c5
2024-08-12 16:08:43 +01:00
Maksim Malchuk
2caa64df67 Configure Apache services to use correct locale
Closes-Bug: #2076453
Change-Id: I6af9baf09a19a7dbcaf98585870aa44ff79398d3
Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2024-08-12 09:55:35 +00:00
Michal Arbet
44acae3894 Fix build of prometheus-ovn-exporter
This patch fixed build of prometheus-ovn-exporter
when building with --image-name-prefix option.

Closes-Bug: #2076249
Change-Id: I5ba67d6e4bbe1b6d6caa842715b56720a027dc76
2024-08-07 16:43:07 +02:00
Zuul
3c130f290e Merge "toolbox: Bump ansible-core to 2.17" 2024-07-24 21:50:37 +00:00
Michael Still
ec64f299bf Fix codespell on master
codespell, now part of pep8, was failing on master. Also remove
the codespell version pin in tox.ini as it is no longer required.

Change-Id: I309e558a445c0a96f16fd002b8ca232d94620b5a
2024-07-23 19:44:39 +10:00
Zuul
f63594bdc1 Merge "[docs] remove not working dev setup" 2024-07-17 11:55:05 +00:00
Michal Nasiadka
e5d19ffca5 toolbox: Bump ansible-core to 2.17
And also python3.11 to python3.12 on rpm distro side

Change-Id: I000e2f2aacb011618a0b3c7b41fe286b3680614f
2024-07-16 17:54:50 +02:00
Zuul
2f28e30912 Merge "fix: apple silicon architecture selection" 2024-07-16 14:39:21 +00:00
Tadas Sutkaitis
8b98145f23 fix: apple silicon architecture selection
Closes-Bug: #2073256

Change-Id: I9fdccbe3bde07a7f9a1e6ac82b1096a024e1b0ee
2024-07-16 11:02:52 +00:00
Zuul
139851087e Merge "Pass rabbitmq apt preferences into kolla-toolbox" 2024-07-09 14:49:31 +00:00
Zuul
b4972ebec9 Merge "Revert "[release] Use Caracal sources by default"" 2024-07-02 15:01:52 +00:00
Zuul
603f58cac5 Merge "Change logic for plugins in grafana image build" 2024-06-28 18:23:49 +00:00
Michal Arbet
7aec372480 Trivial fix letsencrypt base image
Replace cinder -> letsencrypt typo in
letsencrypt-base image.

Change-Id: Ia21f81d9cb0850e37882dd6155b4d2d6ba774a05
2024-06-28 15:52:07 +02:00
Dawud
077e0003d4
Change logic for plugins in grafana image build
Co-authored-by:  Will Szumski <will@stackhpc.com>
Change-Id: I2b1c95395aeefb2ccb1d8edf415eee0f98c52190
2024-06-28 01:19:10 +01:00
Bartosz Bezak
f36e45382e add kayobe to release management doc's Launchpad admin section
Kayobe moved away from Storyboard some time ago

Change-Id: I9e57150645aebf4b684c609b9b356b8921aa7333
2024-06-24 11:47:49 +02:00
Sven Kieske
bdf5dae433
[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>
2024-06-21 10:45:33 +02:00
Maksim Malchuk
9cd907cacd Revert "[release] Use Caracal sources by default"
This reverts commit 0fb24ceefc.

Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
Change-Id: I568dc94bea394feb5fed157b8209429813ed06fd
2024-06-19 16:16:53 +03:00
Bartosz Bezak
428f371249 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
2024-06-11 11:07:42 +00:00
Matt Crees
006ccee101 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
2024-06-04 10:21:43 +00:00
Michal Nasiadka
968711579f Drop packaging requirement and unpin docker-py
Change-Id: I11d306be5e5bb3d5b05b50dd8ee64ac9424854a1
2024-05-28 08:19:28 +00:00
Michal Nasiadka
91f91e1cc2 CI: pin codespell to <2.3.0
Change-Id: I403d933b029e846e682fd41a62ada4fc73cdfd12
2024-05-26 12:05:26 +00:00
Michal Nasiadka
c66a2cd63b openvswitch: Drop ovs_ensure_configured.sh
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/901695
Change-Id: I9c723b666897883bf5b3343fe92e06aaa0c89d81
2024-05-15 06:34:00 +00:00
Michal Nasiadka
25f357ecc8 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
2024-05-10 06:46:53 +02:00
OpenStack Release Bot
ba0ebf4931 Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.

Sem-Ver: feature
Change-Id: Ibd705bc99c018d5d03d00486c10bd65fea13996f
2024-05-08 10:12:00 +00:00
496 changed files with 5138 additions and 2988 deletions

13
.ansible-lint Normal file
View file

@ -0,0 +1,13 @@
---
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

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

View file

@ -1,160 +0,0 @@
---
- 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-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
- 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

View file

@ -1,33 +0,0 @@
---
- project:
check:
jobs:
- kolla-build-centos9s
- kolla-ansible-centos9s
check-arm64:
jobs:
- kolla-build-centos9s-aarch64
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

View file

@ -1,106 +0,0 @@
---
- project:
check:
jobs:
- kolla-build-debian
- kolla-build-debian-podman
- kolla-ansible-debian
- kolla-ansible-debian-upgrade
check-arm64:
jobs:
- kolla-build-debian-aarch64
- kolla-ansible-debian-aarch64
gate:
jobs:
- kolla-build-debian
- kolla-build-debian-podman
- kolla-ansible-debian
- kolla-ansible-debian-upgrade
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

View file

@ -1,10 +0,0 @@
---
- 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

View file

@ -1,104 +0,0 @@
---
- project:
check:
jobs:
- kolla-build-rocky9
- kolla-build-rocky9-podman
- kolla-ansible-rocky9
- kolla-ansible-rocky9-upgrade
# Test rabbitmq and mariadb in multinode ceph jobs.
- kolla-ansible-rocky9-cephadm:
files: ^docker\/(base|cinder|glance|mariadb|openstack-base|rabbitmq)\/.*
- kolla-ansible-rocky9-upgrade-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/
check-arm64:
jobs:
- kolla-build-rocky9-aarch64
gate:
jobs:
- kolla-build-rocky9
- kolla-build-rocky9-podman
- kolla-ansible-rocky9
- kolla-ansible-rocky9-upgrade
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

View file

@ -1,103 +0,0 @@
---
- project:
check:
jobs:
- kolla-build-ubuntu
- kolla-build-ubuntu-podman
- kolla-ansible-ubuntu
- kolla-ansible-ubuntu-upgrade
# Test rabbitmq and mariadb in multinode ceph jobs.
- kolla-ansible-ubuntu-cephadm:
files: ^docker\/(base|cinder|glance|mariadb|openstack-base|rabbitmq)\/.*
- kolla-ansible-ubuntu-upgrade-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/
check-arm64:
jobs:
- kolla-build-ubuntu-aarch64
gate:
jobs:
- kolla-build-ubuntu
- kolla-build-ubuntu-podman
- kolla-ansible-ubuntu
- kolla-ansible-ubuntu-upgrade
periodic:
jobs:
- kolla-publish-ubuntu-quay
periodic-weekly:
jobs:
- kolla-publish-ubuntu-dockerhub
experimental:
jobs:
- kolla-build-no-infra-wheels-ubuntu
- job:
name: kolla-build-ubuntu
parent: kolla-base
nodeset: kolla-ubuntu-jammy
vars:
base_distro: ubuntu
base_distro_version: jammy
- job:
name: kolla-build-ubuntu-podman
parent: kolla-base-podman
nodeset: kolla-ubuntu-jammy
vars:
base_distro: ubuntu
base_distro_version: jammy
- job:
name: kolla-build-ubuntu-aarch64
parent: kolla-build-ubuntu
nodeset: kolla-ubuntu-jammy-aarch64
voting: false
- job:
name: kolla-publish-ubuntu-dockerhub
parent: kolla-build-ubuntu
post-run: tests/playbooks/publish.yml
vars:
publisher: true
kolla_registry: dockerhub
kolla_namespace: kolla
secrets:
- kolla_dockerhub_credentials
- job:
name: kolla-publish-ubuntu-quay
parent: kolla-build-ubuntu
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-jammy
vars:
base_distro: ubuntu

View file

@ -92,10 +92,8 @@ 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/>`__
@ -135,7 +133,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.
- `Redis Sentinel <https://redis.io/topics/sentinel>`__ provides high availability for redis
- `Valkey Sentinel <https://valkey.io/topics/sentinel>`__ provides high availability for valkey
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,16 +298,144 @@ 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. 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.
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
Plugin functionality
--------------------
@ -401,6 +529,7 @@ 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
-----------------------
@ -454,6 +583,98 @@ 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
------------
@ -462,23 +683,16 @@ 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. 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
form of ``.repo``, ``.rpm``, or a url.
If specifying a ``.repo`` file, each ``.repo`` file will need to exist in the
same directory as the base Dockerfile (``kolla/docker/base``):
same directory as the base Dockerfile (``kolla/docker/base``) or you need to
specify a url:
.. path kolla/docker/base
.. code-block:: ini
rpm_setup_config = epel.repo,delorean.repo,delorean-deps.repo
rpm_setup_config = epel.repo,https://remote-server.com/your-repo.repo
Debian / Ubuntu
^^^^^^^^^^^^^^^

View file

@ -65,6 +65,9 @@ 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:
@ -85,7 +88,8 @@ Here is an example configuration file:
{
"path": "/var/log/kolla/trove",
"owner": "trove:trove",
"recurse": true
"recurse": true,
"exclude": ["/var/log/^snapshot.*"]
}
]
}

View file

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

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

View file

@ -56,8 +56,8 @@ provided, copy its Dockerfile structure and amend it to new needs.
Distribution support
====================
By default, every new image should support all supported distributions (CentOS,
Debian, Ubuntu) and both x86-64 and aarch64 architectures. Sometimes it is not
By default, every new image should support all supported distributions (Debian,
Ubuntu, Rocky) and both x86-64 and aarch64 architectures. Sometimes it is not
doable so we have list of `unbuildable images` for that.
Unbuildable images

View file

@ -27,7 +27,7 @@ IRC Channel
``#openstack-kolla`` (`channel logs`_) on `OFTC <http://oftc.net>`_
Weekly Meetings
On Wednesdays at 14:00 UTC in the IRC channel (`meetings logs`_)
In the IRC channel (`meeting information`_)
Mailing list (prefix subjects with ``[kolla]``)
https://lists.openstack.org/pipermail/openstack-discuss/
@ -41,43 +41,51 @@ Whiteboard (etherpad)
https://etherpad.openstack.org/p/KollaWhiteBoard
.. _channel logs: https://meetings.opendev.org/irclogs/%23openstack-kolla/
.. _meetings logs: https://meetings.opendev.org/meetings/kolla/
.. _meeting information: https://meetings.opendev.org/#Kolla_Team_Meeting
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
In general it is suggested to use the above mentioned public communication
channels, but if you find the you need to contact someone from the Core team
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 https://review.opendev.org/admin/groups/28d5dccfccc125b3963f76ab67e256501565d52b,members
- kolla-ansible-core https://review.opendev.org/admin/groups/cfd61289b70f00206797b035aa0bd7adfccf4be2,members
- kayobe-core https://review.opendev.org/admin/groups/361e28280e3a06be2997a5aa47a8a11d3a8fb9b9,members
- `Kolla core team <https://review.opendev.org/admin/groups/kolla-core,members>`__
- `Kayobe core team <https://review.opendev.org/admin/groups/kayobe-core,members>`__
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
New features are discussed via IRC or mailing list (with [kolla] prefix).
Kolla project keeps blueprints in `Launchpad <https://blueprints.launchpad.net/kolla>`__.
Specs are welcome but not strictly required.
New features are discussed on PTG, via IRC or mailing list (with [kolla]
prefix).
Task Tracking
~~~~~~~~~~~~~
Kolla project tracks tasks in `Launchpad <https://bugs.launchpad.net/kolla>`__.
Note this is the same place as for bugs.
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>`__
If you're looking for some smaller, easier work item to pick up and get started
on, search for the 'low-hanging-fruit' tag.
on, search for the 'low-hanging-fruit' tag in the relevant project.
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? You can do so
on `Launchpad <https://bugs.launchpad.net/kolla>`__.
Note this is the same place as for tasks.
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.
Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
@ -89,6 +97,22 @@ 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 priorites
* Keep track of the progress of cycle priorities
* Monitor the core team membership, mentor potential cores

View file

@ -87,6 +87,8 @@ This needs to be done for each of the following projects:
* https://launchpad.net/ansible-collection-kolla
* https://launchpad.net/kayobe
At the beginning of a cycle, ensure a named series exists for the cycle in each
project. If not, create one via the project landing page (e.g.
https://launchpad.net/kolla) - in the "Series and milestones" section click in
@ -94,8 +96,6 @@ https://launchpad.net/kolla) - in the "Series and milestones" section click in
milestones, including the final release. Series can be marked as "Active
Development" or "Current Stable Release" as necessary.
Kayobe uses Storyboard, which does not track series or milestones.
Milestones
----------
@ -152,11 +152,6 @@ 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
@ -237,11 +232,6 @@ 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
-------------------------------------------------------
@ -407,13 +397,6 @@ 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
@ -434,6 +417,10 @@ 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

@ -7,23 +7,15 @@ Running Kolla Build in development
The recommended way to run in development
-----------------------------------------
The preferred way to run kolla-build for development is using ``tox``.
Run the following from inside the repository:
.. code-block:: console
tox -e venv -- kolla-build ...
The alternative way to run in development
-----------------------------------------
Sometimes, developers prefer to manage their venvs themselves. This is also
possible. Remember to install in editable mode (``-e``). Run the following from
inside the repository:
To clone the repository and install the package
in development mode, run the following commands:
.. code-block:: console
git clone https://opendev.org/openstack/kolla.git
cd kolla
python3 -m venv ~/path/to/venv
source ~/path/to/venv/bin/activate
python3 -m pip install -e .
python3 -m pip install --editable .
kolla-build ...

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 9 and Rocky Linux 9.
When table mentions 'CentOS' it means both CentOS Stream 10 and Rocky Linux 10.
============== ================ =============================================
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 2.x `OpenSearch install guide`_
ProxySQL 2.6.x `ProxySQL repository`_
Rabbitmq 3.10.x - CentOS:
`Team RabbitMQ 'PackageCloud' repository`_
OpenSearch 3.x `OpenSearch install guide`_
ProxySQL 2.7.x `ProxySQL repository`_
Rabbitmq 4.1.x - CentOS/Rocky:
`Team RabbitMQ 'Cloudsmith' repo (RPM)`_
- Debian/Ubuntu:
`Team RabbitMQ 'Cloudsmith' repository`_
Erlang 25.x - CentOS aarch64:
`Hrw's COPR`_
- CentOS x86-64:
`Team RabbitMQ 'PackageCloud' repository`_
`Team RabbitMQ 'Cloudsmith' repo (Deb)`_
Erlang 27.X - CentOS/Rocky aarch64:
`openstack-kolla COPR`_
- CentOS/Rocky x86-64:
`Team RabbitMQ 'Cloudsmith' repo (RPM)`_
- Debian/Ubuntu:
`Team RabbitMQ 'Modern Erlang' PPA`_
TD Agent 4.4.x `TreasureData install guide`_
Fluentd 6.x (LTS) `Fluentd 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
.. _`TreasureData install guide`: https://www.fluentd.org/download
.. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-2.6.x/
.. _`Fluentd install guide`: https://www.fluentd.org/download
.. _`ProxySQL repository`: https://repo.proxysql.com/ProxySQL/proxysql-3.0.x/
.. _`Team RabbitMQ 'Cloudsmith' repository`: https://www.rabbitmq.com/install-debian.html#apt-cloudsmith
.. _`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 'PackageCloud' repository`: https://www.rabbitmq.com/install-rpm.html#package-cloud
.. _`Hrw's COPR`: https://copr.fedorainfracloud.org/coprs/hrw/erlang-for-rabbitmq/
.. _`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/
.. _`Grafana install guide`: https://grafana.com/grafana/download?platform=linux&edition=oss
.. _`MariaDB Community downloads`: https://mariadb.com/downloads/community/

View file

@ -46,12 +46,11 @@ 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
redis U U U
49 skyline U U U
swift U U U
50 tacker U U U
51 telegraf N N N
52 tgtd U U U
53 trove U U U
54 valkey U U U
55 watcher U U U
56 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
redis T U U
50 skyline U U U
51 swift T T U
52 tacker T U U
53 telegraf U U U
54 tgtd N T U
55 trove U U U
56 valkey T U U
57 watcher U U U
58 zun T T U

View file

@ -17,9 +17,9 @@ The following base container images are supported:
================== =============================== ================
Distribution Default base Default base tag
================== =============================== ================
Rocky Linux quay.io/rockylinux/rockylinux 9
Debian Bullseye debian bullseye
Ubuntu Jammy ubuntu 22.04
Rocky Linux quay.io/rockylinux/rockylinux 10
Debian Trixie debian trixie
Ubuntu Noble ubuntu 24.04
================== =============================== ================
The remainder of this document outlines which images are supported on which of
@ -59,6 +59,11 @@ N - Not Available/Unknown
Not available *(e.g. not buildable)*.
Please see :ref:`unbuildable-images-list`
Deprecations
============
None
x86_64 images
=============

View file

@ -10,5 +10,7 @@ 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,10 +28,14 @@ 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,6 +7,8 @@ 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,6 +7,8 @@ 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,6 +7,8 @@ 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,6 +7,8 @@ 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,6 +11,8 @@ 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,13 +7,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{{ 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.configure_user(name='barbican', groups='nfast,hsmusers') }}
{{ macros.install_packages(barbican_base_packages | customizable("packages")) }}
@ -21,7 +15,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'/barbican',
'pastedeploy',
'python-barbicanclient',
'uwsgi'
] %}
ADD barbican-base-archive /barbican-base-source
@ -38,4 +31,6 @@ 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,6 +7,8 @@ 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,6 +7,8 @@ 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,10 +23,8 @@ 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 \
@ -41,6 +39,9 @@ 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
@ -53,44 +54,12 @@ 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 + [
'hrw-copr-erlang-for-rabbitmq.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
@ -130,9 +99,8 @@ RUN rm -f /etc/rpm/macros.image-language-conf \
] %}
{% set base_centos_yum_repo_packages = [
'centos-release-ceph-reef',
'centos-release-ceph-squid',
'centos-release-nfv-openvswitch',
'centos-release-opstools',
'epel-release',
] %}
@ -140,40 +108,9 @@ 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',
'centos9-nfv-ovs',
'centos9-opstools',
'centos9-rabbitmq',
'centos9-storage',
'epel',
'influxdb',
'opensearch-2.x',
'opensearch-dashboards-2.x',
] %}
{% if base_arch == 'aarch64' %}
{# NOTE(hrw): delorean-deps.repo may force x86-64 repos #}
RUN sed -i -e "s/x86_64/aarch64/g" /etc/yum.repos.d/delorean-deps.repo
{% endif %}
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) }}
@ -197,6 +134,7 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
'lsof',
'lvm2',
'ncurses',
'openssl',
'procps-ng',
'python3',
'python3-pip',
@ -205,11 +143,13 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
'tar',
'util-linux',
'util-linux-user',
'which'
'which',
'patch'
] %}
# Install base packages
{{ macros.install_packages( base_centos_packages | customizable("centos_packages") | customizable("centos_binary_packages") | customizable("centos_source_packages") ) }}
{{ macros.enable_extra_repos(['epel']) }}
{{ 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' %}
@ -247,12 +187,12 @@ 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 == 'debian' or ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %}
RUN rm -f /etc/apt/sources.list.d/debian.sources
COPY sources.list.{{ base_distro }} /etc/apt/sources.list
{% if base_distro == "ubuntu" and base_arch == 'aarch64' %}
COPY {{ base_distro }}.sources.arm64 /etc/apt/sources.list.d/{{ base_distro }}.sources
{% else %}
COPY sources.list.{{ base_distro }}.{{ base_arch }} /etc/apt/sources.list
COPY {{ base_distro }}.sources /etc/apt/sources.list.d/
{% endif %}
COPY sources.list /etc/apt/sources.list.d/kolla-custom.list
{% endblock %}
@ -264,7 +204,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_caracal \
&& extrepo enable openstack_{{ openstack_release_codename | lower }} \
&& apt purge -y extrepo \
&& apt --purge autoremove -y \
&& apt clean
@ -279,6 +219,7 @@ COPY apt_preferences /etc/apt/preferences.d/kolla-custom
{% set base_apt_packages = [
'apt-utils',
'dumb-init',
'systemd-standalone-sysusers',
'gawk',
'iproute2',
'kmod',
@ -291,23 +232,25 @@ COPY apt_preferences /etc/apt/preferences.d/kolla-custom
'python3-pip',
'socat',
'sudo',
'tgt'
'tgt',
'patch'
] %}
{% set base_apt_keys = [
{'name': 'erlang-ppa', 'keyid': 'F77F1EDA57EBB1CC'},
{'name': 'rabbitmq', 'keyid': '9F4587F226208342'},
{'name': 'rabbitmq', 'keyid': '6B73A36E6026DFCA'},
{'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_compat.key'},
{'name': 'influxdb', 'url': 'https://repos.influxdata.com/influxdata-archive.key'},
{'name': 'mariadb', 'url': 'https://downloads.mariadb.com/MariaDB/mariadb-keyring-2019.gpg', 'type': 'gpg'},
{'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'},
{'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'},
] %}
{% block base_ubuntu_package_installation %}
@ -334,7 +277,9 @@ 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) }}
&& {{ 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
{% endblock %}
@ -358,7 +303,9 @@ 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 %}
@ -375,7 +322,11 @@ 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 \
&& 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 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_httpd_setup \
&& chmod 440 /etc/sudoers \
&& mkdir -p /var/log/kolla \
@ -387,8 +338,9 @@ 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=bookworm-backports
Pin: release n=trixie-backports
Pin-Priority: -1000

View file

@ -1,6 +1,6 @@
[baseos]
name=(OpenDev mirror) CentOS Stream $releasever - BaseOS
baseurl=http://MIRROR/centos-stream/9-stream/BaseOS/$basearch/os/
baseurl=http://MIRROR/centos-stream/$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/9-stream/AppStream/$basearch/os/
baseurl=http://MIRROR/centos-stream/$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/9-stream/extras/$basearch/extras-common/
baseurl=http://MIRROR/centos-stream/SIGs/$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/9-stream/CRB/$basearch/os/
baseurl=http://MIRROR/centos-stream/$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/9-stream/HighAvailability/$basearch/os/
baseurl=http://MIRROR/centos-stream/$stream/HighAvailability/$basearch/os/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0

View file

@ -1,35 +0,0 @@
[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-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

@ -3,25 +3,46 @@
# Copy custom CA certificates to system trusted CA certificates folder
# and run CA update utility
# Remove old certificates
rm -f /usr/local/share/ca-certificates/kolla-customca-* \
/etc/pki/ca-trust/source/anchors/kolla-customca-*
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
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
# 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}
fi

View file

@ -0,0 +1,13 @@
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

View file

@ -1,8 +0,0 @@
[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

@ -1,11 +0,0 @@
# 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 CentOS Stream 8/9
[copr-hrw-erlang-for-rabbitmq]
name=Hrw's COPR with Erlang build for RabbitMQ
baseurl=https://download.copr.fedorainfracloud.org/results/hrw/erlang-for-rabbitmq/centos-stream-$releasever-$basearch/
gpgcheck=1
enabled=0
gpgkey=https://download.copr.fedorainfracloud.org/results/hrw/erlang-for-rabbitmq/pubkey.gpg
repo_gpgcheck=0

View file

@ -39,3 +39,13 @@ EOF
/usr/libexec/httpd-ssl-gencerts
fi
fi
# The default system locale with unicode support
LANG=C.UTF-8
# Override the default locale if configured
if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then
[ -f /etc/default/locale ] && . /etc/default/locale
else
[ -f /etc/locale.conf ] && . /etc/locale.conf
fi

View file

@ -1,6 +0,0 @@
[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

@ -0,0 +1,12 @@
#!/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

55
docker/base/kolla_patch.sh Executable file
View file

@ -0,0 +1,55 @@
#!/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

View file

@ -1,7 +0,0 @@
[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

@ -1,19 +0,0 @@
[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

@ -1,6 +0,0 @@
[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

@ -1,6 +0,0 @@
[rabbitmq_rabbitmq-erlang]
name=rabbitmq_rabbitmq-erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/9/$basearch
gpgcheck=1
enabled=0
gpgkey = https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc

View file

@ -1,6 +0,0 @@
[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/9/$basearch
gpgcheck=1
enabled=0
gpgkey = https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc

View file

@ -19,16 +19,24 @@ import json
import logging
import os
import pwd
import re
import shutil
import stat
import sys
# TODO(rhallisey): add docstring.
logging.basicConfig()
logging.basicConfig(
format='%(asctime)s.%(msecs)03d %(levelname)s %(message)s',
level=logging.INFO,
datefmt='%Y-%m-%d %H:%M:%S'
)
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.INFO)
KOLLA_DEFAULTS = "/etc/kolla/defaults"
KOLLA_DEFAULTS_STATE = KOLLA_DEFAULTS + '/' + 'state'
class ExitingException(Exception):
def __init__(self, message, exit_code=1):
@ -56,6 +64,14 @@ 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,
@ -334,6 +350,7 @@ 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
@ -373,20 +390,177 @@ 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:
set_perms(os.path.join(root, dir_), uid, gid, perm)
handle_exclusion(root, dir_)
for file_ in files:
set_perms(os.path.join(root, file_), uid, gid, perm)
handle_exclusion(root, file_)
def get_defaults_state():
"""Retrieve the saved default configuration state from default state file.
This function creates the directory for Kolla defaults if it does not
exist, and then attempts to read the current configuration state from
a JSON file. If the file exists, it reads and returns the content.
If not, it returns an empty dictionary.
Simply said, when the container starts for the first time, the state file
doesn't exist, and it returns an empty dictionary.
However, if it has already been started before, it will contain the state
as it was when it first ran.
Returns:
dict: The configuration state stored in the Kolla defaults state file.
Example:
{
"/etc/cinder/cinder.conf": {
"source": "/etc/cinder/cinder.conf",
"preserve_properties": true,
"dest": null
},
"/etc/apache2/conf-enabled/cinder-wsgi.conf": {
"source": "/etc/apache2/conf-enabled/cinder-wsgi.conf",
"preserve_properties": true,
"dest": null
},
"/etc/cinder/cinder_audit_map.conf": {
"source": "/etc/cinder/cinder_audit_map.conf",
"preserve_properties": true,
"dest": "/etc/kolla/defaults/etc/cinder/cinder_audit_map.conf"
}
}
From above example:
/etc/cinder/cinder.conf didn't exist
/etc/apache2/conf-enabled/cinder-wsgi.conf didn't exist
/etc/cinder/cinder_audit_map.conf exists and saved
"""
os.makedirs(KOLLA_DEFAULTS, exist_ok=True)
if os.path.exists(KOLLA_DEFAULTS_STATE):
with open(KOLLA_DEFAULTS_STATE, 'r') as f:
return json.load(f)
else:
return {}
def set_defaults_state(state):
"""Save the provided configuration state to the defaults state file.
This function writes the provided state (a dictionary) to a JSON file at
the specified Kolla defaults state location, ensuring that it is properly
formatted with indentation for readability.
Args:
state (dict): The configuration state to save to the Kolla defaults
state file.
"""
with open(KOLLA_DEFAULTS_STATE, 'w') as f:
json.dump(state, f, indent=4)
def remove_or_restore_configs(state):
"""Remove or restore configuration files based on their current state.
This function iterates over the configuration files in the provided state.
If the destination is `None`, it removes the file or directory. Otherwise,
it swaps the source and destination, restoring the configuration file
by copying it back to its original location.
Args:
state (dict): The current default state of configuration files, mapping
file paths to their source and destination information.
"""
for k, v in state.items():
if v['dest'] is None:
if os.path.exists(k):
if os.path.isfile(k):
os.remove(k)
else:
shutil.rmtree(k)
else:
v['source'], v['dest'] = v['dest'], v['source']
config_file = ConfigFile(**v)
config_file.copy()
def backup_configs(config, state):
"""Back up new configuration files and update the default state.
This function processes new configuration files provided in the
input `config`. For each file, it checks if the destination exists in the
current state. If not, it backs up the file by copying it to the default
directory. It then updates the state with the new configuration file's
information.
Args:
config (dict): The input configuration containing a list of config
files.
state (dict): The current default state to be updated with the new
config files.
"""
if 'config_files' in config:
for data in config['config_files']:
if data['dest'] in state.keys():
continue
src = data['source']
if data['dest'].endswith('/'):
dst = data['dest'] + data['source'].split('/')[-1]
else:
dst = data['dest']
default = KOLLA_DEFAULTS + dst
if os.path.exists(src):
copy = {'source': dst, 'preserve_properties': True}
if os.path.exists(dst):
copy['dest'] = default
if dst not in state:
config_file = ConfigFile(**copy)
config_file.copy()
state[dst] = copy
else:
copy['dest'] = None
if dst not in state:
state[dst] = copy
def handle_defaults(config):
"""Handle the default config files by copying/removing them as needed.
This function loads the current default state and manages the configuration
files. It first processes existing configuration files in the default
state, either removing or restoring them based on their destination status.
It then backs up any new configuration files from the input config,
updating the default state accordingly.
Args:
config (dict): A dictionary containing the list of configuration files
to be handled.
"""
state = get_defaults_state()
remove_or_restore_configs(state)
backup_configs(config, state)
set_defaults_state(state)
def execute_config_strategy(config):
config_strategy = os.environ.get("KOLLA_CONFIG_STRATEGY")
LOG.info("Kolla config strategy set to: %s", config_strategy)
if config_strategy == "COPY_ALWAYS":
handle_defaults(config)
copy_config(config)
handle_permissions(config)
elif config_strategy == "COPY_ONCE":
@ -395,6 +569,7 @@ def execute_config_strategy(config):
"The config strategy prevents copying new configs",
exit_code=0)
else:
handle_defaults(config)
copy_config(config)
handle_permissions(config)
os.mknod('/configured')
@ -402,7 +577,66 @@ 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()
@ -419,6 +653,7 @@ def main():
config = load_config()
if args.check:
execute_command_check(config)
execute_config_check(config)
else:
execute_config_strategy(config)

View file

@ -1,11 +0,0 @@
# 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

@ -1,17 +0,0 @@
# 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

@ -1,15 +0,0 @@
# 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

@ -15,6 +15,9 @@ 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,4 +20,7 @@ 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

View file

@ -1,6 +0,0 @@
[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

@ -0,0 +1,24 @@
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

@ -0,0 +1,24 @@
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,18 +7,28 @@ 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 = [
'cpio',
] %}
{% set bifrost_base_packages = bifrost_base_packages + [
'python3.12',
'python3.12-devel'
] %}
{% endif %}
{{ macros.install_packages(bifrost_base_packages | customizable("packages")) }}
ENV VENV /var/lib/kolla/venv
ENV VENV {{ venv_path }}
{% set bifrost_base_pip_packages = [
'/bifrost'
@ -26,7 +36,12 @@ ENV VENV /var/lib/kolla/venv
ADD bifrost-base-archive /bifrost-base-source
COPY build_arg.yml /tmp/build_arg.yml
RUN ln -s bifrost-base-source/* bifrost \
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']) }} \
&& {{ macros.install_pip(bifrost_base_pip_packages | customizable("pip_packages")) }}
WORKDIR /bifrost
@ -40,14 +55,13 @@ RUN apt-get --error-on=any update && \
{%- else %}
RUN echo " " && \
{%- endif %}
bash -c 'export VENV=/var/lib/kolla/venv && \
$VENV/bin/pip install "ansible>=6,<7" && \
bash -c '$VENV/bin/pip install "ansible>=12,<14" && \
$VENV/bin/ansible-galaxy collection install -r /bifrost/ansible-collections-requirements.yml && \
ansible-playbook -vvvv -i /bifrost/playbooks/inventory/target \
$VENV/bin/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/*'
@ -62,4 +76,6 @@ 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,5 +29,7 @@ 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,9 +5,13 @@ 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,4 +24,6 @@ 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,6 +5,10 @@ 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,7 +29,6 @@ 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) }}; \
@ -39,4 +38,6 @@ 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,6 +7,8 @@ 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,6 +24,8 @@ 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,6 +19,8 @@ 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,6 +10,8 @@ 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,10 +14,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
COPY extend_start.sh /usr/local/bin/kolla_cinder_extend_start
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
RUN chmod 644 /usr/local/bin/kolla_cinder_extend_start
{{ macros.kolla_patch_sources() }}
{% block cinder_api_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -10,17 +10,23 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_package_type == 'rpm' %}
{% set cinder_backup_packages = [
'device-mapper-multipath',
'nfs-utils'
'lsscsi',
'nfs-utils',
'sysfsutils'
] %}
{% elif base_package_type == 'deb' %}
{% set cinder_backup_packages = [
'lsscsi',
'multipath-tools',
'nfs-common'
'nfs-common',
'sysfsutils'
] %}
{% endif %}
{{ macros.install_packages(cinder_backup_packages | customizable("packages")) }}
{{ macros.kolla_patch_sources() }}
{% block cinder_backup_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -9,20 +9,23 @@ 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',
'lvm2',
'nvme-cli',
'qemu-img'
] %}
{% elif base_package_type == 'deb' %}
{% set cinder_base_packages = [
'ceph-common',
'lvm2',
'cryptsetup',
'lvm2',
'nvme-cli',
'python3-cephfs',
'python3-rados',
'python3-rbd',
@ -44,11 +47,13 @@ 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 /etc/pycadf/cinder_api_audit_map.conf /etc/cinder/ \
&& cp /var/lib/kolla/venv/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,6 +3,9 @@
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,6 +7,8 @@ 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

@ -12,7 +12,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'lsscsi',
'device-mapper-multipath',
'nfs-utils',
'nvme-cli',
'nvmetcli',
'sysfsutils',
'targetcli'
@ -22,7 +21,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'lsscsi',
'multipath-tools',
'nfs-common',
'nvme-cli',
'sysfsutils',
'targetcli-fb',
'thin-provisioning-tools',
@ -52,6 +50,8 @@ 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,5 +15,7 @@ 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,4 +24,6 @@ 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,6 +12,8 @@ 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,13 +9,14 @@ 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',
@ -72,6 +73,8 @@ 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,5 +29,7 @@ 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,5 +16,7 @@ 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,5 +13,7 @@ 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,4 +26,6 @@ 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,5 +5,9 @@ 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,6 +7,8 @@ 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,5 +25,7 @@ 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,11 +22,12 @@ 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,6 +10,8 @@ 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,6 +7,8 @@ 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,6 +7,8 @@ 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,6 +7,8 @@ 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,6 +19,8 @@ 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,5 +10,10 @@ 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
{% block dnsmasq_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -0,0 +1,31 @@
#!/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
if [[ $(stat -c %a /var/log/kolla/ironic) != "755" ]]; then
chmod 755 /var/log/kolla/ironic
fi
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,6 +23,8 @@ 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,6 +54,8 @@ COPY extend_start.sh /usr/local/bin/kolla_extend_start
{% endblock %}
{{ macros.kolla_patch_sources() }}
{% block fluentd_footer %}{% endblock %}
{% block footer %}{% endblock %}

View file

@ -9,11 +9,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_package_type == 'rpm' %}
{% set glance_api_packages = [
'lsscsi',
'device-mapper-multipath',
'qemu-img'
] %}
{% elif base_package_type == 'deb' %}
{% set glance_api_packages = [
'lsscsi',
'multipath-tools',
'nfs-common',
'qemu-utils'
@ -25,6 +27,8 @@ 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,9 +9,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='glance') }}
{{ macros.enable_extra_repos(['ceph']) }}
{% if base_package_type == 'rpm' %}
{{ macros.enable_extra_repos(['ceph', 'epel']) }}
{% set glance_base_packages = [
'python3-rados',
'python3-rbd'
@ -41,11 +42,13 @@ 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 /etc/pycadf/glance_api_audit_map.conf /etc/glance/ \
&& cp /var/lib/kolla/venv/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,5 +10,7 @@ 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') }}
{{ macros.enable_extra_repos(['ceph']) }}
{% if base_package_type == 'rpm' %}
{{ macros.enable_extra_repos(['ceph', 'epel']) }}
{% set gnocchi_base_packages = [
'librados2-devel',
'python3-rados',
@ -46,10 +46,12 @@ 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 /etc/pycadf/gnocchi_api_audit_map.conf /etc/gnocchi/ \
&& cp /var/lib/kolla/venv/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 %}

View file

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

View file

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

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