Fix S3 unavailable region error

This is to address this error:

  fatal: [site]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to connect to S3: Region  does not seem to be available for awsmodule boto.s3. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path"}

Commit 0dd58e9 changed the logic so an exception is thrown (by
`connect_to_aws`) before the `s3 is None` check is performed. This
changes the `None` check to a catch so the old logic can compensate.
reviewable/pr18780/r1
Doug Luce 9 years ago
parent 873a7435df
commit ec0f2113e0

@ -460,9 +460,10 @@ def main():
s3 = boto.connect_walrus(walrus, **aws_connect_kwargs) s3 = boto.connect_walrus(walrus, **aws_connect_kwargs)
else: else:
aws_connect_kwargs['is_secure'] = True aws_connect_kwargs['is_secure'] = True
try:
s3 = connect_to_aws(boto.s3, location, **aws_connect_kwargs) s3 = connect_to_aws(boto.s3, location, **aws_connect_kwargs)
except AnsibleAWSError:
# use this as fallback because connect_to_region seems to fail in boto + non 'classic' aws accounts in some cases # use this as fallback because connect_to_region seems to fail in boto + non 'classic' aws accounts in some cases
if s3 is None:
s3 = boto.connect_s3(**aws_connect_kwargs) s3 = boto.connect_s3(**aws_connect_kwargs)
except boto.exception.NoAuthHandlerFound, e: except boto.exception.NoAuthHandlerFound, e:

Loading…
Cancel
Save