We are happy to announce the release of: python-observabilityclient 1.1.0 This release is part of the flamingo release series. The source is available from: https://opendev.org/openstack/python-observabilityclient Download the package from: https://pypi.org/project/python-observabilityclient Please report issues through: https://bugs.launchpad.net/python-observabilityclient/+bugs For more details, please see below. 1.1.0 ^^^^^ New Features ************ * The rbac.PromQLRbac.modify_query method now optionally allows for providing a list of metric names thanks to a new parameter. When the new parameter isn't used, the old behavior with sending a Prometheus API request to retrieve the metric names is used. When the metric names are provided, no Prometheus API request is done, which greatly increases performance when using the modify_query repeatedly, for example in loops. * Allow for specifying project label name when creating an instance of PromQLRbac. The change is backwards compatible, the same label name 'project' is still being used as a default. Upgrade Notes ************* * Aetos endpoint information discovered from keystone can no longer be overridden by a config file or by environment variables. From now on, Aetos access must be fully discoverable from Keystone endpoints only. * Support for Python 3.9 has been removed. Now Python 3.10 is the minimum version supported. Security Issues *************** * Modified the observabilityclient to send keystone token with each request only when communicating with Aetos, instead of sending it everytime, which could pose a security risk. This also restricts configuration options for connecting to Aetos to keystone endpoints only. Configuration for Prometheus is unchanged and can still be done through keystone endpoint, through a configuration file or through environment variables. Bug Fixes ********* * Fixed broken handling of IPv6 address host, caused by missing host escape. Other Notes *********** * Service type used to automatically discover Aetos endpoint from keystone was changed from 'prometheus' to 'metric-storage'. The service name is no longer required to be 'aetos'. Changes in python-observabilityclient 1.0.0..1.1.0 -------------------------------------------------- 2f31846 Split get_prometheus_client to multiple functions f1dd649 Rename Aetos's service type to metric-storage fabd89f Allow for providing metric names to modify_query 11489f0 Allow for specifying rbac label name 0da3bbb Fix inconsistent indentation d4e8a75 Send keystone tokens to Aetos only 4db9450 Replace os-client-config bb3ee56 Remove Python 3.9 support 2937871 Fix IPv6 host IP escaping 7058b9a Zuul: do not use USE_PYTHON3 21a5f3e Add a testcase for specifying project label a1413f5 Change URLs to point to the correct repository 553bb19 Update default envlist Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 1 - README.md | 2 +- observabilityclient/rbac.py | 39 +++++++-- observabilityclient/utils/metric_utils.py | 98 ++++++++++++++-------- observabilityclient/v1/client.py | 2 +- ...etric-names-list-for-rbac-e46a4fd0df3fad73.yaml | 10 +++ ...pecifying-rbac-label-name-f99084757cde5f19.yaml | 6 ++ ...change-aetos-service-type-37a53a86f4975803.yaml | 6 ++ ...tone-discovered-endpoints-0b36ad382f029fa0.yaml | 7 ++ .../notes/fix-ipv6-escaping-faef776565954baa.yaml | 4 + .../notes/remove-py39-a3f911847e0075b6.yaml | 5 ++ ...-communicating-with-aetos-21299ccc710f6473.yaml | 9 ++ setup.cfg | 5 +- test-requirements.txt | 2 +- tox.ini | 2 +- 18 files changed, 268 insertions(+), 70 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index dac65be..ddf5e78 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2 +2 @@ python-openstackclient>=6.3.0 # Apache-2.0 -os-client-config>=1.28.0 # Apache-2.0 +openstacksdk>=0.10.0 # Apache-2.0