aboutsummaryrefslogtreecommitdiff
path: root/docker/horizon/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-74/+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-29Merge "kolla-build: fix build-date LABEL invalidating Docker layer cache"Zuul1-1/+1
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-19Merge "Revert "horizon: pin setuptools <82""Zuul1-5/+1
2026-06-19Revert "horizon: pin setuptools <82"Michal Nasiadka1-5/+1
This reverts commit 4cdf881631eb0a671b9f70d5afefa6ead1949118. Reason for revert: It's fixed in Horizon Change-Id: If7e6ad7114c69de2435732a45f7a86a7b9bfeca1 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-05-06Drop apache installation outside of httpd container22.0.0.0rc1Michal Nasiadka1-4/+0
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/986483 Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/986352 Change-Id: Ia66dde09bbbad2a5a9e67a8c642f3223ca38be43 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-03-16horizon: add django-redis dependencyPiotr Milewski1-1/+2
Add django-redis to the Horizon image to support Redis/Valkey as Django cache and session backend. Closes-Bug: #2093414 Change-Id: Ib327dfb770aea5d953baba2399f97cf3ea12defd Signed-off-by: Piotr Milewski <vurmil@gmail.com>
2026-02-09horizon: pin setuptools <82Bartosz Bezak1-2/+5
setuptools 82 removed pkg_resources [1] [1] https://setuptools.pypa.io/en/stable/history.html#v82-0-0 Related-Bug: #2141293 Change-Id: Iced7662f7e58b9f094306e9a6c4f1b5a79f48b17 Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
2025-10-27horizon: unpin pip and setuptoolsMichal Nasiadka1-1/+0
Since Venus is removed - that is not needed anymore Change-Id: I444304139dfbe451b5449a181de1129f073b7535 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-27horizon: pin pip to <25.3Michal Nasiadka1-1/+1
Closes-Bug: #2129916 Change-Id: Ib1b40a65cb2667b53c72f00d16bfe280bcf24bfe Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2024-12-11Remove setuptools pinMichal Nasiadka1-0/+2
Change-Id: I7d08ebb65e2de82e3edba7bd9307b2b6ac8cb7a8
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-1/+1
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-02-05Rework horizon image to support local_settings.dMichal Arbet1-1/+11
The local_settings.py config is rendered by kolla-ansible orchestration, which is not a good approach because upstream local_settings.py can be changed anytime and that can be a problem, as it was shown recently with the new version of horizon. Fortunately, horizon supports local_settings overrides in local_settings.d directory and moreover it's preffered way how to configure horizon as per doc [1]. This patch just change the structure of files to support it. [1] https://docs.openstack.org/horizon/latest/configuration/settings.html Change-Id: Ib0c060adffe5287d786ba9247c6b962732cdb5e0
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
2022-10-10Fix writable rootwrap/privsep configRadosław Piliszek1-1/+0
Fixes a hypothetical security issue related to privilege escalation via rootwrap/privsep. A potential vulnerable service could previously allow writes to its rootwrap/privsep config and thus allow for more commands to be run with root privileges via rootwrap/privsep. For a succesful attack, this would also require the service to allow to run arbitrary commands via rootwrap/privsep. Thus far, no such vulnerabilities have been reported and thus this fix is simply strengthening the container images against such an issue in the future. Change-Id: I92c81c77e6a16570a108cde8031f7977930fb02a Closes-Bug: #1874298
2022-09-27Move to CentOS Stream 9Marcin Juszkiewicz1-1/+0
OpenStack 'zed' requires Python 3.8+ so RHEL 8 family has to go. This changeset moves to CentOS Stream 9 while move to RockyLinux 9 is planned as final solution. CI moved to CentOS Stream 9 nodes. Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/839715 Change-Id: I113b9984294cf8663d3fc0c8840320e1d40ea731
2022-04-21flatten images a bitMarcin Juszkiewicz1-4/+4
As we have one type of images now some RUN calls could be merged so we will have less layers in resulting images. Change-Id: I5178c58fbd8c65efe825dc249c0f1368ef0fe8e0
2022-04-11Adjust permissions on _extend_start files.Tim Shearer1-1/+1
Explicitly set the permissions on the kolla-toolbox kolla_extend_start file. Also, since all extend_start files are sourced rather than executed, the executable bits are now cleared throughout the project. Change-Id: I5c2deb4a2e33575d57c852089f856a9acc6818d0
2022-04-09docker: drop binary partsMarcin Juszkiewicz1-105/+11
Big patch drops all mentions of binary images support. Suggestions are welcome how to split it into parts or handle better. Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2021-11-23horizon: add various dashboard plugins for ubuntu/binaryMark Goddard1-9/+10
These were added for Debian/binary, but not Ubuntu/binary. Change-Id: I74bfa6326d8a72f9bba409e6a725fdb55b48c6b1 Closes-Bug: #1931075
2021-07-29Merge "Add missing default policy files for debian-binary-horizon"Zuul1-1/+1
2021-07-03Add masakari-dashboard to debian binary horizon imageMichal Arbet1-0/+1
This patch is adding python3-masakari-dashboard to debian binary image as we added masakari-dashboard to debian in wallaby cycle. Change-Id: Ie3f357eaae5d1378ada32451dbd74f01f5cd2ba2
2021-07-01Add missing default policy files for debian-binary-horizonMichal Arbet1-1/+1
The debian-binary-horizon image is missing the default policies files which should be in /etc/openstack-dashboard/default_policies. By copying everything from /etc/openstack-dashboard/policy into /etc/openstack-dashboard, we get the default policy files, as well as commented out policy files (e.g. cinder_policy.yaml) and the nova_policy.d directory containing api-extensions.yaml. Change was merged for ubuntu in [1] but unfortunatelly not for debian, this trivial patch fixes it also for debian. [1] https://review.opendev.org/c/openstack/kolla/+/794589 Closes-Bug: #1933759 Change-Id: I822d640a251e6ed9f71c76a922513e23e4218418
2021-06-03Add missing default policy files for ubuntu-binary-horizonPierre Riteau1-1/+1
The ubuntu-binary-horizon image is missing the default policies files which should be in /etc/openstack-dashboard/default_policies. By copying everything from /usr/share/openstack-dashboard/openstack_dashboard/conf into /etc/openstack-dashboard, we get the default policy files, as well as commented out policy files (e.g. cinder_policy.yaml) and the nova_policy.d directory containing api-extensions.yaml. Change-Id: I3c6fdcb9b7dd7443a7755599f7e4ee59f67e0a91 Closes-Bug: #1930586
2021-03-22centos: enable PowerTools repo in images which needs itMarcin Juszkiewicz1-0/+1
We moved to CentOS Stream 8. Just no one noticed that binary target was failing to build. This change sorts out all failing images. Change-Id: Ia7768caabfe214a629339d50973d0d9873fc65d5
2021-01-25Remove zaqar image and related pluginsChristian Berendt1-1/+0
Signed-off-by: Christian Berendt <berendt@betacloud-solutions.de> Change-Id: Id3187b2b95e9b9bd3d9233a498f7c45e66c604c7
2020-08-10Merge "Refactor httpd install to base image"Zuul1-24/+4
2020-08-10Refactor httpd install to base imageJames Kirsch1-24/+4
Refactor installing and initial setup of httpd and mod wsgi from individual services to base image. Change-Id: I651a55a9ebe258ef403d33de010a4dfb368a4021
2020-08-05Add missing horizon plugins for debian based OSMichal Arbet1-1/+9
Change-Id: I220fb14a1c5a2bd1fdbc0fa4e5316da41a70c788
2020-06-30Merge "Remove deployment of FWaaS"Zuul1-1/+0
2020-06-21Fix horizon debian binary docker imageMichal Arbet1-3/+4
Debian packages are different from ubuntu packages. Differencies in /etc/openstack-dashboard: - Symlinking {{ python_path }}/openstack_dashboard/local/enabled/ -> /etc/openstack-dashboard/enabled - Symlinking {{ python_path }}/openstack_dashboard/local_settings.d/ -> /etc/openstack-dashboard/local_settings.d - Symlinking {{ python_path }}/openstack_dashboard/conf/ -> /etc/openstack-dashboard/policy Every dashboard-plugin debian package is copying his policy files, local_settings, enabled to above locations. Every dashboard-plugin is triggering dpkg and collect-static, compress is done by openstack-dashboard package. Kolla has to remove all these debian package's configs and provide kolla configs. Move also /etc/openstack-dashboard/policy to standard location and delete symlink as kolla-ansible is overriding default policy files path to /etc/openstack-dashboard/. Change-Id: Ieca15bdb315d52e9547d798df11641ef36485b26 Depends-On: https://review.opendev.org/733612
2020-06-18Remove deployment of FWaaSAlfredo Moralejo1-1/+0
FWaaS is being retired upstream [1][2] in V cycle. [1] https://review.opendev.org/#/c/735838/ Change-Id: I45679c8596844780565644e52034bd3de0915ff4
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz1-16/+3
With the move to RHEL/CentOS 8 we no longer have Python 2 in our images so there is no need for checking which Python version (2.x or 3.x) is used inside of containers. We also no longer have to support yum as a value for distro_package_manager. Partially-Implements: blueprint centos-rhel-8 Change-Id: Ie45cf3465fedddbde7856961527421883ba3d5c9
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-01-07horizon: fix build in stable branchesMarcin Juszkiewicz1-0/+2
When [1] was committed, horizon stopped building for Train. Analogous patch is proposed to other stable branches. This patch removes horizon from upper-constraints. Kolla master is affected directly because we build Train for CentOS 7 atm. [1] https://opendev.org/openstack/requirements/commit/3e54878f9c87266e1b9775f72af06de27a3dad65 Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com> Change-Id: I1bd5a40eeef9612d995c81426fe510e89f438725
2019-12-06Revert "Introduce macro to remove Py3 only plugins on CentOS 7"Mark Goddard1-1/+0
This reverts the following commits: df987c9d3fca40e0a7529e48a3626dfdd58e2168 d866c63a32a494b8643b166c3b1e36e463a7502f 6b40b655f124d0a95f1b7d89ce04236606a02010 These are no longer necessary as we are using stable/train branch for source images until CentOS 8 / python 3 support is available and working. Change-Id: I5aedf1141862d51c5bb676a7393fc131c452c914 Related: blueprint centos-rhel-python-3
2019-12-05Introduce macro to remove Py3 only plugins on CentOS 7Marcin Juszkiewicz1-4/+1
As CentOS 7 is Python 2 we need a way to remove plugins used in OpenStack components once they switch to be Python 3 only. 'remove_py3_only_plugins_for_py2' macro does exactly that. This change also disables networking-bgpvpn for python 2. Change-Id: Ib90aabc485f1c831d3d41cc0f70052f8fffc3fe6 Related: blueprint drop-py2-support
2019-11-28Horizon: install vitrage dashboard on DebianViktor Michalek1-0/+1
Change-Id: I4e60fcd767f15b7da90b0143008b1d6d794c76f2
2019-11-28horizon: do not build neutron-vpnaas-dashboard for CentOS 7Marcin Juszkiewicz1-2/+2
This plugin moved to Python 3 only: Change-Id: Ifa664ff2d65a7cbc969c4b1c279eae1ac21225d7 INFO:kolla.common.utils.horizon:[91mERROR: Package 'neutron-vpnaas-dashboard' requires a different Python: 2.7.5 not in '>=3.6'
2019-11-12Disable Searchlight for CentOS 7/sourceMarcin Juszkiewicz1-0/+4
Searchlight is Python 3 while CentOS 7/source images are Python 2 Change-Id: I9d2e4f3630efad91b5cc94085ad1dd1f6680e017
2019-10-03Horizon: change location of policy files in DebianViktor Michalek1-0/+2
Change-Id: I7f818141506adee67d568061a93e3c13c65f24db
2019-10-01Horizon: fix for DebianViktor Michalek1-4/+16
Stein/Buster packages are enabling plugins by default at its installation time, but we actually know what plugins should be enabled just only at the deploy time. Therefore we need to install all available plugins and disble them right at the image build time. Plugins will be enabled according to deployment (kolla-ansible) configuration at deploy time. Change-Id: I9604ebb4f2a5081fd1209b9841aa997a70a90a11
2019-09-20[horizon] Install octavia dashboard on debDincer Celik1-0/+1
Change-Id: Iec78660049085483b207f4bdcf48f572d845c600
2019-07-01Fixes wrong local_setting.py file issue for Ubuntu binary deployment.Dincer Celik1-0/+2
This bug both affects Rocky and Stein. local_setting.py was not linked to local_settings under /etc/openstack-dashboard so Horizon runs with default settings. Change-Id: I818876619694695663c98d9edcb8c8514198e8fd Closes-Bug: #1803029
2019-06-26Speed up builds of horizon slowed down by recent upstream changeRadosław Piliszek1-4/+4
Builds of horizon needlessly ran many compilemessages iterations for core horizon parts because of using horizon's manage.py in a loop. The behavior was caused by recent upstream change ([1]). It caused CentOS source builds to take too long time and time out in CI. This patch switches to using django-admin. [1] https://opendev.org/openstack/horizon/commit/4e911e2889ebe7f0a577a0323649dceb9cef363c Change-Id: I737f80566dd263ed291e215968ec72a95ad41a5f Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-06-15Merge "Remove Neutron LBaaS support"Zuul1-2/+1
2019-06-07Remove Neutron LBaaS supportCarlos Goncalves1-2/+1
The project has been retired and there will be no Train release [1]. This patch removes Neutron LBaaS support in Kolla. [1] https://review.opendev.org/#/c/658494/ Depends-On: https://review.opendev.org/#/c/663875/ Change-Id: I99484c48ed09f7e015e134bdff1f298c359c6905
2019-06-06Debian/Ubuntu: move to Python 3 for source imagesMarcin Juszkiewicz1-2/+2
Commit 43b74ccc157c0b50138c3785ed91dab504895571 enabled use of Python 3 based packages but not switched to use Python 3. Some of images still contain Python 2. There are two reasons: - Ceph (ceph-common depends on Py2) - python3-ldappool on Ubuntu 18.04 In Ceph situation Py3 packages were added. For second one we can not do anything - Py2 dependency got dropped in Ubuntu 18.10 version. Removed neutron-server-plugin-networking-infoblox due to being not maintained. Once https://review.opendev.org/#/c/657578/ get merged someone may revert that part. Implements: blueprint debian-ubuntu-python3 Depends-on: Ie2a1077f7def0743f1403341985e2109aa490026 Change-Id: Ibfe0c2b8be98db56c61f74fb0247488ab3749ef4
2019-03-15Fix lower-constraints and kolla CI jobsMark Goddard1-1/+1
Multiple fixes to fix multiple problems. 1. Bump setuptools requirement to 21.0.0 The 16.0.0 requirement breaks the lower-constraints job on Ubuntu bionic. We see the following error: AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 2. ubuntu-binary horizon image needs to use python3 for django manage.py 3. ubuntu-binary nova-placement-api image needs to use python3 for apache mod wsgi. 4. nova-libvirt needs exact qemu dependencies due to packaging change 5. OracleLinux repos definition was changed in official image. 6. Fetch InfluxDB gpg key for Ubuntu base image from influx server. Change-Id: Ic797d41f53a5f146d112619f1683cbfbf3a85dc2