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 2010/03/23 20:37:22 UTC

svn commit: r926747 - /incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm

Author: fapeeler
Date: Tue Mar 23 19:37:22 2010
New Revision: 926747

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

- path change for nodeset to XCATROOT/sbin
- getting private_ip_address from database instead of /etc/hosts file


Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm?rev=926747&r1=926746&r2=926747&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm Tue Mar 23 19:37:22 2010
@@ -160,6 +160,7 @@ sub load {
 	my $computer_id           = $self->data->get_computer_id();
 	my $computer_node_name    = $self->data->get_computer_node_name();
 	my $computer_ip_address   = $self->data->get_computer_ip_address();
+	my $computer_private_ip_address   = $self->data->get_computer_private_ip_address();
 	my $image_os_install_type = $self->data->get_image_os_install_type();
 
 	notify($ERRORS{'OK'}, 0, "nodename not set")
@@ -261,7 +262,7 @@ sub load {
 				my $maxload = 1;
 				while ($maxload) {
 					notify($ERRORS{'DEBUG'}, 0, "running 'nodeset all stat' to determine number of nodes currently being loaded");
-					if (open(NODESET, "$XCAT_ROOT/bin/nodeset all stat \| egrep \'install\|image\' 2>&1 | ")) {
+					if (open(NODESET, "$XCAT_ROOT/sbin/nodeset all stat \| egrep \'install\|image\' 2>&1 | ")) {
 						my @nodesetout = <NODESET>;
 						close(NODESET);
 						my $ld = @nodesetout;
@@ -274,7 +275,7 @@ sub load {
 							notify($ERRORS{'OK'}, 0, "current nodes loading=$ld, throttle=$THROTTLE, must wait, sleeping for 10 seconds");
 							sleep 10;
 						}
-					} ## end if (open(NODESET, "$XCAT_ROOT/bin/nodeset all stat \| grep install 2>&1 | "...
+					} ## end if (open(NODESET, "$XCAT_ROOT/sbin/nodeset all stat \| grep install 2>&1 | "...
 					else {
 						notify($ERRORS{'WARNING'}, 0, "failed to run 'nodeset all stat' to determine number of nodes currently being loaded");
 					}
@@ -426,7 +427,7 @@ sub load {
 
 	# Check progress, locate MAC and IP address for this node, monitor /var/log/messages for communication from node
 	# dhcp req/ack, xcat calls, etc
-	my ($eth0MACaddress, $privateIP);
+	my ($eth0MACaddress);
 
 	# get MAC address
 	if (open(NODELS, "$XCAT_ROOT/bin/nodels $computer_node_name mac.mac 2>&1 |")) {
@@ -448,21 +449,6 @@ sub load {
 		notify($ERRORS{'WARNING'}, 0, "MAC address not found for $computer_node_name , possible issue with regex");
 	}
 
-	#should also store/pull private address from the database
-	if (open(HOSTS, "/etc/hosts")) {
-		my @hosts = <HOSTS>;
-		close(HOSTS);
-		foreach my $line (@hosts) {
-			if ($line =~ /([0-9]*.[0-9]*.[0-9]*.[0-9]*)\s+($computer_node_name)/) {
-				$privateIP = $1;
-				notify($ERRORS{'OK'}, 0, "PrivateIP address for $computer_node_name collected $privateIP");
-				last;
-			}
-		}
-	} ## end if (open(HOSTS, "/etc/hosts"))
-	if (!defined($privateIP)) {
-		notify($ERRORS{'WARNING'}, 0, "private IP address not found for $computer_node_name, possible issue with regex");
-	}
 	my ($s1, $s2, $s3, $s4, $s5) = 0;
 	my $sloop = 0;
 	#insertloadlog($reservation_id,$computer_id,"info","SUCCESS initiated install process");
@@ -473,7 +459,7 @@ sub load {
 	my $t;
 	my $maxloops = 45;
 
-	if ($eth0MACaddress && $privateIP) {
+	if ($eth0MACaddress && $computer_private_ip_address) {
 		@TAILLOG = 0;
 		$t       = 0;
 		if (open(TAIL, "</var/log/messages")) {
@@ -489,14 +475,14 @@ sub load {
 						}
 					}
 					if (!$s2) {
-						if ($_ =~ /dhcpd: DHCPACK on $privateIP to $eth0MACaddress/) {
+						if ($_ =~ /dhcpd: DHCPACK on $computer_private_ip_address to $eth0MACaddress/) {
 							$s2 = 1;
-							notify($ERRORS{'OK'}, 0, "$computer_node_name  STAGE 2 set DHCPACK on $privateIP to $eth0MACaddress");
+							notify($ERRORS{'OK'}, 0, "$computer_node_name  STAGE 2 set DHCPACK on $computer_private_ip_address to $eth0MACaddress");
 							insertloadlog($reservation_id, $computer_id, "xcatstage2", "SUCCESS stage2 detected dhcp ack for node");
 						}
 					}
 					if (!$s3) {
-						if ($_ =~ /Serving pxelinux.0 to $privateIP:/) {
+						if ($_ =~ /Serving pxelinux.0 to $computer_private_ip_address:/) {
 							$s3 = 1;
 							chomp($_);
 							notify($ERRORS{'OK'}, 0, "$computer_node_name STAGE 3 set $_");
@@ -504,7 +490,7 @@ sub load {
 						}
 					}
 					if (!$s4) {
-						if ($_ =~ /Serving xcat\/\w+\/x86(_64)?\/initrd.img to $privateIP:/) {
+						if ($_ =~ /Serving xcat\/\w+\/x86(_64)?\/initrd.img to $computer_private_ip_address:/) {
 							$s4 = 1;
 							chomp($_);
 							notify($ERRORS{'OK'}, 0, "$computer_node_name STAGE 4 set $_");
@@ -581,9 +567,9 @@ sub load {
 		else {
 			notify($ERRORS{'CRITICAL'}, 0, "could not open /var/log/messages to  $!");
 		}
-	} ## end if ($eth0MACaddress && $privateIP)
+	} ## end if ($eth0MACaddress && $computer_private_ip_address)
 	else {
-		notify($ERRORS{'CRITICAL'}, 0, "eth0MACaddress $eth0MACaddress && privateIP $privateIP  are not set not able to use these checks");
+		notify($ERRORS{'CRITICAL'}, 0, "eth0MACaddress $eth0MACaddress && privateIP $computer_private_ip_address  are not set not able to use these checks");
 		insertloadlog($reservation_id, $computer_id, "failed", "FAILED could not locate private IP and MAC addresses in XCAT files failing reservation");
 		return 0;
 	}