Exemplo n.º 1
0
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
Exemplo n.º 2
0
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  
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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  
Exemplo n.º 5
0
	"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)