aboutsummaryrefslogtreecommitdiff
path: root/docker/nova/nova-base/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-86/+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>
2025-10-02Move repo enablement to respective rpm blocksMichal Nasiadka1-1/+2
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-03-20nova/aarch64: Fix qemu-efi build failuresMichal Nasiadka1-1/+1
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-02-06Install pycadf from pypi packageMichal Arbet1-1/+1
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
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-02-26Remove calls to libvirt repoMichal Nasiadka1-1/+1
It does not exist in repos.yaml since [1]. [1]: Id585c7744ba130ad1dfc28138fb0f9e6eeae771d Change-Id: Ic74eba44fc6e5508976de24cf20a5039f3292731
2024-01-17Fix openstack CADF audit maps and installationMichal Arbet1-0/+1
This patch fixes missing pycadf's audit maps for services and change the way how pycadf is installed. Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/905858 Closes-Bug: #2047941 Change-Id: I9b43d1a9990ad8aa7381ea81b0f2d692967be949
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-04-21flatten images a bitMarcin Juszkiewicz1-9/+7
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-74/+31
Big patch drops all mentions of binary images support. Suggestions are welcome how to split it into parts or handle better. Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2022-03-01Use python3-openvswitch from distroMichal Nasiadka1-2/+4
We should use the same Python OVS bindings package version as running OpenvSwitch. See related bug. Closes-Bug: #1961874 Change-Id: Id6968e3ec1093f26f25f3045e2a6d8cc4f41adaa
2022-02-08Revert "nova: drop pypowervm dependency"Marcin Juszkiewicz1-3/+0
This reverts commit 7de91fd60355104cbd650e0fe6f680b2eb0f2ffa. Reason for revert: Nova dropped pypowervm dependency so we do not need to handle it anymore. Change-Id: I8bb6c4c07c30f108e77fbb8cdc38d634b42b900f
2021-12-01nova: drop pypowervm dependencyMarcin Juszkiewicz1-0/+3
Nova depends on pypowervm for POWER architecture support. But it is unmaintained upstream and breaks CentOS builds (wants to install Py2 only 'futures' package). Change-Id: Ife9385c93239e910db2e4405ec4661f667357bc0
2021-05-11Drop ppc64le supportMarcin Juszkiewicz1-8/+0
We do not test support for ppc64le on CI or other systems. In previous cycles it was used by TripleO and now they have own way. Change-Id: Ibd955869a6f9485dfa4d08a8ad2f4b28b7d59c15
2021-04-13centos: enable repos where neededMarcin Juszkiewicz1-1/+1
With RDO use we did not disabled some repositories. This patch disable them and enable where needed. Change-Id: Ia9d537fe9c1ad54789d2bfb4027254fbb3defe7e
2021-03-23enable 'libvirt' repo for images with python*-libvirtMarcin Juszkiewicz1-0/+1
There are several images installing 'python3-libvirt' package. Which for Debian reside in 'libvirt' repo. So let's enable it where needed. Change-Id: I1c91d27f2578f5ca7c83c4747725b1d9371880b0
2021-02-04get rid of traces of CentOS 7 supportMarcin Juszkiewicz1-43/+12
Change-Id: I4d20f23a9b26364943bf967908255d82c8f6621b
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-01-30nova: use proper uefi package names under CentOS/RHEL 8Marcin Juszkiewicz1-0/+16
Change-Id: I92be17ef1ce0f81ab3f49433a0d1e688874ba64e
2019-09-18Remove support for OracleLinuxMark Goddard1-4/+4
We have agreed to remove support for Oracle Linux. http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006896.html Change-Id: I961dfba1aeef2c509ecdaf376dfe6928926ffb39 Depends-On: https://review.opendev.org/682858
2019-07-12Limit OVMF_CODE.secboot.fd to el7Alex Schultz1-1/+1
This is no longer needed for el8 Change-Id: I5026a31d3a29b5a31001c6c1f9b90b2a32af6a4b
2019-06-06Debian/Ubuntu: move to Python 3 for source imagesMarcin Juszkiewicz1-1/+1
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-13Drop redundant rpms from nova-base package listJon Schlueter1-12/+0
- openstack-base explictly pulls in python[3]-keystoneclient - openstack-base pulls in python[3]-openstackclient which pulls in python[3]-cinderclient This simplifies the python2/3 cases, and reduces how many times these 2 packages are installed Change-Id: If8eb4dc1c5d5de88a8d9b59920b01d09cb585ebb
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-1/+11
RDO is currently working on python3 support for the next version of CentOS/RHEL based systems. This package uses the distro_python3 flag that was added as part of I4028991bad92c0e8e21066cc4173c06ce5eba393 to use the python3 specific package names. This change only adds python3 package names for RHEL systems. Conflicts-With: https://review.openstack.org/#/c/636457/ Change-Id: Iad6b70b433a0dd1b0f8ae6790fd280594517661a Related-Blueprint: python3-support
2019-03-06Merge "debian/ubuntu: make use of Python3 based packages"Zuul1-1/+2
2019-02-28debian/ubuntu: make use of Python3 based packagesMarcin Juszkiewicz1-1/+2
Both Ubuntu Stein UCA and Debian 'buster' migrated their OpenStack packages to Python 3. Note that Debian 'buster' is not released yet and contains Rocky packages. Stein ones will be available later. Co-Authored-By: Lee Yarwood <lyarwood@redhat.com> Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com> Change-Id: I160f79cc57f54ec3eac857c5babd1a6e2656d228
2019-02-27nova: Remove bridge_utils from base packageLee Yarwood1-4/+0
The dependency on bridge_utils has now been removed from os-vif and so the package is no longer required in the base container. Depends-On: https://review.openstack.org/#/c/636822/ Change-Id: I0924f6bc11558366d6d49472cdd338e43b744030
2019-02-21nova: Only install OVMF on EL 7 when installing from sourceLee Yarwood1-6/+10
This use case was missed in Ic8f865ed9cfc89056991ce4fa50a99c4937af33b. Change-Id: Ibe4c459d60f1143c76657588ed9c0081bda92239
2019-02-18nova: Only install OVMF packages on RHEL 7Lee Yarwood1-6/+10
These packages have been provided as direct dependencies of QEMU in more recent versions of Fedora and will continue to be for RHEL 8 and it's derived distributions. https://src.fedoraproject.org/rpms/qemu/blob/f29/f/qemu.spec#_820 Change-Id: Ic8f865ed9cfc89056991ce4fa50a99c4937af33b
2019-01-17Use base_package_typeAlex Schultz1-5/+5
This change updates the docker files to use base_package_type instead of doing specific distro checks for the rhel/deb generic cases. The base_distro is still available and is used when a specific distro needs a customization but if the differences are purely rpm vs deb, then the base_package_type can be used. Change-Id: I8d720bb185df65a0178061ccf20b1ab2265da2c5
2018-10-15Install UEFI related package for nova imageJeffrey Zhang1-1/+53
- for x86_64 arch, install OVMF for RHEL family and ovmf for Debian family - for aarch64 arch, install AAVMF for RHEL family and qemu-efi for Debian family - there is no package support for ppc64le Closes-Bug: #1796558 Change-Id: Ie1c688e74ec2aa3b6169c0a18a856dd0c92fe443
2017-05-19Allow nova plugins install, add blazar pluginEduardo Gonzalez1-1/+9
Allow install plugins in nova base container for source builds. Implement blazar-nova plugin in nova. Change-Id: I4e3591a3b3d18d5830d32fa25cac5e657b00508c Partially-Implements: blueprint blazar-images
2017-05-03Override image's meta info.Jawon Choo1-1/+1
centos based images have wrong label info, these changes fix own image's name and build-date. Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c Closes-Bug: #1680341
2017-04-20Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2Chen1-1/+1
Use LABEL instruction instead of MAINTAINER (deprecated) instruc- tion as suggested by Docker's official dockerfile guide. docs.docker.com/engine/reference/builder/#maintainer-deprecated Closes-Bug: #1683652 Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
2017-04-04debian: enable all images enabled for UbuntuMarcin Juszkiewicz1-2/+2
Debian support is not maintained in Kolla so it got a bit behind Ubuntu one. This changeset enables Debian for all images. Jessie (even with backports) may be too old for some images though. Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order like it is done for RPM distributions. Partially-Implements: blueprint multiarch-and-arm64-containers Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
2017-03-28Alphabetize packagesEduardo Gonzalez1-12/+12
Some images have packages sorted alphabetically and some not. Unify common style between all images. Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-02-17Use install-pip macro in most source imagesChao Guo1-1/+6
1. Enable customization of pip packages in source branch of most images 2. All pip packages install uniformly through install-pip macro, user can easily customize his own pip command (For example using a mirror) Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com> Change-Id: If09582039f690fa4136e8f33200d5da15e092da7
2017-01-17use static uid/gid in imagesSam Yaple1-6/+4
This centralizes all user and group creation into a single source. This will fix any current and furture uid/gid mismatches (such as with nova-libvirt). In the process, we also unify users between the distros in a standard way. The users in the following containers change from thier defaults: Ubuntu: _chrony user is now chrony Ubuntu: memcache user is now memcached All: qemu user is used for ownership and socket permissions All uid and gid numbers are customizable via kolla-build.conf Co-Authored-By: Kris Lindgren <klindgren@godaddy.com> Change-Id: I120f26ab0683dc87d69727c3df8d4707e52a4543 Partially-Implements: blueprint static-uid-gid
2016-11-03Remove Fedora supportChristian Berendt1-2/+2
Closes-bug: #1616387 Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-09-13Add header blocks to all DockerfilesPaul Bourke1-0/+2
Change needed to add header blocks to all Dockerfiles, similar to the base. Use case is to easily run something before packages are installed, e.g. to COPY a local rpm in that can be added to the package list. Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee Closes-Bug: 1618969
2016-08-25Customizations for NovaPaul Bourke1-27/+36
Change-Id: I7556d6cd473516c7ceb4aba7c1ba1130af2544ee Partially-implements: blueprint third-party-plugin-support
2016-08-20Pin to Ubuntu 16.04Jeffrey Zhang1-0/+1
Upgrade Ubuntu base image to Xenial Closes-Bug: #1593599 Change-Id: I5832a729a9a4fa73c02442047c92ba088ce20db3
2016-07-05Fix the overwrite sudoers file issueJeffrey Zhang1-2/+2
Change-Id: I4b109f7fdc3b8e49defed26979b04ca158842e98 Closes-Bug: #1598423
2016-05-26Update ubuntu dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-2/+2
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe Closes-Bug: #1569417
2016-04-13Update Nova dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+2
Change-Id: Ie3731732f2026cd0d3a1bda2925be2b6479ae5c7 Partial-Bug:#1569417
2016-04-08Fix the qemu has nova permission in nova instances folderJeffrey Zhang1-1/+2
Fix the permission issue on different distro * In CentOS, add the qemu to nova group in CentOS * In Ubuntu, add the nova to libvirtd group Co-Authored-By: Steven Dake <stdake@cisco.com> Change-Id: I1f4f9ce29abf0d788965fe94d8918b10a7169a75 Closes-Bug: #1568012
2016-04-03Implement nova-ssh containerJeffrey Zhang1-3/+3
Add a nova-ssh container to handle the `nova migrate` and `nova resize` case, in which the nova will use ssh to copy files between machines. Change-Id: Ie6675943f3aeabfbba8589d308d55b9c89d732db Closes-Bug: #1562141