#!/usr/bin/python import pbs import sys import time import socket def main(): server = pbs.pbs_default() c = pbs.pbs_connect(server) nodes = pbs.pbs_statnode(c, '', 'NULL', 'NULL') e, txt = pbs.error() if e: print "statnode erro: %s" %pbs.pbs_strerror(e) print "txt %s\n" %txt for node in nodes: print node.name attrs = node.attribs for attr in attrs: print '\t ', attr.name, ' = ', attr.value # try: # mom_port = socket.getservbyname('pbs_resmom', 'tcp') # mom_id = pbs.openrm(node.name, mom_port) # except socket.error, detail: # mom_id = pbs.openrm(node.name, pbs.PBS_MANAGER_SERVICE_PORT) mom_id = pbs.openrm(node.name, pbs.PBS_MANAGER_SERVICE_PORT) e, e_txt = pbs.error() print "openrm", e, e_txt print node.name, mom_id, pbs.PBS_MANAGER_SERVICE_PORT #pbs.flushreq() #pbs.fullresp(1) #e, e_txt = pbs.error() #print "flush", e, e_txt #pbs.addreq_err(mom_id, err, "arch") pbs.addreq(mom_id, "arch") e, e_txt = pbs.error() print "addreq:", e, e_txt #print pbs.activereq() #e, e_txt = pbs.error() #print "addreq:", e, e_txt #resp = pbs.getreq_err(err, mom_id) resp = pbs.getreq(mom_id) e, e_txt = pbs.error() print e, e_txt print 'rm interface' mom_keys = pbs.get_mom_values(mom_id) for key in mom_keys.keys(): print '\t mom %s = %s' %(key, mom_keys[key]) print 'Testing list with user supplied keywords' l = [ 'ncpus', 'loadave' ] mom_keys = pbs.get_mom_values(mom_id, l) for key in mom_keys.keys(): print '\t %s = %s' %(key, mom_keys[key]) main()