We contentedly announce the release of: ironic-prometheus-exporter 1.1.0: Prometheus Exporter for Ironic Hardware Sensor data This release is part of the train stable release series. The source is available from: https://opendev.org/openstack/ironic-prometheus-exporter Download the package from: https://tarballs.openstack.org/ironic-prometheus-exporter/ Please report issues through: https://storyboard.openstack.org/#!/project/openstack/ironic- prometheus-exporter For more details, please see below. 1.1.0 ^^^^^ New Features * Adds support for handling Redfish-originated metrics alongside IPMI ones. * Adds a Flask Application that can accept requests under */metrics*. The response to requests have *text/plain* type and the content is always the aggregation of all files stored in *[oslo_messaging_notifications]/location* in the *ironic.conf*. To run the application you can use any Web Server Gateway and set the application to *ironic_prometheus_exporter.app.wsgi:application*. * Adds the initial support to parse ipmi metrics based on the following payloads: *Management*, *Temperature*, *System*, *Current*, *Version*, *Memory*, *Power*, *Watchdog2* and *Fan*. The metrics are generated in a format that is valid to be consumed by Prometheus by using the *prometheus client*. * Adds support to add a description for each ipmi metric. * Adds a metric called *baremetal_last_payload_timestamp_seconds* that can be used in Prometheus to query if a baremetal node stopped sending information for a period of time. * Adds support to parse the ipmi metrics based on the *Voltage* payload. * Adds two new *oslo_messaging_notifications* drivers: * *prometheus_exporter*: the sensor data of each baremetal node is transformed into Prometheus metrics when possible and stored in a file. * *file_exporter*: stores the raw sensor data of each baremetal node in a file. It can be used to see how is the format of the data for a specific driver before creating the parser for it. To use any of the driver it's necessary to update the *ironic.conf* with the following configurations: [conductor] send_sensor_data=true [oslo_messaging_notifications] driver= <driver> transport_url=fake:// location= <absolute path for directory> The files created by the drivers will always contain the latest information about the node. Changes in ironic-prometheus-exporter 0.1.0..1.1.0 -------------------------------------------------- 0ded99e Add metrics descriptions 9959cf3 Add Redfish metrics support 46e50fb Move timestamp registry to a sharable 'header' module 5398f86 Support for metrics description 1190c4e Add copyright statements to files fba86b8 Rearrange unit test samples d4b1856 Release note for oslo.messaging.notify drivers edef5f2 Release note for timestamp metric ced2153 Release note for ipmi Voltage metrics 458bc25 Release note for Flask Application 573c2e6 Release note for initial ipmi support b2e3916 Move metric creation logic from messaging module 24ce43f build universal wheels 880f8cb Release Notes support de03769 Voltage Metrics 80e6fc9 Payload Timestamp Metric 2208c02 New labels support and simple fixes Diffstat (except docs and test files) ------------------------------------- .gitignore | 3 + .zuul.yaml | 1 + ironic_prometheus_exporter/app/exporter.py | 12 + ironic_prometheus_exporter/app/wsgi.py | 12 + ironic_prometheus_exporter/messaging.py | 41 +- ironic_prometheus_exporter/parsers/descriptions.py | 39 + ironic_prometheus_exporter/parsers/header.py | 36 + ironic_prometheus_exporter/parsers/ipmi.py | 214 +++-- .../parsers/metrics_information/header.json | 4 + .../parsers/metrics_information/ipmi.json | 96 +++ .../parsers/metrics_information/redfish.json | 54 ++ ironic_prometheus_exporter/parsers/redfish.py | 260 ++++++ .../notification-ipmi-1.json} | 0 .../notification-ipmi-2.json} | 10 +- releasenotes/notes/.placeholder | 0 .../notes/add-redfish-parser-af5b3b01a4e5d02d.yaml | 5 + .../notes/flask_application-b827dd37aacdc4ee.yaml | 9 + .../ipmi-initial-support-7af5c694f2bb4cb0.yaml | 8 + .../ipmi-metric-description-d670149bcd984a51.yaml | 4 + .../notes/ipmi-timestamp-905054395c20f4b6.yaml | 6 + .../notes/ipmi-voltage-debd12bb6cf6c97d.yaml | 4 + ....messaging.notify.drivers-81de6077d89ea1b2.yaml | 28 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 293 +++++++ releasenotes/source/index.rst | 8 + releasenotes/source/unreleased.rst | 5 + setup.cfg | 3 + tox.ini | 16 + 37 files changed, 2199 insertions(+), 265 deletions(-)