sys.exit removal for cloud/misc/ovirt.py

reviewable/pr18780/r1
Matt Martz 9 years ago
parent b82ebdde19
commit 55dab7cd1b

@ -207,14 +207,13 @@ action: ovirt >
'''
import sys
try:
from ovirtsdk.api import API
from ovirtsdk.xml import params
HAS_OVIRTSDK = True
except ImportError:
print "failed=True msg='ovirtsdk required for this module'"
sys.exit(1)
HAS_OVIRTSDK = False
# ------------------------------------------------------------------- #
# create connection with API
@ -224,8 +223,7 @@ def conn(url, user, password):
try:
value = api.test()
except:
print "error connecting to the oVirt API"
sys.exit(1)
raise Exception("error connecting to the oVirt API")
return api
# ------------------------------------------------------------------- #
@ -253,17 +251,16 @@ def create_vm(conn, vmtype, vmname, zone, vmdisk_size, vmcpus, vmnic, vmnetwork,
try:
conn.vms.add(vmparams)
except:
print "Error creating VM with specified parameters"
sys.exit(1)
raise Exception("Error creating VM with specified parameters")
vm = conn.vms.get(name=vmname)
try:
vm.disks.add(vmdisk)
except:
print "Error attaching disk"
raise Exception("Error attaching disk")
try:
vm.nics.add(nic_net1)
except:
print "Error adding nic"
raise Exception("Error adding nic")
# create an instance from a template
@ -272,8 +269,7 @@ def create_vm_template(conn, vmname, image, zone):
try:
conn.vms.add(vmparams)
except:
print 'error adding template %s' % image
sys.exit(1)
raise Exception('error adding template %s' % image)
# start instance
@ -356,6 +352,9 @@ def main():
)
)
if not HAS_OVIRTSDK:
module.fail_json(msg='ovirtsdk required for this module')
state = module.params['state']
user = module.params['user']
url = module.params['url']
@ -377,16 +376,25 @@ def main():
sdomain = module.params['sdomain'] # storage domain to store disk on
region = module.params['region'] # oVirt Datacenter
#initialize connection
c = conn(url+"/api", user, password)
try:
c = conn(url+"/api", user, password)
except Exception, e:
module.fail_json(msg='%s' % e)
if state == 'present':
if get_vm(c, vmname) == "empty":
if resource_type == 'template':
create_vm_template(c, vmname, image, zone)
try:
create_vm_template(c, vmname, image, zone)
except Exception, e:
module.fail_json(msg='%s' % e)
module.exit_json(changed=True, msg="deployed VM %s from template %s" % (vmname,image))
elif resource_type == 'new':
# FIXME: refactor, use keyword args.
create_vm(c, vmtype, vmname, zone, vmdisk_size, vmcpus, vmnic, vmnetwork, vmmem, vmdisk_alloc, sdomain, vmcores, vmos, vmdisk_int)
try:
create_vm(c, vmtype, vmname, zone, vmdisk_size, vmcpus, vmnic, vmnetwork, vmmem, vmdisk_alloc, sdomain, vmcores, vmos, vmdisk_int)
except Exception, e:
module.fail_json(msg='%s' % e)
module.exit_json(changed=True, msg="deployed VM %s from scratch" % vmname)
else:
module.exit_json(changed=False, msg="You did not specify a resource type")

Loading…
Cancel
Save