Changeset 512


Ignore:
Timestamp:
03/07/08 17:58:33 (14 years ago)
Author:
bastiaans
Message:

web/addons/job_monarch/templates/overview.tpl,
web/addons/job_monarch/overview.php,
jobmond/jobmond.py:

  • added Craig West's support for offline/down PBS nodes
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/jobmond/jobmond.py

    r508 r512  
    462462                """Submit job info list"""
    463463
     464                global BATCH_API
     465
    464466                self.dp.multicastGmetric( 'MONARCH-HEARTBEAT', str( int( int( self.cur_time ) + int( self.timeoffset ) ) ) )
    465467
     
    483485                self.dp.multicastGmetric( 'MONARCH-RJ', str( running_jobs ), 'uint32', 'jobs' )
    484486                self.dp.multicastGmetric( 'MONARCH-QJ', str( queued_jobs ), 'uint32', 'jobs' )
     487
     488                # Report down/offline nodes in batch (PBS only ATM)
     489                #
     490                if BATCH_API == 'pbs':
     491
     492                        downed_nodes    = list()
     493                        offline_nodes   = list()
     494               
     495                        l               = ['state']
     496               
     497                        for name, node in self.pq.getnodes().items():
     498
     499                                if ( node[ 'state' ].find( "down" ) != -1 ):
     500
     501                                        downed_nodes.append( name )
     502
     503                                if ( node[ 'state' ].find( "offline" ) != -1 ):
     504
     505                                        offline_nodes.append( name )
     506
     507                        self.dp.multicastGmetric( 'MONARCH-DOWN'   , str( downed_nodes ),  'uint32', 'jobs' )
     508                        self.dp.multicastGmetric( 'MONARCH-OFFLINE', str( offline_nodes ), 'uint32', 'jobs' )
    485509
    486510                # Now let's spread the knowledge
  • trunk/web/addons/job_monarch/overview.php

    r509 r512  
    527527        $queued_cpus            = 0;
    528528
     529        $na_nodes               = 0;
     530        $na_cpus                = 0;
     531
    529532        $total_nodes            = 0;
    530533        $total_cpus             = 0;
     
    578581        $rjqj_host              = null;
    579582
     583        $nodes_down             = null;
     584        $nodes_offline          = null;
     585
     586        $replacestr = array();
     587        $replacestr[] = "'";
     588        $replacestr[] = " ";
     589       
    580590        foreach( $metrics as $bhost => $bmetric )
    581591        {
     
    586596                                $rjqj_host      = $bhost;
    587597                        }
     598                        if( ( $mname == 'MONARCH-DOWN' ) )
     599                        {
     600                                $nodes_down = str_replace($replacestr,NULL,split(',',substr($mval['VAL'],1,-1)));
     601                        }
     602                        if( ( $mname == 'MONARCH-OFFLINE' ) )
     603                        {
     604                                $nodes_offline = str_replace($replacestr,NULL,split(',',substr($mval['VAL'],1,-1)));
     605                        }
    588606                }
    589607        }
    590608
     609        $nodes_counted          = array();
     610
     611        if($nodes_down != NULL || $nodes_offline!=NULL )
     612        {
     613                foreach( $metrics as $bh => $bm )
     614                {
     615                        if (in_array($bh,$nodes_offline) && $gnodes[$bh])
     616                        {
     617                                $nodes_counted[] = $bh;
     618                                if(! $gnodes[$bh]->getJobs())
     619                                {
     620                                        $na_cpus += ($bm['cpu_num'][VAL]);
     621                                        $na_nodes += 1;
     622                                }
     623                        }
     624                        if (in_array($bh,$nodes_down) && !in_array($bh,$nodes_counted) && $gnodes[$bh])
     625                        {
     626                                $nodes_counted[] = $bh;
     627                                if(! $gnodes[$bh]->getJobs())
     628                                {
     629                                        $na_cpus += ($bm['cpu_num'][VAL]);
     630                                        $na_nodes += 1;
     631                                }
     632                        }                               
     633                }
     634        }
     635               
    591636        // Running / queued amount jobs graph
    592637        //
     
    875920        $total_jobs             = $queued_jobs + $running_jobs;
    876921
    877         $free_nodes             = $avail_nodes - $running_nodes;
     922        $free_nodes             = $avail_nodes - $running_nodes - $na_nodes;
    878923        $free_nodes             = ( $free_nodes >= 0 ) ? $free_nodes : 0;
    879         $free_cpus              = $avail_cpus - $running_cpus;
     924        $free_cpus              = $avail_cpus - $running_cpus - $na_cpus;
    880925        $free_cpus              = ( $free_cpus >= 0 ) ? $free_cpus : 0;
    881926
     
    886931        $tpl->assignGlobal( "queued_jobs", $queued_jobs );
    887932        $tpl->assignGlobal( "queued_cpus", $queued_cpus );
     933
     934        $tpl->assignGlobal( "na_nodes", $na_nodes );
     935        $tpl->assignGlobal( "na_cpus", $na_cpus );
    888936
    889937        $tpl->assignGlobal( "total_nodes", $total_nodes );
  • trunk/web/addons/job_monarch/templates/overview.tpl

    r507 r512  
    8181<TD class="brown">
    8282{total_cpus}
     83</TD>
     84</TR>
     85
     86<TR class="overview">
     87<TD class="gray">
     88Unavailable
     89</TD>
     90<TD class="gray">
     91{na_jobs}
     92</TD>
     93<TD class="gray">
     94{na_nodes}
     95</TD>
     96<TD class="gray">
     97{na_cpus}
    8398</TD>
    8499</TR>
Note: See TracChangeset for help on using the changeset viewer.