diff options
| author | Robin Klostermeyer <r.klostermeyer@mittwald.de> | 2023-02-20 13:27:55 +0100 |
|---|---|---|
| committer | Michal Nasiadka <mnasiadka@gmail.com> | 2023-08-29 12:40:24 +0000 |
| commit | f54fb018b0f47c603046325159a1f17a08cab2af (patch) | |
| tree | df43dec3770ead272b4794f2b9e1a63e131c586a /docker | |
| parent | 13573914881be47873175e8c513758afa741d465 (diff) | |
| download | kolla-f54fb018b0f47c603046325159a1f17a08cab2af.tar.gz kolla-f54fb018b0f47c603046325159a1f17a08cab2af.zip | |
Add ironic-prometheus-exporter
This commit adds the ironic-prometheus-exporter, following the
conventions used by the previously integrated exporters. '[The] Ironic
Prometheus Exporter is a Tool to expose hardware sensor data in the
Prometheus format through an HTTP endpoint.'[0]
[0] https://opendev.org/openstack/ironic-prometheus-exporter
Change-Id: If833f1f4a33c27cdc941dcc7cd5bbb06b26e1eaf
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/ironic/ironic-conductor/Dockerfile.j2 | 10 | ||||
| -rw-r--r-- | docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 | 41 | ||||
| -rw-r--r-- | docker/ironic/ironic-prometheus-exporter/extend_start.sh | 3 |
3 files changed, 53 insertions, 1 deletions
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/docker/ironic/ironic-conductor/Dockerfile.j2 index 63e48d1ea..ea488ee3c 100644 --- a/docker/ironic/ironic-conductor/Dockerfile.j2 +++ b/docker/ironic/ironic-conductor/Dockerfile.j2 @@ -46,7 +46,15 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'ironic-staging-drivers', ] %} -RUN {{ macros.install_pip(ironic_conductor_pip_packages | customizable("pip_packages")) }} +{% set ironic_conductor_plugins_pip_packages = [ +'/plugins/*' +] %} + +ADD plugins-archive / +RUN {{ macros.install_pip(ironic_conductor_pip_packages | customizable("pip_packages")) }} \ + && if [ "$(ls /plugins)" ]; then \ + {{ macros.install_pip(ironic_conductor_plugins_pip_packages) }}; \ + fi {{ macros.install_packages(ironic_conductor_packages | customizable("packages")) }} diff --git a/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 b/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 new file mode 100644 index 000000000..dab4b397c --- /dev/null +++ b/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 @@ -0,0 +1,41 @@ +FROM {{ namespace }}/{{ image_prefix }}ironic-conductor:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +USER root + +{% block ironic_prometheus_exporter_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if base_package_type == 'rpm' %} + + {% set ironic_prometheus_exporter_packages = [ + 'httpd', + 'mod_ssl', + 'python3-mod_wsgi' + ] %} + +{{ macros.install_packages(ironic_prometheus_exporter_packages | customizable("packages")) }} +RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \ + && sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf + +{% elif base_package_type == 'deb' %} + {% set ironic_prometheus_exporter_packages = [ + 'apache2', + 'libapache2-mod-wsgi-py3' + ] %} + +{{ macros.install_packages(ironic_prometheus_exporter_packages | customizable("packages")) }} +RUN echo > /etc/apache2/ports.conf + +{% endif %} + +ENV IRONIC_CONFIG /etc/ironic/ironic.conf + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start + +{% block ironic_prometheus_exporter_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/ironic/ironic-prometheus-exporter/extend_start.sh b/docker/ironic/ironic-prometheus-exporter/extend_start.sh new file mode 100644 index 000000000..c55f0b199 --- /dev/null +++ b/docker/ironic/ironic-prometheus-exporter/extend_start.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +. /usr/local/bin/kolla_httpd_setup |
