aboutsummaryrefslogtreecommitdiff
path: root/docker/kolla-toolbox/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-129/+0
[tool.setuptools.data-files] does not support recursive directory installation. The old setup.cfg [files] worked because PBR's FilesConfig.expand_globs() used os.walk() to expand docker/*, but this hook is not triggered by the pbr.build PEP-517 backend. Move docker/ into kolla/ and use [tool.setuptools.package-data] instead. Update kolla_worker._get_images_dir() to check the kolla package directory first so both editable and regular installs work. Change-Id: I4fc452c03740ef22ebbb4e8d0d86c4f4783e2d09 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-06-24kolla-build: fix build-date LABEL invalidating Docker layer cacheMichal Nasiadka1-1/+1
The build-date label was rendered into a LABEL instruction on line 3 of every Dockerfile template, immediately after FROM. Because Docker invalidates the cache for a changed instruction and all subsequent layers, a date change caused a full rebuild of every image on each new calendar day, even when nothing else had changed. Fix this by removing build-date from the Dockerfile templates and applying it as a --label argument at build time via image.labels. Labels passed on the build command line are not part of the Dockerfile cache key, so the date is still recorded in the image metadata without affecting layer caching. Change-Id: I8ef0d85bab1a999a4d09f7cbf0c088ca00fdcf77 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-06-10Revert "kolla-toolbox: Pin openstacksdk to 4.14.0"Michal Nasiadka1-1/+1
This reverts commit d55c024327531bf255d96021dfbc8e84a364f9c0. Reason for revert: openstack.cloud collection 2.6.0 is out Change-Id: I121ac28929effb26a56007b90abf08bee7e29539 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-06-10kolla-toolbox: Pin openstacksdk to 4.14.0Michal Nasiadka1-1/+1
4.15.0 is out and it broke openstack.cloud modules Change-Id: I8e0f7663339964ca4418e38314adcb0487833464 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-03-26Switch to Gazpacho/2026.1 sourcesMichal Nasiadka1-3/+7
Change-Id: I9b6eba0c55fa9914e8db3576127f7d53c13e97d5 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-03-25Merge "rabbitmq: Update to 4.2"Zuul1-1/+1
2026-03-17rabbitmq: Update to 4.2Piotr Milewski1-1/+1
Change-Id: Id6684e4356f68e4348c0f8c1c0c1e5397553397e Signed-off-by: Piotr Milewski <vurmil@gmail.com> Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2026-03-16kolla-toolbox: Add ansible-runnerMichal Nasiadka1-0/+1
Change-Id: I34c84882447ed7641f410d95a58da4718c87aa87 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-02-10Merge "Remove special handling for python3.12"Zuul1-18/+0
2026-01-22Merge "influxdb: Drop support"Zuul1-1/+0
2026-01-22influxdb: Drop supportMichal Nasiadka1-1/+0
Kolla delivers InfluxDB v1, which is EOL (unless you have paid support). There are no plans in upgrading InfluxDB to v2 - so let's drop it. Change-Id: Id17aa4946617c851780d424e7e053dd79196be6f Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-01-22Remove special handling for python3.12Pierre Riteau1-18/+0
This is not required anymore since we have switched to Rocky Linux 10. Change-Id: I10b68c2d3afa91cabf9341df75d8cf9f626c0f9b Signed-off-by: Pierre Riteau <pierre@stackhpc.com>
2026-01-12bifrost/kolla-toolbox: Bump ansible-core to 2.20Michal Nasiadka1-1/+1
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>
2025-12-22Revert "kolla-toolbox: Bump ansible-core to 2.20"Michal Nasiadka1-1/+1
This reverts commit ef12d96731bc82472941c81ac24e3a13736674d0. Reason for revert: Broke community.mysql Change-Id: Icb85112c66645d8df00eb0c40076a6bd822f6866 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-12-16kolla-toolbox: Bump ansible-core to 2.20Michal Nasiadka1-1/+1
Change-Id: I2a74d906b5239b3896fcdca015a9b37641ade833 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-28Bump Ansible to 12 and ansible-core to 2.19Michal Nasiadka1-1/+1
Change-Id: I37f4515587cb040296612e35d4c643f0c2bea6f6 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02Move repo enablement to respective rpm blocksMichal Nasiadka1-1/+4
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-08-29Remove RDO/DeloreanMichal Nasiadka1-2/+2
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-07-16Move to CentOS Stream 10Michal Nasiadka1-4/+2
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-05-20rabbitmq: Update to 4.1Michal Nasiadka1-2/+2
Change-Id: I4f852176918531ea19210961fd1b4fa63bc0ecca
2025-04-11Merge "rabbitmq: Bump to 4.0"Zuul1-1/+1
2025-04-10rabbitmq: Bump to 4.0Michal Nasiadka1-1/+1
Change-Id: If15ba52acfd305aa9bbae382fe7429c11041e93f
2025-03-27Merge "Change Bifrost Python upper-constraints source"Zuul1-1/+5
2025-03-25Merge "kolla-toolbox: Bump ansible-core to 2.18"Zuul1-1/+1
2025-03-21Remove swift container imagesMichal Nasiadka1-3/+1
Change-Id: I05a96f27b47a0f87bcf435872dd08ec0927232e3
2025-03-20kolla-toolbox: Bump ansible-core to 2.18Grzegorz Koper1-1/+1
Change-Id: I0bdef4252d4f2850d2b1a40feac3c373e5c453e7
2025-02-05Change Bifrost Python upper-constraints sourceSeunghun Lee1-1/+5
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
2024-11-15Add mechanism for patching files in containersMichal Arbet1-0/+2
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-09-19Switch to Dynamic Python Version DetectionMichal Arbet1-7/+25
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-07-16toolbox: Bump ansible-core to 2.17Michal Nasiadka1-4/+4
And also python3.11 to python3.12 on rpm distro side Change-Id: I000e2f2aacb011618a0b3c7b41fe286b3680614f
2024-06-04Pass rabbitmq apt preferences into kolla-toolboxMatt Crees1-0/+6
If the latest and targeted rabbitmq-server dependencies mismatch, kolla-toolbox will fail to build. Closes-Bug: #2066171 Change-Id: I64e9442545d98364585e3c632ae9142cd6b4f9bf
2024-04-18kolla-toolbox: Use py311 on rpm distrosMichal Nasiadka1-11/+9
ansible-core 2.16 requires py3.10+ on the host running ansible-playbook - let's use Python 3.11 on RPM distros to have the same version of ansible-core used on all distributions. Change-Id: I2caf2c972cd0283889fadde01bdd6a53e5f66ed9
2024-04-17kolla-toolbox: Bump ansible-core to 2.16Michal Nasiadka1-1/+6
2.15 patch was 2023.2 only - because we missed it last cycle [1] ansible-core 2.16 requires python3.10 which is not the default python in Rocky Linux 9 - therefore we use 2.15 there for now [1]: https://review.opendev.org/c/openstack/kolla/+/910148 Change-Id: Ic8cc29230d82f4d1f07a3c97c3dcbcd14ac76074
2024-03-11Bump rabbitmq to 3.13Michal Nasiadka1-2/+2
Pinning Erlang to 26.2.* (max supported version as per [1]), so we don't break this in future when Erlang 26.3 becomes available. [1]: https://rabbitmq-website.pages.dev/docs/which-erlang Change-Id: I1fd03a67914386129d7b0bb9be6aca86982f98f3
2024-02-02toolbox: Improve retry loop for ansible-galaxyMichal Nasiadka1-2/+4
Currently if it somehow fails for 5 times - we get exit code 0. Closes-Bug: #2052293 Change-Id: I2bdeb77e3133123053b05adcbde3a426c60f3304
2023-09-18Merge "toolbox: Add sleep script handling signals"Zuul1-0/+2
2023-09-06Merge "Improve kolla-toolbox offline support."Zuul1-3/+6
2023-08-23toolbox: Add sleep script handling signalsMichal Nasiadka1-0/+2
Closes-Bug: #2031692 Change-Id: I8b69869cca98d83d3b1be3f4add88ff83b22b4a1
2023-08-16rabbitmq: bump version to 3.12Michal Nasiadka1-2/+2
Erlang has been bumped to 26 as well. Change-Id: I5a6e90790d9c3c148e118fdf2ce6089e0a6a343e
2023-08-01Improve kolla-toolbox offline support.Gaƫl THEROND (Fl1nt)1-3/+6
* Use structure that allow for custom package version and base URL. Change-Id: I169e51c0f5c691518ada1837990b5bdd2a3d1481 Closes-bug: #2020761
2023-06-21Revert "rabbitmq: pin to 3.11.16"Michal Nasiadka1-1/+1
This reverts commit 600ed4f149a1cf542f54d7fc5005030f53c69a83. Reason for revert: 3.11.18 is out with a fix Change-Id: I4659bcd48ea32294b3ee84af9af94fae32b38bf3
2023-05-30rabbitmq: pin to 3.11.16Michal Nasiadka1-1/+1
Seems rabbitmq node drain got broken in 3.11.17 Related-Bug: https://github.com/rabbitmq/rabbitmq-server/issues/8414 Change-Id: I3a23670f85336344d8aebaded74dd65871837b82
2023-05-17toolbox: use venv instead of virtualenvMichal Nasiadka1-9/+5
Change-Id: Id20394d06747b7f56e8745f129149c3f1c492ca7
2023-04-21docker: implement macros to alter upper-constraints.txtMarcin Juszkiewicz1-1/+1
upper_constraints_remove() macro allows to remove line upper_constraints_version_change() allows to change versions This way we have cleaner way to alter u-c in those images which need it. Change-Id: I8fc354b8aa4d03fcd3ecfb9cbfe75de67492a0e3
2023-03-20docker: use python3-venv to create virtual envMarcin Juszkiewicz1-2/+2
Debian 'bookworm' does not like when someone installs Python packages into system directories. So instead of installing 'virtualenv' from pip we move to use 'python3 -m venv' which we install from distribution repositories (on Debian/Ubuntu as EL9 has it in base 'python3'). Change-Id: I7092b561d81c362ca24f84a3d753e777e5625ab3
2023-02-28toolbox: Increase galaxy timeout and retry downloadMichal Nasiadka1-1/+2
Change-Id: I6e66aea5dc0af61fbc074b4c8ed3910435c98dbd
2023-02-23toolbox: use ansible-collections-openstack >2Michal Nasiadka1-2/+1
Change-Id: I6564886f68a997b82b49b6f975283a6d95831ce6
2023-02-08Merge "rabbitmq: upgrade to 3.11"Zuul1-1/+1
2023-02-01rabbitmq: upgrade to 3.11Michal Nasiadka1-1/+1
Change-Id: I4836806c0434caaff1e6fd1646aa5566b0c3d7e1
2023-02-01toolbox: bump ansible-core to 2.14Michal Nasiadka1-1/+1
Change-Id: I17045980b6f73a0395b1bdfd3b1b6b63679284c9