aboutsummaryrefslogtreecommitdiff
path: root/docker/cinder/cinder-api
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka2-36/+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-04-28Remove httpd_setup calls from api containersMichal Nasiadka1-2/+0
We have dropped mod_wsgi support from services in [1]. [1]: https://review.opendev.org/c/openstack/kolla-ansible/+/982414 Change-Id: Ie5da8427706dfb74bad4e174c990355a6870114c Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-09-18cinder: Remove wsgi script handlingMichal Nasiadka1-4/+1
Cinder removed it in I28666e63896fed0f1661b5964ec46952074f4b23 Change-Id: I69ec97fe8480d27942cc923c170ec3cd669caf06 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
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-22adjust permissions on _extend_start files (part II)Marcin Juszkiewicz1-1/+1
Tim Shearer started it in 1d96a2bbe1b536b7d7f4cdbf55c6dabae6d058ae. Since all extend_start files are sourced rather than executed, the executable bits are now cleared throughout the project. Change-Id: Ia1797c32fc6a35f9f077c673abf4d8e16e51a760
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-09docker: drop binary partsMarcin Juszkiewicz1-18/+2
Big patch drops all mentions of binary images support. Suggestions are welcome how to split it into parts or handle better. Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2020-08-11Remove weird depsRadosław Piliszek1-1/+0
This is a follow-up on "Refactor httpd install to base image" [1]. It seems a copy-paste algorithm was used to craft Dockerfiles for some httpd-enabled services which resulted in an abundance of ldappool packages getting installed, even in the 'source' case. This seems to have also kept ldappool at a lower version because it did not get updated via pip later. This patch deals with that and also moves ldap deps for Keystone to their proper place in 'source' case (extras). Note Keystone client gets installed in openstack-base. Cinder does not need to include Keystone either. [1] https://review.opendev.org/744037 Change-Id: I017d7a6a5d2b1ae6c04556dcf172453a36de5be7
2020-08-10Refactor httpd install to base imageJames Kirsch1-33/+4
Refactor installing and initial setup of httpd and mod wsgi from individual services to base image. Change-Id: I651a55a9ebe258ef403d33de010a4dfb368a4021
2020-06-24Remove unused variable MAX_NUMBERPierre Riteau1-5/+1
This variable won't be used by Kolla Ansible once change Ia786d037f5484f18294188639c956d4ed5ffbc2a is merged. Change-Id: I600e24896e74496f05387183c10d6c8c6bbbb17b Depends-On: https://review.opendev.org/735617
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz1-15/+1
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-12Fix invalid test in cinder data migration scriptGauvain Pocentek1-1/+1
The extend_start.sh script for cinder-api uses an incorrect test to check if the MAX_NUMBER variable is set. This leads to a incorrect cinder-manage command being run if this variable is not set, making the database migration fail. This change fixes the test to properly use the MAX_NUMBER variable. Change-Id: Ie46da709db0de09a9cf641b3c154275282f213fc Closes-Bug: #1866827
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2019-12-11Refactor Apache httpd setupMark Goddard1-13/+1
All Apache httpd setup has been moved to a new helper script, kolla_httpd_setup. This includes the existing clean of /run/httpd, /var/run/httpd, /tmp/httpd etc. Horizon has an additional bit of Apache config for Debian/binary, which has been kept in extend_start.sh for horizon. Change-Id: Ia2af74b69c151db0bd7e452460b0babcee50b282 Related: blueprint centos-rhel-8
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-06-03create missing apache2 directory on Debian/UbuntuMarcin Juszkiewicz1-0/+1
Ubuntu/source deployment of several images (horizon, placement-api, zun) failed with: + exec /usr/sbin/apache2 -DFOREGROUND apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot Change-Id: Ie2a1077f7def0743f1403341985e2109aa490026
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-1/+16
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-02-28debian/ubuntu: make use of Python3 based packagesMarcin Juszkiewicz1-1/+1
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-01-17Use base_package_typeAlex Schultz1-4/+4
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-01-05Apply Cinder rolling upgradeDuong Ha-Quang1-0/+9
Apply Cinder database migration procedure: [1] https://docs.openstack.org/cinder/pike/upgrade.html Change-Id: I9a847b0a916a85d8f2622e93734330da5122f0d8
2017-10-02cinder-api: handle Debian tooMarcin Juszkiewicz1-1/+1
Change-Id: Ia4e24568f557a9dd6681a6cdd6def6869b8b6d16
2017-07-06Merge "Migrate cinder-api under apache"Jenkins1-10/+14
2017-07-04Migrate cinder-api under apacheEduardo Gonzalez1-10/+14
Cinder-api in ubuntu binary was migrated under apache because ubuntu packages removed support to system services. This change migrate other install_types under apache to unify all types. Change-Id: Iad6792142019134513a378a7ad9955888ef320e9
2017-05-12Fix if $user is root at extend_startegonzalez901-1/+1
In ubuntu is not evaluating correctly if $user == root check at extend_start. Changing to "$(whoami)" == 'root' fixes the issue Change-Id: I296a1f98764cdfa09650c483bc7beba53e6bdba4 Closes-Bug: #1690360
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-20Merge "Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2"Jenkins1-1/+1
2017-04-20Add missing cleanup step for new apache imagesMartin André1-3/+4
A few new images got apache as part of blueprint apache-packages-for-apis without a cleaning up. Without this step the containers may fail to restart due to runtime files already present. This commit fixes it for all images with the exception of heat-base so that it can be cleanly backported to stable/ocata. It also removes the unused APACHE_DIR variable from freezer-api and keystone extend_start.sh script. Change-Id: I47d75221b3d1aae91f11d3e0da83e221a00315b7 Closes-Bug: #1679565
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-19Fix cinder-api ubuntu binaryEduardo Gonzalez2-1/+20
This changes moves cinder-api to make use of apache to launch its processes. Ubuntu binary removed support in Ocata for cinder-api system services [1]. At this moment cinder in Ocata branch is not working at all due this issue. This changes aims to fix cinder in master only for ubuntu binary with the purpose of make a clean backport to stable/ocata without do any other change on the backport process. A follow up change will migrate other OS/install_type to make use of Apache but only changing master branch. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-January/111069.html Change-Id: I86ae3ec899e9b7b1ad9f727b9b9bb3549738f944 Closes-Bug: #1676751
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-5/+5
Some images have packages sorted alphabetically and some not. Unify common style between all images. Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-03-27RHEL: Add mod_ssl for services running over httpdJuan Antonio Osorio Robles1-4/+8
This apache module is necessary for when one wants to use TLS for the services running over httpd. This only addressed RHEL based systems at the moment, since there is no such package available for Ubuntu. This requires apache2.2-common which will carry a lot more dependencies; So I think this should be handled and decided in a separate patch. when installing mod_ssl in RHEL-based distributions, an ssl.conf file is installed in the /etc/httpd/conf.d directory. This file tells httpd to listen on port 443; however, we don't want to do this by default, since this should be explicitly enabled by the container's configuration. This line is thus removed from the configuration. A release note was added, which specifies this. And the last sentence can be removed if this is addressed for debian/ubuntu as well. Related-Bug: #1675490 Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: Id6215d31547247309d43c031e163fa9e4c4ec5dc
2017-03-23Prevent apache from listening on port 80Martin André1-2/+8
A few new images got apache as part of blueprint apache-packages-for-apis without restricting it to listen on port 80. This commit fixes it for all images with the exception of heat-base so that it can be cleanly backported to stable/ocata. Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com> Change-Id: Idd3bbeffea9233eaed420798e22ea9a3a517c166 Closes-Bug: #1675308
2017-02-07Merge "Remove include_header and include_footer in all Dockerfiles"Jenkins1-1/+0
2017-02-05Delete the extra blank lineszhubingbing1-13/+0
Change-Id: I41fdfd819c7b162f949a50f928350f246eba7df4
2017-02-05Remove include_header and include_footer in all DockerfilesJeffrey Zhang1-1/+0
include_header and include_footer parameter is already removed, remove them in all Dockerfiles. Add missing footer block. Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-01-12Add Apache packages to cinder-api containerDan Prince1-2/+27
Some projects that use Kolla docker containers (TripleO) run cinder-api under httpd. This patch adds the httpd package so that it exists in the container and can optionally by used via Docker entrypoints. As many of these projects do not require the use of Apache (it is opt-in) at this point not all deployment frameworks support the use of it so the existing configuration defaults have been left as-is for now. Partial-Blueprint: apache-packages-for-apis Change-Id: Ibf9665c268465971f92218833542e20623d1d296
2016-11-03Remove Fedora supportChristian Berendt1-1/+1
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-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-11Customizations for CinderPaul Bourke1-6/+14
Implement the new Jinja2 based templating patterns for Cinder, as outlined in the below blueprint. Change-Id: I8d0131aff9cc406bd80ce384003308aee672412a Partially-implements: blueprint third-party-plugin-support
2016-05-26Update ubuntu dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+1
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe Closes-Bug: #1569417
2016-04-13Update Cinder dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+2
Change-Id: I73a97fa7b7f4a38aea778d9e7e482f35e22c62a8 Partial-Bug:#1569417
2016-02-24Remove duplicate code in cinder extend_start.shÉric Lemoine2-9/+2
Change-Id: I71953c905b978176bf7dc6bcaf3c4766be4b60fb Partial-Bug: #1546944
2016-02-19Make Heka collect Cinder logsÉric Lemoine1-0/+7
Partially implements: blueprint heka Change-Id: I9dcb71a9cf063fb520fcf3485e0376f1e90d87ad
2016-01-21Cinder ubuntu binary containerArtur Zarzycki1-0/+6
Change-Id: Idfdeee030441a61e5bb1936dea9e5e84c243f156 Partially-Implements: blueprint binary-ubuntu
2015-12-01Drop root for cinderSwapnil Kulkarni (coolsvap)2-1/+3
Updates to ensure commands run in the cinder containers are done as the 'cinder' user rather than root. Change-Id: Ibbe04e3a92195dfb957fa56f762c60a80dbe30ca Partially-Implements: blueprint drop-root
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