Port remaining helper functions to ZKConnection

This commit is contained in:
Joshua Boniface 2021-05-29 00:30:42 -04:00
parent 49bbad8021
commit 163015bd4a
1 changed files with 68 additions and 114 deletions

View File

@ -780,9 +780,7 @@ def vm_flush_locks(zkhandler, vm):
if retdata[0].get('state') not in ['stop', 'disable']: if retdata[0].get('state') not in ['stop', 'disable']:
return {"message": "VM must be stopped to flush locks"}, 400 return {"message": "VM must be stopped to flush locks"}, 400
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_vm.flush_locks(zkhandler, vm) retflag, retdata = pvc_vm.flush_locks(zkhandler, vm)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -798,13 +796,12 @@ def vm_flush_locks(zkhandler, vm):
# #
# Network functions # Network functions
# #
def net_list(limit=None, is_fuzzy=True): @ZKConnection(config)
def net_list(zkhandler, limit=None, is_fuzzy=True):
""" """
Return a list of client networks with limit LIMIT. Return a list of client networks with limit LIMIT.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.get_list(zkhandler, limit, is_fuzzy) retflag, retdata = pvc_network.get_list(zkhandler, limit, is_fuzzy)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -823,7 +820,8 @@ def net_list(limit=None, is_fuzzy=True):
return retdata, retcode return retdata, retcode
def net_add(vni, description, nettype, domain, name_servers, @ZKConnection(config)
def net_add(zkhandler, vni, description, nettype, domain, name_servers,
ip4_network, ip4_gateway, ip6_network, ip6_gateway, ip4_network, ip4_gateway, ip6_network, ip6_gateway,
dhcp4_flag, dhcp4_start, dhcp4_end): dhcp4_flag, dhcp4_start, dhcp4_end):
""" """
@ -831,11 +829,9 @@ def net_add(vni, description, nettype, domain, name_servers,
""" """
if dhcp4_flag: if dhcp4_flag:
dhcp4_flag = bool(strtobool(dhcp4_flag)) dhcp4_flag = bool(strtobool(dhcp4_flag))
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.add_network(zkhandler, vni, description, nettype, domain, name_servers, retflag, retdata = pvc_network.add_network(zkhandler, vni, description, nettype, domain, name_servers,
ip4_network, ip4_gateway, ip6_network, ip6_gateway, ip4_network, ip4_gateway, ip6_network, ip6_gateway,
dhcp4_flag, dhcp4_start, dhcp4_end) dhcp4_flag, dhcp4_start, dhcp4_end)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -848,7 +844,8 @@ def net_add(vni, description, nettype, domain, name_servers,
return output, retcode return output, retcode
def net_modify(vni, description, domain, name_servers, @ZKConnection(config)
def net_modify(zkhandler, vni, description, domain, name_servers,
ip4_network, ip4_gateway, ip4_network, ip4_gateway,
ip6_network, ip6_gateway, ip6_network, ip6_gateway,
dhcp4_flag, dhcp4_start, dhcp4_end): dhcp4_flag, dhcp4_start, dhcp4_end):
@ -857,11 +854,9 @@ def net_modify(vni, description, domain, name_servers,
""" """
if dhcp4_flag is not None: if dhcp4_flag is not None:
dhcp4_flag = bool(strtobool(dhcp4_flag)) dhcp4_flag = bool(strtobool(dhcp4_flag))
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.modify_network(zkhandler, vni, description, domain, name_servers, retflag, retdata = pvc_network.modify_network(zkhandler, vni, description, domain, name_servers,
ip4_network, ip4_gateway, ip6_network, ip6_gateway, ip4_network, ip4_gateway, ip6_network, ip6_gateway,
dhcp4_flag, dhcp4_start, dhcp4_end) dhcp4_flag, dhcp4_start, dhcp4_end)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -874,13 +869,12 @@ def net_modify(vni, description, domain, name_servers,
return output, retcode return output, retcode
def net_remove(network): @ZKConnection(config)
def net_remove(zkhandler, network):
""" """
Remove a virtual client network from the PVC cluster. Remove a virtual client network from the PVC cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.remove_network(zkhandler, network) retflag, retdata = pvc_network.remove_network(zkhandler, network)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -893,13 +887,12 @@ def net_remove(network):
return output, retcode return output, retcode
def net_dhcp_list(network, limit=None, static=False): @ZKConnection(config)
def net_dhcp_list(zkhandler, network, limit=None, static=False):
""" """
Return a list of DHCP leases in network NETWORK with limit LIMIT. Return a list of DHCP leases in network NETWORK with limit LIMIT.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.get_list_dhcp(zkhandler, network, limit, static) retflag, retdata = pvc_network.get_list_dhcp(zkhandler, network, limit, static)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -918,13 +911,12 @@ def net_dhcp_list(network, limit=None, static=False):
return retdata, retcode return retdata, retcode
def net_dhcp_add(network, ipaddress, macaddress, hostname): @ZKConnection(config)
def net_dhcp_add(zkhandler, network, ipaddress, macaddress, hostname):
""" """
Add a static DHCP lease to a virtual client network. Add a static DHCP lease to a virtual client network.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.add_dhcp_reservation(zkhandler, network, ipaddress, macaddress, hostname) retflag, retdata = pvc_network.add_dhcp_reservation(zkhandler, network, ipaddress, macaddress, hostname)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -937,13 +929,12 @@ def net_dhcp_add(network, ipaddress, macaddress, hostname):
return output, retcode return output, retcode
def net_dhcp_remove(network, macaddress): @ZKConnection(config)
def net_dhcp_remove(zkhandler, network, macaddress):
""" """
Remove a static DHCP lease from a virtual client network. Remove a static DHCP lease from a virtual client network.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.remove_dhcp_reservation(zkhandler, network, macaddress) retflag, retdata = pvc_network.remove_dhcp_reservation(zkhandler, network, macaddress)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -956,13 +947,12 @@ def net_dhcp_remove(network, macaddress):
return output, retcode return output, retcode
def net_acl_list(network, limit=None, direction=None, is_fuzzy=True): @ZKConnection(config)
def net_acl_list(zkhandler, network, limit=None, direction=None, is_fuzzy=True):
""" """
Return a list of network ACLs in network NETWORK with limit LIMIT. Return a list of network ACLs in network NETWORK with limit LIMIT.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.get_list_acl(zkhandler, network, limit, direction, is_fuzzy=True) retflag, retdata = pvc_network.get_list_acl(zkhandler, network, limit, direction, is_fuzzy=True)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -981,13 +971,12 @@ def net_acl_list(network, limit=None, direction=None, is_fuzzy=True):
return retdata, retcode return retdata, retcode
def net_acl_add(network, direction, description, rule, order): @ZKConnection(config)
def net_acl_add(zkhandler, network, direction, description, rule, order):
""" """
Add an ACL to a virtual client network. Add an ACL to a virtual client network.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.add_acl(zkhandler, network, direction, description, rule, order) retflag, retdata = pvc_network.add_acl(zkhandler, network, direction, description, rule, order)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1000,13 +989,12 @@ def net_acl_add(network, direction, description, rule, order):
return output, retcode return output, retcode
def net_acl_remove(network, description): @ZKConnection(config)
def net_acl_remove(zkhandler, network, description):
""" """
Remove an ACL from a virtual client network. Remove an ACL from a virtual client network.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_network.remove_acl(zkhandler, network, description) retflag, retdata = pvc_network.remove_acl(zkhandler, network, description)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1022,13 +1010,12 @@ def net_acl_remove(network, description):
# #
# Ceph functions # Ceph functions
# #
def ceph_status(): @ZKConnection(config)
def ceph_status(zkhandler):
""" """
Get the current Ceph cluster status. Get the current Ceph cluster status.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.get_status(zkhandler) retflag, retdata = pvc_ceph.get_status(zkhandler)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1038,13 +1025,12 @@ def ceph_status():
return retdata, retcode return retdata, retcode
def ceph_util(): @ZKConnection(config)
def ceph_util(zkhandler):
""" """
Get the current Ceph cluster utilization. Get the current Ceph cluster utilization.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.get_util(zkhandler) retflag, retdata = pvc_ceph.get_util(zkhandler)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1054,13 +1040,12 @@ def ceph_util():
return retdata, retcode return retdata, retcode
def ceph_osd_list(limit=None): @ZKConnection(config)
def ceph_osd_list(zkhandler, limit=None):
""" """
Get the list of OSDs in the Ceph storage cluster. Get the list of OSDs in the Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.get_list_osd(zkhandler, limit) retflag, retdata = pvc_ceph.get_list_osd(zkhandler, limit)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -1079,10 +1064,9 @@ def ceph_osd_list(limit=None):
return retdata, retcode return retdata, retcode
def ceph_osd_state(osd): @ZKConnection(config)
zkhandler = pvc_common.startZKConnection(config['coordinators']) def ceph_osd_state(zkhandler, osd):
retflag, retdata = pvc_ceph.get_list_osd(zkhandler, osd) retflag, retdata = pvc_ceph.get_list_osd(zkhandler, osd)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -1104,13 +1088,12 @@ def ceph_osd_state(osd):
return {"id": osd, "in": in_state, "up": up_state}, retcode return {"id": osd, "in": in_state, "up": up_state}, retcode
def ceph_osd_add(node, device, weight): @ZKConnection(config)
def ceph_osd_add(zkhandler, node, device, weight):
""" """
Add a Ceph OSD to the PVC Ceph storage cluster. Add a Ceph OSD to the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.add_osd(zkhandler, node, device, weight) retflag, retdata = pvc_ceph.add_osd(zkhandler, node, device, weight)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1123,13 +1106,12 @@ def ceph_osd_add(node, device, weight):
return output, retcode return output, retcode
def ceph_osd_remove(osd_id): @ZKConnection(config)
def ceph_osd_remove(zkhandler, osd_id):
""" """
Remove a Ceph OSD from the PVC Ceph storage cluster. Remove a Ceph OSD from the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.remove_osd(zkhandler, osd_id) retflag, retdata = pvc_ceph.remove_osd(zkhandler, osd_id)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1142,13 +1124,12 @@ def ceph_osd_remove(osd_id):
return output, retcode return output, retcode
def ceph_osd_in(osd_id): @ZKConnection(config)
def ceph_osd_in(zkhandler, osd_id):
""" """
Set in a Ceph OSD in the PVC Ceph storage cluster. Set in a Ceph OSD in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.in_osd(zkhandler, osd_id) retflag, retdata = pvc_ceph.in_osd(zkhandler, osd_id)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1161,13 +1142,12 @@ def ceph_osd_in(osd_id):
return output, retcode return output, retcode
def ceph_osd_out(osd_id): @ZKConnection(config)
def ceph_osd_out(zkhandler, osd_id):
""" """
Set out a Ceph OSD in the PVC Ceph storage cluster. Set out a Ceph OSD in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.out_osd(zkhandler, osd_id) retflag, retdata = pvc_ceph.out_osd(zkhandler, osd_id)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1180,13 +1160,12 @@ def ceph_osd_out(osd_id):
return output, retcode return output, retcode
def ceph_osd_set(option): @ZKConnection(config)
def ceph_osd_set(zkhandler, option):
""" """
Set options on a Ceph OSD in the PVC Ceph storage cluster. Set options on a Ceph OSD in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.set_osd(zkhandler, option) retflag, retdata = pvc_ceph.set_osd(zkhandler, option)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1199,13 +1178,12 @@ def ceph_osd_set(option):
return output, retcode return output, retcode
def ceph_osd_unset(option): @ZKConnection(config)
def ceph_osd_unset(zkhandler, option):
""" """
Unset options on a Ceph OSD in the PVC Ceph storage cluster. Unset options on a Ceph OSD in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.unset_osd(zkhandler, option) retflag, retdata = pvc_ceph.unset_osd(zkhandler, option)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1218,13 +1196,12 @@ def ceph_osd_unset(option):
return output, retcode return output, retcode
def ceph_pool_list(limit=None, is_fuzzy=True): @ZKConnection(config)
def ceph_pool_list(zkhandler, limit=None, is_fuzzy=True):
""" """
Get the list of RBD pools in the Ceph storage cluster. Get the list of RBD pools in the Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.get_list_pool(zkhandler, limit, is_fuzzy) retflag, retdata = pvc_ceph.get_list_pool(zkhandler, limit, is_fuzzy)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -1243,13 +1220,12 @@ def ceph_pool_list(limit=None, is_fuzzy=True):
return retdata, retcode return retdata, retcode
def ceph_pool_add(name, pgs, replcfg): @ZKConnection(config)
def ceph_pool_add(zkhandler, name, pgs, replcfg):
""" """
Add a Ceph RBD pool to the PVC Ceph storage cluster. Add a Ceph RBD pool to the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.add_pool(zkhandler, name, pgs, replcfg) retflag, retdata = pvc_ceph.add_pool(zkhandler, name, pgs, replcfg)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1262,13 +1238,12 @@ def ceph_pool_add(name, pgs, replcfg):
return output, retcode return output, retcode
def ceph_pool_remove(name): @ZKConnection(config)
def ceph_pool_remove(zkhandler, name):
""" """
Remove a Ceph RBD pool to the PVC Ceph storage cluster. Remove a Ceph RBD pool to the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.remove_pool(zkhandler, name) retflag, retdata = pvc_ceph.remove_pool(zkhandler, name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1281,13 +1256,12 @@ def ceph_pool_remove(name):
return output, retcode return output, retcode
def ceph_volume_list(pool=None, limit=None, is_fuzzy=True): @ZKConnection(config)
def ceph_volume_list(zkhandler, pool=None, limit=None, is_fuzzy=True):
""" """
Get the list of RBD volumes in the Ceph storage cluster. Get the list of RBD volumes in the Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.get_list_volume(zkhandler, pool, limit, is_fuzzy) retflag, retdata = pvc_ceph.get_list_volume(zkhandler, pool, limit, is_fuzzy)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -1306,13 +1280,12 @@ def ceph_volume_list(pool=None, limit=None, is_fuzzy=True):
return retdata, retcode return retdata, retcode
def ceph_volume_add(pool, name, size): @ZKConnection(config)
def ceph_volume_add(zkhandler, pool, name, size):
""" """
Add a Ceph RBD volume to the PVC Ceph storage cluster. Add a Ceph RBD volume to the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.add_volume(zkhandler, pool, name, size) retflag, retdata = pvc_ceph.add_volume(zkhandler, pool, name, size)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1325,13 +1298,12 @@ def ceph_volume_add(pool, name, size):
return output, retcode return output, retcode
def ceph_volume_clone(pool, name, source_volume): @ZKConnection(config)
def ceph_volume_clone(zkhandler, pool, name, source_volume):
""" """
Clone a Ceph RBD volume to a new volume on the PVC Ceph storage cluster. Clone a Ceph RBD volume to a new volume on the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.clone_volume(zkhandler, pool, source_volume, name) retflag, retdata = pvc_ceph.clone_volume(zkhandler, pool, source_volume, name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1344,13 +1316,12 @@ def ceph_volume_clone(pool, name, source_volume):
return output, retcode return output, retcode
def ceph_volume_resize(pool, name, size): @ZKConnection(config)
def ceph_volume_resize(zkhandler, pool, name, size):
""" """
Resize an existing Ceph RBD volume in the PVC Ceph storage cluster. Resize an existing Ceph RBD volume in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.resize_volume(zkhandler, pool, name, size) retflag, retdata = pvc_ceph.resize_volume(zkhandler, pool, name, size)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1363,13 +1334,12 @@ def ceph_volume_resize(pool, name, size):
return output, retcode return output, retcode
def ceph_volume_rename(pool, name, new_name): @ZKConnection(config)
def ceph_volume_rename(zkhandler, pool, name, new_name):
""" """
Rename a Ceph RBD volume in the PVC Ceph storage cluster. Rename a Ceph RBD volume in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.rename_volume(zkhandler, pool, name, new_name) retflag, retdata = pvc_ceph.rename_volume(zkhandler, pool, name, new_name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1382,13 +1352,12 @@ def ceph_volume_rename(pool, name, new_name):
return output, retcode return output, retcode
def ceph_volume_remove(pool, name): @ZKConnection(config)
def ceph_volume_remove(zkhandler, pool, name):
""" """
Remove a Ceph RBD volume to the PVC Ceph storage cluster. Remove a Ceph RBD volume to the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.remove_volume(zkhandler, pool, name) retflag, retdata = pvc_ceph.remove_volume(zkhandler, pool, name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1401,7 +1370,8 @@ def ceph_volume_remove(pool, name):
return output, retcode return output, retcode
def ceph_volume_upload(pool, volume, img_type): @ZKConnection(config)
def ceph_volume_upload(zkhandler, pool, volume, img_type):
""" """
Upload a raw file via HTTP post to a PVC Ceph volume Upload a raw file via HTTP post to a PVC Ceph volume
""" """
@ -1414,9 +1384,7 @@ def ceph_volume_upload(pool, volume, img_type):
return output, retcode return output, retcode
# Get the size of the target block device # Get the size of the target block device
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retcode, retdata = pvc_ceph.get_list_volume(zkhandler, pool, volume, is_fuzzy=False) retcode, retdata = pvc_ceph.get_list_volume(zkhandler, pool, volume, is_fuzzy=False)
pvc_common.stopZKConnection(zkhandler)
# If there's no target, return failure # If there's no target, return failure
if not retcode or len(retdata) < 1: if not retcode or len(retdata) < 1:
output = { output = {
@ -1427,21 +1395,17 @@ def ceph_volume_upload(pool, volume, img_type):
dev_size = retdata[0]['stats']['size'] dev_size = retdata[0]['stats']['size']
def cleanup_maps_and_volumes(): def cleanup_maps_and_volumes():
zkhandler = pvc_common.startZKConnection(config['coordinators'])
# Unmap the target blockdev # Unmap the target blockdev
retflag, retdata = pvc_ceph.unmap_volume(zkhandler, pool, volume) retflag, retdata = pvc_ceph.unmap_volume(zkhandler, pool, volume)
# Unmap the temporary blockdev # Unmap the temporary blockdev
retflag, retdata = pvc_ceph.unmap_volume(zkhandler, pool, "{}_tmp".format(volume)) retflag, retdata = pvc_ceph.unmap_volume(zkhandler, pool, "{}_tmp".format(volume))
# Remove the temporary blockdev # Remove the temporary blockdev
retflag, retdata = pvc_ceph.remove_volume(zkhandler, pool, "{}_tmp".format(volume)) retflag, retdata = pvc_ceph.remove_volume(zkhandler, pool, "{}_tmp".format(volume))
pvc_common.stopZKConnection(zkhandler)
# Create a temporary block device to store non-raw images # Create a temporary block device to store non-raw images
if img_type == 'raw': if img_type == 'raw':
# Map the target blockdev # Map the target blockdev
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.map_volume(zkhandler, pool, volume) retflag, retdata = pvc_ceph.map_volume(zkhandler, pool, volume)
pvc_common.stopZKConnection(zkhandler)
if not retflag: if not retflag:
output = { output = {
'message': retdata.replace('\"', '\'') 'message': retdata.replace('\"', '\'')
@ -1478,9 +1442,7 @@ def ceph_volume_upload(pool, volume, img_type):
# Write the image directly to the blockdev # Write the image directly to the blockdev
else: else:
# Create a temporary blockdev # Create a temporary blockdev
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.add_volume(zkhandler, pool, "{}_tmp".format(volume), dev_size) retflag, retdata = pvc_ceph.add_volume(zkhandler, pool, "{}_tmp".format(volume), dev_size)
pvc_common.stopZKConnection(zkhandler)
if not retflag: if not retflag:
output = { output = {
'message': retdata.replace('\"', '\'') 'message': retdata.replace('\"', '\'')
@ -1490,9 +1452,7 @@ def ceph_volume_upload(pool, volume, img_type):
return output, retcode return output, retcode
# Map the temporary target blockdev # Map the temporary target blockdev
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.map_volume(zkhandler, pool, "{}_tmp".format(volume)) retflag, retdata = pvc_ceph.map_volume(zkhandler, pool, "{}_tmp".format(volume))
pvc_common.stopZKConnection(zkhandler)
if not retflag: if not retflag:
output = { output = {
'message': retdata.replace('\"', '\'') 'message': retdata.replace('\"', '\'')
@ -1503,9 +1463,7 @@ def ceph_volume_upload(pool, volume, img_type):
temp_blockdev = retdata temp_blockdev = retdata
# Map the target blockdev # Map the target blockdev
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.map_volume(zkhandler, pool, volume) retflag, retdata = pvc_ceph.map_volume(zkhandler, pool, volume)
pvc_common.stopZKConnection(zkhandler)
if not retflag: if not retflag:
output = { output = {
'message': retdata.replace('\"', '\'') 'message': retdata.replace('\"', '\'')
@ -1552,13 +1510,12 @@ def ceph_volume_upload(pool, volume, img_type):
return output, retcode return output, retcode
def ceph_volume_snapshot_list(pool=None, volume=None, limit=None, is_fuzzy=True): @ZKConnection(config)
def ceph_volume_snapshot_list(zkhandler, pool=None, volume=None, limit=None, is_fuzzy=True):
""" """
Get the list of RBD volume snapshots in the Ceph storage cluster. Get the list of RBD volume snapshots in the Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.get_list_snapshot(zkhandler, pool, volume, limit, is_fuzzy) retflag, retdata = pvc_ceph.get_list_snapshot(zkhandler, pool, volume, limit, is_fuzzy)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
if retdata: if retdata:
@ -1577,13 +1534,12 @@ def ceph_volume_snapshot_list(pool=None, volume=None, limit=None, is_fuzzy=True)
return retdata, retcode return retdata, retcode
def ceph_volume_snapshot_add(pool, volume, name): @ZKConnection(config)
def ceph_volume_snapshot_add(zkhandler, pool, volume, name):
""" """
Add a Ceph RBD volume snapshot to the PVC Ceph storage cluster. Add a Ceph RBD volume snapshot to the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.add_snapshot(zkhandler, pool, volume, name) retflag, retdata = pvc_ceph.add_snapshot(zkhandler, pool, volume, name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1596,13 +1552,12 @@ def ceph_volume_snapshot_add(pool, volume, name):
return output, retcode return output, retcode
def ceph_volume_snapshot_rename(pool, volume, name, new_name): @ZKConnection(config)
def ceph_volume_snapshot_rename(zkhandler, pool, volume, name, new_name):
""" """
Rename a Ceph RBD volume snapshot in the PVC Ceph storage cluster. Rename a Ceph RBD volume snapshot in the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.rename_snapshot(zkhandler, pool, volume, name, new_name) retflag, retdata = pvc_ceph.rename_snapshot(zkhandler, pool, volume, name, new_name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200
@ -1615,13 +1570,12 @@ def ceph_volume_snapshot_rename(pool, volume, name, new_name):
return output, retcode return output, retcode
def ceph_volume_snapshot_remove(pool, volume, name): @ZKConnection(config)
def ceph_volume_snapshot_remove(zkhandler, pool, volume, name):
""" """
Remove a Ceph RBD volume snapshot from the PVC Ceph storage cluster. Remove a Ceph RBD volume snapshot from the PVC Ceph storage cluster.
""" """
zkhandler = pvc_common.startZKConnection(config['coordinators'])
retflag, retdata = pvc_ceph.remove_snapshot(zkhandler, pool, volume, name) retflag, retdata = pvc_ceph.remove_snapshot(zkhandler, pool, volume, name)
pvc_common.stopZKConnection(zkhandler)
if retflag: if retflag:
retcode = 200 retcode = 200