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:
parent
c5fd3008d7
commit
3f1cf5a98a
1 changed files with 15 additions and 8 deletions
|
@ -288,14 +288,21 @@ def create_vpc(module, vpc_conn):
|
||||||
pending = True
|
pending = True
|
||||||
wait_timeout = time.time() + wait_timeout
|
wait_timeout = time.time() + wait_timeout
|
||||||
while wait and wait_timeout > time.time() and pending:
|
while wait and wait_timeout > time.time() and pending:
|
||||||
pvpc = vpc_conn.get_all_vpcs(vpc.id)
|
try:
|
||||||
if hasattr(pvpc, 'state'):
|
pvpc = vpc_conn.get_all_vpcs(vpc.id)
|
||||||
if pvpc.state == "available":
|
if hasattr(pvpc, 'state'):
|
||||||
pending = False
|
if pvpc.state == "available":
|
||||||
elif hasattr(pvpc[0], 'state'):
|
pending = False
|
||||||
if pvpc[0].state == "available":
|
elif hasattr(pvpc[0], 'state'):
|
||||||
pending = False
|
if pvpc[0].state == "available":
|
||||||
time.sleep(5)
|
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():
|
if wait and wait_timeout <= time.time():
|
||||||
# waiting took too long
|
# waiting took too long
|
||||||
module.fail_json(msg = "wait for vpc availability timeout on %s" % time.asctime())
|
module.fail_json(msg = "wait for vpc availability timeout on %s" % time.asctime())
|
||||||
|
|
Loading…
Reference in a new issue