def addSecurityGroup(self, payload, tags):
        service_logger.info("-------Entered addSecurityGroup-------------")
        service_logger.info("%s %s %s ",
                            sys._getframe().f_code.co_name, "Payload:-",
                            payload)
        resp = ""
        buf = json.loads(payload)
        region = buf['region']
        try:
            if (buf['payload']):
                buf = buf['payload']

                service_logger.info("-----------Before connect-------------")
                ec2 = connect_ec2_instance(region, self.aws_access_key_id,
                                           self.aws_secret_access_key)
                service_logger.info("-----------After connect-------------")

                resp = ec2.create_security_group(**buf)
                service_logger.info("-----------After create-------------" +
                                    resp['GroupId'])
                groupId = resp['GroupId']
                ec2.create_tags(Resources=[groupId], Tags=tags)
                return resp
                """if groupId:
                    service_logger.info("--------true---------")
                    return True"""
            #return False
        except Exception as e:
            service_logger.error("%s %s %s ",
                                 sys._getframe().f_code.co_name, "Exception:-",
                                 str(e))
            data = {}
            data['exception'] = str(e)
            return data
    def updateEgressRule(self, payload):
        """ returns instance list """
        service_logger.info("%s %s %s ",
                            sys._getframe().f_code.co_name, "Payload:-",
                            payload)
        resp = ""
        buf = json.loads(payload)
        region = buf['region']
        try:
            ec2 = connect_ec2_instance(region, self.aws_access_key_id,
                                       self.aws_secret_access_key)
            buf = buf['payload']
            arg = dict([('GroupId', buf['GroupId']),
                        ('IpPermissions', buf['Old_IpPermissions'])])
            if arg['IpPermissions']:
                resp = ec2.revoke_security_group_egress(**arg)
            arg = dict([('GroupId', buf['GroupId']),
                        ('IpPermissions', buf['New_IpPermissions'])])
            if arg['IpPermissions']:
                resp = ec2.authorize_security_group_egress(**arg)

            service_logger.info(
                '--------------------------------------Egress Successfully Set %s',
                resp)
            return resp

        except Exception as e:
            service_logger.error("%s %s %s ",
                                 sys._getframe().f_code.co_name, "Exception:-",
                                 str(e))
            data = {}
            data['exception'] = str(e)
            return data
Exemple #3
0
 def dispatchVpc(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     cid = check_cid_key(payload)
     if (cid >= 0):
         resp = CloudFactory.getInstance(cid).getVpc(payload)
         #resp.update({'CloudId': cid})
         #self.dispatch("Event_updateVpcTable", resp)
         return resp
     else:
         service_logger.error("%s %s ",
                              sys._getframe().f_code.co_name,
                              "Cloud ID not present ")
Exemple #4
0
 def dispatchCreateSecurityGroup(self, payload, tags):
     service_logger.info("------dispatchCreateSecurityGroup-------------")
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     cid = check_cid_key(payload)
     if (cid >= 0):
         service_logger.info(
             "-------before calling AWS Service-------------")
         resp = CloudFactory.getInstance(cid).addSecurityGroup(
             payload, tags)
         service_logger.info(
             "------After calling AWS Service-------------" +
             json.dumps(resp))
         return json.dumps(resp)
         """if resp == True:
             service_logger.info("------Response true-------------")
             return True"""
         #with ClusterRpcProxy(CONFIG) as rpc:
         #rpc.guiHandler.dispatchSecurityGroup(payload)
     else:
         service_logger.error("%s %s ",
                              sys._getframe().f_code.co_name,
                              "Cloud ID not present ")
         return False
Exemple #5
0
 def dispatchDeleteSecurityGroup(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     cid = check_cid_key(payload)
     if (cid >= 0):
         resp = CloudFactory.getInstance(cid).deleteSecurityGroup(payload)
         return resp
         """if resp == True:
             with ClusterRpcProxy(CONFIG) as rpc:
                 rpc.guiHandler.dispatchSecurityGroup(payload) """
     else:
         service_logger.error("%s %s ",
                              sys._getframe().f_code.co_name,
                              "Cloud ID not present ")
def init_cloud_framework():
    service_logger.info("%s %s %s ",
                        sys._getframe().f_code.co_name,
                        "RUNNING_PUBLIC_CLOUD_LIST:-",
                        RUNNING_PUBLIC_CLOUD_LIST)
    service_logger.info("%s %s %s ",
                        sys._getframe().f_code.co_name,
                        "RUNNING_PRIVATE_CLOUD_LIST:-",
                        RUNNING_PRIVATE_CLOUD_LIST)
    db_data = get_clouds()
    with ClusterRpcProxy(CONFIG) as rpc:
        rpc.initHandler.dispatchUpdateCloudTable(payload=db_data)
    with ClusterRpcProxy(CONFIG) as rpc:
        rpc.ClusterRegistryService.registerCloudInstance(
            configDict=cloud_config)
 def addSecurityGroup(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "payload :",
                         payload)
     namespace = payload['namespace']
     body = client.V1beta1NetworkPolicy()  # V1beta1NetworkPolicy |
     pretty = 'pretty_example'  # str | If 'true', then the output is pretty printed. (optional)
     body.metadata = client.V1ObjectMeta()
     body.metadata.name = payload['name']
     try:
         body.metadata.name = payload['name']
         #api_response = self.v1_ext.create_namespaced_network_policy(namespace, body, pretty=pretty)
     except ApiException as e:
         service_logger.error(
             "Exception when calling ExtensionsV1beta1Api->create_namespaced_network_policy: %s\n"
             % e)
    def getSecurityGroup(self, payload):
        service_logger.info("%s %s %s ",
                            sys._getframe().f_code.co_name, "payload :",
                            payload)

        import pdb
        #v1 = client.CoreV1Api()
        v1_ext = client.ExtensionsV1beta1Api()
        #pdb.set_trace()
        buf = json.loads(payload)
        if ('namespace' in buf):
            return v1_ext.list_namespaced_network_policy(buf['namespace'])
        else:
            #resp = v1_ext.list_network_policy_for_all_namespaces()
            #service_logger.info("%s %s %s %s ", "resp type:", type(resp), "resp : ", resp)
            resp1 = "tmp"  #resp.to_dict()
            service_logger.info("%s %s %s %s ", "resp1 type:", type(resp1),
                                "resp1 : ", resp1)
 def deleteSecurityGroup(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     resp = ""
     buf = json.loads(payload)
     region = buf['region']
     try:
         if (buf['payload']):
             buf = buf['payload']
             ec2 = connect_ec2_instance(region, self.aws_access_key_id,
                                        self.aws_secret_access_key)
             resp = ec2.delete_security_group(**buf)
             service_logger.info("Resp: %s", resp)
             return True
     except Exception as e:
         service_logger.error("%s %s %s ",
                              sys._getframe().f_code.co_name, "Exception:-",
                              str(e))
         return False
 def getVpc(self, payload):
     """ returns instance list """
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     #import pdb
     #pdb.set_trace()
     resp = ""
     buf = json.loads(payload)
     region = buf['region']
     try:
         ec2 = connect_ec2_instance(region, self.aws_access_key_id,
                                    self.aws_secret_access_key)
         resp = ec2.describe_vpcs()
         return resp
         #return ({'region': region, 'vpcs': resp['Vpcs']})
     except Exception as e:  # EC2ResponseError
         service_logger.error("%s %s %s ",
                              sys._getframe().f_code.co_name, "Exception:-",
                              str(e))
         return {'reason of failure': str(e)}
 def getSecurityGroup(self, payload):
     """ returns instance list """
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     resp = ""
     buf = json.loads(payload)
     region = buf['region']
     try:
         ec2 = connect_ec2_instance(region, self.aws_access_key_id,
                                    self.aws_secret_access_key)
         if buf['payload']:
             arg = buf['payload']
             resp = ec2.describe_security_groups(**arg)
         else:
             resp = ec2.describe_security_groups()
         return (resp['SecurityGroups'])
     except Exception as e:  # EC2ResponseError
         service_logger.error("%s %s %s ",
                              sys._getframe().f_code.co_name, "Exception:-",
                              str(e))
         return False
Exemple #12
0
 def _dispatchSecurityGroup(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     import pdb
     #pdb.set_trace()
     cid = check_cid_key(payload)
     if (cid >= 0):
         try:
             resp = CloudFactory.getInstance(cid).getSecurityGroup(payload)
             service_logger.error("%s %s %s ",
                                  sys._getframe().f_code.co_name, "resp: ",
                                  resp)
             resp.update({'CloudId': cid})
             self.dispatch("Event_updateSecurityGroupTable", ({
                 'CloudId': cid
             }, resp))
         except:
             raise Exception("tmp error:".join(
                 traceback.format_exception(*sys.exc_info())))
     else:
         service_logger.error("%s %s ",
                              sys._getframe().f_code.co_name,
                              "Cloud ID not present ")
Exemple #13
0
 def dispatchUpdateSgRulesIngress(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     cid = check_cid_key(payload)
     service_logger.info("After CID check------------------")
     if (cid >= 0):
         service_logger.info("CID found")
         resp = CloudFactory.getInstance(cid).updateIngressRule(payload)
         service_logger.info("-------Dispatch complete-----------")
         return resp
         """if resp == True:
             with ClusterRpcProxy(CONFIG) as rpc:
                 rpc.guiHandler.dispatchDeleteSecurityGroup(payload)
             with ClusterRpcProxy(CONFIG) as rpc:
                 rpc.guiHandler.dispatchSecurityGroup(payload)"""
     else:
         service_logger.error("%s %s ",
                              sys._getframe().f_code.co_name,
                              "Cloud ID not present ")
 def getRegion(self, payload):
     """ returns instance list """
     service_logger.info("-------LOG----")
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     resp = ""
     try:
         service_logger.info("--------BEFORE CONNECTION---------------  " +
                             self.aws_access_key_id + "   " +
                             self.aws_secret_access_key)
         ec2 = connect_ec2_instance("us-east-2", self.aws_access_key_id,
                                    self.aws_secret_access_key)
         service_logger.info("--------AFTER CONNECTION---------------")
         resp = ec2.describe_regions()
         return (resp['Regions'])
     except Exception as e:  # EC2ResponseError
         service_logger.error("%s %s %s ",
                              sys._getframe().f_code.co_name, "Exception:-",
                              str(e))
         return False
Exemple #15
0
 def dispatchRegion(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     cid = check_cid_key(payload)
     if (cid >= 0):
         service_logger.info("--------AAA Cloud found--------")
         resp = CloudFactory.getInstance(cid).getRegion(payload)
         service_logger.info("--------After Cloud found--------")
         return resp
         #for item in resp:
         #item.update({'CloudId': cid})
         #resp.update({'CloudId': cid})
         #self.dispatch("Event_updateRegionTable", resp)
     else:
         service_logger.error("%s %s ",
                              sys._getframe().f_code.co_name,
                              "Cloud ID not present ")
 def __init__(cls, param):
     super().__init__(AwsCloudInterfce(param))
     service_logger.info("AWS instance (%s) created ", param['name'])
 def getRegion(self):
     """ returns instance list """
     service_logger.info("Udita KubernetesCloudInterfce :%s", self)
     return "K8sEvent_getRegion"
 def __init__(self, param):
     """ constructor method for instance"""
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "param:-", param)
     self.aws_access_key_id = param['aws_access_key_id']
     self.aws_secret_access_key = param['aws_secret_access_key']
Exemple #19
0
 def dispatchSecurityGroup(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     #eventlet.tpool.execute(self._dispatchSecurityGroup, payload)
     self._dispatchSecurityGroup(payload)
 def __init__(cls, name):
     super().__init__(KubernetesCloudInterfce())
     service_logger.info("Kubernetes instance (%s) created ", name)
 def dispatchUpdateCloudTable(self, payload):
     service_logger.info("%s %s %s ",
                         sys._getframe().f_code.co_name, "Payload:-",
                         payload)
     self.dispatch("Event_updateCloudInterfaceList", payload)
    service_logger.info("%s %s %s ",
                        sys._getframe().f_code.co_name,
                        "RUNNING_PUBLIC_CLOUD_LIST:-",
                        RUNNING_PUBLIC_CLOUD_LIST)
    service_logger.info("%s %s %s ",
                        sys._getframe().f_code.co_name,
                        "RUNNING_PRIVATE_CLOUD_LIST:-",
                        RUNNING_PRIVATE_CLOUD_LIST)
    db_data = get_clouds()
    with ClusterRpcProxy(CONFIG) as rpc:
        rpc.initHandler.dispatchUpdateCloudTable(payload=db_data)
    with ClusterRpcProxy(CONFIG) as rpc:
        rpc.ClusterRegistryService.registerCloudInstance(
            configDict=cloud_config)
    #with ClusterRpcProxy(CONFIG) as rpc:
    #    rpc.AuditorService.loadAuditorTypeRegistry(auditor_dict=cloud_config)


from nameko.containers import ServiceContainer
from nameko.runners import ServiceRunner
from nameko.testing.utils import get_container

runner = ServiceRunner(config=CONFIG)
runner.add_service(InitHandler)
runner.add_service(ClusterRegistryService)
runner.start()

service_logger.info("%s %s %s ",
                    sys._getframe().f_code.co_name, "DB_PATH:-", DB_PATH)
init_cloud_framework()