aboutsummaryrefslogtreecommitdiff
path: root/docker/gnocchi/gnocchi-base
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka3-72/+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-18Remove cgi-bin creation in gnocchi and masakariMichal Nasiadka1-1/+0
This is no longer required Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/993932 Change-Id: I20a2ff0a97b9fad86b6103ec488a39e42cdba091 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-10-02Move repo enablement to respective rpm blocksMichal Nasiadka1-2/+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-07-04Enable EPEL repo for Ceph deps in glance and gnocchiBartosz Bezak1-1/+1
Ceph Reef client dependencies now require EPEL repo on EL9. See thread here [1]. [1] https://lists.centos.org/hyperkitty/list/devel%40lists.centos.org/thread/BZM3RO2LNAMB47FBT2QO3ZOSGBHPCO3V/ Closes-Bug: #2115448 Change-Id: I87e4135425e721f2f750402b3fcc6404643a3bd3 Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
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-01-23Fix gnocchi and skyline after requirements changeMichal Arbet1-0/+2
Global-requirements changed upper-constraints in [1]. Because of that change skyline and gnocchi build is now failing. This patch fixes upper-constraints for those projects. [1] https://review.opendev.org/c/openstack/requirements/+/900435 Change-Id: I09cc2635cd422a859ccded887affb58dfbdc60ad
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-6/+5
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-42/+13
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-02gnocchi: do not install cradoxMarcin Juszkiewicz1-7/+1
Project description says: /!DON’T USE IT, but use upstream python-rados, except you really can’t /! Also installing it created errors which are silently ignored. Change-Id: Id24458cd655aeace0e745c512aa7890b3edda51c
2021-05-13gnocchi: add python3-rados to gnocchi-base source imageMark Goddard1-0/+2
The binary images include python3-rados as a dependency, but source images do not. This change fixes that. Change-Id: I2c8cdfcd25856ecdcfd9f302965187b3b62376ad Closes-Bug: #1927756
2021-05-08gnocchi-base: numpy provides aarch64 binary wheelsMarcin Juszkiewicz1-20/+0
There is no need to install libraries to build Numpy as we have binary wheel provided by numpy upstream. Change-Id: I721001f877f6ec2f9a2e425c088a2e22177d2e5b
2021-01-25docker: do not install pip again in imagesMarcin Juszkiewicz1-1/+0
We install pip in base image so why repeat? Change-Id: Id903880b121d87d75b7b14084b0961b9ce99deba
2020-09-17Improve pip install process for offline deployment.Gaël THEROND (Fl1nt)1-1/+1
* "Use distribution-provided pip" * "Use python's pip module invocation method" * "Install pip earlier in order to avoid multiple installation" * "Remove pip_version variable requirement and call" Change-Id: Id0e738044a1931f9d611a7281a48ea4a593f1cf1 Closes-bug: #1893204
2020-09-06Replace cradox with radosMatthias Runge1-1/+1
Gnocchi supports both, but cradox is not actively maintained. Change-Id: I3d9547237ffa3ee02c306376f0e553fce5472e57
2020-08-11Remove weird depsRadosław Piliszek1-4/+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-19/+3
Refactor installing and initial setup of httpd and mod wsgi from individual services to base image. Change-Id: I651a55a9ebe258ef403d33de010a4dfb368a4021
2020-04-15Merge "gnocchi: install missing python3-wheel package"Zuul1-1/+2
2020-04-15gnocchi: install missing python3-wheel packageMarcin Juszkiewicz1-1/+2
When there is no cradox wheel available on pypi (for non-x86 archs) then build fails: Step 5/8 : RUN pip3 --no-cache-dir install --upgrade cradox && truncate -s 0 /etc/apache2/ports.conf ---> Running in 3a850b4d6319 Collecting cradox Downloading https://files.pythonhosted.org/packages/30/a8/f4790a3f5af7c7616dda7bd5cddbe31d3cf7c35319b700ff49e14ffa8153/cradox-2.1.2.tar.gz (44kB) Complete output from command python setup.py egg_info: WARNING: The wheel package is not available. WARNING: The wheel package is not available. ERROR: Failed to build one or more wheels Change-Id: I519c2a59208376ae05e0a6f5fa4de303670f2674
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz1-25/+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-03Use StorageSIG repos for Ceph in CentOS8Alfredo Moralejo1-6/+1
Storage SIG has built Ceph Nautilus and Ganesha for CentOS8 in CentOS Build System. Let's switch to use them in kolla. Change-Id: Id37dca84c4eb918aaf2d3c036ef5387fe75988dd
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-02-26Actually disable EPEL, and epel-modularMark Goddard1-0/+6
The disable_extra_repos macro accepts a list as its only argument. We were calling it like this to disable EPEL: disable_extra_repos('epel') The macro interpreted this as a request to disable three repos, e, p, l. Thanks Python! Type validation to be improved separately. Additionally, on CentOS 8 the EPEL repository was not included in the repository mapping file, repos.yaml. There is also another EPEL repository on CentOS 8, epel-modular, which is enabled by default after installing epel-release. This change adds mappings for epel and epel-modular repos to repos.yaml, and fixes the disabling of epel in the base image, as well as disabling epel-modular. There are some cases where EPEL is still used (it seemed a bit too easy...), and the repository has been enabled for these images: * bifrost-base (nginx) * ironic-conductor (C7 only, shellinabox) * freezer-base (C7 only, trickle) * gnocchi-base (C8 binary only, python3-boto3) * mariadb (pv) * mongodb (C7 only, mongodb) * nova-spicehtml5proxy (C7 only, spice-html5) * telegraf (C7 only, python2-pip) A few other things were changed: * ironic-conductor does not require the ceph repo * python3-pika is no longer installed in the openstack-base image Related: blueprint remove-epel Change-Id: I3761825239dfc462072383cde6276c4fb3e1bf12
2020-01-30CentOS 8: Use upstream Ceph/masterMichal Nasiadka1-1/+6
The only Ceph version that will support CentOS 8 is Octopus. It will be released end of March 2020 - so for now let's use master. Change-Id: I5955acb41e7346802d76f4f2b244cbf5c36f5bf2 Partially-Implements: blueprint centos-rhel-8
2019-11-29Enable repos only when neededMarcin Juszkiewicz1-0/+2
Disable external repositories by default and enable only when needed. Depends-on: https://review.opendev.org/696480 Implements: blueprint repos-off-by-default Change-Id: Icf2a8397a8349e0fe849d88d160409fd234480a9
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-27Add boto3 python dependencies into gnocchi-base imageCyril Grosjean1-5/+8
Adding boto3 python library into gnocchi-base image Change-Id: I22119f570172ca93de0587dc3892d8b8de86d525 Closes-bug: #1821580
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-2/+21
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-6/+7
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-19gnocchi rpm naming cleanupJon Schlueter1-1/+1
During the Queens cycle the gnocci project was moved out of openstack and so naming changed from openstack-gnocchi-XXX to gnocchi-XXX January 2018 - https://review.rdoproject.org/r/#/c/11110/ Also openstack-gnocchi-indexer-sqlalchemy was moved to gnocchi-common 2017 - https://review.rdoproject.org/r/#/c/10449/ Change-Id: I511c248bd009d03cad6811c576dd91a7bb29e203
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-07-10Stop using deprecated rpm package namesMartin André1-2/+2
These packages produce a warning during the installation, we should switch to their new names, usually to be specific about their use of python2. Change-Id: I0a80e822f64222d9a32aabd1fd834bcf794d6320
2017-11-28Fix Gnocchi support cephFarid Da Encarnacao1-7/+15
Based on gnocchi issue #412 [0], cradox is more stable and recommended to use. * Add cradox for source and RHEL family distro binary. * Ubuntu binary lacks of cradox package, so install from pypi [0] https://github.com/gnocchixyz/gnocchi/issues/412 Co-Authored-By: Jeffrey Zhang <zhang.lei.fly@gmail.com> Change-Id: Icf7d6425884fb889d48c786caebbfc7b7050ae8e Closes-Bug: #1718701
2017-05-26gnocchi: take care of centos/source on non-x86Marcin Juszkiewicz1-0/+11
As for Debian we need to install blas/lapack devel headers to build scipy. Change-Id: I2e0257072192bae6b689d549df12a05196ff7698 Partially-Implements: blueprint multiarch-and-arm64-containers
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-10Merge "gnocchi-base: add some devel packages for non-x86"Jenkins1-0/+10
2017-04-06gnocchi-base: add some devel packages for non-x86Marcin Juszkiewicz1-0/+10
On x86_64 pip is fetching precompiled 'scipy' package. On other architectures we need to build it. For that we need some more development packages. Partially-Implements: blueprint multiarch-and-arm64-containers Change-Id: I173f8daf1aa0aeb1683db08c50b79a0c39f9dc64
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-4/+4
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-2/+6
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-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-18Fix gnocchi dockerfilezhubingbing1-7/+4
* remove /var/log/gnocchi * move gnocchiclient to openstack-base * remove /var/lib/gnocchi because it create by macro Change-Id: I4e06991dd7ca45b4c705b0e4be6e22ba1667e861
2017-01-17use static uid/gid in imagesSam Yaple1-4/+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
2017-01-13Fix gnocchi gate errorEduardo Gonzalez1-1/+0
Gnocchi team removed etc/gnocchi folder in favor of a custom command calling oslo-config-generator [0] [0] https://review.openstack.org/#/c/419064/ Change-Id: I250f3bec7c1bba0018acc6251c54e0026b1dcae8