commit
aa1d2acb68
15 changed files with 51 additions and 82 deletions
|
@ -400,11 +400,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -246,11 +246,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -130,7 +130,7 @@ class CloudStackFacts(object):
|
||||||
if not filter:
|
if not filter:
|
||||||
for key,path in self.fact_paths.iteritems():
|
for key,path in self.fact_paths.iteritems():
|
||||||
result[key] = self._fetch(CS_METADATA_BASE_URL + "/" + path)
|
result[key] = self._fetch(CS_METADATA_BASE_URL + "/" + path)
|
||||||
result['cloudstack_user_data'] = self._get_user_data_json()
|
result['cloudstack_user_data'] = self._get_user_data_json()
|
||||||
else:
|
else:
|
||||||
if filter == 'cloudstack_user_data':
|
if filter == 'cloudstack_user_data':
|
||||||
result['cloudstack_user_data'] = self._get_user_data_json()
|
result['cloudstack_user_data'] = self._get_user_data_json()
|
||||||
|
|
|
@ -451,11 +451,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -384,10 +384,11 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
self.module.fail_json(msg="Template are ISO are mutually exclusive.")
|
self.module.fail_json(msg="Template are ISO are mutually exclusive.")
|
||||||
|
|
||||||
args = {}
|
args = {}
|
||||||
args['account'] = self.get_account('name')
|
args['account'] = self.get_account(key='name')
|
||||||
args['domainid'] = self.get_domain('id')
|
args['domainid'] = self.get_domain(key='id')
|
||||||
args['projectid'] = self.get_project('id')
|
args['projectid'] = self.get_project(key='id')
|
||||||
args['zoneid'] = self.get_zone('id')
|
args['zoneid'] = self.get_zone(key='id')
|
||||||
|
args['isrecursive'] = True
|
||||||
|
|
||||||
if template:
|
if template:
|
||||||
if self.template:
|
if self.template:
|
||||||
|
@ -421,10 +422,7 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
if not disk_offering:
|
if not disk_offering:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
args = {}
|
disk_offerings = self.cs.listDiskOfferings()
|
||||||
args['domainid'] = self.get_domain('id')
|
|
||||||
|
|
||||||
disk_offerings = self.cs.listDiskOfferings(**args)
|
|
||||||
if disk_offerings:
|
if disk_offerings:
|
||||||
for d in disk_offerings['diskoffering']:
|
for d in disk_offerings['diskoffering']:
|
||||||
if disk_offering in [ d['displaytext'], d['name'], d['id'] ]:
|
if disk_offering in [ d['displaytext'], d['name'], d['id'] ]:
|
||||||
|
@ -438,11 +436,10 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
instance_name = self.module.params.get('name')
|
instance_name = self.module.params.get('name')
|
||||||
|
|
||||||
args = {}
|
args = {}
|
||||||
args['account'] = self.get_account('name')
|
args['account'] = self.get_account(key='name')
|
||||||
args['domainid'] = self.get_domain('id')
|
args['domainid'] = self.get_domain(key='id')
|
||||||
args['projectid'] = self.get_project('id')
|
args['projectid'] = self.get_project(key='id')
|
||||||
args['zoneid'] = self.get_zone('id')
|
# Do not pass zoneid, as the instance name must be unique across zones.
|
||||||
|
|
||||||
instances = self.cs.listVirtualMachines(**args)
|
instances = self.cs.listVirtualMachines(**args)
|
||||||
if instances:
|
if instances:
|
||||||
for v in instances['virtualmachine']:
|
for v in instances['virtualmachine']:
|
||||||
|
@ -458,10 +455,10 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
args = {}
|
args = {}
|
||||||
args['account'] = self.get_account('name')
|
args['account'] = self.get_account(key='name')
|
||||||
args['domainid'] = self.get_domain('id')
|
args['domainid'] = self.get_domain(key='id')
|
||||||
args['projectid'] = self.get_project('id')
|
args['projectid'] = self.get_project(key='id')
|
||||||
args['zoneid'] = self.get_zone('id')
|
args['zoneid'] = self.get_zone(key='id')
|
||||||
|
|
||||||
networks = self.cs.listNetworks(**args)
|
networks = self.cs.listNetworks(**args)
|
||||||
if not networks:
|
if not networks:
|
||||||
|
@ -513,11 +510,11 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
|
|
||||||
args = {}
|
args = {}
|
||||||
args['templateid'] = self.get_template_or_iso(key='id')
|
args['templateid'] = self.get_template_or_iso(key='id')
|
||||||
args['zoneid'] = self.get_zone('id')
|
args['zoneid'] = self.get_zone(key='id')
|
||||||
args['serviceofferingid'] = self.get_service_offering_id()
|
args['serviceofferingid'] = self.get_service_offering_id()
|
||||||
args['account'] = self.get_account('name')
|
args['account'] = self.get_account(key='name')
|
||||||
args['domainid'] = self.get_domain('id')
|
args['domainid'] = self.get_domain(key='id')
|
||||||
args['projectid'] = self.get_project('id')
|
args['projectid'] = self.get_project(key='id')
|
||||||
args['diskofferingid'] = self.get_disk_offering_id()
|
args['diskofferingid'] = self.get_disk_offering_id()
|
||||||
args['networkids'] = self.get_network_ids()
|
args['networkids'] = self.get_network_ids()
|
||||||
args['userdata'] = self.get_user_data()
|
args['userdata'] = self.get_user_data()
|
||||||
|
@ -558,12 +555,12 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
args_instance_update['group'] = self.module.params.get('group')
|
args_instance_update['group'] = self.module.params.get('group')
|
||||||
args_instance_update['displayname'] = self.get_display_name()
|
args_instance_update['displayname'] = self.get_display_name()
|
||||||
args_instance_update['userdata'] = self.get_user_data()
|
args_instance_update['userdata'] = self.get_user_data()
|
||||||
args_instance_update['ostypeid'] = self.get_os_type('id')
|
args_instance_update['ostypeid'] = self.get_os_type(key='id')
|
||||||
|
|
||||||
args_ssh_key = {}
|
args_ssh_key = {}
|
||||||
args_ssh_key['id'] = instance['id']
|
args_ssh_key['id'] = instance['id']
|
||||||
args_ssh_key['keypair'] = self.module.params.get('ssh_key')
|
args_ssh_key['keypair'] = self.module.params.get('ssh_key')
|
||||||
args_ssh_key['projectid'] = self.get_project('id')
|
args_ssh_key['projectid'] = self.get_project(key='id')
|
||||||
|
|
||||||
if self._has_changed(args_service_offering, instance) or \
|
if self._has_changed(args_service_offering, instance) or \
|
||||||
self._has_changed(args_instance_update, instance) or \
|
self._has_changed(args_instance_update, instance) or \
|
||||||
|
@ -636,7 +633,7 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
if instance['state'].lower() in [ 'destroying', 'destroyed' ]:
|
if instance['state'].lower() in [ 'destroying', 'destroyed' ]:
|
||||||
self.result['changed'] = True
|
self.result['changed'] = True
|
||||||
if not self.module.check_mode:
|
if not self.module.check_mode:
|
||||||
res = self.cs.expungeVirtualMachine(id=instance['id'])
|
res = self.cs.destroyVirtualMachine(id=instance['id'], expunge=True)
|
||||||
|
|
||||||
elif instance['state'].lower() not in [ 'expunging' ]:
|
elif instance['state'].lower() not in [ 'expunging' ]:
|
||||||
self.result['changed'] = True
|
self.result['changed'] = True
|
||||||
|
@ -648,7 +645,7 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
|
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
instance = self._poll_job(res, 'virtualmachine')
|
res = self._poll_job(res, 'virtualmachine')
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
|
||||||
|
@ -855,11 +852,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -223,11 +223,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -354,11 +354,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -627,11 +627,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -427,11 +427,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -332,11 +332,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -190,11 +190,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -429,11 +429,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -249,11 +249,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -623,11 +623,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
@ -317,11 +317,9 @@ def main():
|
||||||
except CloudStackException, e:
|
except CloudStackException, e:
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
module.fail_json(msg='CloudStackException: %s' % str(e))
|
||||||
|
|
||||||
except Exception, e:
|
|
||||||
module.fail_json(msg='Exception: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
# import module snippets
|
# import module snippets
|
||||||
from ansible.module_utils.basic import *
|
from ansible.module_utils.basic import *
|
||||||
main()
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
Loading…
Reference in a new issue