Adds granularity support in OpenStack vim config
[osm/MON.git] / osm_mon / plugins / OpenStack / Gnocchi / metrics.py
index 2724508..b41b5c0 100644 (file)
 import datetime
 import json
 import logging
-
 import time
 
 import six
 import yaml
 
 from osm_mon.core.message_bus.producer import KafkaProducer
+from osm_mon.core.settings import Config
 from osm_mon.plugins.OpenStack.common import Common
-
 from osm_mon.plugins.OpenStack.response import OpenStack_Response
-from osm_mon.plugins.OpenStack.settings import Config
 
 log = logging.getLogger(__name__)
 
@@ -115,9 +113,12 @@ class Metrics(object):
 
             # Generate and send a response message
             try:
+
+                metric_id = self.get_metric_id(endpoint, auth_token, METRIC_MAPPINGS[values['metric_name']],
+                                          values['resource_uuid'])
                 resp_message = self._response.generate_response(
                     'read_metric_data_response',
-                    m_id=values['metric_uuid'],
+                    m_id=metric_id,
                     m_name=values['metric_name'],
                     r_id=values['resource_uuid'],
                     cor_id=values['correlation_id'],
@@ -131,7 +132,8 @@ class Metrics(object):
 
         elif message.key == "delete_metric_request":
             # delete the specified metric in the request
-            metric_id = values['metric_uuid']
+            metric_id = self.get_metric_id(endpoint, auth_token, METRIC_MAPPINGS[values['metric_name']],
+                                           values['resource_uuid'])
             status = self.delete_metric(
                 endpoint, auth_token, metric_id)
 
@@ -352,7 +354,6 @@ class Metrics(object):
     def get_metric_id(self, endpoint, auth_token, metric_name, resource_id):
         """Check if the desired metric already exists for the resource."""
         url = "{}/v1/resource/generic/%s".format(endpoint) % resource_id
-
         try:
             # Try return the metric id if it exists
             result = Common.perform_request(
@@ -378,8 +379,9 @@ class Metrics(object):
         timestamps = []
         data = []
         try:
+            #get metric_id
+            metric_id = self.get_metric_id(endpoint, auth_token, METRIC_MAPPINGS[values['metric_name']], values['resource_uuid'])
             # Try and collect measures
-            metric_id = values['metric_uuid']
             collection_unit = values['collection_unit'].upper()
             collection_period = values['collection_period']