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
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 ")
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
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
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 ")
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
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']
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()