Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .ansible-lint
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ exclude_paths:
- zuul.d/
- kolla/template/repos.yaml
offline: true
parseable: true
profile: basic
skip_list:
- package-latest
Expand Down
3 changes: 2 additions & 1 deletion docker/cinder/cinder-base/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'cryptsetup',
'lvm2',
'nvme-cli',
'qemu-img'
'qemu-img',
'systemd-udev'
] %}
{% elif base_package_type == 'deb' %}
{% set cinder_base_packages = [
Expand Down
3 changes: 2 additions & 1 deletion docker/glance/glance-api/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'lsscsi',
'device-mapper-multipath',
'nvme-cli',
'qemu-img'
'qemu-img',
'systemd-udev'
] %}
{% elif base_package_type == 'deb' %}
{% set glance_api_packages = [
Expand Down
Original file line number Diff line number Diff line change
@@ -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.
6 changes: 6 additions & 0 deletions kolla/common/sources.py
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,12 @@
'releases/download/v${version}/'
'openstack-exporter'
'_${version}_linux_${debian_arch}.tar.gz')},
'prometheus-openstack-network-exporter': {
'version': '0.0.2',
'type': 'url',
'location': ('https://github.com/'
'openstack-k8s-operators/openstack-network-exporter/'
'archive/v${version}.tar.gz')},
'prometheus-server': {
'version': '3.5.1',
'type': 'url',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
features:
- |
Adds a Prometheus network exporter which can collect
metrics from both OVN and OVS based deployments.
4 changes: 1 addition & 3 deletions test-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# NOTE(mnasiadka): Keeping 2.17 to satisfy py310 job
ansible-core>=2.17; python_version < '3.11' # GPLv3
ansible-core>=2.18,<2.20; python_version >= '3.11' # GPLv3
ansible-lint<26 # MIT
ansible-lint===26.4.0 # MIT
bandit!=1.6.0,>=1.1.0 # Apache-2.0
bashate>=0.5.1 # Apache-2.0
coverage!=4.4,>=4.0 # Apache-2.0
Expand Down
Loading