Fix functional test for creating subnet
subnet create failed by some bad random subnet range, so retry it with new random range when the test failed. Change-Id: If528ff419b51dd5c5232f81d4b26abae542bd820
This commit is contained in:
parent
08ca61ba07
commit
4a8e7dbe6b
@ -31,18 +31,22 @@ class FloatingIpTests(base.TestCase):
|
||||
cls.re_description = re.compile("description\s+\|\s+([^|]+?)\s+\|")
|
||||
cls.re_network_id = re.compile("floating_network_id\s+\|\s+(\S+)")
|
||||
|
||||
# Make a random subnet
|
||||
cls.subnet = ".".join(map(
|
||||
str,
|
||||
(random.randint(0, 223) for _ in range(3))
|
||||
)) + ".0/26"
|
||||
|
||||
# Create a network for the floating ip
|
||||
raw_output = cls.openstack(
|
||||
'network create --external ' + cls.NETWORK_NAME
|
||||
)
|
||||
cls.network_id = re.search(cls.re_id, raw_output).group(1)
|
||||
|
||||
# Try random subnet range for subnet creating
|
||||
# Because we can not determine ahead of time what subnets are already
|
||||
# in use, possibly by another test running in parallel, try 4 times
|
||||
for i in range(4):
|
||||
# Make a random subnet
|
||||
cls.subnet = ".".join(map(
|
||||
str,
|
||||
(random.randint(0, 223) for _ in range(3))
|
||||
)) + ".0/26"
|
||||
try:
|
||||
# Create a subnet for the network
|
||||
raw_output = cls.openstack(
|
||||
'subnet create ' +
|
||||
@ -50,6 +54,15 @@ class FloatingIpTests(base.TestCase):
|
||||
'--subnet-range ' + cls.subnet + ' ' +
|
||||
cls.SUBNET_NAME
|
||||
)
|
||||
except Exception:
|
||||
if (i == 3):
|
||||
# raise the exception at the last time
|
||||
raise
|
||||
pass
|
||||
else:
|
||||
# break and no longer retry if create sucessfully
|
||||
break
|
||||
|
||||
cls.subnet_id = re.search(cls.re_id, raw_output).group(1)
|
||||
|
||||
@classmethod
|
||||
|
Loading…
Reference in New Issue
Block a user