def delete_external_network(ctx, name): try: restore_session(ctx) client = ctx.obj['client'] platform = Platform(client) task = platform.delete_external_network(name=name) stdout(task, ctx) stdout('External network deleted successfully.', ctx) except Exception as e: stderr(e, ctx)
def test_9998_teardown(self): """Test the method Platform.delete_external_network(). Invoke the method for the external network created by setup. This test passes if the task for deleting the external network succeeds. """ logger = Environment.get_default_logger() platform = Platform(TestExtNet._sys_admin_client) task = platform.delete_external_network(TestExtNet._name) TestExtNet._sys_admin_client.get_task_monitor().wait_for_success( task=task) logger.debug('Deleted external network ' + TestExtNet._name + '.')
class VcdExternalNetwork(VcdAnsibleModule): def __init__(self, **kwargs): super(VcdExternalNetwork, self).__init__(**kwargs) self.platform = Platform(self.client) def manage_states(self): state = self.params.get('state') if state == "present": return self.create() if state == "update": return self.update() if state == "absent": return self.delete() def manage_operations(self): operation = self.params.get('operation') if operation == "list_networks": return self.list_external_networks() if operation == "add_subnet": return self.add_subnet() if operation == "add_ip_ranges": return self.add_ip_ranges() if operation == "modify_ip_ranges": return self.modify_ip_ranges() if operation == "delete_ip_ranges": return self.delete_ip_ranges() if operation == "enable_subnet": return self.enable_subnet() if operation == "attach_port_group": return self.attach_port_group() if operation == "detach_port_group": return self.detach_port_group() def create(self): vc_name = self.params.get('vc_name') port_group_names = self.params.get('port_group_names') network_name = self.params.get('network_name') gateway_ip = self.params.get('gateway_ip') netmask = self.params.get('netmask') ip_ranges = self.params.get('ip_ranges') primary_dns_ip = self.params.get('primary_dns_ip') secondary_dns_ip = self.params.get('secondary_dns_ip') dns_suffix = self.params.get('dns_suffix') description = self.params.get('description') response = dict() response['changed'] = False try: self.platform.get_external_network(network_name) except EntityNotFoundException: self.platform.create_external_network(network_name, vc_name, port_group_names, gateway_ip, netmask, ip_ranges, description, primary_dns_ip, secondary_dns_ip, dns_suffix) msg = "External Network {0} is created" response['msg'] = msg.format(network_name) response['changed'] = True else: msg = "External Network {0} is already present" response['warnings'] = msg.format(network_name) return response def update(self): network_name = self.params.get('network_name') new_network_name = self.params.get('new_network_name') description = self.params.get('description') response = dict() response['changed'] = False try: self.platform.get_external_network(network_name) self.platform.update_external_network( network_name, new_network_name, description) except EntityNotFoundException: msg = "External Network {0} does not exists" response['msg'] = msg.format(network_name) else: msg = "External Network {0} has been updated with {1}" response['msg'] = msg.format(network_name, new_network_name) response['changed'] = True return response def delete(self): network_name = self.params.get('network_name') force_delete = self.params.get('force_delete') response = dict() response['changed'] = False try: task = self.platform.delete_external_network( network_name, force_delete) self.execute_task(task) except EntityNotFoundException: msg = "External Network {0} does not exists" response['msg'] = msg.format(network_name) else: msg = "External Network {0} has been deleted" response['msg'] = msg.format(network_name) response['changed'] = True return response def list_external_networks(self): response = dict() response['msg'] = list() response['changed'] = False networks = self.platform.list_external_networks() response['msg'] = [v for k, v in networks.items() if k == "name"] return response def add_subnet(self): network_name = self.params.get('network_name') gateway_ip = self.params.get('gateway_ip') netmask = self.params.get('netmask') ip_ranges = self.params.get('ip_ranges') primary_dns_ip = self.params.get('primary_dns_ip') secondary_dns_ip = self.params.get('secondary_dns_ip') dns_suffix = self.params.get('dns_suffix') response = dict() response['changed'] = False network = self.get_network(network_name) network.add_subnet(network_name, gateway_ip, netmask, ip_ranges, primary_dns_ip, secondary_dns_ip, dns_suffix) msg = "A new subnet has been added to network {0}" response['msg'] = msg.format(network_name) response['changed'] = True return response def add_ip_ranges(self): network_name = self.params.get('network_name') gateway_ip = self.params.get('gateway_ip') ip_ranges = self.params.get('ip_ranges') response = dict() response['changed'] = False network = self.get_network(network_name) network.add_ip_range(gateway_ip, ip_ranges) msg = "A new ip ranges has been added to network {0}" response['msg'] = msg.format(network_name) response['changed'] = True return response def modify_ip_ranges(self): network_name = self.params.get('network_name') gateway_ip = self.params.get('gateway_ip') ip_ranges = self.params.get('ip_ranges') new_ip_ranges = self.params.get('new_ip_ranges') response = dict() response['changed'] = False if len(ip_ranges) != len(new_ip_ranges): raise ValueError( "ip_ranges and new_ip_ranges should have same length") network = self.get_network(network_name) for i in range(len(ip_ranges)): network.modify_ip_range(gateway_ip, ip_ranges[i], new_ip_ranges[i]) msg = "Ip ranges have been updated to network {0}" response['msg'] = msg.format(network_name) response['changed'] = True return response def delete_ip_ranges(self): network_name = self.params.get('network_name') gateway_ip = self.params.get('gateway_ip') ip_ranges = self.params.get('ip_ranges') response = dict() response['changed'] = False network = self.get_network(network_name) network.delete_ip_range(gateway_ip, ip_ranges) msg = "Ip ranges have been deleted from network {0}" response['msg'] = msg.format(network_name) response['changed'] = True return response def enable_subnet(self): network_name = self.params.get('network_name') gateway_ip = self.params.get('gateway_ip') enable_subnet = self.params.get('enable_subnet') response = dict() response['changed'] = False network = self.get_network(network_name) network.enable_subnet(gateway_ip, enable_subnet) s = "has been enabled" if enable_subnet else "has been disabled" msg = "subnet with gatway {0} {1} now in network {2}" response['msg'] = msg.format(gateway_ip, s, network_name) response['changed'] = True return response def attach_port_group(self): network_name = self.params.get('network_name') vc_name = self.params.get('vc_name') port_group_names = self.params.get('port_group_names') response = dict() response['changed'] = False network = self.get_network(network_name) for port_group_name in port_group_names: network.attach_port_group(vc_name, port_group_name) msg = "port groups {0} have been attached now from network {1}" response['msg'] = msg.format(','.join(port_group_names), network_name) response['changed'] = True return response def detach_port_group(self): network_name = self.params.get('network_name') vc_name = self.params.get('vc_name') port_group_names = self.params.get('port_group_names') response = dict() response['changed'] = False network = self.get_network(network_name) for port_group_name in port_group_names: network.detach_port_group(vc_name, port_group_name) msg = "port groups {0} have been detached now from network {1}" response['msg'] = msg.format(','.join(port_group_names), network_name) response['changed'] = True return response def get_network(self, network_name): network_resource = self.platform.get_external_network(network_name) return ExternalNetwork(self.client, resource=network_resource)
def _delete_external_network(self, network): logger = Environment.get_default_logger() platform = Platform(TestGateway._client) task = platform.delete_external_network(network.get('name')) TestGateway._client.get_task_monitor().wait_for_success(task=task) logger.debug('Deleted external network ' + network.get('name') + '.')
i = 0 while i < 60: obj = client.get_resource(delete_edge.attrib['href']) if obj.attrib['status'] != 'success': print(obj.attrib['status']) i += 1 time.sleep(1) else: print("The edge {0} doesn't exist".format( cfg.org.edge_gateway.name)) i = 61 except Exception: print("The Edge gateway {0} does not exist".format( cfg.org.edge_gateway.name)) # Create an instance of the Class Platform -------------------------------------------------------- platform = Platform(client) # Ensure External Network exists and delete it ---------------------------------------------------- print("\nFetching the external network...") try: network_resource = platform.get_external_network( cfg.system.ext_network.name) print("The external network {0} exists, deleting".format( cfg.system.ext_network.name)) platform.delete_external_network(cfg.system.ext_network.name) except Exception: print("The external network {0} does not exist.".format( cfg.system.ext_network.name))