
Implement the spec for multi-tenancy support for metrics. This adds a new 'Aetos' datasource very similar to the current Prometheus datasource. Because of that, the original PrometheusHelper class was split into two classes and the base class is used for PrometheusHelper and for AetosHelper. Except for the split, there is one more change to the original PrometheusHelper class code, which is the addition and use of the _get_fqdn_label() and _get_instance_uuid_label() methods. As part of the change, I refactored the current prometheus datasource unit tests. Most of them are now used to test the PrometheusBase class with minimal changes. Changes I've made to the original tests: - the ones that can be be used to test the base class are moved into the TestPrometheusBase class - the _setup_prometheus_client, _get_instance_uuid_label and _get_fqdn_label functions are mocked in the base class tests. Their concrete implementations are tested in each datasource tests separately. - a self._create_helper() is used to instantiate the helper class with correct mocking. - all config value modification is the original tests got moved out and instead of modifying the config values, the _get_* methods are mocked to return the wanted values - to keep similar test coverage, config retrieval is tested for each concrete class by testing the _get_* methods. New watcher-aetos-integration and watcher-aetos-integration-realdata zuul jobs are added to test the new datasource. These use the same set of tempest tests as the current watcher-prometheus-integration jobs. The only difference is the environment setup and the Watcher config, so that the job deploys Aetos and Watcher uses it instead of accessing Prometheus directly. At first this was generated by asking cursor to implement the linked spec with some additional prompts for some smaller changes. Afterwards I manually went through the code doing some cleanups, ensuring it complies with PEP8 and hacking and so on. Later on I manually adjusted the code to use the latest observabilityclient changes. The zuul job was also mostly generated by cursor. Implements: https://blueprints.launchpad.net/watcher/+spec/prometheus-multitenancy-support Generated-By: Cursor with claude-4-sonnet model Change-Id: I72c2171f72819bbde6c9cbbf565ee895e5d2bd53 Signed-off-by: Jaromir Wysoglad <jwysogla@redhat.com>
51 lines
1.7 KiB
Plaintext
51 lines
1.7 KiB
Plaintext
# Requirements lower bounds listed here are our best effort to keep them up to
|
|
# date but we do not test them so no guarantee of having them all correct. If
|
|
# you find any incorrect lower bounds, let us know or propose a fix.
|
|
apscheduler>=3.5.1 # MIT License
|
|
debtcollector>=1.2.0 # Apache-2.0
|
|
eventlet>=0.27.0 # MIT
|
|
jsonpatch>=1.21 # BSD
|
|
keystoneauth1>=3.4.0 # Apache-2.0
|
|
jsonschema>=3.2.0 # MIT
|
|
keystonemiddleware>=4.21.0 # Apache-2.0
|
|
lxml>=4.5.1 # BSD
|
|
croniter>=0.3.20 # MIT License
|
|
os-resource-classes>=0.4.0
|
|
oslo.concurrency>=3.26.0 # Apache-2.0
|
|
oslo.cache>=1.29.0 # Apache-2.0
|
|
oslo.config>=6.8.0 # Apache-2.0
|
|
oslo.context>=2.21.0 # Apache-2.0
|
|
oslo.db>=4.44.0 # Apache-2.0
|
|
oslo.i18n>=3.20.0 # Apache-2.0
|
|
oslo.log>=3.37.0 # Apache-2.0
|
|
oslo.messaging>=14.1.0 # Apache-2.0
|
|
oslo.policy>=4.5.0 # Apache-2.0
|
|
oslo.reports>=1.27.0 # Apache-2.0
|
|
oslo.serialization>=2.25.0 # Apache-2.0
|
|
oslo.service[threading]>=4.2.1 # Apache-2.0
|
|
oslo.upgradecheck>=1.3.0 # Apache-2.0
|
|
oslo.utils>=7.0.0 # Apache-2.0
|
|
oslo.versionedobjects>=1.32.0 # Apache-2.0
|
|
PasteDeploy>=1.5.2 # MIT
|
|
pbr>=3.1.1 # Apache-2.0
|
|
pecan>=1.3.2 # BSD
|
|
PrettyTable>=0.7.2 # BSD
|
|
gnocchiclient>=7.0.1 # Apache-2.0
|
|
python-cinderclient>=3.5.0 # Apache-2.0
|
|
python-glanceclient>=2.9.1 # Apache-2.0
|
|
python-keystoneclient>=3.15.0 # Apache-2.0
|
|
python-monascaclient>=1.12.0 # Apache-2.0
|
|
python-neutronclient>=6.7.0 # Apache-2.0
|
|
python-novaclient>=14.1.0 # Apache-2.0
|
|
python-observabilityclient>=1.1.0 # Apache-2.0
|
|
python-openstackclient>=3.14.0 # Apache-2.0
|
|
python-ironicclient>=2.5.0 # Apache-2.0
|
|
SQLAlchemy>=1.2.5 # MIT
|
|
stevedore>=1.28.0 # Apache-2.0
|
|
taskflow>=3.8.0 # Apache-2.0
|
|
WebOb>=1.8.5 # MIT
|
|
WSME>=0.9.2 # MIT
|
|
networkx>=2.4 # BSD
|
|
microversion_parse>=0.2.1 # Apache-2.0
|
|
futurist>=1.8.0 # Apache-2.0
|