def test_network_pool(self): vlan_ids = set() for x in xrange(VLAN_MIN, VLAN_MAX + 1): physical_network, vlan_id = lb_db.reserve_network(self.session) self.assertEqual(physical_network, PHYS_NET) self.assertThat(vlan_id, matchers.GreaterThan(VLAN_MIN - 1)) self.assertThat(vlan_id, matchers.LessThan(VLAN_MAX + 1)) vlan_ids.add(vlan_id) with testtools.ExpectedException(q_exc.NoNetworkAvailable): physical_network, vlan_id = lb_db.reserve_network(self.session) for vlan_id in vlan_ids: lb_db.release_network(self.session, PHYS_NET, vlan_id, VLAN_RANGES)
def test_network_pool(self): vlan_ids = set() for x in xrange(VLAN_MIN, VLAN_MAX + 1): physical_network, vlan_id = lb_db.reserve_network(self.session) self.assertEqual(physical_network, PHYS_NET) self.assertGreaterEqual(vlan_id, VLAN_MIN) self.assertLessEqual(vlan_id, VLAN_MAX) vlan_ids.add(vlan_id) with self.assertRaises(q_exc.NoNetworkAvailable): physical_network, vlan_id = lb_db.reserve_network(self.session) for vlan_id in vlan_ids: lb_db.release_network(self.session, PHYS_NET, vlan_id, VLAN_RANGES)
def create_network(self, context, network): (network_type, physical_network, vlan_id) = self._process_provider_create(context, network['network']) session = context.session with session.begin(subtransactions=True): if not network_type: # tenant network network_type = self.tenant_network_type if network_type == constants.TYPE_NONE: raise q_exc.TenantNetworksDisabled() elif network_type == constants.TYPE_VLAN: physical_network, vlan_id = db.reserve_network(session) else: # TYPE_LOCAL vlan_id = constants.LOCAL_VLAN_ID else: # provider network if network_type in [constants.TYPE_VLAN, constants.TYPE_FLAT]: db.reserve_specific_network(session, physical_network, vlan_id) # no reservation needed for TYPE_LOCAL net = super(LinuxBridgePluginV2, self).create_network(context, network) db.add_network_binding(session, net['id'], physical_network, vlan_id) self._process_l3_create(context, network['network'], net['id']) self._extend_network_dict_provider(context, net) self._extend_network_dict_l3(context, net) # note - exception will rollback entire transaction return net
def create_network(self, context, network): (network_type, physical_network, vlan_id) = self._process_provider_create(context, network['network']) session = context.session with session.begin(subtransactions=True): if not network_type: physical_network, vlan_id = db.reserve_network(session) else: db.reserve_specific_network(session, physical_network, vlan_id) net = super(LinuxBridgePluginV2, self).create_network(context, network) db.add_network_binding(session, net['id'], physical_network, vlan_id) self._extend_network_dict(context, net) # note - exception will rollback entire transaction return net
def create_network(self, context, network): (network_type, physical_network, vlan_id) = self._process_provider_create(context, network['network']) session = context.session with session.begin(subtransactions=True): if not network_type: physical_network, vlan_id = db.reserve_network(session) else: db.reserve_specific_network(session, physical_network, vlan_id) net = super(LinuxBridgePluginV2, self).create_network(context, network) db.add_network_binding(session, net['id'], physical_network, vlan_id) self._process_l3_create(context, network['network'], net['id']) self._extend_network_dict_provider(context, net) self._extend_network_dict_l3(context, net) # note - exception will rollback entire transaction return net