We jubilantly announce the release of: ceilometer 25.0.0 This release is part of the flamingo release series. The source is available from: https://opendev.org/openstack/ceilometer Download the package from: https://tarballs.openstack.org/ceilometer/ Please report issues through: https://bugs.launchpad.net/ceilometer/+bugs For more details, please see below. Changes in ceilometer 24.0.0..25.0.0 ------------------------------------ 9481894bd Drop explicit description about default values 14ada8471 Fix missing cotyledon options 8d5dd9fa5 Exclude .eggs dir from pep8 tests b1aeac1be Remove remaining log translation 37547f904 Enable a few common hacking checks 3050a40d4 Drop outdated description about oslo-incubator b502af5bc Add memory.available metric 174041ad5 Use 'actual' memory statistic for memory pollster 2a452552b Handle EPIPE Broken Pipe from Libvirt RPC fa87576e2 Add memory pollster ba6e1541c Revert "Disable power.state meter" ba0337c61 Disable power.state meter 4893e6242 Add vcpus pollster 300ea1e97 Refactor rootwrap utilities a00f7cf69 Publish image meta from notifications and pollsters (if available) a5478e927 Get more flavor attributes from libvirt metadata (if available) 3bae22621 Run telemetry tempest tests in grenade job ece12a8b2 Expose the flavor_id and flavor_name in Prometheus metrics cc6c3dbb1 Fix outdated package/service name in RDO 4fde542e2 doc: Drop edit of sudoers in CentOS/RHEL 52cd939bf Imported Translations from Zanata 492974dd0 Threads to process pollsters e8f079c77 Deprecate pollster builder a203292c5 Fix a typo in release note dfbb4a4de Do not use eval for user input a068bcd18 Fix incomplete mock of libvirtError 663c742ff Ensure libvirt python binding is installed for tests 249c3e1d0 Refactor volume pollsters 0e16c1dd9 Fix volume provider pool capacity metrics b4fad8dab Add bashate 70a56ba67 Catch exceptions for interfaceStats in libvirt inspector 0b94ff436 Remove Python 3.9 support 4cb15ab44 devstack: Remove unused gnocchi-related variables b38e326eb devstack: Drop definition of ceilometermiddleware directory 1048d2941 Replace deprecated datetime.datetime.utcnow e3950a55c Deprecate unused [DEFAULT] http_timeout 068799420 Drop description about ZeroMQ 4fa2e23e4 Remove support for Intel Node Manager c38493490 Remove old code for suse in DevStack plugin cd0db8b76 Poll for evaluation metrics from aodh 4cdd4216f Remove unused test method f5f5e1ed9 Remove CentOS Stream 9 jobs 98f668582 Remove installation guide for openSUSE/SLES e86aa221b Run pyupgrade to clean up Python 2 syntaxes f2fd23402 Use pre-commit to run pep8 checks 886ba70c2 add pyproject.toml to support pip 23.1 e769a80b6 Enable prom-exporter with tls 98291f3b0 Drop remaining lower-constraints target 96c8ccf1c Drop redundant injection of VIRTUAL_ENV 7d199f575 Fix missing requests-aws 3922db4f3 Add pool capacity pollsters 703ada2c0 Make the instance 'host' attribute optional da8caf45a Update master for stable/2025.1 31780b8c4 Skip functional tests for .gitreview d1ba90b3c Add a map event trait plugin 7040e8e4e Do not drop floating IPs/VPNs with unknown status 27e153242 Use constants to validate sample type 9c6360a15 Add maximum fan rpm to hardware.ipmi.fan metrics bbc5436b5 Drop deprecated cinderv2 option 93b44490f Make grenade job voting 4f0bec177 Fix dynamic pollsters on compute nodes and coordination process 7ec36c71e Fix the misspelling of "configuration" Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 40 ++ .zuul.yaml | 19 +- bindep.txt | 4 + ceilometer/agent.py | 8 +- ceilometer/alarm/__init__.py | 0 ceilometer/alarm/aodh.py | 57 ++ ceilometer/alarm/discovery.py | 40 ++ ceilometer/cache_utils.py | 2 +- ceilometer/cmd/agent_notification.py | 1 - ceilometer/cmd/polling.py | 11 +- ceilometer/cmd/sample.py | 10 +- ceilometer/cmd/storage.py | 1 - ceilometer/compute/discovery.py | 133 +++- ceilometer/compute/pollsters/__init__.py | 15 +- ceilometer/compute/pollsters/disk.py | 2 +- ceilometer/compute/pollsters/instance_stats.py | 18 + ceilometer/compute/pollsters/net.py | 2 +- ceilometer/compute/pollsters/util.py | 2 + ceilometer/compute/virt/inspector.py | 10 +- ceilometer/compute/virt/libvirt/inspector.py | 33 +- ceilometer/compute/virt/libvirt/utils.py | 17 +- ceilometer/data/meters.d/meters.yaml | 1 + ceilometer/declarative.py | 10 +- ceilometer/event/converter.py | 15 +- ceilometer/event/models.py | 2 +- ceilometer/event/trait_plugins.py | 75 ++- ceilometer/gnocchi_client.py | 20 +- ceilometer/image/discovery.py | 2 +- ceilometer/image/glance.py | 34 +- ceilometer/ipmi/notifications/ironic.py | 10 +- ceilometer/ipmi/platform/exception.py | 4 - ceilometer/ipmi/platform/intel_node_manager.py | 337 ---------- ceilometer/ipmi/platform/ipmi_sensor.py | 9 +- ceilometer/ipmi/pollsters/node.py | 173 ----- ceilometer/ipmi/pollsters/sensor.py | 31 +- ceilometer/locale/de/LC_MESSAGES/ceilometer.po | 15 +- ceilometer/locale/en_GB/LC_MESSAGES/ceilometer.po | 13 +- ceilometer/locale/es/LC_MESSAGES/ceilometer.po | 19 +- ceilometer/locale/fr/LC_MESSAGES/ceilometer.po | 17 +- ceilometer/locale/it/LC_MESSAGES/ceilometer.po | 18 +- ceilometer/locale/ja/LC_MESSAGES/ceilometer.po | 19 +- ceilometer/locale/ko_KR/LC_MESSAGES/ceilometer.po | 13 +- ceilometer/locale/pt_BR/LC_MESSAGES/ceilometer.po | 15 +- ceilometer/locale/ru/LC_MESSAGES/ceilometer.po | 20 +- ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer.po | 13 +- ceilometer/locale/zh_TW/LC_MESSAGES/ceilometer.po | 13 +- ceilometer/messaging.py | 1 - ceilometer/meter/notifications.py | 20 +- ceilometer/network/floatingip.py | 12 +- ceilometer/network/services/base.py | 4 +- ceilometer/network/services/discovery.py | 6 +- ceilometer/network/services/fwaas.py | 15 +- ceilometer/network/services/vpnaas.py | 17 +- ceilometer/neutron_client.py | 2 +- ceilometer/notification.py | 12 +- ceilometer/nova_client.py | 13 +- ceilometer/objectstore/rgw.py | 2 +- ceilometer/objectstore/rgw_client.py | 6 +- ceilometer/opts.py | 17 +- ceilometer/pipeline/base.py | 22 +- ceilometer/pipeline/event.py | 10 +- ceilometer/pipeline/sample.py | 36 +- ceilometer/polling/discovery/localnode.py | 6 +- .../non_openstack_credentials_discovery.py | 3 +- ceilometer/polling/dynamic_pollster.py | 37 +- ceilometer/polling/manager.py | 482 ++++++++++---- ceilometer/polling/plugin_base.py | 6 +- ceilometer/polling/prom_exporter.py | 22 +- ceilometer/publisher/__init__.py | 2 +- ceilometer/publisher/data/gnocchi_resources.yaml | 1 + ceilometer/publisher/file.py | 2 +- ceilometer/publisher/gnocchi.py | 33 +- ceilometer/publisher/http.py | 8 +- ceilometer/publisher/messaging.py | 27 +- ceilometer/publisher/opentelemetry_http.py | 2 +- ceilometer/publisher/prometheus.py | 2 +- ceilometer/publisher/tcp.py | 19 +- ceilometer/publisher/test.py | 2 +- ceilometer/publisher/udp.py | 5 +- ceilometer/publisher/utils.py | 2 +- ceilometer/publisher/zaqar.py | 2 +- ceilometer/sample.py | 20 +- ceilometer/service.py | 2 - .../compute/pollsters/test_location_metadata.py | 49 +- .../unit/compute/virt/libvirt/test_inspector.py | 18 +- .../unit/ipmi/notifications/ipmi_test_data.py | 19 + .../unit/ipmi/platform/test_intel_node_manager.py | 196 ------ .../test_non_openstack_credentials_discovery.py | 6 +- .../polling/test_non_openstack_dynamic_pollster.py | 6 +- .../unit/publisher/test_messaging_publisher.py | 18 +- .../unit/publisher/test_opentelemetry_http.py | 5 +- ceilometer/utils.py | 14 +- ceilometer/volume/cinder.py | 146 ++++- ceilometer/volume/discovery.py | 11 +- devstack/plugin.sh | 18 +- devstack/settings | 5 - etc/ceilometer/ceilometer-config-generator.conf | 1 + etc/ceilometer/polling.yaml | 1 + pyproject.toml | 3 + .../notes/add-aodh-metrics-afbe9b780fd137d6.yaml | 5 + ...add-image-meta-to-samples-72d62016f5ab0043.yaml | 23 + .../add-map-trait-plugin-0d969f5cc7b18175.yaml | 10 + ...d-memory-available-metric-d59dc787c485efd3.yaml | 7 + .../add-memory-pollster-7689d354c45cc740.yaml | 5 + .../add-pool-size-metrics-cdecb979135bba85.yaml | 11 + ...add-tenant-name-discovery-668260bb4b2b0e8c.yaml | 4 +- .../notes/add-vcpus-pollster-23cfa683d07092b3.yaml | 5 + .../notes/bug-2113768-a2db3a59c8e13558.yaml | 6 + ...deprecate-http-dispatcher-dbbaacee8182b550.yaml | 2 +- .../deprecate-http_timeout-ce98003e4949f9d9.yaml | 5 + ...eprecate-pollster-builder-d481966e497959a3.yaml | 5 + ...le-promethus-exporter-tls-76e78d4f4a52c6c4.yaml | 4 + ...der-pool-capacity-metrics-7b8b0de29a513cea.yaml | 5 + ...-flavor-info-from-libvirt-c8db26fe410abe6e.yaml | 35 + ...ke-instance-host-optional-972fa14405c1e2f6.yaml | 7 + ...ources-with-invalid-state-6693c6fa1fefa097.yaml | 17 + .../notes/remove-alarms-4df3cdb4f1fb5faa.yaml | 2 +- ...remove-intel-node-manager-0889de66dede9ab0.yaml | 4 + .../notes/remove-py39-8c39f81f856bee9f.yaml | 5 + ...ve-service-type-volume-v2-08c81098dc7c0922.yaml | 5 + .../thread-safe-matching-4a635fc4965c5d4c.yaml | 2 +- ...hreeads-process-pollsters-cbd22cca6f2effc4.yaml | 6 + releasenotes/source/2025.1.rst | 6 + releasenotes/source/conf.py | 1 - releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 9 +- releasenotes/source/mitaka.rst | 2 +- requirements.txt | 2 + setup.cfg | 23 +- test-requirements.txt | 2 +- tools/send_test_data.py | 9 +- tox.ini | 25 +- 201 files changed, 3277 insertions(+), 2554 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index acd1c0ed0..dc4aba795 100644 --- a/requirements.txt +++ b/requirements.txt @@ -38,0 +39,2 @@ prometheus_client>=0.20.0 # Apache-2.0 +requests-aws>=0.1.4 # BSD License (3 clause) +aodhclient>=3.8.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index ceecd2858..5ee25b6e1 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +6,0 @@ testtools>=2.2.0 # MIT -requests-aws>=0.1.4 # BSD License (3 clause) @@ -9,0 +9 @@ testresources>=2.0.1 # Apache-2.0 +libvirt-python>=6.0.0 # LGPLv2+