aboutsummaryrefslogtreecommitdiff
path: root/docker/cinder/cinder-volume
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka3-77/+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-01-13Adds missing nvme package in cinder-backupFelipeAFV1-2/+0
The package moved to the cinder-base image since it already added to the cinder-volume in I84c7633765749a5e9ced983505ef290c32154ccc. Closes-Bug: #2089587 Change-Id: I06e61ab388d9ecfa78e5d1fe1ae9cb8602d1cd36 Signed-off-by: FelipeAFV <ffigueroa@whitestack.com> Signed-off-by: Maksim Malchuk <maksim.malchuk@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-06-20Fix cinder-volume: add missing nvme-cli rpm packageMaksim Malchuk1-0/+1
Closes-Bug: #2024390 Change-Id: I84c7633765749a5e9ced983505ef290c32154ccc Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2023-06-18Fix cinder-volume: Add forgotten lsscsi rpm packageMaksim Malchuk1-0/+1
Closes-Bug: #2024018 Change-Id: I7eb97c6bfb65f26b044f26fece09521836ac5a3b Signed-off-by: Maksim Malchuk <maksim.malchuk@gmail.com>
2022-04-27Add multipath to cinder-volumeVladislav Belogrudov1-0/+2
Cinder-volume container can operate on multipath devices but fails to do so due to absent multipath package for several images. This fix explicitely adds multipath to the image. Closes-Bug: #1970541 Change-Id: I14af40078508b06e46866b77ab200228ec827a0d
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-09docker: drop binary partsMarcin Juszkiewicz1-24/+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-01Merge "cinder-volume: Install binary python libs only in binary"Zuul1-18/+20
2021-10-28cinder-volume: Install binary python libs only in binaryMichaƂ Nasiadka1-18/+20
Change-Id: Iee451db823a15b40f9e893c1febfd910c336ddec
2021-10-13cinder-volume/ubuntu: add lsscsi and nvmeMichal Nasiadka1-0/+2
Closes-Bug: #1942038 Change-Id: Id488635110c6158dd23466250c9d57c4f0bc03ff
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz1-14/+2
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-30Merge "CentOS 8: Update packages in images"Zuul1-1/+0
2020-01-29CentOS 8: Update packages in imagesMark Goddard1-1/+0
* Some further changes for python2 vs python3 packages * Allow rabbitmq 3.7.*, since a newer erlang is available * Switch from qemu-img-ev to qemu-img on CentOS 8 * bridge-utils no longer available on CentOS 8 * libvirt-daemon-driver-lxc no longer available on CentOS 8 * Mark some more images buildable for CentOS 8 Change-Id: Iaf5b68ff6d944ae730ca0b1d5832172c106a6c08 Partially-Implements: blueprint centos-rhel-8 Partially-Implements: blueprint centos-rhel-python-3
2020-01-17Add cinderlib RPM to cinder-volumeGorka Eguileor1-0/+2
Finding the root cause of attach/detach operation on volumes can be very complicated. This patch adds the cinderlib RPM to the cinder-volume container, which can, in many scenarios, really help debug these issues on live nodes (controller and compute) without affecting our running services. Change-Id: I5f55c892b1ae9eba9b6af8a45ef7dfad515c7b05
2020-01-09Remove tgtd and scsi-target-utils support in CentOS/RHEL 8Maciej Kucia1-1/+2
In CentOS/RHEL 8 there is no scsi-target-utils package, nor is it available in EPEL. In RHEL 7 and beyond the LIO kernel subsystem can be used instead of the tgtd daemon. This change removes support for the SCSI target daemon on CentOS/RHEL 8. The 'tgtd' image is no longer available for CentOS/RHEL 8. Change-Id: I56f230d66f75dd0546325676278f91579f08c822 Signed-off-by: Maciej Kucia <maciej@kucia.net> Co-Authored-By: Maciej Kucia <maciej@kucia.net> Co-Authored-By: Mark Goddard <mark@stackhpc.com> Related: blueprint centos-rhel-8 Depends-On: https://review.opendev.org/631479/
2019-06-06Debian/Ubuntu: more python3 packages for binaryMark Goddard1-5/+2
backport: Stein During the switch to Stein UCA, we did not switch all packages to python 3 for Debian/Ubuntu binary images. This change switches some more of those packages. Change-Id: I0bff21384d88ea678608392de2db1ba418c96665 Co-Authored-By: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-1/+10
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-01-17Use base_package_typeAlex Schultz1-3/+3
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-08-20Add nvmetcli to cinder volume packagesHamdy Khader1-0/+1
Change-Id: Ifd2f77f9f246454f70774232de0006fd376f8e89
2018-05-26Bump Ubuntu base image to 18.04Jeffrey Zhang1-24/+4
Ubuntu 18.04 has been released. We need upgrade to it this cycle. Changes made in this patch - Bump ubuntu repo from xenial to bionic. Some repos do not have bionic packages, so still using xenial repos. - Drop mariadb, percona and nfs-ganesha repo, because these packages are already provided by Ubuntu official repo. - Since qdrouterd does not have bionic repo and xenial packages does not work on Ubuntu bionic, just add it into ignore image list. - Use python-rtslib-fb and targetcli-fb rather than python-rtslib and targetcli - use xen-utils package name rather than with package version one. - Seems unsigned repo won't work on Ubuntu bionic, stop using infra mirrored unsigned repo in gate building job. Needed-By: https://review.openstack.org/568728 Implement blueprint: ubuntu-bionic Change-Id: I4e3b0ca669cfbf6316bf591f2d8428fa1a0d6182
2017-08-31cinder-volume: handle rtslib(-fb) situation in DebianMarcin Juszkiewicz1-4/+26
Closes-Bug: #1714217 Change-Id: I17b387a64132dc2cf17ead292b2472427f04e263
2017-08-18Add systool binary for cinder-volume containerJeffrey Zhang1-0/+2
systool is used when using FC driver backend[0]. [0] https://github.com/openstack/os-brick/blob/master/os_brick/initiator/linuxfc.py#L94 Closes-Bug: #1711490 Change-Id: I4f2a6ff30ec31b835eacf89ea07493e60fa29b2c
2017-07-18Adding thin provision tools to cinder volume for UbuntuSerguei Bezverkhi1-1/+3
Adding thin provision tools to cinder volume for Ubuntu Change-Id: I91ac2818c72d96b58b7df3fbdf06dd3c42b36cf7
2017-07-12Adding targetcli tool to cinder-volumeSerguei Bezverkhi1-4/+7
targetcli tool will be used by kolla-k8s's iscsi-target microservice to save and restore lioadm targets. Change-Id: I7c38d814c5d1dd336d7199c41b77d63b06a4989b
2017-07-10Adding python-rtslib to cinder-volume for lioadm supportSerguei Bezverkhi1-3/+6
Adding python-rtslib to cinder-volume for lioadm support Change-Id: I5e64699909e8aa23ed58f5d8a23011620a76996b
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-2/+2
Some images have packages sorted alphabetically and some not. Unify common style between all images. Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-03-11cinder-volume ubuntu source buildCharlie Kang1-3/+4
Move debian based family package installs to base_distro from binary conditional. This follows RedHat based family install Closes-Bug: #1671923 Change-Id: I038b6a198d7fd0cf805b211bc32d55bfe88bd581
2017-02-07Merge "Remove include_header and include_footer in all Dockerfiles"Jenkins1-1/+0
2017-02-05Delete the extra blank lineszhubingbing1-6/+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
2016-11-07Allow cinder-volume to be configured to use NFSxionglingfeng1-2/+3
Allow cinder-volume, nova-compute and nova-libvirtd to be configured to use NFS. In order to mount and work with NFS shares, several containers needed the NFS packages installed during build time. One somewhat significant change is the addition of an explicit bind volume for nova-compute that has shared mounts enabled. According to docker-run(1), the shared mount propagation flag can only be specified for bind mounted Docker volumes and not named volumes. In an NFS setup, cinder-volume mounts the NFS shares so that it can create and manage the Cinder volumes. When a new instance is created with a Cinder volume or a Cinder volume is attached to an existing instance, nova-compute mounts the Cinder volume from the NFS share for nova-libvirtd. In order for nova-libvirtd to then see those Cinder volumes the shared mounts flag must be enabled for the Docker volume. Remove the rpcbind container as it is only necessary for operators who are using NFSv3 or lower. There is no known need for this currently however, this container can be added in the future should an operator require it. Co-authored-by: Ryan Hallisey <rhallise@redhat.com> Co-authored-by: Andrew Widdersheim <amwiddersheim@gmail.com> Change-Id: Iad77c05bce8876bdcc69b7ec22edd50e3bf48b9f Closes-Bug: #1530515 Partially implements: blueprint nfs-support-in-cinder
2016-11-04Merge "Fix cinder volume permission issue"Jenkins1-2/+2
2016-11-04Merge "Remove Fedora support"Jenkins1-1/+1
2016-11-04Fix cinder volume permission issueJeffrey Zhang1-2/+2
cinder volume container overwrite the default cinder_sudoers file in Ubuntu binary install type. Rename it to kolla_cinder_volume_sudoers Change-Id: I20a362ccb3b4d8e6422f63a1815b62ba47c9d7c1 Closes-Bug: #1638585
2016-11-03Changed the start script name in cinder-volumeliuhongjiang1-2/+2
In the Dockerfile of cinder-volume, the "kolla_extend_start" script will be overwritten, and it will cause the cinder-volume container doesn't create /var/log/kolla/cinder folder. The name of the start script should be "kolla_cinder_extend_start" in cinder-volume container. Change-Id: I7251792a4fbe1442e2ffc5ebd9e41bd9cdc33568 Closes-Bug: #1638839
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-3/+3
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-11/+26
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-07-18Add Cinder-Volume Package for Ubuntu binary installMathias Ewald1-0/+9
The cinder-volume package is not installed in the cinder-volume container anymore for the Ubuntu binary install. It is still there in stable/mitaka but got lost at I7fb48c954e578772b90a2aa619c8bcfa990b3ae8 Co-Authored-By: Jeffrey Zhang <jeffrey.zhang@99cloud.net> Change-Id: Icf086b241403c1f9098f70d902484b0c565457d0 Closes-Bug: #1603361
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/+1
Change-Id: I73a97fa7b7f4a38aea778d9e7e482f35e22c62a8 Partial-Bug:#1569417
2016-04-10Adds iscsid and tgtd docker containersSerguei Bezverkhi3-6/+33
This partially implements iscsi and lvm2 support for cinder in Kolla. Adds iscsid and tgtd docker containers. Change-Id: I7fb48c954e578772b90a2aa619c8bcfa990b3ae8 Partially-Implements: blueprint iscsi-lvm2-docker
2016-01-21Cinder ubuntu binary containerArtur Zarzycki1-0/+6
Change-Id: Idfdeee030441a61e5bb1936dea9e5e84c243f156 Partially-Implements: blueprint binary-ubuntu