def delete(cls, **kwargs): cloud_provider = CloudProvider(kwargs["cloud"]).provider for server in kwargs["servers"]: cloud_provider.delete_vm(server) print("Machine {:} is being deleted on {:} Cloud...".format(server, cloud_provider.cloud)) # Explicit refresh called after VM delete, to update db. cls.refresh(cloud=kwargs["cloud"])
def delete(cls, **kwargs): cloud_provider = CloudProvider(kwargs["cloud"]).provider for server in kwargs["servers"]: cloud_provider.delete_vm(server) print("Machine {:} is being deleted on {:} Cloud...".format(server, cloud_provider.cloud)) # Explicit refresh called after VM delete, to update db. cls.refresh(cloud=kwargs["cloud"])
def delete(cls, **kwargs): arg = dotdict(kwargs) force = kwargs.get("force", Default.purge) if "cloud" in arg: cloud_provider = CloudProvider(arg.cloud).provider for server in kwargs["servers"]: vm = cls.cm.find(name=server, kind="vm", cloud=arg.cloud, scope="first") #vm_by_id = cls.cm.find(cm_id=server, kind="vm", cloud=arg.cloud, scope="first") #print (vm) #print(vm_by_id) #vm = vm or vm_by_id if vm: provider = vm["provider"] cloud = vm["category"] # If server has a floating ip associated, release it server_dict = Network.get_instance_dict( cloudname=arg.cloud, instance_id=server) floating_ip = server_dict["floating_ip"] if floating_ip is not None: Network.disassociate_floating_ip( cloudname=arg.cloud, instance_name=server, floating_ip=floating_ip) cloud_provider.delete_vm(server) if force: cls.cm.delete(kind="vm", provider=provider, category=cloud, name=server) # delete the record from db Console.ok( "VM record {:} is being deleted from the local database..." .format(server)) else: cls.cm.set(server, "status", "deleted", kind="vm", scope="first") # Console.ok("VM {:} is being deleted on {:} cloud...".format(server, cloud_provider.cloud)) else: Console.error("VM {:} can not be found.".format(server), traceflag=False) else: clouds = set() for server in arg.servers: vm = cls.cm.find(kind="vm", name=server, scope="first") if vm: cloud = vm["category"] provider = vm["provider"] cloud_provider = CloudProvider(cloud).provider clouds.add(cloud) cloud_provider.delete_vm(server) if force: cls.cm.delete(kind="vm", provider=provider, category=cloud, name=server) Console.ok( "VM record {:} is being deleted from the local database..." .format(server)) else: cls.cm.set(server, "status", "deleted", kind="vm", scope="first") # Console.ok("VM {:} is being deleted on {:} cloud...".format(server, cloud)) else: Console.error("VM {:} can not be found.".format(server), traceflag=False)
def delete(cls, **kwargs): cloud_provider = CloudProvider(kwargs["cloud"]).provider for server in kwargs["servers"]: cloud_provider.delete_vm(server) print("Machine {:} is being deleted on {:} Cloud...".format(server, cloud_provider.cloud))
def delete(cls, **kwargs): arg = dotdict(kwargs) force = kwargs.get("force", Default.purge) if "cloud" in arg: cloud_provider = CloudProvider(arg.cloud).provider for server in kwargs["servers"]: vm = cls.cm.find(name=server, kind="vm", cloud=arg.cloud, scope="first") if vm: provider = vm["provider"] cloud = vm["category"] # If server has a floating ip associated, release it server_dict = Network.get_instance_dict(cloudname=arg.cloud, instance_id=server) floating_ip = server_dict["floating_ip"] if floating_ip is not None: Network.disassociate_floating_ip(cloudname=arg.cloud, instance_name=server, floating_ip=floating_ip) cloud_provider.delete_vm(server) if force: cls.cm.delete(kind="vm", provider=provider, category=cloud, name=server) # delete the record from db Console.ok("VM record {:} is being deleted from the local database..." \ .format(server)) else: cls.cm.set(server, "status", "deleted", kind="vm", scope="first") # Console.ok("VM {:} is being deleted on {:} cloud...".format(server, cloud_provider.cloud)) else: Console.error("VM {:} can not be found.".format(server), traceflag=False) else: clouds = set() for server in arg.servers: vm = cls.cm.find(kind="vm", name=server, scope="first") if vm: cloud = vm["category"] provider = vm["provider"] cloud_provider = CloudProvider(cloud).provider clouds.add(cloud) cloud_provider.delete_vm(server) if force: cls.cm.delete(kind="vm", provider=provider, category=cloud, name=server) Console.ok("VM record {:} is being deleted from the local database..." \ .format(server)) else: cls.cm.set(server, "status", "deleted", kind="vm", scope="first") # Console.ok("VM {:} is being deleted on {:} cloud...".format(server, cloud)) else: Console.error("VM {:} can not be found.".format(server), traceflag=False)