Merge "Log errors better in case of unknown REST errors"
This commit is contained in:
@@ -133,6 +133,14 @@ def get_mime_icon(mime, filename=''):
|
|||||||
return "data:image/png;base64,%s" % ICON_IMAGES[icon]
|
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'):
|
def sizeof_fmt(num, suffix='B'):
|
||||||
# From http://stackoverflow.com/questions/1094841/
|
# From http://stackoverflow.com/questions/1094841/
|
||||||
# reusable-library-to-get-human-readable-version-of-file-size
|
# reusable-library-to-get-human-readable-version-of-file-size
|
||||||
@@ -462,11 +470,7 @@ class DeflateFilter():
|
|||||||
class Uploader():
|
class Uploader():
|
||||||
def __init__(self, cloud, container, prefix=None, delete_after=None,
|
def __init__(self, cloud, container, prefix=None, delete_after=None,
|
||||||
public=True):
|
public=True):
|
||||||
if isinstance(cloud, dict):
|
self.cloud = cloud
|
||||||
config = openstack.config.loader.OpenStackConfig().get_one(**cloud)
|
|
||||||
self.cloud = openstack.connection.Connection(config=config)
|
|
||||||
else:
|
|
||||||
self.cloud = openstack.connect(cloud=cloud)
|
|
||||||
self.container = container
|
self.container = container
|
||||||
self.prefix = prefix or ''
|
self.prefix = prefix or ''
|
||||||
self.delete_after = delete_after
|
self.delete_after = delete_after
|
||||||
@@ -669,16 +673,26 @@ def ansible_main():
|
|||||||
)
|
)
|
||||||
|
|
||||||
p = module.params
|
p = module.params
|
||||||
url = run(p.get('cloud'), p.get('container'), p.get('files'),
|
cloud = get_cloud(p.get('cloud'))
|
||||||
indexes=p.get('indexes'),
|
try:
|
||||||
parent_links=p.get('parent_links'),
|
url = run(cloud, p.get('container'), p.get('files'),
|
||||||
topdir_parent_link=p.get('topdir_parent_link'),
|
indexes=p.get('indexes'),
|
||||||
partition=p.get('partition'),
|
parent_links=p.get('parent_links'),
|
||||||
footer=p.get('footer'),
|
topdir_parent_link=p.get('topdir_parent_link'),
|
||||||
delete_after=p.get('delete_after', 15552000),
|
partition=p.get('partition'),
|
||||||
prefix=p.get('prefix'),
|
footer=p.get('footer'),
|
||||||
public=p.get('public'))
|
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,
|
module.exit_json(changed=True,
|
||||||
url=url)
|
url=url)
|
||||||
|
|
||||||
@@ -738,7 +752,7 @@ def cli_main():
|
|||||||
if append_footer.lower() == 'none':
|
if append_footer.lower() == 'none':
|
||||||
append_footer = 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,
|
indexes=not args.no_indexes,
|
||||||
parent_links=not args.no_parent_links,
|
parent_links=not args.no_parent_links,
|
||||||
topdir_parent_link=args.create_topdir_parent_link,
|
topdir_parent_link=args.create_topdir_parent_link,
|
||||||
|
|||||||
Reference in New Issue
Block a user