[LON-CAPA-cvs] cvs: loncom /cgi clusterstatus.pl

www lon-capa-cvs@mail.lon-capa.org
Sun, 14 Sep 2003 18:24:34 -0000


www		Sun Sep 14 14:24:34 2003 EDT

  Modified files:              
    /loncom/cgi	clusterstatus.pl 
  Log:
  Detects re-routing
  
  
Index: loncom/cgi/clusterstatus.pl
diff -u loncom/cgi/clusterstatus.pl:1.21 loncom/cgi/clusterstatus.pl:1.22
--- loncom/cgi/clusterstatus.pl:1.21	Sun Aug 31 23:37:27 2003
+++ loncom/cgi/clusterstatus.pl	Sun Sep 14 14:24:34 2003
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 $|=1;
 # Generates a html page showing various sataus reports about the cluster
-# $Id: clusterstatus.pl,v 1.21 2003/09/01 03:37:27 albertel Exp $
+# $Id: clusterstatus.pl,v 1.22 2003/09/14 18:24:34 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -242,6 +242,11 @@
     print &otherwindow($local,'/announcement.txt','Announcement');
 }
 
+sub takeonline {
+    my $local=shift;
+    print &otherwindow($local,'/cgi-bin/takeonline.pl','Take online');
+}
+
 # ========================================================= Produce a green bar
 sub bar {
     my $parm=shift;
@@ -274,6 +279,11 @@
 	print ("<tr><td bgcolor='#DDBBBB'><font color='#552222' size='+2'>$trouble</font></td></tr>");
     }
     print "<tr><td bgcolor='#BBBBBB'>";
+# re-routing
+    if ($host{$local.'_reroute'}) {
+	print "<br />Reroute: ".$host{$local.'_reroute'};
+	&takeonline($local);
+    }
 # version
     if ($host{$local.'_version'}) {
 	print "<br />Version: ".$host{$local.'_version'}
@@ -393,6 +403,19 @@
 	}
 	$host{$local.'_load'}=$userstatus{'loadavg'};
     }
+# -- Check reroute status
+    &statuslist($local,'Reroute');
+    my %reroute=&replyhash($local,'/lon-status/reroute.txt',1800);
+    if ($reroute{'status'} eq 'rerouting') {
+	if ($reroute{'server'}) {
+	    $host{$local.'_reroute'}=
+		'Rerouting to <tt>'.$reroute{'server'}.
+                   '</tt>, domain: '.$reroute{'domain'}.
+		 ' (since '.localtime($reroute{'time'}).')';
+	} else {
+	    $host{$local.'_reroute'}='offline';
+	}
+    }
 # -- Check mysql status
     &statuslist($local,'Database');
     my %mysql=&replyhash($local,'/lon-status/mysql.txt',3600);
@@ -575,6 +598,9 @@
 	    }
 	    if ($host{$local.'_checkrpms_doomed'}>100) {
 		$trouble='RPMs outdated.<br />';
+	    }
+	    if ($host{$local.'_reroute'}) {
+		$trouble='Re-Routing<br >';
 	    }
 	    if ($trouble) { $count++; &serverstatus($local,$trouble); }
 	}