Merge branch 'issue_7848' of https://github.com/mpeters/ansible into mpeters-issue_7848

This commit is contained in:
James Cammarata 2014-07-09 12:24:06 -05:00
commit 0798f3cda4

View file

@ -293,14 +293,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())