Remove deprecated get_exception API

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
Abhijeet Kasurde 2017-12-26 08:33:21 +05:30 committed by Brian Coca
parent caefe31125
commit 6bd0fbb63c
42 changed files with 284 additions and 409 deletions

View file

@ -130,7 +130,7 @@ acl:
import os
from ansible.module_utils.basic import AnsibleModule, get_platform
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
def split_entry(entry):
@ -225,9 +225,8 @@ def run_acl(module, cmd, check_rc=True):
try:
(rc, out, err) = module.run_command(' '.join(cmd), check_rc=check_rc)
except Exception:
e = get_exception()
module.fail_json(msg=e.strerror)
except Exception as e:
module.fail_json(msg=to_native(e))
lines = []
for l in out.splitlines():
@ -355,5 +354,6 @@ def main():
module.exit_json(changed=changed, msg=msg, acl=acl)
if __name__ == '__main__':
main()

View file

@ -77,7 +77,7 @@ import re
# import module snippets
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
def get_xattr_keys(module, path, follow):
@ -134,9 +134,8 @@ def _run_xattr(module, cmd, check_rc=True):
try:
(rc, out, err) = module.run_command(' '.join(cmd), check_rc=check_rc)
except Exception:
e = get_exception()
module.fail_json(msg="%s!" % e.strerror)
except Exception as e:
module.fail_json(msg="%s!" % to_native(e))
# result = {'raw': out}
result = {}
@ -210,5 +209,6 @@ def main():
module.exit_json(changed=changed, msg=msg, xattr=res)
if __name__ == '__main__':
main()

View file

@ -134,7 +134,6 @@ build_errors:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.network.aos.aos import get_aos_session, check_aos_version, find_collection_item
from ansible.module_utils.pycompat24 import get_exception
def create_blueprint(module, aos, name):
@ -149,8 +148,7 @@ def create_blueprint(module, aos, name):
blueprint = aos.Blueprints[name]
blueprint.create(template_id, reference_arch=margs['reference_arch'])
except:
exc = get_exception()
except Exception as exc:
msg = "Unable to create blueprint: %s" % exc.message
if 'UNPROCESSABLE ENTITY' in exc.message:
msg += ' (likely missing dependencies)'
@ -170,8 +168,7 @@ def ensure_absent(module, aos, blueprint):
if not module.check_mode:
try:
blueprint.delete()
except:
exc = get_exception()
except Exception as exc:
module.fail_json(msg='Unable to delete blueprint, %s' % exc.message)
module.exit_json(changed=True,
@ -294,5 +291,6 @@ def main():
aos_blueprint(module)
if __name__ == '__main__':
main()

View file

@ -163,7 +163,7 @@ import json
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.network.aos.aos import get_aos_session, find_collection_item, check_aos_version
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
try:
import yaml
@ -238,10 +238,9 @@ def blueprint_param_present(module, aos, blueprint, param, param_value):
if not module.check_mode:
try:
param.value = param_value
except:
exc = get_exception()
module.fail_json(msg='unable to write to param %s: %r' %
(margs['name'], exc))
except Exception as exc:
module.fail_json(msg='unable to write to param %s: %s' %
(margs['name'], to_native(exc)))
module.exit_json(changed=True,
blueprint=blueprint.name,
@ -265,9 +264,8 @@ def blueprint_param_absent(module, aos, blueprint, param, param_value):
if not module.check_mode:
try:
param.value = {}
except:
exc = get_exception()
module.fail_json(msg='Unable to write to param %s: %r' % (margs['name'], exc))
except Exception as exc:
module.fail_json(msg='Unable to write to param %s: %s' % (margs['name'], to_native(exc)))
module.exit_json(changed=True,
blueprint=blueprint.name,

View file

@ -84,8 +84,8 @@ EXAMPLES = '''
import json
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
from ansible.module_utils.network.aos.aos import get_aos_session, find_collection_item, do_load_resource, check_aos_version, content_to_dict
@ -103,9 +103,8 @@ def ensure_present(module, aos, blueprint, virtnet):
if not module.check_mode:
try:
virtnet.create(module.params['content'])
except:
e = get_exception()
module.fail_json(msg="unable to create virtual-network : %r" % e)
except Exception as e:
module.fail_json(msg="unable to create virtual-network : %s" % to_native(e))
module.exit_json(changed=True,
blueprint=blueprint.name,
@ -120,9 +119,8 @@ def ensure_absent(module, aos, blueprint, virtnet):
if not module.check_mode:
try:
virtnet.delete()
except:
e = get_exception()
module.fail_json(msg="unable to delete virtual-network %s : %r" % (virtnet.name, e))
except Exception as e:
module.fail_json(msg="unable to delete virtual-network %s : %s" % (virtnet.name, to_native(e)))
module.exit_json(changed=True,
blueprint=blueprint.name)
@ -214,5 +212,6 @@ def main():
blueprint_virtnet(module)
if __name__ == '__main__':
main()

View file

@ -137,7 +137,7 @@ failed_conditions:
import time
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.six import string_types
from ansible.module_utils.network.common.parsing import Conditional
from ansible.module_utils.network.common.utils import ComplexList
@ -216,9 +216,8 @@ def main():
try:
conditionals = [Conditional(c) for c in wait_for]
except AttributeError:
exc = get_exception()
module.fail_json(msg=str(exc))
except AttributeError as exc:
module.fail_json(msg=to_native(exc))
retries = module.params['retries']
interval = module.params['interval']

View file

@ -110,7 +110,6 @@ from ansible.module_utils.network.fortios.fortios import fortios_argument_spec,
from ansible.module_utils.network.fortios.fortios import backup, AnsibleFortios
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
# check for netaddr lib
@ -287,5 +286,6 @@ def main():
# Apply changes (check mode is managed directly by the fortigate object)
fortigate.apply_changes()
if __name__ == '__main__':
main()

View file

@ -81,7 +81,7 @@ from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.network.common.netconf import exec_rpc
from ansible.module_utils.network.junos.junos import junos_argument_spec, get_param
from ansible.module_utils.network.junos.junos import get_configuration, get_connection
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.six import iteritems
@ -263,9 +263,8 @@ class Facts(FactsBase):
device = Device(host, **kwargs)
device.open()
device.timeout = get_param(module, 'timeout') or 10
except ConnectError:
exc = get_exception()
module.fail_json('unable to connect to %s: %s' % (host, str(exc)))
except ConnectError as exc:
module.fail_json('unable to connect to %s: %s' % (host, to_native(exc)))
return device
@ -286,6 +285,7 @@ class Facts(FactsBase):
return facts
FACT_SUBSETS = dict(
default=Default,
hardware=Hardware,

View file

@ -103,7 +103,7 @@ EXAMPLES = """
"""
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.network.junos.junos import junos_argument_spec, get_param
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
try:
from jnpr.junos import Device
@ -134,9 +134,8 @@ def connect(module):
device = Device(host, **kwargs)
device.open()
device.timeout = get_param(module, 'timeout') or 10
except ConnectError:
exc = get_exception()
module.fail_json(msg='unable to connect to %s: %s' % (host, str(exc)))
except ConnectError as exc:
module.fail_json(msg='unable to connect to %s: %s' % (host, to_native(exc)))
return device

View file

@ -150,7 +150,7 @@ RETURN = '''
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -345,9 +345,8 @@ def main():
module.exit_json(changed=changed, msg="okey dokey")
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
if __name__ == '__main__':

View file

@ -260,7 +260,7 @@ RETURN = '''
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -508,9 +508,8 @@ def main():
module.fail_json(msg='Rule with the same name but different objects exists.')
try:
changed = add_security_rule(device, sec_rule, rule_exist)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
if changed and commit:
result = _commit(device, devicegroup)

View file

@ -91,7 +91,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
import time
try:
@ -193,11 +193,11 @@ def main():
cert_friendly_name,
signed_by,
rsa_nbits)
except Exception:
exc = get_exception()
module.fail_json(msg=exc.message)
except Exception as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=True, msg="okey dokey")
if __name__ == '__main__':
main()

View file

@ -83,7 +83,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
import os.path
import xml.etree
@ -183,9 +183,8 @@ def main():
try:
changed, filename = import_file(xapi, module, ip_address, file_, category)
except Exception:
exc = get_exception()
module.fail_json(msg=exc.message)
except Exception as exc:
module.fail_json(msg=to_native(exc))
# cleanup and delete file if local
if url is not None:
@ -193,5 +192,6 @@ def main():
module.exit_json(changed=changed, filename=filename, msg="okey dokey")
if __name__ == '__main__':
main()

View file

@ -83,8 +83,7 @@ RETURN = '''
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -171,14 +170,14 @@ def main():
try:
changed = add_dhcp_if(xapi, if_name, zone_name, create_default_route)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
if changed and commit:
xapi.commit(cmd="<commit></commit>", sync=True, interval=1)
module.exit_json(changed=changed, msg="okey dokey")
if __name__ == '__main__':
main()

View file

@ -91,7 +91,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -196,11 +196,11 @@ def main():
if changed and commit:
xapi.commit(cmd="<commit></commit>", sync=True, interval=1)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg="okey dokey")
if __name__ == '__main__':
main()

View file

@ -149,7 +149,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
# import pydevd
# pydevd.settrace('localhost', port=60374, stdoutToServer=True, stderrToServer=True)
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -374,9 +374,8 @@ def main():
match.delete()
if commit:
device.commit(sync=True)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=True, msg='Rule \'%s\' successfully deleted.' % rule_name)
else:
@ -417,9 +416,8 @@ def main():
changed = add_rule(rulebase, new_rule)
if changed and commit:
device.commit(sync=True)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg='Rule \'%s\' successfully added.' % rule_name)
elif operation == 'update':
# Search for the rule. Update if found.
@ -450,9 +448,8 @@ def main():
changed = update_rule(rulebase, new_rule)
if changed and commit:
device.commit(sync=True)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg='Rule \'%s\' successfully updated.' % rule_name)
else:
module.fail_json(msg='Rule \'%s\' does not exist. Use operation: \'add\' to add it.' % rule_name)

View file

@ -167,7 +167,7 @@ RETURN = '''
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -392,9 +392,8 @@ def main():
if match:
try:
match.delete()
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=True, msg='Object \'%s\' successfully deleted' % obj_name)
else:
@ -424,9 +423,8 @@ def main():
color=color
)
changed = add_object(device, dev_group, new_object)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg='Object \'%s\' successfully added' % obj_name)
elif operation == "update":
# Search for the object. Update if found.
@ -451,9 +449,8 @@ def main():
color=color
)
changed = add_object(device, dev_group, new_object)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg='Object \'%s\' successfully updated.' % obj_name)
else:
module.fail_json(msg='Object \'%s\' does not exist. Use operation: \'add\' to add it.' % obj_name)

View file

@ -111,7 +111,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
@ -214,9 +214,8 @@ def main():
if changed and commit:
xapi.commit(cmd="<commit></commit>", sync=True, interval=1)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg="okey dokey")

View file

@ -107,7 +107,8 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
'supported_by': 'community'}
from ansible.module_utils.basic import AnsibleModule, get_exception
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
try:
from pandevice import base
@ -183,8 +184,7 @@ def add_address_group(device, dev_group, ag_object):
exc = None
try:
ag_object.create()
except Exception:
exc = get_exception()
except Exception as exc:
return False, exc
return True, exc
@ -204,8 +204,7 @@ def delete_address_group(device, dev_group, obj_name):
if static_obj:
try:
static_obj.delete()
except Exception:
exc = get_exception()
except Exception as exc:
return False, exc
return True, None
else:
@ -263,9 +262,8 @@ def main():
if result and commit:
try:
device.commit(sync=True)
except Exception:
exc = get_exception()
module.fail_json(msg=exc.message)
except Exception as exc:
module.fail_json(msg=to_native(exc))
elif operation == 'delete':
obj_name = module.params.get('sag_name', None)

View file

@ -236,7 +236,7 @@ RETURN = '''
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.basic import get_exception
from ansible.module_utils._text import to_native
try:
import pan.xapi
@ -479,9 +479,8 @@ def main():
try:
if commit:
match.delete()
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=True, msg='Rule \'%s\' successfully deleted' % rule_name)
else:
@ -525,9 +524,8 @@ def main():
changed = add_rule(rulebase, new_rule)
if changed and commit:
device.commit(sync=True)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg='Rule \'%s\' successfully added' % rule_name)
elif operation == 'update':
# Search for the rule. Update if found.
@ -563,9 +561,8 @@ def main():
changed = update_rule(rulebase, new_rule)
if changed and commit:
device.commit(sync=True)
except PanXapiError:
exc = get_exception()
module.fail_json(msg=exc.message)
except PanXapiError as exc:
module.fail_json(msg=to_native(exc))
module.exit_json(changed=changed, msg='Rule \'%s\' successfully updated' % rule_name)
else:
module.fail_json(msg='Rule \'%s\' does not exist. Use operation: \'add\' to add it.' % rule_name)

View file

@ -144,7 +144,7 @@ warnings:
import time
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.network.common.parsing import Conditional
from ansible.module_utils.network.common.utils import ComplexList
from ansible.module_utils.six import string_types
@ -200,9 +200,8 @@ def main():
wait_for = module.params['wait_for'] or list()
try:
conditionals = [Conditional(c) for c in wait_for]
except AttributeError:
exc = get_exception()
module.fail_json(msg=str(exc))
except AttributeError as exc:
module.fail_json(msg=to_native(exc))
retries = module.params['retries']
interval = module.params['interval']

View file

@ -252,7 +252,6 @@ import sys
import time
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_bytes, to_native
from ansible.module_utils.urls import fetch_url
@ -588,9 +587,8 @@ def install_deb(m, debs, cache, force, install_recommends, allow_unauthenticated
# to install so they're all done in one shot
deps_to_install.extend(pkg.missing_deps)
except Exception:
e = get_exception()
m.fail_json(msg="Unable to install package: %s" % str(e))
except Exception as e:
m.fail_json(msg="Unable to install package: %s" % to_native(e))
# and add this deb to the list of packages to install
pkgs_to_install.append(deb_file)
@ -805,9 +803,8 @@ def download(module, deb):
f.write(data)
f.close()
deb = package
except Exception:
e = get_exception()
module.fail_json(msg="Failure downloading %s, %s" % (deb, e))
except Exception as e:
module.fail_json(msg="Failure downloading %s, %s" % (deb, to_native(e)))
return deb
@ -843,8 +840,7 @@ def get_cache(module):
cache = None
try:
cache = apt.Cache()
except SystemError:
e = get_exception()
except SystemError as e:
if '/var/lib/apt/lists/' in str(e).lower():
# update cache until files are fixed or retries exceeded
retries = 0

View file

@ -107,7 +107,11 @@ import os
import re
import sys
import tempfile
import json
# import module snippets
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import fetch_url
from ansible.module_utils._text import to_native
try:
import apt
import apt_pkg
@ -292,9 +296,8 @@ class SourcesList(object):
try:
f.write(line)
except IOError:
err = get_exception()
self.module.fail_json(msg="Failed to write to file %s: %s" % (tmp_path, unicode(err)))
except IOError as err:
self.module.fail_json(msg="Failed to write to file %s: %s" % (tmp_path, to_native(err)))
self.module.atomic_move(tmp_path, filename)
# allow the user to override the default mode
@ -510,9 +513,8 @@ def main():
sourceslist.add_source(repo)
elif state == 'absent':
sourceslist.remove_source(repo)
except InvalidSource:
err = get_exception()
module.fail_json(msg='Invalid repository string: %s' % unicode(err))
except InvalidSource as err:
module.fail_json(msg='Invalid repository string: %s' % to_native(err))
sources_after = sourceslist.dump()
changed = sources_before != sources_after
@ -533,15 +535,11 @@ def main():
if update_cache:
cache = apt.Cache()
cache.update()
except OSError:
err = get_exception()
module.fail_json(msg=unicode(err))
except OSError as err:
module.fail_json(msg=to_native(err))
module.exit_json(changed=changed, repo=repo, state=state, diff=diff)
# import module snippets
from ansible.module_utils.basic import *
from ansible.module_utils.urls import *
if __name__ == '__main__':
main()

View file

@ -448,7 +448,7 @@ state:
import os
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.six.moves import configparser
@ -566,32 +566,29 @@ class YumRepo(object):
# Write data into the file
try:
fd = open(self.params['dest'], 'w')
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(
msg="Cannot open repo file %s." % self.params['dest'],
details=str(e))
details=to_native(e))
self.repofile.write(fd)
try:
fd.close()
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(
msg="Cannot write repo file %s." % self.params['dest'],
details=str(e))
details=to_native(e))
else:
# Remove the file if there are not repos
try:
os.remove(self.params['dest'])
except OSError:
e = get_exception()
except OSError as e:
self.module.fail_json(
msg=(
"Cannot remove empty repo file %s." %
self.params['dest']),
details=str(e))
details=to_native(e))
def remove(self):
# Remove section if exists

View file

@ -66,7 +66,7 @@ import json
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.netapp import request, eseries_host_argument_spec
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
HEADERS = {
"Content-Type": "application/json",
@ -110,10 +110,9 @@ class Host(object):
try:
(rc, host_types) = request(self.url + 'storage-systems/%s/host-types' % self.ssid, url_password=self.pwd,
url_username=self.user, validate_certs=self.certs, headers=HEADERS)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to get host types. Array Id [%s]. Error [%s]." % (self.ssid, str(err)))
msg="Failed to get host types. Array Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
try:
match = filter(lambda host_type: host_type['index'] == self.host_type_index, host_types)[0]
@ -129,10 +128,9 @@ class Host(object):
url_password=self.pwd, url_username=self.user,
validate_certs=self.certs,
headers=HEADERS)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to get unassociated host ports. Array Id [%s]. Error [%s]." % (self.ssid, str(err)))
msg="Failed to get unassociated host ports. Array Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
if len(self.available_ports) > 0 and len(self.ports) <= len(self.available_ports):
for port in self.ports:
@ -159,10 +157,9 @@ class Host(object):
(rc, all_groups) = request(self.url + 'storage-systems/%s/host-groups' % self.ssid,
url_password=self.pwd,
url_username=self.user, validate_certs=self.certs, headers=HEADERS)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to get host groups. Array Id [%s]. Error [%s]." % (self.ssid, str(err)))
msg="Failed to get host groups. Array Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
try:
group_obj = filter(lambda group: group['name'] == self.group, all_groups)[0]
@ -178,10 +175,9 @@ class Host(object):
try:
(rc, all_hosts) = request(self.url + 'storage-systems/%s/hosts' % self.ssid, url_password=self.pwd,
url_username=self.user, validate_certs=self.certs, headers=HEADERS)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to determine host existence. Array Id [%s]. Error [%s]." % (self.ssid, str(err)))
msg="Failed to determine host existence. Array Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
self.all_hosts = all_hosts
try: # Try to grab the host object
@ -260,11 +256,10 @@ class Host(object):
self.url + 'storage-systems/%s/hosts/%s' % (self.ssid, self.host_obj['id']),
url_username=self.user, url_password=self.pwd, headers=HEADERS,
validate_certs=self.certs, method='POST', data=json.dumps(self.post_body))
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to reassign host port. Host Id [%s]. Array Id [%s]. Error [%s]." % (
self.host_obj['id'], self.ssid, str(err)))
self.host_obj['id'], self.ssid, to_native(err)))
def update_host(self):
if self.ports:
@ -285,9 +280,8 @@ class Host(object):
(rc, self.host_obj) = request(self.url + 'storage-systems/%s/hosts/%s' % (self.ssid, self.host_obj['id']),
url_username=self.user, url_password=self.pwd, headers=HEADERS,
validate_certs=self.certs, method='POST', data=json.dumps(self.post_body))
except:
err = get_exception()
self.module.fail_json(msg="Failed to update host. Array Id [%s]. Error [%s]." % (self.ssid, str(err)))
except Exception as err:
self.module.fail_json(msg="Failed to update host. Array Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
self.module.exit_json(changed=True, **self.host_obj)
@ -311,10 +305,9 @@ class Host(object):
(rc, create_resp) = request(self.url + "storage-systems/%s/hosts" % self.ssid, method='POST',
url_username=self.user, url_password=self.pwd, validate_certs=self.certs,
data=json.dumps(post_body), headers=HEADERS)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to create host. Array Id [%s]. Error [%s]." % (self.ssid, str(err)))
msg="Failed to create host. Array Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
else:
self.module.exit_json(changed=False,
msg="Host already exists. Id [%s]. Host [%s]." % (self.ssid, self.name))
@ -331,12 +324,11 @@ class Host(object):
(rc, resp) = request(self.url + "storage-systems/%s/hosts/%s" % (self.ssid, self.host_obj['id']),
method='DELETE',
url_username=self.user, url_password=self.pwd, validate_certs=self.certs)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to remote host. Host[%s]. Array Id [%s]. Error [%s]." % (self.host_obj['id'],
self.ssid,
str(err)))
to_native(err)))
def apply(self):
if self.state == 'present':

View file

@ -78,7 +78,7 @@ import json
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.netapp import request, eseries_host_argument_spec
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
HEADERS = {
"Content-Type": "application/json",
@ -94,9 +94,8 @@ def get_host_and_group_map(module, ssid, api_url, user, pwd, validate_certs):
try:
hg_rc, hg_data = request(groups_url, headers=HEADERS, url_username=user, url_password=pwd,
validate_certs=validate_certs)
except:
err = get_exception()
module.fail_json(msg="Failed to get host groups. Id [%s]. Error [%s]" % (ssid, str(err)))
except Exception as err:
module.fail_json(msg="Failed to get host groups. Id [%s]. Error [%s]" % (ssid, to_native(err)))
for group in hg_data:
mapping['group'][group['name']] = group['id']
@ -106,9 +105,8 @@ def get_host_and_group_map(module, ssid, api_url, user, pwd, validate_certs):
try:
h_rc, h_data = request(hosts_url, headers=HEADERS, url_username=user, url_password=pwd,
validate_certs=validate_certs)
except:
err = get_exception()
module.fail_json(msg="Failed to get hosts. Id [%s]. Error [%s]" % (ssid, str(err)))
except Exception as err:
module.fail_json(msg="Failed to get hosts. Id [%s]. Error [%s]" % (ssid, to_native(err)))
for host in h_data:
mapping['host'][host['name']] = host['id']
@ -150,10 +148,9 @@ def get_volumes(module, ssid, api_url, user, pwd, mappable, validate_certs):
url = api_url + volumes
try:
rc, data = request(url, url_username=user, url_password=pwd, validate_certs=validate_certs)
except Exception:
err = get_exception()
except Exception as err:
module.fail_json(
msg="Failed to mappable objects. Type[%s. Id [%s]. Error [%s]." % (mappable, ssid, str(err)))
msg="Failed to mappable objects. Type[%s. Id [%s]. Error [%s]." % (mappable, ssid, to_native(err)))
return data

View file

@ -136,7 +136,7 @@ import json
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.urls import open_url
from ansible.module_utils.six.moves.urllib.error import HTTPError
@ -149,8 +149,7 @@ def request(url, data=None, headers=None, method='GET', use_proxy=True,
force=force, last_mod_time=last_mod_time, timeout=timeout, validate_certs=validate_certs,
url_username=url_username, url_password=url_password, http_agent=http_agent,
force_basic_auth=force_basic_auth)
except HTTPError:
err = get_exception()
except HTTPError as err:
r = err.fp
try:
@ -223,10 +222,9 @@ class SnapshotGroup(object):
url = self.url + pools
try:
(rc, data) = request(url, headers=HEADERS, url_username=self.user, url_password=self.pwd)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Snapshot group module - Failed to fetch storage pools. " +
"Id [%s]. Error [%s]." % (self.ssid, str(err)))
"Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
for pool in data:
if pool['name'] == self.storage_pool_name:
@ -242,10 +240,9 @@ class SnapshotGroup(object):
try:
rc, data = request(url, headers=HEADERS, url_username=self.user, url_password=self.pwd,
validate_certs=self.certs)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Snapshot group module - Failed to fetch volumes. " +
"Id [%s]. Error [%s]." % (self.ssid, str(err)))
"Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
qty = 0
for volume in data:
if volume['name'] == self.base_volume_name:
@ -269,10 +266,9 @@ class SnapshotGroup(object):
try:
rc, data = request(url, headers=HEADERS, url_username=self.user, url_password=self.pwd,
validate_certs=self.certs)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Failed to fetch snapshot groups. " +
"Id [%s]. Error [%s]." % (self.ssid, str(err)))
"Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
for ssg in data:
if ssg['name'] == self.name:
self.ssg_data = ssg
@ -305,12 +301,11 @@ class SnapshotGroup(object):
try:
rc, self.ssg_data = request(url, data=json.dumps(self.post_data), method='POST', headers=HEADERS,
url_username=self.user, url_password=self.pwd, validate_certs=self.certs)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Failed to create snapshot group. " +
"Snapshot group [%s]. Id [%s]. Error [%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
if not self.snapshot_group_id:
self.snapshot_group_id = self.ssg_data['id']
@ -332,12 +327,11 @@ class SnapshotGroup(object):
try:
rc, self.ssg_data = request(url, data=json.dumps(self.post_data), method='POST', headers=HEADERS,
url_username=self.user, url_password=self.pwd, validate_certs=self.certs)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Failed to update snapshot group. " +
"Snapshot group [%s]. Id [%s]. Error [%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
def apply(self):
if self.state == 'absent':
@ -347,12 +341,11 @@ class SnapshotGroup(object):
self.url + 'storage-systems/%s/snapshot-groups/%s' % (self.ssid, self.snapshot_group_id),
method='DELETE', headers=HEADERS, url_password=self.pwd, url_username=self.user,
validate_certs=self.certs)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Failed to delete snapshot group. " +
"Snapshot group [%s]. Id [%s]. Error [%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
self.module.exit_json(changed=True, msg="Snapshot group removed", **self.ssg_data)
else:
self.module.exit_json(changed=False, msg="Snapshot group absent")

View file

@ -84,7 +84,7 @@ import json
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.urls import open_url
from ansible.module_utils.six.moves.urllib.error import HTTPError
@ -97,8 +97,7 @@ def request(url, data=None, headers=None, method='GET', use_proxy=True,
force=force, last_mod_time=last_mod_time, timeout=timeout, validate_certs=validate_certs,
url_username=url_username, url_password=url_password, http_agent=http_agent,
force_basic_auth=force_basic_auth)
except HTTPError:
err = get_exception()
except HTTPError as err:
r = err.fp
try:
@ -145,10 +144,9 @@ def oldest_image(module, ssid, api_url, api_pwd, api_usr, name):
try:
(ret, images) = request(url, url_username=api_usr, url_password=api_pwd, headers=HEADERS,
validate_certs=module.params['validate_certs'])
except:
err = get_exception()
except Exception as err:
module.fail_json(msg="Failed to get snapshot images for group. Group [%s]. Id [%s]. Error [%s]" %
(name, ssid, str(err)))
(name, ssid, to_native(err)))
if not images:
module.exit_json(msg="There are no snapshot images to remove. Group [%s]. Id [%s]." % (name, ssid))
@ -188,8 +186,7 @@ def delete_image(module, ssid, api_url, pwd, user, snapshot_group):
try:
(ret, image_data) = request(url, method='DELETE', url_username=user, url_password=pwd, headers=HEADERS,
validate_certs=module.params['validate_certs'])
except Exception:
e = get_exception()
except Exception as e:
image_data = (e[0], e[1])
if ret == 204:

View file

@ -111,7 +111,6 @@ import json
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils.urls import open_url
from ansible.module_utils.six.moves.urllib.error import HTTPError
@ -124,8 +123,7 @@ def request(url, data=None, headers=None, method='GET', use_proxy=True,
force=force, last_mod_time=last_mod_time, timeout=timeout, validate_certs=validate_certs,
url_username=url_username, url_password=url_password, http_agent=http_agent,
force_basic_auth=force_basic_auth)
except HTTPError:
err = get_exception()
except HTTPError as err:
r = err.fp
try:

View file

@ -101,7 +101,7 @@ from time import sleep
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.urls import open_url
from ansible.module_utils.six.moves.urllib.error import HTTPError
@ -114,8 +114,7 @@ def request(url, data=None, headers=None, method='GET', use_proxy=True,
force=force, last_mod_time=last_mod_time, timeout=timeout, validate_certs=validate_certs,
url_username=url_username, url_password=url_password, http_agent=http_agent,
force_basic_auth=force_basic_auth)
except HTTPError:
err = get_exception()
except HTTPError as err:
r = err.fp
try:
@ -208,9 +207,8 @@ def main():
(rc, resp) = request(api_url + "/storage-systems/%s" % ssid, headers=dict(Accept="application/json"),
url_username=api_usr, url_password=api_pwd, validate_certs=validate_certs,
ignore_errors=True)
except:
err = get_exception()
module.fail_json(msg="Error accessing storage-system with id [%s]. Error [%s]" % (ssid, str(err)))
except Exception as err:
module.fail_json(msg="Error accessing storage-system with id [%s]. Error [%s]" % (ssid, to_native(err)))
array_exists = True
array_detail = resp
@ -260,10 +258,9 @@ def main():
try:
(rc, resp) = do_post(ssid, api_url, post_headers, api_usr, api_pwd, validate_certs, request_data,
array_status_timeout_sec)
except:
err = get_exception()
except Exception as err:
module.fail_json(msg="Failed to add storage system. Id[%s]. Request body [%s]. Error[%s]." %
(ssid, request_data, str(err)))
(ssid, request_data, to_native(err)))
else: # array exists, modify...
post_headers = dict(Accept="application/json")
@ -278,10 +275,9 @@ def main():
try:
(rc, resp) = do_post(ssid, api_url, post_headers, api_usr, api_pwd, validate_certs, post_body,
array_status_timeout_sec)
except:
err = get_exception()
except Exception as err:
module.fail_json(msg="Failed to update storage system. Id[%s]. Request body [%s]. Error[%s]." %
(ssid, post_body, str(err)))
(ssid, post_body, to_native(err)))
elif state == 'absent':
# delete the array
@ -289,9 +285,8 @@ def main():
(rc, resp) = request(api_url + "/storage-systems/%s" % ssid, method='DELETE',
url_username=api_usr,
url_password=api_pwd, validate_certs=validate_certs)
except:
err = get_exception()
module.fail_json(msg="Failed to remove storage array. Id[%s]. Error[%s]." % (ssid, str(err)))
except Exception as err:
module.fail_json(msg="Failed to remove storage array. Id[%s]. Error[%s]." % (ssid, to_native(err)))
if rc == 422:
module.exit_json(changed=changed, msg="Storage system was not presnt.")

View file

@ -109,7 +109,7 @@ from traceback import format_exc
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.netapp import request, eseries_host_argument_spec
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
def select(predicate, iterable):
@ -380,17 +380,15 @@ class NetAppESeriesStoragePool(object):
(rc, resp) = request(self.api_url + "/storage-systems/%s/storage-pools" % (self.ssid),
headers=dict(Accept="application/json"), url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs)
except Exception:
err = get_exception()
except Exception as err:
rc = err.args[0]
if rc == 404 and self.state == 'absent':
self.module.exit_json(
msg="Storage pool [%s] did not exist." % (self.name))
else:
err = get_exception()
self.module.exit_json(
msg="Failed to get storage pools. Array id [%s]. Error[%s]. State[%s]. RC[%s]." %
(self.ssid, str(err), self.state, rc))
(self.ssid, to_native(err), self.state, rc))
self.debug("searching for storage pool '%s'", storage_pool_name)
@ -435,10 +433,9 @@ class NetAppESeriesStoragePool(object):
(rc, drives_resp) = request(self.api_url + "/storage-systems/%s/drives" % (self.ssid), method='GET',
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs)
except:
err = get_exception()
except Exception as err:
self.module.exit_json(
msg="Failed to fetch disk drives. Array id [%s]. Error[%s]." % (self.ssid, str(err)))
msg="Failed to fetch disk drives. Array id [%s]. Error[%s]." % (self.ssid, to_native(err)))
try:
candidate_set = self.filter_drives(drives_resp,
@ -451,10 +448,9 @@ class NetAppESeriesStoragePool(object):
interface_type=self.criteria_drive_interface_type,
fde_required=self.criteria_drive_require_fde
)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to allocate adequate drive count. Id [%s]. Error [%s]." % (self.ssid, str(err)))
msg="Failed to allocate adequate drive count. Id [%s]. Error [%s]." % (self.ssid, to_native(err)))
disk_ids = [d['id'] for d in candidate_set]
@ -478,13 +474,12 @@ class NetAppESeriesStoragePool(object):
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs,
timeout=120)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to create storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id,
self.ssid,
str(err)))
to_native(err)))
self.pool_detail = self.get_storage_pool(self.name)
@ -496,13 +491,12 @@ class NetAppESeriesStoragePool(object):
data=json.dumps(secure_pool_data), headers=self.post_headers, method='POST',
url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs, timeout=120, ignore_errors=True)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to update storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id,
self.ssid,
str(err)))
to_native(err)))
@property
def needs_raid_level_migration(self):
@ -527,12 +521,11 @@ class NetAppESeriesStoragePool(object):
data=json.dumps(sp_raid_migrate_req), headers=self.post_headers, method='POST',
url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs, timeout=120)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to change the raid level of storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (
pool_id, self.ssid, str(err)))
pool_id, self.ssid, to_native(err)))
@property
def sp_drives(self, exclude_hotspares=True):
@ -543,11 +536,10 @@ class NetAppESeriesStoragePool(object):
(rc, resp) = request(self.api_url + "/storage-systems/%s/drives" % (self.ssid), method='GET',
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to fetch disk drives. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id, self.ssid, str(err)))
msg="Failed to fetch disk drives. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id, self.ssid, to_native(err)))
sp_id = self.pool_detail['id']
if exclude_hotspares:
@ -586,12 +578,11 @@ class NetAppESeriesStoragePool(object):
self.pool_detail['id']),
method='GET', url_username=self.api_usr, url_password=self.api_pwd, validate_certs=self.validate_certs,
timeout=120)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to fetch candidate drives for storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (
pool_id, self.ssid, str(err)))
pool_id, self.ssid, to_native(err)))
current_drive_count = len(self.sp_drives)
current_capacity_bytes = int(self.pool_detail['totalRaidedSpace']) # TODO: is this the right attribute to use?
@ -649,14 +640,12 @@ class NetAppESeriesStoragePool(object):
self.pool_detail['id']),
data=json.dumps(sp_expand_req), headers=self.post_headers, method='POST', url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs, timeout=120)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to add drives to storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id,
self.ssid,
str(
err)))
to_native(err)))
# TODO: check response
# TODO: support blocking wait?
@ -675,12 +664,11 @@ class NetAppESeriesStoragePool(object):
self.pool_detail['id']),
data=json.dumps(drive_list), headers=self.post_headers, method='POST', url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs, timeout=120)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to remove drives from storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (
pool_id, self.ssid, str(err)))
pool_id, self.ssid, to_native(err)))
def update_reserve_drive_count(self, qty):
data = dict(reservedDriveCount=qty)
@ -689,14 +677,12 @@ class NetAppESeriesStoragePool(object):
self.api_url + "/storage-systems/%s/storage-pools/%s" % (self.ssid, self.pool_detail['id']),
data=json.dumps(data), headers=self.post_headers, method='POST', url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs, timeout=120)
except:
err = get_exception()
except Exception as err:
pool_id = self.pool_detail['id']
self.module.exit_json(
msg="Failed to update reserve drive count. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id,
self.ssid,
str(
err)))
to_native(err)))
def apply(self):
changed = False
@ -777,11 +763,10 @@ class NetAppESeriesStoragePool(object):
data=json.dumps(secure_pool_data), headers=self.post_headers, method='POST',
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs, timeout=120, ignore_errors=True)
except:
err = get_exception()
except Exception as err:
self.module.exit_json(
msg="Failed to delete storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (
pool_id, self.ssid, str(err)))
pool_id, self.ssid, to_native(err)))
if int(retc) == 422:
self.module.fail_json(
@ -799,12 +784,11 @@ class NetAppESeriesStoragePool(object):
method='DELETE',
url_username=self.api_usr, url_password=self.api_pwd, validate_certs=self.validate_certs,
timeout=120)
except:
err = get_exception()
except Exception as err:
self.module.exit_json(
msg="Failed to delete storage pool. Pool id [%s]. Array id [%s]. Error[%s]." % (pool_id,
self.ssid,
str(err)))
to_native(err)))
self.module.exit_json(changed=changed, **self.pool_detail)
@ -813,9 +797,8 @@ def main():
sp = NetAppESeriesStoragePool()
try:
sp.apply()
except Exception:
e = get_exception()
sp.debug("Exception in apply(): \n%s", format_exc(e))
except Exception as e:
sp.debug("Exception in apply(): \n%s", format_exc())
raise

View file

@ -117,7 +117,7 @@ from traceback import format_exc
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.netapp import request, eseries_host_argument_spec
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
HEADERS = {
"Content-Type": "application/json",
@ -217,21 +217,19 @@ class NetAppESeriesVolume(object):
(rc, volumes) = request(self.api_url + "/storage-systems/%s/volumes" % (self.ssid),
headers=dict(Accept="application/json"), url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to obtain list of standard/thick volumes. Array Id [%s]. Error[%s]." % (self.ssid,
str(err)))
to_native(err)))
try:
self.debug('fetching thin-volumes')
(rc, thinvols) = request(self.api_url + "/storage-systems/%s/thin-volumes" % (self.ssid),
headers=dict(Accept="application/json"), url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to obtain list of thin volumes. Array Id [%s]. Error[%s]." % (self.ssid, str(err)))
msg="Failed to obtain list of thin volumes. Array Id [%s]. Error[%s]." % (self.ssid, to_native(err)))
volumes.extend(thinvols)
@ -252,10 +250,9 @@ class NetAppESeriesVolume(object):
(rc, resp) = request(self.api_url + "/storage-systems/%s/storage-pools" % (self.ssid),
headers=dict(Accept="application/json"), url_username=self.api_usr,
url_password=self.api_pwd, validate_certs=self.validate_certs)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to obtain list of storage pools. Array Id [%s]. Error[%s]." % (self.ssid, str(err)))
msg="Failed to obtain list of storage pools. Array Id [%s]. Error[%s]." % (self.ssid, to_native(err)))
self.debug("searching for storage pool '%s'", storage_pool_name)
pool_detail = next(ifilter(lambda a: a['name'] == storage_pool_name, resp), None)
@ -284,11 +281,10 @@ class NetAppESeriesVolume(object):
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs,
timeout=120)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to create volume. Volume [%s]. Array Id [%s]. Error[%s]." % (self.name, self.ssid,
str(err)))
to_native(err)))
def create_thin_volume(self, pool_id, name, size_unit, size, thin_volume_repo_size,
thin_volume_max_repo_size, data_assurance_enabled):
@ -309,12 +305,11 @@ class NetAppESeriesVolume(object):
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs,
timeout=120)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to create thin volume. Volume [%s]. Array Id [%s]. Error[%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
def delete_volume(self):
# delete the volume
@ -325,11 +320,10 @@ class NetAppESeriesVolume(object):
self.volume_detail['id']),
method='DELETE', url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs, timeout=120)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to delete volume. Volume [%s]. Array Id [%s]. Error[%s]." % (self.name, self.ssid,
str(err)))
to_native(err)))
@property
def volume_resource_name(self):
@ -366,12 +360,11 @@ class NetAppESeriesVolume(object):
data=json.dumps(update_volume_req), headers=HEADERS, method='POST',
url_username=self.api_usr, url_password=self.api_pwd, validate_certs=self.validate_certs,
timeout=120)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to update volume properties. Volume [%s]. Array Id [%s]. Error[%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
@property
def volume_needs_expansion(self):
@ -399,12 +392,11 @@ class NetAppESeriesVolume(object):
data=json.dumps(thin_volume_expand_req), headers=HEADERS, method='POST',
url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs, timeout=120)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to expand thin volume. Volume [%s]. Array Id [%s]. Error[%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
# TODO: check return code
else:
@ -420,12 +412,11 @@ class NetAppESeriesVolume(object):
data=json.dumps(volume_expand_req), headers=HEADERS, method='POST',
url_username=self.api_usr, url_password=self.api_pwd, validate_certs=self.validate_certs,
timeout=120)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to expand volume. Volume [%s]. Array Id [%s]. Error[%s]." % (self.name,
self.ssid,
str(err)))
to_native(err)))
self.debug('polling for completion...')
@ -436,11 +427,10 @@ class NetAppESeriesVolume(object):
'id']),
method='GET', url_username=self.api_usr, url_password=self.api_pwd,
validate_certs=self.validate_certs)
except Exception:
err = get_exception()
except Exception as err:
self.module.fail_json(
msg="Failed to get volume expansion progress. Volume [%s]. Array Id [%s]. Error[%s]." % (
self.name, self.ssid, str(err)))
self.name, self.ssid, to_native(err)))
action = resp['action']
percent_complete = resp['percentComplete']
@ -538,10 +528,9 @@ def main():
try:
v.apply()
except Exception:
e = get_exception()
v.debug("Exception in apply(): \n%s", format_exc(e))
v.module.fail_json(msg="Module failed. Error [%s]." % (str(e)))
except Exception as e:
v.debug("Exception in apply(): \n%s", format_exc())
v.module.fail_json(msg="Module failed. Error [%s]." % to_native(e))
if __name__ == '__main__':

View file

@ -98,7 +98,7 @@ msg:
import json
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.netapp import request
HEADERS = {
@ -284,9 +284,8 @@ def main():
if params['search_volume_id'] is not None:
try:
potential_targets, potential_sources = find_valid_copy_pair_targets_and_sources(params)
except:
e = get_exception()
module.fail_json(msg="Failed to find valid copy pair candidates. Error [%s]" % str(e))
except Exception as e:
module.fail_json(msg="Failed to find valid copy pair candidates. Error [%s]" % to_native(e))
module.exit_json(changed=False,
msg=' Valid source devices found: %s Valid target devices found: %s' % (len(potential_sources), len(potential_targets)),

View file

@ -138,7 +138,7 @@ msg:
"""
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
import ansible.module_utils.netapp as netapp_utils
HAS_SF_SDK = netapp_utils.has_sf_sdk()
@ -230,19 +230,17 @@ class SolidFireVolume(object):
qos=self.qos,
attributes=self.attributes)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Error provisioning volume %s of size %s" % (self.name, self.size),
exception=str(err))
exception=to_native(err))
def delete_volume(self):
try:
self.sfe.delete_volume(volume_id=self.volume_id)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Error deleting volume %s" % self.volume_id,
exception=str(err))
exception=to_native(err))
def update_volume(self):
try:
@ -253,10 +251,9 @@ class SolidFireVolume(object):
total_size=self.size,
attributes=self.attributes)
except:
err = get_exception()
except Exception as err:
self.module.fail_json(msg="Error updating volume %s" % self.name,
exception=str(err))
exception=to_native(err))
def apply(self):
changed = False
@ -326,5 +323,6 @@ def main():
v = SolidFireVolume()
v.apply()
if __name__ == '__main__':
main()

View file

@ -81,7 +81,7 @@ import tempfile
import errno
import re
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
from ansible.module_utils.basic import AnsibleModule
@ -132,8 +132,7 @@ def enforce_state(module, params):
if replace_or_add or found != (state == "present"):
try:
inf = open(path, "r")
except IOError:
e = get_exception()
except IOError as e:
if e.errno == errno.ENOENT:
inf = None
else:
@ -150,9 +149,8 @@ def enforce_state(module, params):
outf.write(key)
outf.flush()
module.atomic_move(outf.name, path)
except (IOError, OSError):
e = get_exception()
module.fail_json(msg="Failed to write to file %s: %s" % (path, str(e)))
except (IOError, OSError) as e:
module.fail_json(msg="Failed to write to file %s: %s" % (path, to_native(e)))
try:
outf.close()
@ -185,10 +183,9 @@ def sanity_check(module, host, key, sshkeygen):
outf = tempfile.NamedTemporaryFile(mode='w+')
outf.write(key)
outf.flush()
except IOError:
e = get_exception()
except IOError as e:
module.fail_json(msg="Failed to write to temporary file %s: %s" %
(outf.name, str(e)))
(outf.name, to_native(e)))
sshkeygen_command = [sshkeygen, '-F', host, '-f', outf.name]
rc, stdout, stderr = module.run_command(sshkeygen_command, check_rc=True)
@ -299,8 +296,7 @@ def compute_diff(path, found_line, replace_or_add, state, key):
}
try:
inf = open(path, "r")
except IOError:
e = get_exception()
except IOError as e:
if e.errno == errno.ENOENT:
diff['before_header'] = '/dev/null'
else:
@ -331,5 +327,6 @@ def main():
results = enforce_state(module, module.params)
module.exit_json(**results)
if __name__ == '__main__':
main()

View file

@ -43,7 +43,6 @@ import re
from subprocess import Popen, PIPE, call
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
LOCALE_NORMALIZATION = {
@ -228,9 +227,8 @@ def main():
apply_change(state, name)
else:
apply_change_ubuntu(state, name)
except EnvironmentError:
e = get_exception()
module.fail_json(msg=e.strerror, exitValue=e.errno)
except EnvironmentError as e:
module.fail_json(msg=to_native(e), exitValue=e.errno)
module.exit_json(name=name, changed=changed, msg="OK")

View file

@ -128,7 +128,6 @@ import os
from ansible.module_utils.basic import AnsibleModule, get_platform
from ansible.module_utils.ismount import ismount
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils.six import iteritems
from ansible.module_utils._text import to_native
@ -653,9 +652,8 @@ def main():
if os.path.exists(name):
try:
os.rmdir(name)
except (OSError, IOError):
e = get_exception()
module.fail_json(msg="Error rmdir %s: %s" % (name, str(e)))
except (OSError, IOError) as e:
module.fail_json(msg="Error rmdir %s: %s" % (name, to_native(e)))
elif state == 'unmounted':
if ismount(name) or is_bind_mounted(module, linux_mounts, name):
if not module.check_mode:
@ -670,10 +668,9 @@ def main():
if not os.path.exists(name) and not module.check_mode:
try:
os.makedirs(name)
except (OSError, IOError):
e = get_exception()
except (OSError, IOError) as e:
module.fail_json(
msg="Error making dir %s: %s" % (name, str(e)))
msg="Error making dir %s: %s" % (name, to_native(e)))
name, changed = set_mount(module, args)
res = 0

View file

@ -255,7 +255,7 @@ dest:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils._text import to_native
import os
import re
import time
@ -360,11 +360,10 @@ class PamdService(object):
stringline += '\n'
self.load_rules_from_string(stringline.replace("\\\n", ""))
except IOError:
e = get_exception()
except IOError as e:
self.ansible.fail_json(msg='Unable to open/read PAM module \
file %s with error %s. And line %s' %
(self.fname, str(e), stringline))
(self.fname, to_native(e), stringline))
def load_rules_from_string(self, stringvalue):
for line in stringvalue.splitlines():
@ -687,5 +686,6 @@ def main():
module.exit_json(changed=change, ansible_facts=facts)
if __name__ == '__main__':
main()

View file

@ -229,7 +229,6 @@ import time
from ansible.module_utils._text import to_native
from ansible.module_utils.basic import load_platform_subclass, AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
try:
import spwd
@ -298,9 +297,8 @@ class User(object):
if module.params['expires']:
try:
self.expires = time.gmtime(module.params['expires'])
except Exception:
e = get_exception()
module.fail_json(msg="Invalid expires time %s: %s" % (self.expires, e))
except Exception as e:
module.fail_json(msg="Invalid expires time %s: %s" % (self.expires, to_native(e)))
if module.params['ssh_key_file'] is not None:
self.ssh_file = module.params['ssh_key_file']
@ -637,9 +635,8 @@ class User(object):
try:
os.mkdir(ssh_dir, int('0700', 8))
os.chown(ssh_dir, info[2], info[3])
except OSError:
e = get_exception()
return (1, '', 'Failed to create %s: %s' % (ssh_dir, str(e)))
except OSError as e:
return (1, '', 'Failed to create %s: %s' % (ssh_dir, to_native(e)))
if os.path.exists(ssh_key_file):
return (None, 'Key already exists', '')
cmd = [self.module.get_bin_path('ssh-keygen', True)]
@ -709,15 +706,13 @@ class User(object):
if os.path.exists(skeleton):
try:
shutil.copytree(skeleton, path, symlinks=True)
except OSError:
e = get_exception()
self.module.exit_json(failed=True, msg="%s" % e)
except OSError as e:
self.module.exit_json(failed=True, msg="%s" % to_native(e))
else:
try:
os.makedirs(path)
except OSError:
e = get_exception()
self.module.exit_json(failed=True, msg="%s" % e)
except OSError as e:
self.module.exit_json(failed=True, msg="%s" % to_native(e))
def chown_homedir(self, uid, gid, path):
try:
@ -727,9 +722,8 @@ class User(object):
os.chown(os.path.join(root, d), uid, gid)
for f in files:
os.chown(os.path.join(root, f), uid, gid)
except OSError:
e = get_exception()
self.module.exit_json(failed=True, msg="%s" % e)
except OSError as e:
self.module.exit_json(failed=True, msg="%s" % to_native(e))
# ===========================================
@ -1289,9 +1283,8 @@ class SunOS(User):
maxweeks = value.rstrip('\n')
elif key == "WARNWEEKS":
warnweeks = value.rstrip('\n')
except Exception:
err = get_exception()
self.module.fail_json(msg="failed to read /etc/default/passwd: %s" % str(err))
except Exception as err:
self.module.fail_json(msg="failed to read /etc/default/passwd: %s" % to_native(err))
return (minweeks, maxweeks, warnweeks)
@ -1372,9 +1365,8 @@ class SunOS(User):
line = ':'.join(fields)
lines.append('%s\n' % line)
open(self.SHADOWFILE, 'w+').writelines(lines)
except Exception:
err = get_exception()
self.module.fail_json(msg="failed to update users password: %s" % str(err))
except Exception as err:
self.module.fail_json(msg="failed to update users password: %s" % to_native(err))
return (rc, out, err)
@ -1468,9 +1460,8 @@ class SunOS(User):
lines.append('%s\n' % line)
open(self.SHADOWFILE, 'w+').writelines(lines)
rc = 0
except Exception:
err = get_exception()
self.module.fail_json(msg="failed to update users password: %s" % str(err))
except Exception as err:
self.module.fail_json(msg="failed to update users password: %s" % to_native(err))
return (rc, out, err)

View file

@ -96,7 +96,8 @@ EXAMPLES = """
import os
import tempfile
from distutils.version import LooseVersion
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
try:
from passlib.apache import HtpasswdFile, htpasswd_context
from passlib.context import CryptContext
@ -262,14 +263,9 @@ def main():
check_file_attrs(module, changed, msg)
module.exit_json(msg=msg, changed=changed)
except Exception:
e = get_exception()
module.fail_json(msg=str(e))
except Exception as e:
module.fail_json(msg=to_native(e))
# import module snippets
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
if __name__ == '__main__':
main()

View file

@ -276,7 +276,6 @@ state:
'''
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
from ansible.module_utils.six.moves.urllib.parse import urlencode
from ansible.module_utils.urls import fetch_url, url_argument_spec
from ansible.module_utils._text import to_native
@ -325,8 +324,7 @@ class JenkinsPlugin(object):
# Parse the JSON data
try:
json_data = json.loads(to_native(r.read()))
except Exception:
e = get_exception()
except Exception as e:
self.module.fail_json(
msg="Cannot parse %s JSON data." % what,
details=to_native(e))
@ -350,8 +348,7 @@ class JenkinsPlugin(object):
if info['status'] != 200:
self.module.fail_json(msg=msg_status, details=info['msg'])
except Exception:
e = get_exception()
except Exception as e:
self.module.fail_json(msg=msg_exception, details=to_native(e))
return response
@ -500,11 +497,10 @@ class JenkinsPlugin(object):
try:
sha1_old = hashlib.sha1(open(plugin_file, 'rb').read())
except Exception:
e = get_exception()
except Exception as e:
self.module.fail_json(
msg="Cannot calculate SHA1 of the old plugin.",
details=e.message)
details=to_native(e))
sha1sum_old = base64.b64encode(sha1_old.digest())
@ -567,8 +563,7 @@ class JenkinsPlugin(object):
try:
os.close(update_fd)
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(
msg="Cannot close the tmp updates file %s." % updates_file,
details=to_native(e))
@ -576,8 +571,7 @@ class JenkinsPlugin(object):
# Open the updates file
try:
f = open(updates_file)
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(
msg="Cannot open temporal updates file.",
details=to_native(e))
@ -588,11 +582,10 @@ class JenkinsPlugin(object):
if i == 1:
try:
data = json.loads(line)
except Exception:
e = get_exception()
except Exception as e:
self.module.fail_json(
msg="Cannot load JSON data from the tmp updates file.",
details=e.message)
details=to_native(e))
break
@ -604,11 +597,10 @@ class JenkinsPlugin(object):
if not os.path.isdir(updates_dir):
try:
os.makedirs(updates_dir, int('0700', 8))
except OSError:
e = get_exception()
except OSError as e:
self.module.fail_json(
msg="Cannot create temporal directory.",
details=e.message)
details=to_native(e))
self.module.atomic_move(updates_file, updates_file_orig)
@ -639,8 +631,7 @@ class JenkinsPlugin(object):
try:
os.close(tmp_f_fd)
except IOError:
e = get_exception()
except IOError as e:
self.module.fail_json(
msg='Cannot close the temporal plugin file %s.' % tmp_f,
details=to_native(e))
@ -766,8 +757,7 @@ def main():
# Convert timeout to float
try:
module.params['timeout'] = float(module.params['timeout'])
except ValueError:
e = get_exception()
except ValueError as e:
module.fail_json(
msg='Cannot convert %s to float.' % module.params['timeout'],
details=to_native(e))

View file

@ -117,7 +117,8 @@ EXAMPLES = '''
RETURN = '''# '''
from os import getenv
from os.path import isfile
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
try:
from taiga import TaigaAPI
from taiga.exceptions import TaigaException
@ -235,9 +236,8 @@ def manage_issue(module, taiga_host, project_name, issue_subject, issue_priority
# More than 1 matching issue
return (False, changed, "More than one issue with subject %s in project %s" % (issue_subject, project_name), {})
except TaigaException:
exc = get_exception()
msg = "An exception happened: %s" % exc
except TaigaException as exc:
msg = "An exception happened: %s" % to_native(exc)
return (False, changed, msg, {})
@ -307,8 +307,5 @@ def main():
module.fail_json(msg=msg)
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.pycompat24 import get_exception
if __name__ == '__main__':
main()