From e0dbeffb85126796cb6ece6ae755587d42a808a9 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Fri, 6 Jun 2025 17:18:23 +0100 Subject: Add Prometheus network exporter This exporter comes from https://github.com/openstack-k8s-operators and will replace the existing OVN exporter which was archived at the end of 2024. It can gather metrics from both OVN and OVS based OpenStack clouds. Change-Id: Idb070d5e5469abd472481f7e19614ee2a78c85d0 Signed-off-by: Doug Szumski --- .../Dockerfile.j2 | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 (limited to 'docker') diff --git a/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 b/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 new file mode 100644 index 000000000..389f7c618 --- /dev/null +++ b/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 @@ -0,0 +1,45 @@ +FROM {{ namespace }}/{{ image_prefix }}prometheus-base:{{ tag }} AS build-stage + +{% import "macros.j2" as macros with context %} + +{% if base_package_type == 'rpm' %} + + {% set prometheus_openstack_network_exporter_build_packages = [ + 'golang', + 'make', + ] %} + +{% elif base_package_type == 'deb' %} + + {% set prometheus_openstack_network_exporter_build_packages = [ + 'golang', + 'make', + ] %} + +{% endif %} + +{{ macros.install_packages(prometheus_openstack_network_exporter_build_packages | customizable("packages")) }} + +ADD prometheus-openstack-network-exporter-archive / + +RUN cd openstack-network-exporter* && make + +FROM {{ namespace }}/{{ image_prefix }}prometheus-base:{{ tag }} AS final-stage +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% block prometheus_openstack_network_exporter_header %}{% endblock %} + +{% block prometheus_openstack_network_exporter_install %} +RUN mkdir /opt/openstack-network-exporter +COPY --from=build-stage /openstack-network-exporter*/dataplane-node-exporter /opt/openstack-network-exporter/ +{% endblock %} + +{{ macros.kolla_patch_sources() }} + +{% block prometheus_openstack_network_exporter_footer %}{% endblock %} +{% block footer %}{% endblock %} + +# NOTE: OVN/OVS are running as root. Since we need to read sockets owned by +# these services we don't switch to the Prometheus user here. -- cgit v1.2.3