aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorRobin Klostermeyer <r.klostermeyer@mittwald.de>2023-02-20 13:27:55 +0100
committerMichal Nasiadka <mnasiadka@gmail.com>2023-08-29 12:40:24 +0000
commitf54fb018b0f47c603046325159a1f17a08cab2af (patch)
treedf43dec3770ead272b4794f2b9e1a63e131c586a /docker
parent13573914881be47873175e8c513758afa741d465 (diff)
downloadkolla-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.j210
-rw-r--r--docker/ironic/ironic-prometheus-exporter/Dockerfile.j241
-rw-r--r--docker/ironic/ironic-prometheus-exporter/extend_start.sh3
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