This should fix issue #7848

We need to catch any InvalidVpcID.NotFound errors and treat them
just like getting back a vpc that's not "available"
This commit is contained in:
Michael Peters 2014-06-19 14:25:05 -04:00
parent ce09a6dd47
commit ef11416771

View file

@ -288,6 +288,7 @@ def create_vpc(module, vpc_conn):
pending = True
wait_timeout = time.time() + wait_timeout
while wait and wait_timeout > time.time() and pending:
try:
pvpc = vpc_conn.get_all_vpcs(vpc.id)
if hasattr(pvpc, 'state'):
if pvpc.state == "available":
@ -295,6 +296,12 @@ def create_vpc(module, vpc_conn):
elif hasattr(pvpc[0], 'state'):
if pvpc[0].state == "available":
pending = False
# sometimes vpc_conn.create_vpc() will return a vpc that can't be found yet by vpc_conn.get_all_vpcs()
# when that happens, just wait a bit longer and try again
except boto.exception.BotoServerError, e:
if e.error_code != 'InvalidVpcID.NotFound':
raise
if pending:
time.sleep(5)
if wait and wait_timeout <= time.time():
# waiting took too long