def opStatusProcess(Node, queue): global pKey (init_status, ret_code, err_msg) = gemini_util.getLockStatus(Node, pKey) if (ret_code == -1): msg = "ERROR: " + err_msg gemini_util.write_to_log(msg, gemini_util.printtoscreen) sys.exit(1) if (init_status == ""): init_status = "NOT_INITIALIZED" queue.put([Node['sliver_id'], init_status]) return
def opStatusProcess(Node,queue): global pKey (init_status,ret_code,err_msg) = gemini_util.getLockStatus(Node,pKey) if(ret_code == -1 ): msg = "ERROR: "+err_msg gemini_util.write_to_log(msg,gemini_util.printtoscreen) sys.exit(1) if(init_status == ""): init_status = "NOT_INITIALIZED" queue.put([Node['sliver_id'],init_status]) return
def opStatusProcess(GN_Node, MP_Nodes, pKey, slice_crypt, user_crypt, queue): # Check if GD has access to these nodes # this will also add access automatically if it does not and let us know msg = "Check if GeniDesktop Tool has access to your slivers (and add if needed) at " + GN_Node[ 'gemini_urn_to_monitor'] gemini_util.write_to_log(msg, gemini_util.printtoscreen) (msg, result) = gemini_util.addGDAccesstoSlivers( slice_crypt, user_crypt, GN_Node['gemini_urn_to_monitor'], GN_Node, MP_Nodes, pKey) if (not result): queue.put(msg) sys.exit(1) # extensive check performed once on all nodes # split process by filtering nodes based on CM URN # grouping GN[cmurn] = MP[cmurn] (isdetailcheckRequired, ret_code, err_ssh) = gemini_util.isdetailedProbeRequired(GN_Node, pKey) if (ret_code == -1): msg = "SSH_ERROR - " + err_ssh gemini_util.write_to_log(msg, gemini_util.printtoscreen) queue.put(msg) sys.exit(1) if (isdetailcheckRequired): gemini_util.precheckNodes(GN_Node, MP_Nodes, pKey) pass (init_status, ret_code, err_msg) = gemini_util.getLockStatus(GN_Node, pKey) if (ret_code == -1): msg = "SSH_ERROR - " + err_msg gemini_util.write_to_log(msg, gemini_util.printtoscreen) queue.put(msg) sys.exit(1) if (init_status == ""): init_status = "CREATED" elif (not init_status.startswith('IN')): gemini_util.write_to_log(init_status, gemini_util.printtoscreen) queue.put(init_status) sys.exit(1) queue.put([GN_Node['nodeid'], init_status]) return
def opStatusProcess(GN_Node,MP_Nodes,pKey,slice_crypt,user_crypt,queue): # Check if GD has access to these nodes # this will also add access automatically if it does not and let us know msg = "Check if GeniDesktop Tool has access to your slivers (and add if needed) at "+GN_Node['gemini_urn_to_monitor'] gemini_util.write_to_log(msg,gemini_util.printtoscreen) (msg,result) = gemini_util.addGDAccesstoSlivers(slice_crypt,user_crypt,GN_Node['gemini_urn_to_monitor']) if(not result): queue.put(msg) sys.exit(1) # extensive check performed once on all nodes # split process by filtering nodes based on CM URN # grouping GN[cmurn] = MP[cmurn] (isdetailcheckRequired,ret_code,err_ssh) = gemini_util.isdetailedProbeRequired(GN_Node,pKey) if(ret_code == -1): msg = "SSH_ERROR - "+err_ssh gemini_util.write_to_log(msg,gemini_util.printtoscreen) queue.put(msg) sys.exit(1) if(isdetailcheckRequired): gemini_util.precheckNodes(GN_Node,MP_Nodes,pKey) pass (init_status,ret_code,err_msg) = gemini_util.getLockStatus(GN_Node,pKey) if(ret_code == -1 ): msg = "SSH_ERROR - "+err_msg gemini_util.write_to_log(msg,gemini_util.printtoscreen) queue.put(msg) sys.exit(1) if(init_status == ""): init_status = "CREATED" elif(not init_status.startswith('IN')): gemini_util.write_to_log(init_status,gemini_util.printtoscreen) queue.put(init_status) sys.exit(1) queue.put([GN_Node['nodeid'],init_status]) return
"Gemini Node Type => "+gemini_node_type+"\n"+ \ "MC Hostname => "+mchostname+"\n"+"**********************" gemini_util.write_to_log(LOGFILE,msg,gemini_util.dontprinttoscreen,debug) msg = "***********************************\n"+\ "You have "+str(len(MP_Nodes))+" MP Nodes and "+str(len(GN_Nodes))+" GN Nodes\n"+\ "***********************************\n" gemini_util.write_to_log(LOGFILE,msg,gemini_util.printtoscreen,debug) if(not FILE): # Save all jsons to cache cachefilename = gemini_util.getCacheFilename(CERT_ISSUER,username,gemini_util.SLICENAME) gemini_util.ensure_dir(cachefilename) f = open(cachefilename, 'w') f.write(UserJSON.strip()+"\n") f.write(SliceJSON.strip()+"\n") f.write(NodesJSON.strip()) f.close if (len(GN_Nodes) == 0): msg = "No GN Nodes Present. Will not proceed" gemini_util.write_to_log(LOGFILE,msg,gemini_util.printtoscreen,debug) sys.exit(1) status = {} for Node in GN_Nodes: status[Node['sliver_id']] = gemini_util.getLockStatus(Node,LOGFILE,keyfile,debug) print json.dumps(status)