Add VIM configuration option to model the label to identify VM ids in Prometheus backend
Change-Id: Iffcb7050f833c9ac2b227528dce27bebd02b36bc
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/src/osm_ngsa/osm_mon/vim_connectors/openstack.py b/src/osm_ngsa/osm_mon/vim_connectors/openstack.py
index b1ec84a..aabf6b7 100644
--- a/src/osm_ngsa/osm_mon/vim_connectors/openstack.py
+++ b/src/osm_ngsa/osm_mon/vim_connectors/openstack.py
@@ -291,6 +291,9 @@
def __init__(self, vim_account: dict):
self.map = self._build_map(vim_account)
self.cred = vim_account["prometheus-config"].get("prometheus-cred")
+ self.resource_id_label = vim_account["prometheus-config"].get(
+ "resource-id-label", "resource_id"
+ )
self.client = self._build_prometheus_client(
vim_account["prometheus-config"]["prometheus-url"]
)
@@ -325,8 +328,10 @@
if resource_id:
log.info(f"Getting the metric for the resource_id: {resource_id}")
metric = next(
- # TODO: The label to identify the metric should be standard or read from VIM config
- filter(lambda x: resource_id in x["metric"]["resource_id"], metrics)
+ filter(
+ lambda x: resource_id in x["metric"][self.resource_id_label],
+ metrics,
+ )
)
log.debug(f"Resource metric {metric_name} for {resource_id}: {metric}")
return metric