Refactors code in OpenStack plugin
[osm/MON.git] / osm_mon / plugins / CloudWatch / connection.py
index 547c454..5853ae9 100644 (file)
@@ -26,7 +26,6 @@ Connecting with AWS services --CloudWatch/EC2 using Required keys
 __author__ = "Wajeeha Hamid"
 __date__   = "18-September-2017"
 
-import sys
 import os
 
 try:
@@ -35,7 +34,7 @@ try:
     import boto.vpc
     import boto.ec2.cloudwatch
     import boto.ec2.connection
-    import logging as log
+    import logging 
     from boto.ec2.cloudwatch.alarm import MetricAlarm
     from boto.ec2.cloudwatch.dimension import Dimension
     from boto.sns import connect_to_region
@@ -44,17 +43,24 @@ try:
 except:
     exit("Boto not avialable. Try activating your virtualenv OR `pip install boto`")
 
+log = logging.getLogger(__name__)
 
 class Connection():
     """Connection Establishement with AWS -- VPC/EC2/CloudWatch"""
 #-----------------------------------------------------------------------------------------------------------------------------
     def setEnvironment(self):  
+        try:
+            """Credentials for connecting to AWS-CloudWatch""" 
+            #Reads from the environment variables
+            self.AWS_KEY = os.environ.get("AWS_ACCESS_KEY_ID")
+            self.AWS_SECRET = os.environ.get("AWS_SECRET_ACCESS_KEY")
+            self.AWS_REGION = os.environ.get("AWS_EC2_REGION","us-west-2")
 
-        """Credentials for connecting to AWS-CloudWatch""" 
-        self.AWS_KEY = os.environ.get("AWS_ACCESS_KEY_ID")
-        self.AWS_SECRET = os.environ.get("AWS_SECRET_ACCESS_KEY")
-        self.AWS_REGION = os.environ.get("AWS_EC2_REGION","us-west-2")
-        #TOPIC = 'YOUR_TOPIC'
+            #TODO Read from the cloudwatch_credentials.txt file
+
+            return self.connection_instance()
+        except Exception as e:
+            log.error("AWS Credentials not configured, Try setting the access credentials first %s: ",str(e)) 
 #-----------------------------------------------------------------------------------------------------------------------------
     def connection_instance(self):
             try:
@@ -67,8 +73,7 @@ class Connection():
                 #EC2 Connection
                 self.ec2_conn = boto.ec2.connect_to_region(self.AWS_REGION,
                     aws_access_key_id=self.AWS_KEY,
-                    aws_secret_access_key=self.AWS_SECRET)
-               
+                    aws_secret_access_key=self.AWS_SECRET)               
                 
                 """ TODO : Required to add actions against alarms when needed """
                 #self.sns = connect_to_region(self.AWS_REGION)