Refactors codebase
[osm/MON.git] / osm_mon / plugins / OpenStack / response.py
index 75d907e..9f5b17d 100644 (file)
@@ -21,7 +21,6 @@
 ##
 """Generate valid responses to send back to the SO."""
 
-import json
 import logging
 
 log = logging.getLogger(__name__)
@@ -29,13 +28,13 @@ log = logging.getLogger(__name__)
 schema_version = "1.0"
 
 
-class OpenStack_Response(object):
-    """Generates responses for SO from OpenStaack plugins."""
+class OpenStackResponseBuilder(object):
+    """Generates responses for OpenStack plugin."""
 
     def __init__(self):
         """Initialize OpenStack Response instance."""
 
-    def generate_response(self, key, **kwargs):
+    def generate_response(self, key, **kwargs) -> dict:
         """Make call to appropriate response function."""
         if key == "list_alarm_response":
             message = self.alarm_list_response(**kwargs)
@@ -58,20 +57,20 @@ class OpenStack_Response(object):
         elif key == "notify_alarm":
             message = self.notify_alarm(**kwargs)
         else:
-            log.warn("Failed to generate a valid response message.")
+            log.warning("Failed to generate a valid response message.")
             message = None
 
         return message
 
-    def alarm_list_response(self, **kwargs):
+    def alarm_list_response(self, **kwargs) -> dict:
         """Generate the response for an alarm list request."""
         alarm_list_resp = {"schema_version": schema_version,
                            "schema_type": "list_alarm_response",
                            "correlation_id": kwargs['cor_id'],
-                           "list_alarm_resp": kwargs['alarm_list']}
-        return json.dumps(alarm_list_resp)
+                           "list_alarm_response": kwargs['alarm_list']}
+        return alarm_list_resp
 
-    def create_alarm_response(self, **kwargs):
+    def create_alarm_response(self, **kwargs) -> dict:
         """Generate a response for a create alarm request."""
         create_alarm_resp = {"schema_version": schema_version,
                              "schema_type": "create_alarm_response",
@@ -79,9 +78,9 @@ class OpenStack_Response(object):
                                  "correlation_id": kwargs['cor_id'],
                                  "alarm_uuid": kwargs['alarm_id'],
                                  "status": kwargs['status']}}
-        return json.dumps(create_alarm_resp)
+        return create_alarm_resp
 
-    def delete_alarm_response(self, **kwargs):
+    def delete_alarm_response(self, **kwargs) -> dict:
         """Generate a response for a delete alarm request."""
         delete_alarm_resp = {"schema_version": schema_version,
                              "schema_type": "alarm_deletion_response",
@@ -89,9 +88,9 @@ class OpenStack_Response(object):
                                  "correlation_id": kwargs['cor_id'],
                                  "alarm_uuid": kwargs['alarm_id'],
                                  "status": kwargs['status']}}
-        return json.dumps(delete_alarm_resp)
+        return delete_alarm_resp
 
-    def update_alarm_response(self, **kwargs):
+    def update_alarm_response(self, **kwargs) -> dict:
         """Generate a response for an update alarm request."""
         update_alarm_resp = {"schema_version": schema_version,
                              "schema_type": "update_alarm_response",
@@ -99,71 +98,77 @@ class OpenStack_Response(object):
                                  "correlation_id": kwargs['cor_id'],
                                  "alarm_uuid": kwargs['alarm_id'],
                                  "status": kwargs['status']}}
-        return json.dumps(update_alarm_resp)
+        return update_alarm_resp
 
-    def metric_create_response(self, **kwargs):
+    def metric_create_response(self, **kwargs) -> dict:
         """Generate a response for a create metric request."""
         create_metric_resp = {"schema_version": schema_version,
                               "schema_type": "create_metric_response",
                               "correlation_id": kwargs['cor_id'],
                               "metric_create_response": {
                                   "metric_uuid": kwargs['metric_id'],
-                                  "resource_uuid": kwargs['r_id'],
+                                  "resource_uuid": kwargs['resource_id'],
                                   "status": kwargs['status']}}
-        return json.dumps(create_metric_resp)
+        return create_metric_resp
 
-    def read_metric_data_response(self, **kwargs):
+    def read_metric_data_response(self, **kwargs) -> dict:
         """Generate a response for a read metric data request."""
         read_metric_data_resp = {"schema_version": schema_version,
                                  "schema_type": "read_metric_data_response",
-                                 "metric_name": kwargs['m_name'],
-                                 "metric_uuid": kwargs['m_id'],
-                                 "resource_uuid": kwargs['r_id'],
+                                 "metric_name": kwargs['metric_name'],
+                                 "metric_uuid": kwargs['metric_id'],
+                                 "resource_uuid": kwargs['resource_id'],
                                  "correlation_id": kwargs['cor_id'],
+                                 "status": kwargs['status'],
                                  "metrics_data": {
                                      "time_series": kwargs['times'],
                                      "metrics_series": kwargs['metrics']}}
-        return json.dumps(read_metric_data_resp)
+        return read_metric_data_resp
 
-    def delete_metric_response(self, **kwargs):
+    def delete_metric_response(self, **kwargs) -> dict:
         """Generate a response for a delete metric request."""
         delete_metric_resp = {"schema_version": schema_version,
                               "schema_type": "delete_metric_response",
-                              "metric_name": kwargs['m_name'],
-                              "metric_uuid": kwargs['m_id'],
-                              "resource_uuid": kwargs['r_id'],
+                              "metric_name": kwargs['metric_name'],
+                              "metric_uuid": kwargs['metric_id'],
+                              "resource_uuid": kwargs['resource_id'],
                               "correlation_id": kwargs['cor_id'],
                               "status": kwargs['status']}
-        return json.dumps(delete_metric_resp)
+        return delete_metric_resp
 
-    def update_metric_response(self, **kwargs):
+    def update_metric_response(self, **kwargs) -> dict:
         """Generate a repsonse for an update metric request."""
         update_metric_resp = {"schema_version": schema_version,
                               "schema_type": "update_metric_response",
                               "correlation_id": kwargs['cor_id'],
                               "metric_update_response": {
-                                  "metric_uuid": kwargs['m_id'],
+                                  "metric_uuid": kwargs['metric_id'],
                                   "status": kwargs['status'],
-                                  "resource_uuid": kwargs['r_id']}}
-        return json.dumps(update_metric_resp)
+                                  "resource_uuid": kwargs['resource_id']}}
+        return update_metric_resp
 
-    def list_metric_response(self, **kwargs):
+    def list_metric_response(self, **kwargs) -> dict:
         """Generate a response for a list metric request."""
         list_metric_resp = {"schema_version": schema_version,
                             "schema_type": "list_metric_response",
                             "correlation_id": kwargs['cor_id'],
-                            "metrics_list": kwargs['m_list']}
-        return json.dumps(list_metric_resp)
+                            "status": kwargs['status'],
+                            "metrics_list": kwargs['metric_list']}
+        return list_metric_resp
 
-    def notify_alarm(self, **kwargs):
+    def notify_alarm(self, **kwargs) -> dict:
         """Generate a response to send alarm notifications."""
         notify_alarm_resp = {"schema_version": schema_version,
                              "schema_type": "notify_alarm",
                              "notify_details": {
-                                 "alarm_uuid": kwargs['a_id'],
-                                 "resource_uuid": kwargs['r_id'],
-                                 "vim_type": kwargs['vim_type'],
+                                 "alarm_uuid": kwargs['alarm_id'],
+                                 "vdu_name": kwargs['vdu_name'],
+                                 "vnf_member_index": kwargs['vnf_member_index'],
+                                 "ns_id": kwargs['ns_id'],
+                                 "metric_name": kwargs['metric_name'],
+                                 "threshold_value": kwargs['threshold_value'],
+                                 "operation": kwargs['operation'],
                                  "severity": kwargs['sev'],
                                  "status": kwargs['state'],
                                  "start_date": kwargs['date']}}
-        return json.dumps(notify_alarm_resp)
+        return notify_alarm_resp