'''
AWS-Plugin implements all the methods of MON to interact with AWS using the BOTO client
'''
+from osm_mon.core.message_bus.producer import KafkaProducer
+from osm_mon.plugins.CloudWatch.metrics import Metrics
__author__ = "Wajeeha Hamid"
__date__ = "18-September-2017"
-import sys
import json
-from connection import Connection
-from metric_alarms import MetricAlarm
-from metrics import Metrics
-sys.path.append("../../core/message_bus")
-from producer import KafkaProducer
-import logging as log
+import logging
+
+log = logging.getLogger(__name__)
class plugin_metrics():
"""Receives Alarm info from MetricAlarm and connects with the consumer/producer """
#---------------------------------------------------------------------------------------------------------------------------
def metric_calls(self,message,aws_conn):
- '''Consumer will consume the message from SO,
- 1) parse the message and trigger the methods ac
- cording to keys and topics provided in request.
-
- 2) The response from plugin is saved in json format.
-
- 3) The producer object then calls the producer response
- methods to send the response back to message bus
- '''
+ """Gets the message from the common consumer"""
try:
self.cloudwatch_conn = aws_conn['cloudwatch_connection']
log.info("Action required against: %s" % (message.topic))
if message.key == "create_metric_request":
- if self.check_resource(metric_info['metric_create']['resource_uuid']) == True:
- metric_resp = self.create_metric_request(metric_info['metric_create']) #alarm_info = message.value
+ if self.check_resource(metric_info['metric_create_request']['resource_uuid']) == True:
+ metric_resp = self.create_metric_request(metric_info['metric_create_request']) #alarm_info = message.value
metric_response['schema_version'] = metric_info['schema_version']
metric_response['schema_type'] = "create_metric_response"
metric_response['metric_create_response'] = metric_resp
return metric_response
elif message.key == "update_metric_request":
- if self.check_resource(metric_info['metric_create']['resource_uuid']) == True:
- update_resp = self.update_metric_request(metric_info['metric_create'])
+ if self.check_resource(metric_info['metric_create_request']['resource_uuid']) == True:
+ update_resp = self.update_metric_request(metric_info['metric_create_request'])
metric_response['schema_version'] = metric_info['schema_version']
metric_response['schema_type'] = "update_metric_response"
metric_response['metric_update_response'] = update_resp