Merge "Log errors better in case of unknown REST errors"

This commit is contained in:
Zuul 2019-08-15 14:39:13 +00:00 committed by Gerrit Code Review
commit eb1568c9e4
1 changed files with 30 additions and 16 deletions

View File

@ -133,6 +133,14 @@ def get_mime_icon(mime, filename=''):
return "data:image/png;base64,%s" % ICON_IMAGES[icon]
def get_cloud(cloud):
if isinstance(cloud, dict):
config = openstack.config.loader.OpenStackConfig().get_one(**cloud)
return openstack.connection.Connection(config=config)
else:
return openstack.connect(cloud=cloud)
def sizeof_fmt(num, suffix='B'):
# From http://stackoverflow.com/questions/1094841/
# reusable-library-to-get-human-readable-version-of-file-size
@ -462,11 +470,7 @@ class DeflateFilter():
class Uploader():
def __init__(self, cloud, container, prefix=None, delete_after=None,
public=True):
if isinstance(cloud, dict):
config = openstack.config.loader.OpenStackConfig().get_one(**cloud)
self.cloud = openstack.connection.Connection(config=config)
else:
self.cloud = openstack.connect(cloud=cloud)
self.cloud = cloud
self.container = container
self.prefix = prefix or ''
self.delete_after = delete_after
@ -669,7 +673,9 @@ def ansible_main():
)
p = module.params
url = run(p.get('cloud'), p.get('container'), p.get('files'),
cloud = get_cloud(p.get('cloud'))
try:
url = run(cloud, p.get('container'), p.get('files'),
indexes=p.get('indexes'),
parent_links=p.get('parent_links'),
topdir_parent_link=p.get('topdir_parent_link'),
@ -678,7 +684,15 @@ def ansible_main():
delete_after=p.get('delete_after', 15552000),
prefix=p.get('prefix'),
public=p.get('public'))
except (keystoneauth1.exceptions.HTTPError,
requests.exceptions.RequestException) as e:
module.fail_json(
changed=False,
msg=str(e),
cloud=cloud.name,
region_name=cloud.config.region_name)
logging.exception("Error uploading to %s.%s",
cloud.name, cloud.config.region_name)
module.exit_json(changed=True,
url=url)
@ -738,7 +752,7 @@ def cli_main():
if append_footer.lower() == 'none':
append_footer = None
url = run(args.cloud, args.container, args.files,
url = run(get_cloud(args.cloud), args.container, args.files,
indexes=not args.no_indexes,
parent_links=not args.no_parent_links,
topdir_parent_link=args.create_topdir_parent_link,