コード例 #1
0
def parseAllQueuesInfo(queues, pbsHost=None):
    
    handlers = dict()
    
    #Reading server-level attributes
    if pbsHost:
        cmd = shlex.split('qstat -B -f @%s' % pbsHost)
    else:
        cmd = shlex.split('qstat -B -f')
    slh = QueueInfoHandler()
    CommonUtils.parseStream(cmd, slh)
    
    for queue in queues:
    
        if pbsHost:
            cmd = shlex.split('qstat -Q -f %s\@%s' % (queue, pbsHost))
        else:
            cmd = shlex.split('qstat -Q -f %s' % queue)

        logger.debug("Calling executable: " + repr(cmd))
        
        handlers[queue] = QueueInfoHandler(slh)
        CommonUtils.parseStream(cmd, handlers[queue])
    
    return handlers
コード例 #2
0
def parse(resultContainer, pbsHost=None, filename=None):

    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        if pbsHost:
            cmd = shlex.split('qstat -f @%s' % pbsHost)
        else:
            cmd = shlex.split('qstat -f')
        
    container = PBSJobHandler(resultContainer)
    CommonUtils.parseStream(cmd, container)
コード例 #3
0
def parseGPUInfo(cudaHost, filename=None):

    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        smi_cmd = '"nvidia-smi --query-compute-apps=gpu_uuid,pid --format=csv,noheader"'
        ssh_opts = '-o PasswordAuthentication=no'
        cmd = shlex.split('ssh %s %s %s' % (ssh_opts, cudaHost, smi_cmd))
            
    logger.debug("Calling executable: " + repr(cmd))

    container = GPUInfoHandler()
    CommonUtils.parseStream(cmd, container)
    return container
コード例 #4
0
def parseQueueInfo(queue, pbsHost=None, filename=None):
    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        if pbsHost:
            cmd = shlex.split('qstat -Q -f %s\@%s' % (queue, pbsHost))
        else:
            cmd = shlex.split('qstat -Q -f %s' % queue)

    logger.debug("Calling executable: " + repr(cmd))

    container = QueueInfoHandler()
    CommonUtils.parseStream(cmd, container)
    return container
コード例 #5
0
def parseLRMSVersion(pbsHost=None, filename=None):
    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        if pbsHost:
            cmd = shlex.split('qstat -B -f %s' % pbsHost)
        else:
            cmd = shlex.split('qstat -B -f')

    logger.debug("Calling executable: " + repr(cmd))

    container = LRMSVersionHandler()
    CommonUtils.parseStream(cmd, container)
    return container.version
コード例 #6
0
def parseJobLimit(pbsHost=None, keyfile=None, filename=None):
    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        tmps = 'diagnose -g'
        if pbsHost:
            tmps += ' --host=%s' % pbsHost
        if keyfile:
            tmps += ' --keyfile=%s' % keyfile
        cmd = shlex.split(tmps)

    container = DiagnoseHandler()
    CommonUtils.parseStream(cmd, container)
    return container
コード例 #7
0
def parseJobLimit(pbsHost=None, keyfile=None, filename=None):
    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        tmps = 'diagnose -g'
        if pbsHost:
            tmps += ' --host=%s' % pbsHost
        if keyfile:
            tmps += ' --keyfile=%s' % keyfile
        cmd = shlex.split(tmps)

    container = DiagnoseHandler()
    CommonUtils.parseStream(cmd, container)
    return container
コード例 #8
0
def parseCPUInfo(pbsHost=None, filename=None):

    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        if pbsHost:
            cmd = shlex.split('pbsnodes -a -s %s' % pbsHost)
        else:
            cmd = shlex.split('pbsnodes -a')
            
    logger.debug("Calling executable: " + repr(cmd))

    container = CPUInfoHandler()
    CommonUtils.parseStream(cmd, container)
    return container
コード例 #9
0
def parseCPUInfo(pbsHost=None, filename=None):

    if filename:
        cmd = shlex.split('cat ' + filename)
    else:
        if pbsHost:
            cmd = shlex.split('pbsnodes -a -s %s' % pbsHost)
        else:
            cmd = shlex.split('pbsnodes -a')

    logger.debug("Calling executable: " + repr(cmd))

    container = CPUInfoHandler()
    CommonUtils.parseStream(cmd, container)
    return container