a65e7e9b59451cc1deb905df935ecb7900eef339

Currently we are using `instance` label to query about host metrics to prometheus. This label is assigned to the url of each endpoint being scrapped. While this work fine in one-exporter-per-compute cases as the driver is mapping the fqdn_label value to the `instance` label value, it fails when there are more that one target with the same value for the fqdn label. This is a valid case, to be able to query by fqdn and do not care about what exporter in the host is providing the metric. This patch is changing the queries we use for hosts to be based on the fqdn_label instead of the instance one. To implement it, we are also simplifying the way we check the metric exist for the host by converting prometheus_fqdn_instance_map into a prometheus_fqdn_labels set which stores the list of fqdn found in prometheus. Closes-Bug: #2103451 Change-Id: I3bcc317441b73da5c876e53edd4622370c6d575e
Watcher
OpenStack Watcher provides a flexible and scalable resource optimization service for multi-tenant OpenStack-based clouds. Watcher provides a robust framework to realize a wide range of cloud optimization goals, including the reduction of data center operating costs, increased system performance via intelligent virtual machine migration, increased energy efficiency and more!
- Free software: Apache license
- Wiki: https://wiki.openstack.org/wiki/Watcher
- Source: https://opendev.org/openstack/watcher
- Bugs: https://bugs.launchpad.net/watcher
- Documentation: https://docs.openstack.org/watcher/latest/
- Release notes: https://docs.openstack.org/releasenotes/watcher/
- Design specifications: https://specs.openstack.org/openstack/watcher-specs/
Description
Languages
Python
99.7%
Shell
0.3%