Fixes bug in allocation pools
This commit is contained in:
@@ -379,9 +379,7 @@ class IPPolicy(BASEV2, models.HasId, models.HasTenant):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_ip_policy_cidrs(subnet):
|
def get_ip_policy_cidrs(subnet):
|
||||||
ip_policy = subnet["ip_policy"] or \
|
ip_policy = subnet["ip_policy"] or {}
|
||||||
subnet["network"]["ip_policy"] or \
|
|
||||||
dict()
|
|
||||||
|
|
||||||
subnet_cidr = netaddr.IPNetwork(subnet["cidr"])
|
subnet_cidr = netaddr.IPNetwork(subnet["cidr"])
|
||||||
network_ip = subnet_cidr.network
|
network_ip = subnet_cidr.network
|
||||||
|
|||||||
@@ -1141,33 +1141,6 @@ class TestQuarkIpPoliciesIpAllocation(QuarkIpamBaseTest):
|
|||||||
version=4)
|
version=4)
|
||||||
self.assertEqual(address[0]["address"], 281470681743362)
|
self.assertEqual(address[0]["address"], 281470681743362)
|
||||||
|
|
||||||
def test_ip_policy_on_network(self):
|
|
||||||
net = dict(ip_policy=dict(exclude=[
|
|
||||||
models.IPPolicyCIDR(cidr="0.0.0.0/31")]))
|
|
||||||
subnet = dict(id=1, first_ip=0, last_ip=255,
|
|
||||||
cidr="0.0.0.0/24", ip_version=4,
|
|
||||||
next_auto_assign_ip=0, network=net,
|
|
||||||
ip_policy=None)
|
|
||||||
with self._stubs(subnets=[(subnet, 0)], addresses=[None, None]):
|
|
||||||
address = []
|
|
||||||
self.ipam.allocate_ip_address(self.context, address, 0, 0, 0,
|
|
||||||
version=4)
|
|
||||||
self.assertEqual(address[0]["address"], 281470681743362)
|
|
||||||
|
|
||||||
def test_ip_policy_on_network_exclusion_intersection(self):
|
|
||||||
net = dict(ip_policy=dict(exclude=[
|
|
||||||
models.IPPolicyCIDR(cidr="0.0.0.0/31"),
|
|
||||||
models.IPPolicyCIDR(cidr="0.0.0.254/32")]))
|
|
||||||
subnet = dict(id=1, first_ip=0, last_ip=255,
|
|
||||||
cidr="0.0.0.0/24", ip_version=4,
|
|
||||||
next_auto_assign_ip=0, network=net,
|
|
||||||
ip_policy=None)
|
|
||||||
with self._stubs(subnets=[(subnet, 0)], addresses=[None, None]):
|
|
||||||
address = []
|
|
||||||
self.ipam.allocate_ip_address(self.context, address, 0, 0, 0,
|
|
||||||
version=4)
|
|
||||||
self.assertEqual(address[0]["address"], 281470681743362)
|
|
||||||
|
|
||||||
def test_ip_policy_on_both_subnet_preferred(self):
|
def test_ip_policy_on_both_subnet_preferred(self):
|
||||||
net = dict(ip_policy=dict(exclude=[
|
net = dict(ip_policy=dict(exclude=[
|
||||||
models.IPPolicyCIDR(cidr="0.0.0.0/31")]))
|
models.IPPolicyCIDR(cidr="0.0.0.0/31")]))
|
||||||
|
|||||||
Reference in New Issue
Block a user