def _prepare_ext_net(self): external_net = objects.find_first_network(self.neutron, {'router:external': True}) if not external_net: network = self.store( objects.NetworkTestObj(self.neutron, self.nb_api)) external_net_para = {'name': 'public', 'router:external': True} external_network_id = network.create(network=external_net_para) self.assertTrue(network.exists()) ext_subnet = self.store(objects.SubnetTestObj( self.neutron, self.nb_api, external_network_id, )) external_subnet_para = {'cidr': '192.168.199.0/24', 'ip_version': 4, 'network_id': external_network_id} ext_subnet.create(external_subnet_para) self.assertTrue(ext_subnet.exists()) else: external_network_id = external_net['id'] self.assertIsNotNone(external_network_id) # return external network yield external_network_id if not external_net: ext_subnet.close() self.assertFalse(ext_subnet.exists()) network.close() self.assertFalse(network.exists())
def _prepare_ext_net(self): external_net = objects.find_first_network(self.neutron, {'router:external': True}) if not external_net: network = self.store( objects.NetworkTestObj(self.neutron, self.nb_api)) external_net_para = {'name': 'public', 'router:external': True} external_network_id = network.create(network=external_net_para) self.assertTrue(network.exists()) ext_subnet = self.store( objects.SubnetTestObj( self.neutron, self.nb_api, external_network_id, )) external_subnet_para = { 'cidr': '192.168.199.0/24', 'ip_version': 4, 'network_id': external_network_id } ext_subnet.create(external_subnet_para) self.assertTrue(ext_subnet.exists()) else: external_network_id = external_net['id'] self.assertIsNotNone(external_network_id) # return external network yield external_network_id if not external_net: ext_subnet.close() self.assertFalse(ext_subnet.exists()) network.close() self.assertFalse(network.exists())
def create_external_network(self, router_ids): """Create external network in this topology, and use it as external gateway to given routers. """ external_net = objects.find_first_network(self.neutron, {'router:external': True}) if external_net: self.exist_external_net = True external_net_id = external_net['id'] else: external_net_id = self.external_network.create() for r in router_ids: router = self.routers[r] router.router.set_gateway(external_net_id) return external_net_id