Rework cluster library for new zkhandler

This commit is contained in:
Joshua Boniface 2021-05-29 20:32:20 -04:00
parent 688d1a6ae2
commit 6205dba451
1 changed files with 21 additions and 18 deletions

View File

@ -21,7 +21,6 @@
import re import re
import daemon_lib.zkhandler as zkhandler
import daemon_lib.common as common import daemon_lib.common as common
import daemon_lib.vm as pvc_vm import daemon_lib.vm as pvc_vm
import daemon_lib.node as pvc_node import daemon_lib.node as pvc_node
@ -29,22 +28,26 @@ import daemon_lib.network as pvc_network
import daemon_lib.ceph as pvc_ceph import daemon_lib.ceph as pvc_ceph
def set_maintenance(zk_conn, maint_state): def set_maintenance(zkhandler, maint_state):
try: try:
if maint_state == 'true': if maint_state == 'true':
zkhandler.writedata(zk_conn, {'/maintenance': 'true'}) zkhandler.write([
('/maintenance', 'true')
])
return True, 'Successfully set cluster in maintenance mode' return True, 'Successfully set cluster in maintenance mode'
else: else:
zkhandler.writedata(zk_conn, {'/maintenance': 'false'}) zkhandler.write([
('/maintenance', 'false')
])
return True, 'Successfully set cluster in normal mode' return True, 'Successfully set cluster in normal mode'
except Exception: except Exception:
return False, 'Failed to set cluster maintenance state' return False, 'Failed to set cluster maintenance state'
def getClusterInformation(zk_conn): def getClusterInformation(zkhandler):
# Get cluster maintenance state # Get cluster maintenance state
try: try:
maint_state = zkhandler.readdata(zk_conn, '/maintenance') maint_state = zkhandler.read('/maintenance')
except Exception: except Exception:
maint_state = 'false' maint_state = 'false'
@ -53,19 +56,19 @@ def getClusterInformation(zk_conn):
storage_health_msg = [] storage_health_msg = []
# Get node information object list # Get node information object list
retcode, node_list = pvc_node.get_list(zk_conn, None) retcode, node_list = pvc_node.get_list(zkhandler, None)
# Get vm information object list # Get vm information object list
retcode, vm_list = pvc_vm.get_list(zk_conn, None, None, None) retcode, vm_list = pvc_vm.get_list(zkhandler, None, None, None)
# Get network information object list # Get network information object list
retcode, network_list = pvc_network.get_list(zk_conn, None, None) retcode, network_list = pvc_network.get_list(zkhandler, None, None)
# Get storage information object list # Get storage information object list
retcode, ceph_osd_list = pvc_ceph.get_list_osd(zk_conn, None) retcode, ceph_osd_list = pvc_ceph.get_list_osd(zkhandler, None)
retcode, ceph_pool_list = pvc_ceph.get_list_pool(zk_conn, None) retcode, ceph_pool_list = pvc_ceph.get_list_pool(zkhandler, None)
retcode, ceph_volume_list = pvc_ceph.get_list_volume(zk_conn, None, None) retcode, ceph_volume_list = pvc_ceph.get_list_volume(zkhandler, None, None)
retcode, ceph_snapshot_list = pvc_ceph.get_list_snapshot(zk_conn, None, None, None) retcode, ceph_snapshot_list = pvc_ceph.get_list_snapshot(zkhandler, None, None, None)
# Determine, for each subsection, the total count # Determine, for each subsection, the total count
node_count = len(node_list) node_count = len(node_list)
@ -164,7 +167,7 @@ def getClusterInformation(zk_conn):
cluster_health = 'Optimal' cluster_health = 'Optimal'
# Find out our storage health from Ceph # Find out our storage health from Ceph
ceph_status = zkhandler.readdata(zk_conn, '/ceph').split('\n') ceph_status = zkhandler.read('/ceph').split('\n')
ceph_health = ceph_status[2].split()[-1] ceph_health = ceph_status[2].split()[-1]
# Parse the status output to get the health indicators # Parse the status output to get the health indicators
@ -234,8 +237,8 @@ def getClusterInformation(zk_conn):
'health_msg': cluster_health_msg, 'health_msg': cluster_health_msg,
'storage_health': storage_health, 'storage_health': storage_health,
'storage_health_msg': storage_health_msg, 'storage_health_msg': storage_health_msg,
'primary_node': common.getPrimaryNode(zk_conn), 'primary_node': common.getPrimaryNode(zkhandler),
'upstream_ip': zkhandler.readdata(zk_conn, '/upstream_ip'), 'upstream_ip': zkhandler.read('/upstream_ip'),
'nodes': formatted_node_states, 'nodes': formatted_node_states,
'vms': formatted_vm_states, 'vms': formatted_vm_states,
'networks': network_count, 'networks': network_count,
@ -248,9 +251,9 @@ def getClusterInformation(zk_conn):
return cluster_information return cluster_information
def get_info(zk_conn): def get_info(zkhandler):
# This is a thin wrapper function for naming purposes # This is a thin wrapper function for naming purposes
cluster_information = getClusterInformation(zk_conn) cluster_information = getClusterInformation(zkhandler)
if cluster_information: if cluster_information:
return True, cluster_information return True, cluster_information
else: else: