aboutsummaryrefslogtreecommitdiff
path: root/docker/collectd/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2026-07-06Migrate to pyproject.tomlMichal Nasiadka1-81/+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-2/+3
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>
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-12-06Drop elasticsearch, kibana and logstashMichal Nasiadka1-1/+0
Support has been dropped in kolla-ansible, the upgrade path is opensearch. Change-Id: I6f32aacb4e0b7dd1eb7206e02425b16f5beae4f0
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-09-27Move to CentOS Stream 9Marcin Juszkiewicz1-3/+0
OpenStack 'zed' requires Python 3.8+ so RHEL 8 family has to go. This changeset moves to CentOS Stream 9 while move to RockyLinux 9 is planned as final solution. CI moved to CentOS Stream 9 nodes. Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/839715 Change-Id: I113b9984294cf8663d3fc0c8840320e1d40ea731
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-02-04collectd: pcie-errors is x86-64 only nowMarcin Juszkiewicz1-6/+1
Change-Id: Iad7e7ebb1fbf4d14f20960d6257345db71d0e214
2022-02-03Remove missing collectd packagesMichal Nasiadka1-4/+0
Since CentOS Linux 8 repository retirement from CentOS mirrors - we need to use CentOS Stream 8 version of Opstools repo. Listed below packages are missing from the repo, and according to the maintainer dpdk_telemetry is not going to show up at all (it's basically dead). The rest of the packages might show up at a later stage - but it's not a priority for the maintainer. - collectd-dpdk_telemetry - collectd-libpod-stats - collectd-sensubility - python3-sqlalchemy-collectd Change-Id: I5f446fc276e245c1e6974ceeb6ff3dccd84ee502
2021-05-11Drop ppc64le supportMarcin Juszkiewicz1-6/+1
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
2020-08-05Add collectd-libpod-stats to imagepleimer1-0/+1
This patch adds the installation of collectd-libpod-stats as part of the collectd image. The package is available in the centos-opstools repo. Collectd-libpod-stats monitors resource usage of running containers on a host, specifically those managed by the libpod library. Upstream: https://github.com/pleimer/collectd-libpod-stats Change-Id: I12efbaae9c0795f29c2f68158127509fd1b543b0 Signed-off-by: pleimer <pfbleimer@gmail.com>
2020-06-18Add collectd-amqp to the collectd imageMatthias Runge1-0/+1
This allows to write collected data via amqp. Change-Id: Ieb88fd60d177f19a635ada9366193e57c516f90b
2020-05-17CentOS: disable more reposMarcin Juszkiewicz1-0/+2
'messaging-rabbitmq' and 'opstools' are enabled by RDO delorean-deps.repo file 'influxdb' was also enabled Depends-On: https://review.opendev.org/728687 Change-Id: Ibb0a7edc9e5632c1b89a7d52601f55a223b49dfb
2020-04-17Cleanup py27 supportRadosław Piliszek1-6/+1
Removes and/or replaces all mentions of py27. Cleans up obsolete requirements and their lower-constraints. Change-Id: Id43f1bbd6a454832ab8dbf003a058403f6b34b5d
2020-04-15Merge "Remove support for CentOS 7"Zuul1-10/+0
2020-04-15Remove support for CentOS 7Marcin Juszkiewicz1-10/+0
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-04-09Merge "Add collectd-pmu package for Intel PMU (C8 only)"Zuul1-0/+6
2020-04-09Merge "re-enable collectd-rdt plugin"Zuul1-0/+1
2020-04-09re-enable collectd-rdt pluginPiotr Rabiega1-0/+1
Change-Id: Id106cb71624e0b0d8393904afd2a62469e6066f1
2020-04-09Add collectd-pmu package for Intel PMU (C8 only)Piotr Rabiega1-0/+6
The intel_pmu plugin collects performance counters data on Intel CPUs using Linux perf interface. Change-Id: Id1592e20bcc42893a5e9d0dba9f67cf4e896d268
2020-04-08Exclude pcie_errors on s390x, it fails to buildMatthias Runge1-1/+6
The collectd pcie-errors plugin fails to build on s390 on big endian, ppc64le is fine. For those building containers on s390x, this patch removes a downstream patch. Change-Id: I71008f690fcb04289451efa819b5e7f6d81cf99f
2020-04-03add dpdk_telemetry and logparser, use centos-release-opstools for C8Piotr Rabiega1-0/+2
Adds collectd-dpdk_telemetry and collectd-logparser packages to collectd RHEL-based image. dpdk_telemetry plugin collects DPDK ethernet device metrics via dpdk_telemetry library. Logparser is plugin for filtering and parsing log messages. Change-Id: I0c7c94e9fae9d11660f938b8d7d6be0f270c972f
2020-03-10Add collectd-pcie-errors package for PCIe ErrorsPiotr Rabiega1-0/+1
The pcie_errors plugin collects PCI Express errors from Device Status in Capability structure and from Advanced Error Reporting Extended Capability where available. Change-Id: I9c600570dd2166e865878e7c2584a8377a795a43
2020-03-06Clean up collectd dockerfileMatthias Runge1-23/+9
for CentOS 7 and CentOS 8. Change-Id: I46d567f7ddadf4a40a4af9652248b50b3ac7be80
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-02-07Add collectd-pmu package for Intel PMU (C7 only)Piotr Rabiega1-0/+1
The intel_pmu plugin collects performance counters data on Intel CPUs using Linux perf interface. C7 only - C8 packaging still pending. Change-Id: If5044346a90580c4051d6138a84ce10238807460
2020-01-02centos: disable EPEL by defaultMarcin Juszkiewicz1-4/+0
Our images use 'scsi-target-utils' from EPEL and then can be built without it. So let's disable this repository right after installing package from it. Images can enable EPEL with 'enable_extra_repos' macro. Also added 'disable_extra_repos' macro as we have some images in a need. Change-Id: Id70474e7602b531b63fdc11ae690fd9ed33def74
2019-11-13Revert "Move to RDO Train packages"Radosław Piliszek1-1/+1
This reverts commit c78c82c9630b334cbaef040d68bce7e5ae8cc118. Change-Id: I61c68bf738673a96dd5ba256e40e8532364ff281
2019-10-21Move to RDO Train packagesMichal Nasiadka1-1/+1
Change-Id: I396f929ecc11f87fb83585bedd39be93a605c57b
2019-08-02Add collectd-sensubility to the imageMartin Magr1-0/+1
This patch add installation of collectd-sensubility as part of collectd image. The package is available in centos-release-opstools repo. Collectd-sensubility aims provide possibility to switch from Sensu based availability monitoring solution to monitoring solution based on collectd with AMQP-1.0 messaging bus. Upstream is here: https://github.com/paramite/collectd-sensubility Change-Id: I22a26374ee00e93b4f52ec0c4f1152ca1ad777e6
2019-07-01Add python-sqlalchemy-collectd clientMike Bayer1-0/+1
sqlalchemy-collectd was added in I2bcaa44c184bb24e5caeeb8d204dda627de59c91, however it also must be installed alongside anywhere that python-sqlalchemy is installed since it provides an in-process plugin that transmits metrics to a remote collectd daemon. Also adds the python3 version of the package to the py3 version of the collecd/Dockerfile.j2. Note this is currently an *RPM only* package, and as of this commit is not yet availble for other packaging systems. Change-Id: If598da717653a383a2d3b3373c56517f8bca832f
2019-03-12Add distro_package_manager configurationAlex Schultz1-0/+2
Add configuration to allow the switch between dnf/yum or provide an alternative package manager. Change-Id: I913769fcf5875a12b4561958cf7c90b74cd116ea
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-8/+27
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-18Merge "Use base_package_type"Zuul1-1/+1
2019-01-17Use base_package_typeAlex Schultz1-1/+1
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
2019-01-16[collectd] add collectd-rabbitmq-monitoringMatthias Runge1-0/+1
to collectd to enable rabbitmq queue monitoring. Change-Id: Iee7d11828726c3ce4bb72ae1d27c57c5c056c302
2019-01-10Add python2-sqlalchemy-collectdMike Bayer1-1/+2
This allows monitoring of SQLAlchemy connection pool usage. Change-Id: I2bcaa44c184bb24e5caeeb8d204dda627de59c91
2018-09-10[collectd] Add many plugins to collectd dockerfileMatthias Runge1-2/+22
The plugin collectd-ceilometer-plugin has been replaced by collectd-openstack-plugin, which is not packaged yet. Change-Id: I851f6e6a6d8311351549f1d97ba2257f7a9c7feb
2018-08-17Add collectd-ceilometer-pluginMatthias Runge1-1/+2
https://github.com/openstack/collectd-ceilometer-plugin Change-Id: I5545db119be931f26343dd505bbcbd512bd73e09
2018-07-17collectd: add collectd-write_kafkaMatthias Runge1-0/+1
write_kafka support was recently added to centos-opstools collectd build Change-Id: Ida94d5ee34ecaa06023100d402e9042562d4cf4a
2018-06-27collectd: turbostat is x86 only, it fails on Arm64Matthias Runge1-2/+2
Change-Id: Icde3d4605200a1d2a8bad00922d726655632b8ca
2018-06-20Service assurance plugins and write_prometheusMatthias Runge1-0/+5
This enables to send metrics and events to AMQP 1.0. write_prometheus provides an exporter to be scraped by prometheus. Change-Id: Ibd3bc04f3cedbcf3e029579877f60e90eb7081e1
2018-06-04Add collectd-snmp-agent to collectd DockerMatthias Runge1-0/+1
Receives and handles queries from SNMP master agent and returns the data collected by read plugins. Handles requests only for OIDs specified in configuration file. To handle SNMP queries the plugin gets data from collectd and translates requested values from collectd's internal format to SNMP format. Change-Id: I97fd12ccee9f546416111e0589f5d770119923af
2018-05-22Add netlink, smart, and ipmi pluginsMatthias Runge1-0/+3
This enables additional monitoring. Change-Id: I4f7a8cbd23d45cbc7bf9993c19161013e53f89f6
2018-05-22collectd: remove duplicate packagesMehdi Abaakouk1-2/+1
The collectd-turbotstat is already installed for all arch. This change removes the duplicates package name. Change-Id: Iead82aad067353ddd822dfc15f54edfb313b7054
2018-04-23Additional packages to DockefileJoe Talerico1-0/+3
Adding the missing packages to the dockerfile Change-Id: I75981c9691bddcccda6126aa9f4a7fa7257e196e
2018-01-27Merge "Install collectd-utils"Zuul1-0/+1
2018-01-26Install collectd-utilsMartin Mágr1-0/+1
Package collectd-utils is required to get colectdctl tool, which can be then used in container healthcheck script. Change-Id: I178809f7419dafc409b4a247dd440c5dcf4426bf
2018-01-25Add Intel RDT plugin to collectd containerMatthias Runge1-2/+3
The intel_rdt plugin collects information provided by monitoring features of Intel Resource Director Technology (Intel(R) RDT) like Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM). These features provide information about utilization of shared resources. Change-Id: Ia7c9badd6c93ad0de565442ccd9fbf8561003c9f