diff options
| author | Michal Nasiadka <mnasiadka@gmail.com> | 2026-07-06 15:26:00 +0200 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2026-07-06 19:59:40 +0000 |
| commit | db35ac8d793506bc43b62e7e39d27a75de1043ed (patch) | |
| tree | feec28d13a43490f5fd4260374144a1abfc20331 /kolla/docker/ceilometer | |
| parent | 1ae1850557e3b99902f73b32c9005618537a1f2d (diff) | |
| download | kolla-db35ac8d793506bc43b62e7e39d27a75de1043ed.tar.gz kolla-db35ac8d793506bc43b62e7e39d27a75de1043ed.zip | |
Migrate to pyproject.toml
[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>
Diffstat (limited to 'kolla/docker/ceilometer')
8 files changed, 164 insertions, 0 deletions
diff --git a/kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2 new file mode 100644 index 000000000..18bd7600a --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2 @@ -0,0 +1,43 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block ceilometer_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='ceilometer') }} + +{% set ceilometer_base_pip_packages = [ + '/ceilometer' +] %} + +{% set ceilometer_base_plugins_pip_packages = [ + '/plugins/*' +] %} + +ADD ceilometer-base-archive /ceilometer-base-source +ADD plugins-archive / + +COPY ceilometer_sudoers /etc/sudoers.d/kolla_ceilometer_sudoers +COPY extend_start.sh /usr/local/bin/kolla_extend_start + +# NOTE(egonzalez): Remove ceilometer from constraint or will fail. +RUN ln -s ceilometer-base-source/* ceilometer \ + && {{ macros.upper_constraints_remove("ceilometer") }} \ + && {{ macros.install_pip(ceilometer_base_pip_packages | customizable("pip_packages")) }} \ + && mkdir -p /etc/ceilometer \ + && cp -r /ceilometer/etc/ceilometer/* /etc/ceilometer/ \ + && sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/ceilometer/rootwrap.conf \ + && if [ "$(ls /plugins)" ]; then \ + {{ macros.install_pip(ceilometer_base_plugins_pip_packages) }}; \ + fi \ + && chmod 750 /etc/sudoers.d \ + && chmod 440 /etc/sudoers.d/kolla_ceilometer_sudoers \ + && touch /usr/local/bin/kolla_ceilometer_extend_start \ + && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_ceilometer_extend_start + +{{ macros.kolla_patch_sources() }} + +{% block ceilometer_base_footer %}{% endblock %} diff --git a/kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers b/kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers new file mode 100644 index 000000000..dd861bb58 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers @@ -0,0 +1 @@ +%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R ceilometer\: /var/lib/ceilometer/, /bin/chown -R ceilometer\: /var/lib/ceilometer/ diff --git a/kolla/docker/ceilometer/ceilometer-base/extend_start.sh b/kolla/docker/ceilometer/ceilometer-base/extend_start.sh new file mode 100644 index 000000000..4d3fe6b61 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-base/extend_start.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +CEILOMETER_LOG_DIR=/var/log/kolla/ceilometer + +if [[ ! -d "${CEILOMETER_LOG_DIR}" ]]; then + mkdir -p "${CEILOMETER_LOG_DIR}" +fi +if [[ $(stat -c %U:%G "${CEILOMETER_LOG_DIR}") != "ceilometer:kolla" ]]; then + chown ceilometer:kolla "${CEILOMETER_LOG_DIR}" +fi +if [[ $(stat -c %a "${CEILOMETER_LOG_DIR}") != "755" ]]; then + chmod 755 "${CEILOMETER_LOG_DIR}" +fi + +. /usr/local/bin/kolla_ceilometer_extend_start diff --git a/kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2 new file mode 100644 index 000000000..df96d8ed3 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2 @@ -0,0 +1,15 @@ +FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block ceilometer_central_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.kolla_patch_sources() }} + +{% block ceilometer_central_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER ceilometer diff --git a/kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2 new file mode 100644 index 000000000..879c4fb01 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2 @@ -0,0 +1,34 @@ +FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block ceilometer_compute_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if base_package_type == 'rpm' %} + {% set ceilometer_compute_packages = [ + 'python3-libvirt' + ] %} +{% elif base_package_type == 'deb' %} + {% set ceilometer_compute_packages = [ + 'python3-libvirt' + ] %} +{% endif %} + +{{ macros.install_packages(ceilometer_compute_packages | customizable("packages")) }} + +# NOTE(jeffrey4l): just for back compatibility +{% set ceilometer_compute_pip_packages = [] %} + +RUN {{ macros.install_pip(ceilometer_compute_pip_packages | customizable("pip_packages")) }} + +{{ macros.kolla_patch_sources() }} + +{% block ceilometer_compute_footer %}{% endblock %} +{% block footer %}{% endblock %} + +# NOTE(huikang): non-root user does not work with libvirt.sock. +# Need configuration in nova-libvirt container to allow +# USER ceilometer to access libvirt.sock diff --git a/kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 new file mode 100644 index 000000000..a767dc842 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 @@ -0,0 +1,27 @@ +FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block ceilometer_ipmi_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if base_package_type == 'rpm' %} + {% set ceilometer_ipmi_packages = [ + 'ipmitool' + ] %} +{% elif base_package_type == 'deb' %} + {% set ceilometer_ipmi_packages = [ + 'ipmitool' + ] %} +{% endif %} + +{{ macros.install_packages(ceilometer_ipmi_packages | customizable("packages")) }} + +{{ macros.kolla_patch_sources() }} + +{% block ceilometer_ipmi_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER ceilometer diff --git a/kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2 new file mode 100644 index 000000000..1fc03ffc4 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2 @@ -0,0 +1,18 @@ +FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block ceilometer_notification_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +COPY extend_start.sh /usr/local/bin/kolla_ceilometer_extend_start +RUN chmod 644 /usr/local/bin/kolla_ceilometer_extend_start + +{{ macros.kolla_patch_sources() }} + +{% block ceilometer_notification_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER ceilometer diff --git a/kolla/docker/ceilometer/ceilometer-notification/extend_start.sh b/kolla/docker/ceilometer/ceilometer-notification/extend_start.sh new file mode 100644 index 000000000..0abeeb1e1 --- /dev/null +++ b/kolla/docker/ceilometer/ceilometer-notification/extend_start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases +# of the KOLLA_BOOTSTRAP variable being set, including empty. +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + if [[ "${CEILOMETER_DATABASE_TYPE}" == "gnocchi" ]]; then + ceilometer-upgrade ${CEILOMETER_UPGRADE_PARAMS} + fi + sudo chown -R ceilometer: /var/lib/ceilometer/ + exit 0 +fi |
