def _verify_network_details(self, tenant): # Checks that we see the newly created network/subnet/router via # checking the result of list_[networks,routers,subnets] # Check that (router, subnet) couple exist in port_list seen_nets = self._list_networks() seen_names = [n['name'] for n in seen_nets] seen_ids = [n['id'] for n in seen_nets] self.assertIn(tenant.network['name'], seen_names) self.assertIn(tenant.network['id'], seen_ids) seen_subnets = [(n['id'], n['cidr'], n['network_id']) for n in self._list_subnets()] mysubnet = (tenant.subnet['id'], tenant.subnet['cidr'], tenant.network['id']) self.assertIn(mysubnet, seen_subnets) seen_routers = self._list_routers() seen_router_ids = [n['id'] for n in seen_routers] seen_router_names = [n['name'] for n in seen_routers] self.assertIn(tenant.router['name'], seen_router_names) self.assertIn(tenant.router['id'], seen_router_ids) myport = (tenant.router['id'], tenant.subnet['id']) router_ports = [ (i['device_id'], f['subnet_id']) for i in self._list_ports(device_id=tenant.router['id']) if net_info.is_router_interface_port(i) for f in i['fixed_ips']] self.assertIn(myport, router_ports)
def _verify_network_details(self, tenant): # Checks that we see the newly created network/subnet/router via # checking the result of list_[networks,routers,subnets] # Check that (router, subnet) couple exist in port_list seen_nets = self._list_networks() seen_names = [n['name'] for n in seen_nets] seen_ids = [n['id'] for n in seen_nets] self.assertIn(tenant.network['name'], seen_names) self.assertIn(tenant.network['id'], seen_ids) seen_subnets = [(n['id'], n['cidr'], n['network_id']) for n in self._list_subnets()] mysubnet = (tenant.subnet['id'], tenant.subnet['cidr'], tenant.network['id']) self.assertIn(mysubnet, seen_subnets) seen_routers = self._list_routers() seen_router_ids = [n['id'] for n in seen_routers] seen_router_names = [n['name'] for n in seen_routers] self.assertIn(tenant.router['name'], seen_router_names) self.assertIn(tenant.router['id'], seen_router_ids) myport = (tenant.router['id'], tenant.subnet['id']) router_ports = [(i['device_id'], i['fixed_ips'][0]['subnet_id']) for i in self._list_ports() if net_info.is_router_interface_port(i)] self.assertIn(myport, router_ports)
def delete(self): client = self.routers_client ports_client = self.ports_client routers = self.list() for router in routers: rid = router['id'] ports = [ port for port in ports_client.list_ports(device_id=rid)['ports'] if net_info.is_router_interface_port(port) ] for port in ports: try: LOG.debug("Deleting port with id %s of router with id %s", port['id'], rid) client.remove_router_interface(rid, port_id=port['id']) except Exception: LOG.exception( "Delete Router Interface exception for " "'port %s' of 'router %s'.", port['id'], rid) try: LOG.debug("Deleting Router with id %s", rid) client.delete_router(rid) except Exception: LOG.exception("Delete Router %s exception.", rid)
def delete(self): client = self.routers_client ports_client = self.ports_client routers = self.list() for router in routers: try: rid = router['id'] ports = [port for port in ports_client.list_ports(device_id=rid)['ports'] if net_info.is_router_interface_port(port)] for port in ports: client.remove_router_interface(rid, port_id=port['id']) client.delete_router(rid) except Exception: LOG.exception("Delete Router exception.")
def _clean_network(self): body = self.ports_client.list_ports() ports = body['ports'] for port in ports: if (net_info.is_router_interface_port(port) and port['device_id'] in [r['id'] for r in self.routers]): self.routers_client.remove_router_interface(port['device_id'], port_id=port['id']) else: if port['id'] in [p['id'] for p in self.ports]: self.ports_client.delete_port(port['id']) self._remove_from_list_by_index(self.ports, port) body = self.subnets_client.list_subnets() subnets = body['subnets'] for subnet in subnets: if subnet['id'] in [s['id'] for s in self.subnets]: self.subnets_client.delete_subnet(subnet['id']) self._remove_from_list_by_index(self.subnets, subnet) body = self.routers_client.list_routers() routers = body['routers'] for router in routers: if router['id'] in [r['id'] for r in self.routers]: self.routers_client.delete_router(router['id']) self._remove_from_list_by_index(self.routers, router)