cloudstack: cs_router: use query_api, remove CloudStackException dependency

This commit is contained in:
Rene Moser 2017-07-15 17:58:31 +02:00 committed by René Moser
commit 1a27546039

View file

@ -175,7 +175,6 @@ account:
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.cloudstack import ( from ansible.module_utils.cloudstack import (
AnsibleCloudStack, AnsibleCloudStack,
CloudStackException,
cs_argument_spec, cs_argument_spec,
cs_required_together, cs_required_together,
) )
@ -203,7 +202,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
'issystem': True 'issystem': True
} }
service_offerings = self.cs.listServiceOfferings(**args) service_offerings = self.query_api('listServiceOfferings', **args)
if service_offerings: if service_offerings:
for s in service_offerings['serviceoffering']: for s in service_offerings['serviceoffering']:
if service_offering in [s['name'], s['id']]: if service_offering in [s['name'], s['id']]:
@ -224,7 +223,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
if self.module.params.get('zone'): if self.module.params.get('zone'):
args['zoneid'] = self.get_zone(key='id') args['zoneid'] = self.get_zone(key='id')
routers = self.cs.listRouters(**args) routers = self.query_api('listRouters', **args)
if routers: if routers:
for r in routers['router']: for r in routers['router']:
if router.lower() in [r['name'].lower(), r['id']]: if router.lower() in [r['name'].lower(), r['id']]:
@ -245,9 +244,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
} }
if not self.module.check_mode: if not self.module.check_mode:
res = self.cs.startRouter(**args) res = self.query_api('startRouter', **args)
if 'errortext' in res:
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
poll_async = self.module.params.get('poll_async') poll_async = self.module.params.get('poll_async')
if poll_async: if poll_async:
@ -267,9 +264,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
} }
if not self.module.check_mode: if not self.module.check_mode:
res = self.cs.stopRouter(**args) res = self.query_api('stopRouter', **args)
if 'errortext' in res:
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
poll_async = self.module.params.get('poll_async') poll_async = self.module.params.get('poll_async')
if poll_async: if poll_async:
@ -288,9 +283,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
} }
if not self.module.check_mode: if not self.module.check_mode:
res = self.cs.rebootRouter(**args) res = self.query_api('rebootRouter', **args)
if 'errortext' in res:
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
poll_async = self.module.params.get('poll_async') poll_async = self.module.params.get('poll_async')
if poll_async: if poll_async:
@ -307,10 +300,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
} }
if not self.module.check_mode: if not self.module.check_mode:
res = self.cs.destroyRouter(**args) res = self.query_api('destroyRouter', **args)
if 'errortext' in res:
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
poll_async = self.module.params.get('poll_async') poll_async = self.module.params.get('poll_async')
if poll_async: if poll_async:
@ -336,10 +326,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
current_state = router['state'].lower() current_state = router['state'].lower()
self.stop_router() self.stop_router()
router = self.cs.changeServiceForRouter(**args) router = self.query_api('changeServiceForRouter', **args)
if 'errortext' in router:
self.module.fail_json(msg="Failed: '%s'" % router['errortext'])
if state in ['restarted', 'started']: if state in ['restarted', 'started']:
router = self.start_router() router = self.start_router()
@ -380,19 +367,15 @@ def main():
supports_check_mode=True supports_check_mode=True
) )
try: acs_router = AnsibleCloudStackRouter(module)
acs_router = AnsibleCloudStackRouter(module)
state = module.params.get('state') state = module.params.get('state')
if state in ['absent']: if state in ['absent']:
router = acs_router.absent_router() router = acs_router.absent_router()
else: else:
router = acs_router.present_router() router = acs_router.present_router()
result = acs_router.get_result(router) result = acs_router.get_result(router)
except CloudStackException as e:
module.fail_json(msg='CloudStackException: %s' % str(e))
module.exit_json(**result) module.exit_json(**result)