示例#1
0
    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)
示例#2
0
    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)
示例#3
0
 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)
示例#4
0
 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.")
示例#5
0
 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)