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 2aea5e8..249e2b6 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