aboutsummaryrefslogtreecommitdiff
path: root/docker/magnum/magnum-base
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka2-41/+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>
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
2023-11-28Add magnum-cluster-api driver to Kolla imagesMohammed Naser1-1/+2
Change-Id: I6b8780c2b869929a02b624bfb8c6087d5a82c74a
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-5/+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-12/+0
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-01-12magnum: fix issue with keystone auth default policyMichal Nasiadka1-0/+1
Closes-Bug: #1957159 Change-Id: I042da2234d0a06f1b7ddcac9eb6db8b86f13d205
2021-07-28drop leftovers of RHEL supportMarcin Juszkiewicz1-4/+1
As a project we never built RHEL based images so support for them was not tested. Change-Id: I27dfe34ade088228d71f6857ec4f3ab28ee63915
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2019-01-18Fix magnum logic for rhelAlex Schultz1-1/+4
RHEL currently doesn't support magnum, so let's throw an error if it is built on rhel. Change-Id: Idfb94fd66e5eb841fb81ec4eeeaf13b7c5a3cede
2019-01-17Use base_package_typeAlex Schultz1-2/+2
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
2017-06-21magnum-base image has no footer blockMark Goddard1-0/+2
Change-Id: I60c64f0933c0c690f888134956eb3fece1fe0ab7 Closes-Bug: #1699462
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-1/+1
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-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-02-04Install osprofiler in magnum base containerJeffrey Zhang1-1/+1
Change-Id: Iaa3b0f61902382b473357d6acef951973cd5b673 Closes-Bug: #1661813
2017-01-17use static uid/gid in imagesSam Yaple1-5/+5
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-08Remove adding repo in magnum-base DockerfileJeffrey Zhang1-2/+0
delorean repo is added in base image. No need add it in magnum. Change-Id: I2bcbd31ee60fc52a01d08d501e8c668982d14576 Closes-Bug: #1640022
2016-11-03Remove Fedora supportChristian Berendt1-1/+1
Closes-bug: #1616387 Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-09-27Fix Magnum trustee issuesVikram Hosakote1-2/+2
This patch set fixes all Magnum issues in kolla master. The [trust] section set to magnum.conf using created trustee domain and user for Magnum in ansible/roles/magnum/tasks/register.yml using ansible openstack modules. Bump shade to 1.5.0 in kolla-toolbox because of os_user_role ansible module dependency. Certificate storage is changed from 'local' (non-production) to magnum's internal storage (x509keypair) or barbican. Co-Authored-By: Martin Matyas <martinx.maty@intel.com> Change-Id: Ifcb016c0bc4c8c3fc20e063fa05dc8838aae838c Closes-Bug: #1551992
2016-09-13Add header blocks to all DockerfilesPaul Bourke1-0/+3
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-29Change source with dot at extend_start filesEduardo Gonzalez1-1/+1
Is a best practice in Unix/Linux scripts to use dots instead of source command. Using dots will avoid issues with non BASH shells TrivialFix Change-Id: Ie6480a1954f853f79faffa093452715ebd9f7d90 Signed-off-by: Eduardo Gonzalez <dabarren@gmail.com>
2016-08-19Handle empty package list for install_packagesShaun Smekel1-1/+1
Currently if the install_packages macro is run with an empty package list, it will add a yum or apt-get command with no packages listed. This bug fix aims to omit this line when no packages have been given, or, the operator wants to use the "_override" / "_remove" functionality to disable all packages being installed in a Dockerfile. Co-Authored-By: Paul Bourke <paul.bourke@oracle.com> Change-Id: Ifaaaebfccc3adb0f2f68a35ac08e59378bc87fdb Closes-bug: 1612446
2016-08-05Customizations for magnumEduardo Gonzalez1-10/+6
This patchset contains customization of Dockerfile of magnum containers Change-Id: I0655cab1f1fc12bc109a49a20874170b5a99125e Partially-implements: blueprint third-party-plugin-support Signed-off-by: Eduardo Gonzalez <dabarren@gmail.com>
2016-05-25Add support for magnum ubuntu binary containersSwapnil Kulkarni (coolsvap)1-0/+6
Change-Id: I5ad90f96aa58a99765feb2a3bc96157a4a61310f Depends-On: If4be00b937e14ec93443dcb7249cf17099d57cbe Closes-Bug:#1582518
2016-04-12Update Magnum dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+2
Change-Id: Ieaad94d423d58b153bbf7f634be44a0e48ac775f Partial-Bug:#1569417
2016-02-24Remove duplicate code in magnum extend_start.shÉric Lemoine2-1/+4
Change-Id: Iaa7049834be784c7410970fb9f0b25086891211d Partial-Bug: #1546944
2016-02-19Make Heka collect Magnum logsÉric Lemoine2-3/+14
Partially implements: blueprint heka Change-Id: I91a977c6a3632c570f7a6054c8de3f5e3cb6932c
2016-01-28Use rdo magnum instead of sdake's copr for magnumVikas Jain1-15/+2
Steve is tired of maintaining a copr for Magnum. People bug him all the time to update the rpm for RDO. The RDO community has offered to take on the maintainance of the Magnum RPM. As this RPM won't be in current-passed-ci for some time so it needs to be pulled from current repo for the foreseeable future, possibly nearing the release of Mitaka. Change-Id: I9cfb02ab828251ef5bf40ca236f18b5f0f715e34 Closes-Bug: #1539325
2016-01-22Have curl follow redirects when downloading magnum repositoryDavid Moreau Simard1-2/+2
Otherwise curl downloads an html 302 found file Closes-Bug: 1537100 Change-Id: Ib77ef0efea54f03f187b97fac4322b473ff35dac
2015-12-27Fix pip install settingsSamYaple1-1/+1
There were some inconsistencies with pip install instructions thoughout Kolla. We fix those here. Additionally, we fix the virtualenv to properly use the site-packages on the host if a library is not available in the venv. Change-Id: Ib84d48e8826bb96060338b3fa0782620c98794a8 Related-Bug: #1524684 Closes-Bug: #1529434
2015-12-24import the gpg public key properlyJeffrey Zhang1-1/+3
include: * CentOS 7 RPM GPG key * Percona repo GPG key * OpenStack Magnum repo GPG key Closes-Bug: #1528988 Change-Id: I2419d1d130c2cc4466e884e4022b64d81109943b
2015-11-27Source installation in virtualenvMichal Rostecki1-1/+1
Use virtualenv for installation of OpenStack projects and dependencies to avoid conflicts with Python libraries installed by non-OpenStack binary packages. Change-Id: I21ecd673b2e93335b1d3dd4e279e940c9d694c3c Implements: blueprint virtualenv
2015-11-24Add missing usermod for magnumPaul Bourke1-0/+2
Change-Id: I19921f38c858ee7a88830773423d50a1a8162204 Trivial-Fix
2015-11-24Install magnum-common packages for binary buildsPaul Bourke1-2/+6
User magnum is missing from the binary image, install magnum-common to fix this. Closes-Bug: 1519390 Change-Id: I23e1206ab14b02de716374d28be2ef42e75e5beb
2015-11-23Remove hardcoded MAINTAINER in DockerfilesSwapnil Kulkarni (coolsvap)1-1/+1
Added new option in kolla-build.conf Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56 Closes-Bug:#1514304
2015-11-18Fix missing policy.json in MagnumPaul Bourke1-1/+1
The magnum api falls over on a request without this file in place Change-Id: Ic7ff8af22c3142d93e0dcf2b2ed5455685dec658 Closes-Bug: #1517152
2015-11-17Use pip upper-constraints in magnum-basePaul Bourke1-1/+1
Change-Id: Ibb5636d897c2b9177c54dfc13f6193e00107776b Closes-Bug: #1517144
2015-09-28Implement a install_type and install_metatypeSteven Dake1-1/+1
This prepares for the RHEL OSP implementation by making the build tool convert all binary-* into an install_type of binary and * into an install_metatype variable substitution inside the Dockerfiles. Further binary-* is substituted as install_name to enable proper building only. Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f Partially-Implements: blueprint rhel-based-image-support
2015-09-27Remove all fail sections for UbuntuSam Yaple1-2/+2
Ubuntu binary is not supported and may never be. Installing from cloud-archive packaging is only for the current stable distros, Ubuntu does not have a Delorean type repo. We place a fail message in the base image to catch this and remove the messages throughout the project. An additional fail message is placed to catch all other things. Change-Id: Id2953f503ebd42226f6a08e75979ae56511c40f7 Implements: blueprint install-from-ubuntu
2015-09-04Merge "Allow arbitrary source archive name to be imported into Dockerfile"Jenkins1-2/+2
2015-09-03Allow arbitrary source archive name to be imported into DockerfileVladislav Belogrudov1-2/+2
Currently we cannot import source archives with names different than expected by hardcoded line in Dockerfiles. This worked well for Openstack services' tarballs where we expected SERVICE-* root folder after extraction or kanaka-noVNC for nova-novncproxy docker. The latter fails if one tries to clone or get tarball under other names. This fix allows any archive (tar,tgz,zip) or repo name to be imported into dockerfile. Change-Id: I869a6a19afaf0e93925572746c22b7589b6600c9 Closes-Bug: #1491415
2015-09-03Create openstack-base containerSam Yaple1-1/+1
This creates and moves the dependencies for Ubuntu into a common openstack-base container. This commit shows dramatically smaller sizes for all non-openstack containers. The Openstack container remain the same size. Change-Id: I2f46420d4b9edcfddda374caddcce906fc708f6c Partially-Implements: blueprint openstack-common-container
2015-08-31Remove dest_filename from build.iniSam Yaple1-1/+1
We can, and should, figure out the filename dynamically rather than hardcode that value in build.ini since it is not actually a configurable paramater. Change-Id: I496d6555e9fa356ab09e62063fd707f43ed08121 Closes-Bug: #1490386
2015-08-28Move docker_templates to docker dirSam Yaple1-0/+29
Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir
2015-05-15Restructure builds to allow more flexibilitySam Yaple3-56/+0
As a restructure, nothing is changed from the original behaviour and naming despite the file structure changing. The symlinks to build had to be updated generating lots of "deleted" and "new_file". The new structure is: docker/${base_distro}/${type}/${container} base_distro == centos, ubuntu, fedora, etc type == source, binary, rdo type rdo is a symlink to binary for backwards compatibility Two new flags are added to the build-all script to support the ability to support different base distros and a flag to support binary or source containers. There are several added folders that are empty to hold the directory structure for future containers of these types. To use a prefix other than centos-rdo- you can set PREFIX in the toplevel directory .buildconf file Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
2015-05-11Add Magnum Containers as a Service to KollaSteven Dake3-0/+56
This adds Magnum Containers as a Service to Kolla. Change-Id: I572cd62845515f42a6a16291d2bd87ad8d972e24 Implements-blueprint: container-magnum