You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by fa...@apache.org on 2011/07/06 16:12:27 UTC

svn commit: r1143427 - /incubator/vcl/trunk/managementnode/bin/monitor_vcld.pl

Author: fapeeler
Date: Wed Jul  6 14:12:26 2011
New Revision: 1143427

URL: http://svn.apache.org/viewvc?rev=1143427&view=rev
Log:
VCL-481

calling get_management_node_info routine to correctly get all information about the management node.
cleaned up


Modified:
    incubator/vcl/trunk/managementnode/bin/monitor_vcld.pl

Modified: incubator/vcl/trunk/managementnode/bin/monitor_vcld.pl
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/bin/monitor_vcld.pl?rev=1143427&r1=1143426&r2=1143427&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/bin/monitor_vcld.pl (original)
+++ incubator/vcl/trunk/managementnode/bin/monitor_vcld.pl Wed Jul  6 14:12:26 2011
@@ -65,10 +65,17 @@ main();
 
 
 sub main () {
-	my ($managementnodeid, $lci, $lastcheckin, $mnid, $selh, $updhdle, $rows, $timestamp);
-	my @hostinfo       = hostname;
-	my $MN             = $hostinfo[0];
-	my $MNos           = $hostinfo[1];
+	my ($managementnodeid, $lci, $mnid, $selh, $updhdle, $rows, $timestamp);
+	my %info;
+	if ($info{managementnode} = get_management_node_info()) {
+                notify($ERRORS{'DEBUG'}, $LOG, "retrieved management node information from database");
+        }
+        else {
+                notify($ERRORS{'WARNING'}, $LOG, "unable to retrieve management node information from database");
+                exit;
+        }
+	my $MN             = $info{managementnode}{hostname};
+	my $lastcheckin   = $info{managementnode}{lastcheckin};
 	my $pidjuststarted = 0;
 
 	#check if local vcld is running
@@ -96,32 +103,9 @@ sub main () {
 	}
 
 	#check on the last checkin time, if older then X, restart vcld core process
-
-	# --- Make connection to DB
-	my $dbh = DBI->connect(qq{dbi:mysql:$DATABASE:$SERVER}, $WRTUSER, $WRTPASS, {PrintError => 0});
-	$selh = $dbh->prepare("SELECT id,lastcheckin FROM managementnode WHERE hostname = ?") or notify($ERRORS{'WARNING'}, $LOG, "Could not prepare select for management node id" . $dbh->errstr());
-	RECHECK:
-	$selh->execute($MN) or notify($ERRORS{'WARNING'}, $LOG, "Could not execute management node id" . $dbh->errstr());
-	my $dbretval = $selh->bind_columns(\($managementnodeid, $lastcheckin));
-	$rows = $selh->rows;
-	if ($rows != 0) {
-		$selh->fetch;
-		$mnid = $managementnodeid;
-		$lci  = $lastcheckin;
-		notify($ERRORS{'OK'}, $LOG, "monitor_vcld.pl managementnodeid $managementnodeid set for $MN");
-		$selh->finish;
-		$dbh->disconnect;
-	}
-	else {
-		notify($ERRORS{'CRITICAL'}, $LOG, "monitor_vcld.pl No management id for $MN.");
-		$selh->finish;
-		$dbh->disconnect;
-		exit;
-	}
-
 	my $currenttime = makedatestring;
 	my $ctime       = convert_to_epoch_seconds($currenttime);
-	my $lchecktime  = convert_to_epoch_seconds($lci);
+	my $lchecktime  = convert_to_epoch_seconds($lastcheckin);
 	my $diff        = $ctime - $lchecktime;
 	if ($diff >= (3 * 60)) {
 		notify($ERRORS{'OK'}, $LOG, "monitor_vcld.pl managementnodeid $managementnodeid checkin time is old currenttime= $currenttime lastcheckintime= $lci");
@@ -141,7 +125,7 @@ sub main () {
 		}
 	} ## end if ($diff >= (3 * 60))
 	else {
-		notify($ERRORS{'OK'}, $LOG, "monitor_vcld.pl managementnodeid $MN is fresh lastcheckintime= $lci");
+		notify($ERRORS{'OK'}, $LOG, "monitor_vcld.pl managementnodeid $MN is fresh lastcheckintime= $lastcheckin");
 	}
 } ## end sub main ()