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/05/05 22:07:38 UTC

svn commit: r941458 - in /incubator/vcl/trunk/managementnode/lib/VCL: Module/OS/Linux/Ubuntu.pm Module/Provisioning/esx.pm Module/Provisioning/esxthin.pm Module/Provisioning/vmware.pm Module/Provisioning/xCAT21.pm utils.pm

Author: fapeeler
Date: Wed May  5 20:07:38 2010
New Revision: 941458

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

Removed all instances of IDENTITY_* keys. 
The ssh identity keys are now pulled from the databae and access via the %ENV hash 
or through the DataStructure.pm module.



Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esxthin.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm
    incubator/vcl/trunk/managementnode/lib/VCL/utils.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm?rev=941458&r1=941457&r2=941458&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/Ubuntu.pm Wed May  5 20:07:38 2010
@@ -203,7 +203,7 @@ sub delete_user {
 
 	# Use userdel to delete the user
 	my $user_delete_command = "/usr/sbin/userdel $user_login_id";
-	my @user_delete_results = run_ssh_command($computer_node_name, $IDENTITY_bladerhel, $user_delete_command, "root");
+	my @user_delete_results = run_ssh_command($computer_node_name, $management_node_keys, $user_delete_command, "root");
 	foreach my $user_delete_line (@{$user_delete_results[1]}) {
 		if ($user_delete_line =~ /currently logged in/) {
 			notify($ERRORS{'WARNING'}, 0, "user not deleted, $user_login_id currently logged in");

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm?rev=941458&r1=941457&r2=941458&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm Wed May  5 20:07:38 2010
@@ -749,13 +749,14 @@ sub node_status {
 		$image_os_type      = $self->data->get_image_os_type;
 		$vmclient_shortname = $self->data->get_computer_short_name;
 		$request_forimaging = $self->data->get_request_forimaging();
+		$identity_keys      = $self->data->get_management_node_keys;
 	} ## end else [ if (ref($self) !~ /esx/i)
 
 	notify($ERRORS{'OK'},    0, "Entering node_status, checking status of $vmclient_shortname");
 	notify($ERRORS{'DEBUG'}, 0, "request_for_imaging: $request_forimaging");
 	notify($ERRORS{'DEBUG'}, 0, "requeseted image name: $requestedimagename");
 
-	my ($hostnode, $identity);
+	my ($hostnode);
 
 	# Create a hash to store status components
 	my %status;
@@ -770,17 +771,12 @@ sub node_status {
 
 	if ($vmhost_type eq "blade") {
 		$hostnode = $1 if ($vmhost_hostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
-		$identity = $IDENTITY_bladerhel;    #if($vm{vmhost}{imagename} =~ /^(rhel|rh3image|rh4image|fc|rhfc)/);
 	}
 	else {
 		#using FQHN
 		$hostnode = $vmhost_hostname;
-		$identity = $IDENTITY_linux_lab if ($vmhost_imagename =~ /^(realmrhel)/);
 	}
 
-	if (!$identity) {
-		notify($ERRORS{'CRITICAL'}, 0, "could not set ssh identity variable for image $vmhost_imagename type= $vmhost_type host= $vmhost_hostname");
-	}
 
 	# Check if node is pingable
 	notify($ERRORS{'DEBUG'}, 0, "checking if $vmclient_shortname is pingable");
@@ -812,8 +808,7 @@ sub node_status {
 		notify($ERRORS{'DEBUG'}, 0, "SSH good, trying to query image name");
 
 		$status{ssh} = 1;
-		my $identity = $IDENTITY_bladerhel;
-		my @sshcmd = run_ssh_command($vmclient_shortname, $identity, "cat currentimage.txt");
+		my @sshcmd = run_ssh_command($vmclient_shortname, $identity_keys, "cat currentimage.txt");
 		$status{currentimage} = $sshcmd[1][0];
 
 		notify($ERRORS{'DEBUG'}, 0, "Image name: $status{currentimage}");

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esxthin.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esxthin.pm?rev=941458&r1=941457&r2=941458&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esxthin.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esxthin.pm Wed May  5 20:07:38 2010
@@ -1376,13 +1376,14 @@ sub node_status {
 		$image_os_type      = $self->data->get_image_os_type;
 		$vmclient_shortname = $self->data->get_computer_short_name;
 		$request_forimaging = $self->data->get_request_forimaging();
+		$identity_keys      = $self->data->get_management_node_keys;
 	} ## end else [ if (ref($self) !~ /esxthin/i)
 
 	notify($ERRORS{'OK'},    0, "Entering node_status, checking status of $vmclient_shortname");
 	notify($ERRORS{'DEBUG'}, 0, "request_for_imaging: $request_forimaging");
 	notify($ERRORS{'DEBUG'}, 0, "requeseted image name: $requestedimagename");
 
-	my ($hostnode, $identity);
+	my ($hostnode);
 
 	# Create a hash to store status components
 	my %status;
@@ -1397,17 +1398,12 @@ sub node_status {
 
 	if ($vmhost_type eq "blade") {
 		$hostnode = $1 if ($vmhost_hostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
-		$identity = $IDENTITY_bladerhel;    #if($vm{vmhost}{imagename} =~ /^(rhel|rh3image|rh4image|fc|rhfc)/);
 	}
 	else {
 		#using FQHN
 		$hostnode = $vmhost_hostname;
-		$identity = $IDENTITY_linux_lab if ($vmhost_imagename =~ /^(realmrhel)/);
 	}
 
-	if (!$identity) {
-		notify($ERRORS{'CRITICAL'}, 0, "could not set ssh identity variable for image $vmhost_imagename type= $vmhost_type host= $vmhost_hostname");
-	}
 
 	# Check if node is pingable
 	notify($ERRORS{'DEBUG'}, 0, "checking if $vmclient_shortname is pingable");
@@ -1439,8 +1435,7 @@ sub node_status {
 		notify($ERRORS{'DEBUG'}, 0, "SSH good, trying to query image name");
 
 		$status{ssh} = 1;
-		my $identity = $IDENTITY_bladerhel;
-		my @sshcmd = run_ssh_command($vmclient_shortname, $identity, "cat currentimage.txt");
+		my @sshcmd = run_ssh_command($vmclient_shortname, $identity_keys, "cat currentimage.txt");
 		$status{currentimage} = $sshcmd[1][0];
 
 		notify($ERRORS{'DEBUG'}, 0, "Image name: $status{currentimage}");

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm?rev=941458&r1=941457&r2=941458&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm Wed May  5 20:07:38 2010
@@ -109,6 +109,8 @@ sub load {
 	my $request_id     = $self->data->get_request_id;
 	my $reservation_id = $self->data->get_reservation_id;
 	my $persistent     = $self->data->get_request_forimaging;
+	
+	my $management_node_keys     = $self->data->get_management_node_keys();
 
 	my $image_id       = $self->data->get_image_id;
 	my $image_os_name  = $self->data->get_image_os_name;
@@ -145,9 +147,11 @@ sub load {
 	my $vmclient_privateIPaddress = $self->data->get_computer_ip_address;
 	my $vmclient_publicIPaddress  = $self->data->get_computer_private_ip_address;
 	my $vmclient_OSname           = $self->data->get_image_os_name;
+
 	# Assemble a consistent prefix for notify messages
 	my $notify_prefix = "req=$request_id, res=$reservation_id:";
 
+
 	#$VMWARErepository
 	#if (!($vm{vmhost}{ok})) {
 	#not ok to proceed
@@ -162,10 +166,9 @@ sub load {
 	#$vm{"vmclient"}{"project"} = "vcl" if (!defined($vm{"vmclient"}{"project"}));
 
 
-	my ($hostnode, $identity);
+	my ($hostnode);
 	if ($host_type eq "blade") {
 		$hostnode = $1 if ($vmhost_hostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
-		$identity = $IDENTITY_bladerhel;
 
 		# assign2project is only for blades - and not all blades
 		#if (VCL::Module::Provisioning::xCAT::_assign2project($hostnode, $project)) {
@@ -180,15 +183,13 @@ sub load {
 	else {
 		#using FQHN
 		$hostnode = $vmhost_hostname;
-		$identity = $IDENTITY_linux_lab if ($vmhost_imagename =~ /^(realmrhel)/);
 	}
 
-	if (!(defined($identity))) {
+	if (!(defined($management_node_keys))) {
 		notify($ERRORS{'CRITICAL'}, 0, "identity variiable not definted, setting to blade identity file vmhost variable set to $vmhost_imagename");
-		$identity = $IDENTITY_bladerhel;
 	}
 
-	notify($ERRORS{'OK'}, 0, "identity file set $identity  vmhost imagename $vmhost_imagename bladekey $IDENTITY_bladerhel");
+	notify($ERRORS{'OK'}, 0, "identity file set $management_node_keys  vmhost imagename $vmhost_imagename bladekey ");
 	#setup flags
 	my $baseexists   = 0;
 	my $dirstructure = 0;
@@ -234,7 +235,7 @@ sub load {
 			notify($ERRORS{'OK'}, 0, "owning exclusive lock on $tmplockfile");
 			notify($ERRORS{'OK'}, 0, "listing datestore $datastorepath ");
 			undef @sshcmd;
-			@sshcmd = run_ssh_command($hostnode, $identity, "ls -1 $datastorepath", "root");
+			@sshcmd = run_ssh_command($hostnode, $management_node_keys, "ls -1 $datastorepath", "root");
 			if (!defined(@{$sshcmd[1]})) {
 				notify($ERRORS{'CRITICAL'}, 0, "failed to list data store contents $datastorepath on vm host");
 				insertloadlog($reservation_id, $vmclient_computerid, "failed", "failed to list data store contents $datastorepath on vm host");
@@ -274,7 +275,7 @@ sub load {
 				notify($ERRORS{'DEBUG'}, 0, "requestedimagenamebase and persistent are both true, attempting to detect status for move of base image instead of full copy");
 				#Confirm base is not inuse then simply rename the directory to match our needs
 				my $okforMOVE = 0;
-				my @sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd -l", "root");
+				my @sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -l", "root");
 				foreach my $vm (@{$sshcmd[1]}) {
 					chomp($vm);
 					next if ($vm =~ /Warning:/);
@@ -287,7 +288,7 @@ sub load {
 						$localmyvmdir =~ s/(\s+)/\\ /g;
 
 						notify($ERRORS{'OK'}, 0, "my vmx $localmyvmx");
-						my @sshcmd_1 = run_ssh_command($hostnode, $identity, "vmware-cmd $localmyvmx getstate");
+						my @sshcmd_1 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $localmyvmx getstate");
 						foreach my $l (@{$sshcmd_1[1]}) {
 							if ($l =~ /= off/) {
 								#Good
@@ -335,7 +336,7 @@ sub load {
 				notify($ERRORS{'DEBUG'}, 0, "file size $myvmdkfilesize of $requestedimagename");
 				notify($ERRORS{'OK'},    0, "checking space on $hostnode $vmhost_vmpath");
 				undef @sshcmd;
-				@sshcmd = run_ssh_command($hostnode, $identity, "df -k $vmhost_vmpath", "root");
+				@sshcmd = run_ssh_command($hostnode, $management_node_keys, "df -k $vmhost_vmpath", "root");
 				foreach my $l (@{$sshcmd[1]}) {
 					next if ($l =~ /Warning: Permanently/);
 					next if ($l =~ /^Filesystem/);
@@ -350,7 +351,7 @@ sub load {
 								notify($ERRORS{'OK'}, 0, "detected space issue on $hostnode, attempting to free up space");
 								#remove stuff
 								my %vmlist = ();
-								my @sshcmd_1 = run_ssh_command($hostnode, $identity, "vmware-cmd -l", "root");
+								my @sshcmd_1 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -l", "root");
 								my $i;
 								foreach my $r (@{$sshcmd_1[1]}) {
 									$i++;
@@ -366,7 +367,7 @@ sub load {
 								foreach my $v (keys %vmlist) {
 									#handle any spaces in the path
 									$vmlist{$v}{path} =~ s/(\s+)/\\ /g;
-									my @sshcmd_2 = run_ssh_command($hostnode, $identity, "vmware-cmd -q $vmlist{$v}{path} getstate", "root");
+									my @sshcmd_2 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -q $vmlist{$v}{path} getstate", "root");
 									foreach $a (@{$sshcmd_2[1]}) {
 										next if ($a =~ /^Warning: /);
 										chomp($a);
@@ -381,7 +382,7 @@ sub load {
 									} ## end foreach $a (@{$sshcmd_2[1]})
 								} ## end foreach my $v (keys %vmlist)
 								notify($ERRORS{'OK'}, 0, "ls datastorepath $datastorepath ");
-								my @sshcmd_3 = run_ssh_command($hostnode, $identity, "ls -1 $datastorepath", "root");
+								my @sshcmd_3 = run_ssh_command($hostnode, $management_node_keys, "ls -1 $datastorepath", "root");
 								foreach my $d (@{$sshcmd_3[1]}) {
 									next if ($d =~ /Warning: /);
 									
@@ -406,7 +407,7 @@ sub load {
 											elsif ($vmlist{$v}{state} eq "off") {
 												#$save = 0;
 												notify($ERRORS{'DEBUG'}, 0, "VM is off, it will NOT be saved: $vmlist{$v}{path}");
-												if (defined(run_ssh_command($hostnode, $identity, "vmware-cmd -s unregister $vmlist{$v}{path}", "root"))) {
+												if (defined(run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -s unregister $vmlist{$v}{path}", "root"))) {
 													notify($ERRORS{'DEBUG'}, 0, "unregistered $vmlist{$v}{path}");
 												}
 											}
@@ -424,7 +425,7 @@ sub load {
 									}
 									else {
 										notify($ERRORS{'OK'}, 0, "disk cleanup - REMOVING $datastorepath/$d");
-										if (defined(run_ssh_command($hostnode, $identity, "/bin/rm -rf $datastorepath/$d\*", "root"))) {
+										if (defined(run_ssh_command($hostnode, $management_node_keys, "/bin/rm -rf $datastorepath/$d\*", "root"))) {
 											notify($ERRORS{'DEBUG'}, 0, "disk cleanup - REMOVED $datastorepath/$d\*");
 										}
 									}    #else not save
@@ -439,10 +440,10 @@ sub load {
 				}    # start foreach df -k
 				if ($vmprofile_vmdisk eq "localdisk") {
 					notify($ERRORS{'OK'}, 0, "copying base image files $requestedimagename to $hostnode");
-					if (run_scp_command("$VMWAREREPOSITORY/$requestedimagename", "$hostnode:\"$datastorepath/$mybasedirname\"", $identity)) {
+					if (run_scp_command("$VMWAREREPOSITORY/$requestedimagename", "$hostnode:\"$datastorepath/$mybasedirname\"", $management_node_keys)) {
 						#recheck host server for files - the  scp output is not being captured
 						undef @sshcmd;
-						@sshcmd = run_ssh_command($hostnode, $identity, "ls -1 $datastorepath", "root");
+						@sshcmd = run_ssh_command($hostnode, $management_node_keys, "ls -1 $datastorepath", "root");
 						foreach my $l (@{$sshcmd[1]}) {
 							if ($l =~ /denied|No such/) {
 								notify($ERRORS{'CRITICAL'}, 0, "node $hostnode output @{ $sshcmd[1] }");
@@ -474,7 +475,7 @@ sub load {
 						my $dstDir  = "$datastorepath/$mybasedirname";
 
 						#create a clone -
-						if (_vmwareclone($hostnode, $identity, $srcDisk, $dstDisk, $dstDir)) {
+						if (_vmwareclone($hostnode, $management_node_keys, $srcDisk, $dstDisk, $dstDir)) {
 							$baseexists = 1;
 							insertloadlog($reservation_id, $vmclient_computerid, "transfervm", "cloning base image files");
 						}
@@ -512,13 +513,13 @@ sub load {
 		#clean-up
 		#make sure vm is off, it should be
 		undef @sshcmd;
-		@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd $myvmx getstate", "root");
+		@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $myvmx getstate", "root");
 		foreach my $l (@{$sshcmd[1]}) {
 			if ($l =~ /= off/) {
 				#good
 			}
 			elsif ($l =~ /= on/) {
-				my @sshcmd_1 = run_ssh_command($hostnode, $identity, "vmware-cmd $myvmx stop hard", "root");
+				my @sshcmd_1 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $myvmx stop hard", "root");
 				foreach my $a (@{$sshcmd_1[1]}) {
 					next if ($a =~ /Warning:/);
 					if ($a =~ /= 1/) {
@@ -533,7 +534,7 @@ sub load {
 		} ## end foreach my $l (@{$sshcmd[1]})
 		    #if registered -  unregister vm
 		undef @sshcmd;
-		@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd -s unregister $myvmx", "root");
+		@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -s unregister $myvmx", "root");
 		foreach my $l (@{$sshcmd[1]}) {
 			if ($l =~ /No such virtual machine/) {
 				#not registered
@@ -545,7 +546,7 @@ sub load {
 		}
 		#delete directory -- clean slate
 		# if in persistent mode - imaging or otherwise we may not want to rm this directory
-		if (defined(run_ssh_command($hostnode, $identity, "/bin/rm -rf $vmhost_vmpath/$myvmdir", "root"))) {
+		if (defined(run_ssh_command($hostnode, $management_node_keys, "/bin/rm -rf $vmhost_vmpath/$myvmdir", "root"))) {
 			notify($ERRORS{'OK'}, 0, "success rm -rf $vmhost_vmpath/$myvmdir on $hostnode ");
 		}
 
@@ -704,10 +705,10 @@ sub load {
 
 	#scp vmx file to vmdir on vmhost
 	insertloadlog($reservation_id, $vmclient_computerid, "vmconfigcopy", "transferring vmx file to $hostnode");
-	if (run_scp_command($tmpdir, "$hostnode:\"$vmhost_vmpath\"", $identity)) {
+	if (run_scp_command($tmpdir, "$hostnode:\"$vmhost_vmpath\"", $management_node_keys)) {
 		my $copied = 0;
 		undef @sshcmd;
-		@sshcmd = run_ssh_command($hostnode, $identity, "ls -1 $vmhost_vmpath/$myvmdir;chmod 755 $myvmx", "root");
+		@sshcmd = run_ssh_command($hostnode, $management_node_keys, "ls -1 $vmhost_vmpath/$myvmdir;chmod 755 $myvmx", "root");
 		foreach my $l (@{$sshcmd[1]}) {
 			if ($l =~ /$myvmdir.vmx/) {
 				notify($ERRORS{'OK'}, 0, "successfully copied vmx file to $hostnode");
@@ -739,7 +740,7 @@ sub load {
 	#register vmx on vmhost
 	my $registered = 0;
 	undef @sshcmd;
-	@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd -s register $myvmx", "root");
+	@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -s register $myvmx", "root");
 	foreach my $l (@{$sshcmd[1]}) {
 		if ($l =~ /No such virtual machine/) {
 			#not registered
@@ -776,7 +777,7 @@ sub load {
 	}
 
 	undef @sshcmd;
-	@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd $myvmx start", "root");
+	@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $myvmx start", "root");
 	for my $l (@{$sshcmd[1]}) {
 		next if ($l =~ /Warning:/);
 		#if successful -- this cmd does not appear to return any ouput so anything could be a failure
@@ -802,7 +803,7 @@ sub load {
 	sleep 20;
 	my ($s1, $s2, $s3, $s4, $s5) = 0;    #setup stage flags
 	undef @sshcmd;
-	@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd $myvmx getstate", "root");
+	@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $myvmx getstate", "root");
 	notify($ERRORS{'OK'}, 0, "checking state of vm $computer_shortname");
 	for my $l (@{$sshcmd[1]}) {
 		next if ($l =~ /Warning:/);
@@ -955,6 +956,7 @@ sub capture {
 	# Store some hash variables into local variables
 	my $request_id     = $self->data->get_request_id;
 	my $reservation_id = $self->data->get_reservation_id;
+	my $management_node_keys     = $self->data->get_management_node_keys();
 
 	my $image_id       = $self->data->get_image_id;
 	my $image_os_name  = $self->data->get_image_os_name;
@@ -976,15 +978,13 @@ sub capture {
 	my $host_type               = $self->data->get_vmhost_type;
 	my $vmhost_imagename        = $self->data->get_vmhost_image_name;
 
-	my ($hostIdentity, $hostnodename);
+	my ( $hostnodename);
 	if ($host_type eq "blade") {
 		$hostnodename = $1 if ($vmhost_hostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
-		$hostIdentity = $IDENTITY_bladerhel;
 	}
 	else {
 		#using FQHN
 		$hostnodename = $vmhost_hostname;
-		$hostIdentity = $IDENTITY_linux_lab if ($vmhost_imagename =~ /^(realmrhel)/);
 	}
 	# Assemble a consistent prefix for notify messages
 	my $notify_prefix = "req=$request_id, res=$reservation_id:";
@@ -1067,7 +1067,7 @@ sub capture {
 		#copy vmdk files
 		# confirm they were copied
 		notify($ERRORS{'OK'}, 0, "attemping to copy vmdk files to $VMWAREREPOSITORY");
-		if (run_scp_command("$hostnodename:\"$vmhost_vmpath/$vmx_directory/*.vmdk\"", "$VMWAREREPOSITORY/$image_name", $hostIdentity)) {
+		if (run_scp_command("$hostnodename:\"$vmhost_vmpath/$vmx_directory/*.vmdk\"", "$VMWAREREPOSITORY/$image_name", $management_node_keys)) {
 			if (open(LISTFILES, "ls -s1 $VMWAREREPOSITORY/$image_name |")) {
 				my @list = <LISTFILES>;
 				close(LISTFILES);
@@ -1145,11 +1145,11 @@ sub capture {
 						  #remove dir from vmhost
 						  #everything appears to have worked
 						  #remove image files from vmhost
-				if (defined(run_ssh_command($hostnodename, $hostIdentity, "vmware-cmd -s unregister $vmx_path"))) {
+				if (defined(run_ssh_command($hostnodename, $management_node_keys, "vmware-cmd -s unregister $vmx_path"))) {
 					notify($ERRORS{'OK'}, 0, "unregistered $vmx_path");
 				}
 
-				if (defined(run_ssh_command($hostnodename, $hostIdentity, "/bin/rm -rf $vmhost_vmpath/$vmx_directory", "root"))) {
+				if (defined(run_ssh_command($hostnodename, $management_node_keys, "/bin/rm -rf $vmhost_vmpath/$vmx_directory", "root"))) {
 					notify($ERRORS{'OK'}, 0, "removed vmhost_vmpath/$vmx_directory");
 				}
 				#set file premissions on images to 644
@@ -1180,7 +1180,7 @@ sub capture {
 
 
 		# create directory
-		my @mvdir = run_ssh_command($hostnodename, $hostIdentity, "/bin/mv $vmprofile_datastorepath/$vmx_directory $vmprofile_datastorepath/$image_name", "root");
+		my @mvdir = run_ssh_command($hostnodename, $management_node_keys, "/bin/mv $vmprofile_datastorepath/$vmx_directory $vmprofile_datastorepath/$image_name", "root");
 		for my $l (@{$mvdir[1]}) {
 			notify($ERRORS{'OK'}, 0, "possible error @{ $mvdir[1] }");
 		}
@@ -1188,7 +1188,7 @@ sub capture {
 		#if ESX user vmkfstools to rename the image
 		if ($vmtype_name =~ /vmwareESX/) {
 			my $cmd = "vmkfstools -E $vmprofile_datastorepath/$image_name/$vmx_directory.vmdk $vmprofile_datastorepath/$image_name/$image_name.vmdk";
-			my @retarr = run_ssh_command($hostnodename, $hostIdentity, $cmd, "root");
+			my @retarr = run_ssh_command($hostnodename, $management_node_keys, $cmd, "root");
 			foreach my $r (@{$retarr[1]}) {
 				#if any output could mean trouble - this command provides no no response if successful
 				notify($ERRORS{'OK'}, 0, "possible problem renaming vm @{ $retarr[1] }") if ($r);
@@ -1198,12 +1198,12 @@ sub capture {
 		#TODO add check to confirm
 		notify($ERRORS{'OK'}, 0, "looks like vm is renamed");
 		#cleanup - unregister, and remove vm dir on vmhost local disk
-		my @cleanup = run_ssh_command($hostnodename, $hostIdentity, "vmware-cmd -s unregister $vmx_path", "root");
+		my @cleanup = run_ssh_command($hostnodename, $management_node_keys, "vmware-cmd -s unregister $vmx_path", "root");
 		foreach my $c (@{$cleanup[1]}) {
 			notify($ERRORS{'OK'}, 0, "vm successfully unregistered") if ($c =~ /1/);
 		}
 		#remove vmx directoy from our local datastore
-		if (defined(run_ssh_command($hostnodename, $hostIdentity, "/bin/rm -rf $vmhost_vmpath/$vmx_directory", "root"))) {
+		if (defined(run_ssh_command($hostnodename, $management_node_keys, "/bin/rm -rf $vmhost_vmpath/$vmx_directory", "root"))) {
 			notify($ERRORS{'OK'}, 0, "success removed $vmhost_vmpath/$vmx_directory from $hostnodename");
 
 		}
@@ -1323,6 +1323,8 @@ sub control_VM {
 	my $vmhost_shortname    = $1 if ($vmhost_fullhostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
 	my $vmhost_imagename    = $self->data->get_vmhost_image_name;
 	my $vmhost_type         = $self->data->get_vmhost_type;
+	my $management_node_keys     = $self->data->get_management_node_keys();
+
 
 	my ($myvmdir, $myvmx, $mybasedirname, $myimagename);
 
@@ -1343,7 +1345,7 @@ sub control_VM {
 		$myimagename   = $currentimage;
 	}
 
-	my ($hostnode, $identity);
+	my ($hostnode);
 	if ($vmhost_type eq "blade") {
 
 		if (defined($vmhost_shortname)) {
@@ -1352,17 +1354,14 @@ sub control_VM {
 		else {
 			$hostnode = $1 if ($vmhost_shortname =~ /([-_a-zA-Z0-9]*)(\.?)/);
 		}
-		$identity = $IDENTITY_bladerhel;
 	} ## end if ($vmhost_type eq "blade")
 	else {
 		#using FQHN
 		$hostnode = $vmhost_fullhostname;
-		$identity = $IDENTITY_linux_lab if ($vmhost_imagename =~ /^(realmrhel)/);
 	}
 	if (!$identity) {
 		notify($ERRORS{'WARNING'}, 0, "could not set ssh identity variable for image $vmhost_imagename type= $vmhost_type host= $vmhost_fullhostname");
 		notify($ERRORS{'OK'},      0, "setting to default identity key");
-		$identity = $IDENTITY_bladerhel;
 	}
 	#setup flags
 	my $baseexists   = 0;
@@ -1372,7 +1371,7 @@ sub control_VM {
 	if ($vmtype =~ /vmware|vmwareGSX|vmwareESX/) {
 		#common checks
 		notify($ERRORS{'OK'}, 0, "checking for base image on $hostnode $datastorepath");
-		@sshcmd = run_ssh_command($hostnode, $identity, "ls -1 $datastorepath", "root");
+		@sshcmd = run_ssh_command($hostnode, $management_node_keys, "ls -1 $datastorepath", "root");
 		if (!@sshcmd) {
 			notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: ls -1 $datastorepath");
 			return 0;
@@ -1380,7 +1379,7 @@ sub control_VM {
 		notify($ERRORS{'OK'}, 0, "@{ $sshcmd[1] }");
 		foreach my $l (@{$sshcmd[1]}) {
 			if ($l =~ /denied|No such/) {
-				notify($ERRORS{'CRITICAL'}, 0, "node $hostnode output @{ $sshcmd[1] } $identity $hostnode");
+				notify($ERRORS{'CRITICAL'}, 0, "node $hostnode output @{ $sshcmd[1] } $management_node_keys $hostnode");
 				return 0;
 			}
 			if ($l =~ /Warning: Permanently/) {
@@ -1409,7 +1408,7 @@ sub control_VM {
 
 			##find the correct vmx file for this node -- if running
 			undef @sshcmd;
-			@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd -l", "root");
+			@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -l", "root");
 			if (!@sshcmd) {
 				notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd -l");
 				return 0;
@@ -1426,7 +1425,7 @@ sub control_VM {
 					$l_myvmdir =~ s/(\s+)/\\ /g;
 
 					notify($ERRORS{'OK'}, 0, "my vmx $l_myvmx");
-					my @sshcmd_1 = run_ssh_command($hostnode, $identity, "vmware-cmd $l_myvmx getstate");
+					my @sshcmd_1 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $l_myvmx getstate");
 					if (!@sshcmd_1) {
 						notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd $l_myvmx getstate");
 						return 0;
@@ -1436,7 +1435,7 @@ sub control_VM {
 							#good - move on
 						}
 						elsif ($l =~ /= on/) {
-							my @sshcmd_2 = run_ssh_command($hostnode, $identity, "vmware-cmd $l_myvmx stop hard");
+							my @sshcmd_2 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $l_myvmx stop hard");
 							if (!@sshcmd_2) {
 								notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd $l_myvmx stop hard");
 								return 0;
@@ -1456,7 +1455,7 @@ sub control_VM {
 						elsif ($l =~ /= stuck/) {
 							#list processes for vmx and kill pid
 							notify($ERRORS{'OK'}, 0, "vm reported in stuck state, attempting to kill process");
-							my @ssh_pid = run_ssh_command($hostnode, $identity, "vmware-cmd -q $l_myvmx getpid");
+							my @ssh_pid = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -q $l_myvmx getpid");
 							if (!@ssh_pid) {
 								notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd -q $l_myvmx getpid");
 								return 0;
@@ -1465,7 +1464,7 @@ sub control_VM {
 								if ($p =~ /(\D*)(\s*)([0-9]*)/) {
 									notify($ERRORS{'OK'}, 0, "vm pid= $3");
 									my $vmpid = $3;
-									if (defined(run_ssh_command($hostnode, $identity, "kill -9 $vmpid"))) {
+									if (defined(run_ssh_command($hostnode, $management_node_keys, "kill -9 $vmpid"))) {
 										notify($ERRORS{'OK'}, 0, "killed $vmpid $l_myvmx");
 									}
 								}
@@ -1477,7 +1476,7 @@ sub control_VM {
 					} ## end foreach my $l (@{$sshcmd_1[1]})
 					    #unregister
 					undef @sshcmd_1;
-					@sshcmd_1 = run_ssh_command($hostnode, $identity, "vmware-cmd -s unregister $l_myvmx ");
+					@sshcmd_1 = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd -s unregister $l_myvmx ");
 					if (!@sshcmd_1) {
 						notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd -s unregister $l_myvmx");
 						return 0;
@@ -1489,7 +1488,7 @@ sub control_VM {
 			} ## end foreach my $l (@{$sshcmd[1]})
 			if ($control eq "remove") {
 				#delete directory -- clean slate
-				if (defined(run_ssh_command($hostnode, $identity, "/bin/rm -rf $l_myvmdir", "root"))) {
+				if (defined(run_ssh_command($hostnode, $management_node_keys, "/bin/rm -rf $l_myvmdir", "root"))) {
 					notify($ERRORS{'OK'}, 0, "removed $l_myvmdir from $hostnode");
 					return 1;
 				}
@@ -1503,7 +1502,7 @@ sub control_VM {
 			if ($vmison) {
 				notify($ERRORS{'OK'}, 0, "turning off $myvmx");
 				undef @sshcmd;
-				@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd $myvmx stop hard", "root");
+				@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $myvmx stop hard", "root");
 				if (!@sshcmd) {
 					notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd $myvmx stop hard");
 					return 0;
@@ -1517,7 +1516,7 @@ sub control_VM {
 				sleep 15;
 				#confirm
 				undef @sshcmd;
-				@sshcmd = run_ssh_command($hostnode, $identity, "vmware-cmd $myvmx getstate", "root");
+				@sshcmd = run_ssh_command($hostnode, $management_node_keys, "vmware-cmd $myvmx getstate", "root");
 				if (!@sshcmd) {
 					notify($ERRORS{'WARNING'}, 0, "failed to run ssh command: vmware-cmd $myvmx getstate7");
 					return 0;

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=941458&r1=941457&r2=941458&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT21.pm Wed May  5 20:07:38 2010
@@ -262,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/sbin/nodeset all stat \| egrep \'install\|image\' 2>&1 | ")) {
+					if (open(NODESET, "$XCAT_ROOT/bin/nodeset all stat \| egrep \'install\|image\' 2>&1 | ")) {
 						my @nodesetout = <NODESET>;
 						close(NODESET);
 						my $ld = @nodesetout;

Modified: incubator/vcl/trunk/managementnode/lib/VCL/utils.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=941458&r1=941457&r2=941458&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Wed May  5 20:07:38 2010
@@ -209,10 +209,6 @@ our @EXPORT = qw(
   $ETHDEVICE
   $GATEWAY
   $FQDN
-  $IDENTITY_bladerhel
-  $IDENTITY_wxp
-  $IDENTITY_linux_lab
-  $IDENTITY_solaris_lab
   $IPCONFIGURATION
   $jabPass
   $jabPort
@@ -261,7 +257,6 @@ INIT {
 	our ($IPCONFIGURATION, $DNSserver, $GATEWAY, $NETMASK, $ETHDEVICE) = 0;
 	our ($LINUX_IMAGE,     $THROTTLE);
 	our ($CORE_IMAGEREPOSITORY, $WIN_IMAGEREPOSITORY, $LINUX_IMAGEREPOSITORY);
-	our ($IDENTITY_linux_lab, $IDENTITY_solaris_lab, $IDENTITY_wxp, $IDENTITY_newwxp, $IDENTITY_bladerhel);
 	our ($VMWARETYPE, $VMWARE_DISK,$VMWARE_MAC_ETH0_GENERATED, $VMWARE_MAC_ETH1_GENERATED);
 	our ($WINDOWS_ROOT_PASSWORD);
    our ($XMLRPC_USER, $XMLRPC_PASS, $XMLRPC_URL);
@@ -479,20 +474,6 @@ INIT {
 				$THROTTLE = $1;
 			}
 
-			#ssh private keys
-			if ($l =~ /^IDENTITY_blade_linux=(.*)/) {
-				$IDENTITY_bladerhel = $1;
-			}
-			if ($l =~ /^IDENTITY_blade_win=(.*)/) {
-				$IDENTITY_wxp = $1;
-			}
-			if ($l =~ /^IDENTITY_solaris_lab=(.*)/) {
-				$IDENTITY_solaris_lab = $1;
-			}
-			if ($l =~ /^IDENTITY_linux_lab=(.*)/) {
-				$IDENTITY_linux_lab = $1;
-			}
-
 			#vmware settings
 			# localdisk
 			if ($l =~ /^VMWARE_DISK=(localdisk|networkdisk)/) {
@@ -541,17 +522,6 @@ INIT {
 		$THROTTLE = 0;
 	}
 
-	if (!$IDENTITY_bladerhel) {
-
-	}
-	if (!$IDENTITY_wxp) {
-
-	}
-	if (!$IDENTITY_solaris_lab) {
-	}
-	if (!$IDENTITY_linux_lab) {
-	}
-	
 	if (!$WINDOWS_ROOT_PASSWORD) {
 		$WINDOWS_ROOT_PASSWORD = "clOudy";
 	}
@@ -623,9 +593,7 @@ our ($MYSQL_SSL,       $MYSQL_SSL_CERT);
 our ($IPCONFIGURATION, $DNSserver, $GATEWAY, $NETMASK, $ETHDEVICE);
 our ($LINUX_IMAGE,     $THROTTLE);
 our ($FQDN);
-our ($IDENTITY_linux_lab, $IDENTITY_solaris_lab, $IDENTITY_wxp, $IDENTITY_bladerhel);
 our ($VMWARE_DISK);
-our $IDENTITY_newwxp    = "$FindBin::Bin/../lib/VCL/newwinxp_blade.key";
 our $XCATROOT           = "/opt/xcat";
 our $TOOLS              = "$FindBin::Bin/../tools";
 our $VMWAREREPOSITORY   = "/install/vmware_images";
@@ -1419,10 +1387,9 @@ sub setstaticaddress {
 
 	}
 
-	my $identity;
+	my $identity = $ENV{management_node_info}{keys};
 	my @sshcmd;
 	if ($image_os_type =~ /linux/i) {
-		$identity = $IDENTITY_bladerhel;
 		#create local tmp file
 		# down interface
 		#copy tmpfile to  /etc/sysconfig/network-scripts/ifcfg-eth1
@@ -1641,13 +1608,12 @@ sub getdynamicaddress {
 		notify($ERRORS{'WARNING'}, 0, "private IP address not found for $node, possible issue with regex");
 	}
 
-	my $identity;
+	my $identity_keys = $ENV{management_node_info}{keys};
 	my $dynaIPaddress = 0;
 	my $ip_address;
 	if ($image_os_type =~ /windows/i) {
-		$identity = $IDENTITY_wxp;
 
-		@sshcmd = run_ssh_command($node, $identity, "ipconfig", "root");
+		@sshcmd = run_ssh_command($node, $identity_keys, "ipconfig", "root");
 		for my $l (@{$sshcmd[1]}) {
 			# skip class a,b,c private addresses
                         next if ($l !~ /IP(.*)?Address[\s\.:]*([\d\.]*)/);
@@ -1660,9 +1626,9 @@ sub getdynamicaddress {
 
 	} ## end if ($osname =~ /windows/)
 	elsif ($image_os_type =~ /linux/) {
-		$identity = $IDENTITY_bladerhel;
+		#$identity = $ENV{management_node_info}{keys};
 		undef @sshcmd;
-		@sshcmd = run_ssh_command($node, $identity, "/sbin/ifconfig \|grep inet", "root");
+		@sshcmd = run_ssh_command($node, $identity_keys, "/sbin/ifconfig \|grep inet", "root");
 		for my $l (@{$sshcmd[1]}) {
 			# skip class a,b,c private addresses
 			next if ($l !~ /inet addr:([\d\.]*)/);
@@ -1774,16 +1740,8 @@ sub check_connection {
 	my $ret_val       = "no";
 
 	$dbh = getnewdbh() if !$dbh;
-	my $identity;
-	if ($image_os_type =~ /windows/i) {
-		$identity = $IDENTITY_wxp;
-	}
-	elsif ($image_os_type =~ /linux/i) {
-		$identity = $IDENTITY_bladerhel;
-	}
-	else {
-		$identity = $IDENTITY_bladerhel;
-	}
+	my $identity_keys = $ENV{management_node_info}{keys};
+
 	# Figure out number of loops for log messates
 	my $maximum_loops = $time_limit * 2;
 	my $loop_count    = 0;
@@ -1828,7 +1786,7 @@ sub check_connection {
 				$shortnodename = $1 if ($nodename =~ /([-_a-zA-Z0-9]*)\./);
 				if ($image_os_type =~ /windows/i) {
 					undef @SSHCMD;
-					@SSHCMD = run_ssh_command($shortnodename, $identity, "netstat -an", "root", 22, 1);
+					@SSHCMD = run_ssh_command($shortnodename, $identity_keys, "netstat -an", "root", 22, 1);
 					foreach my $line (@{$SSHCMD[1]}) {
 						#check for rdp and ssh connections
 						# rdp:3389,ssh:22
@@ -1866,7 +1824,7 @@ sub check_connection {
 					# 2:simply check who ouput
 					my @lines;
 					undef @SSHCMD;
-					@SSHCMD = run_ssh_command($shortnodename, $identity, "netstat -an", "root", 22, 1);
+					@SSHCMD = run_ssh_command($shortnodename, $identity_keys, "netstat -an", "root", 22, 1);
 					foreach my $line (@{$SSHCMD[1]}) {
 						if ($line =~ /Connection refused|Permission denied/) {
 							chomp($line);
@@ -1894,7 +1852,7 @@ sub check_connection {
 					}    #foreach
 					     #who; too make sure we didn't miss it through netstat
 					undef @SSHCMD;
-					@SSHCMD = run_ssh_command($shortnodename, $identity, "who", "root");
+					@SSHCMD = run_ssh_command($shortnodename, $identity_keys, "who", "root");
 					foreach my $w (@{$SSHCMD[1]}) {
 						if ($w =~ /$user/) {
 							$break = 1;
@@ -1907,19 +1865,8 @@ sub check_connection {
 				} ## end elsif ($image_os_type =~ /linux/) [ if ($osname =~ /windows/)
 			} ## end if ($type =~ /blade|virtualmachine/)
 			elsif ($type eq "lab") {
-				my $identity;
-				if ($osname =~ /sun4x_/) {
-					$identity = $IDENTITY_solaris_lab;
-				}
-				elsif ($osname =~ /rhel/) {
-					$identity = $IDENTITY_linux_lab;
-				}
-				else {
-					#if all else fails
-					$identity = $IDENTITY_solaris_lab;
-				}
 				undef @SSHCMD;
-				@SSHCMD = run_ssh_command($nodename, $identity, "netstat -an", "vclstaff", 24, 1);
+				@SSHCMD = run_ssh_command($nodename, $identity_keys, "netstat -an", "vclstaff", 24, 1);
 				foreach my $line (@{$SSHCMD[1]}) {
 					chomp($line);
 					if ($line =~ /Connection refused|Permission denied/) {
@@ -2001,17 +1948,7 @@ sub isconnected {
 	notify($ERRORS{'OK'}, 0, "image_os_type not set")    if (!defined($image_os_type));
 	notify($ERRORS{'OK'}, 0, "ipaddress not set") if (!defined($ipaddress));
 
-	my $identity;
-
-	if ($image_os_type =~ /windows/i) {
-		$identity = $IDENTITY_wxp;
-	}
-	elsif ($image_os_type =~ /linux/i) {
-		$identity = $IDENTITY_bladerhel;
-	}
-	else {
-		$identity = $IDENTITY_bladerhel;
-	}
+	my $identity= $ENV{management_node_info}{keys};
 
 	my @netstat;
 	my @SSHCMD;
@@ -2071,18 +2008,6 @@ sub isconnected {
 		return 0;
 	} ## end if ($type =~ /blade|virtualmachine/)
 	elsif ($type eq "lab") {
-		my $identity;
-		if ($osname =~ /sun4x_/) {
-			$identity = $IDENTITY_solaris_lab;
-		}
-		elsif ($osname =~ /realmrhel/) {
-			$identity = $IDENTITY_linux_lab;
-		}
-		else {
-			#if all else fails
-			notify($ERRORS{'OK'}, 0, "osname $osname not found setting identity file to default");
-			$identity = $IDENTITY_solaris_lab;
-		}
 		undef @SSHCMD;
 		@SSHCMD = run_ssh_command($nodename, $identity, "netstat -an", "vclstaff", 24, 1);
 		foreach my $line (@{$SSHCMD[1]}) {
@@ -2692,7 +2617,7 @@ sub _getcurrentimage {
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'WARNING'}, 0, "node is not defined") if (!(defined($node)));
 	# TODO - loop through the available ssh keys to figure out which one works
-	my $identity = $IDENTITY_bladerhel;
+	my $identity = $ENV{management_node_info}{keys};
 	my @sshcmd = run_ssh_command($node, $identity, "cat currentimage.txt");
 	foreach my $s (@{$sshcmd[1]}) {
 		if ($s =~ /Warning: /) {
@@ -2770,17 +2695,7 @@ sub _sshd_status {
 		return "off";
 	}
 
-	my $identity;
-
-	if ($image_os_type =~ /windows/i) {
-		$identity = $IDENTITY_wxp;
-	}
-	elsif ($image_os_type =~ /linux/i) {
-		$identity = $IDENTITY_bladerhel;
-	}
-	else {
-		$identity = $IDENTITY_bladerhel;
-	}
+	my $identity = $ENV{management_node_info}{keys};
 
 	my @sshcmd = run_ssh_command($node, $identity, "uname -s", "root");
 	
@@ -2815,13 +2730,7 @@ sub _machine_os {
 		notify($ERRORS{'OK'}, 0, "ssh port not open cannot check $node OS");
 		return 0;
 	}
-	my $identity;
-	if (defined($imagename)) {
-		$identity = $IDENTITY_bladerhel if ($imagename =~ /^(rhel|rh3image|fc|rh|esx)/);
-	}
-	else {
-		$identity = $IDENTITY_wxp;
-	}
+	my $identity = $ENV{management_node_info}{keys};
 	my @sshcmd = run_ssh_command($node, $identity, "uname -s", "root");
 	foreach my $l (@{$sshcmd[1]}) {
 		if ($l =~ /CYGWIN_NT-5\.1/) {
@@ -2874,7 +2783,7 @@ sub _is_user_added {
 
 		if ($image_os_type =~ /linux/i) {
 			undef @SSHCMD;
-			@SSHCMD = run_ssh_command($node, $IDENTITY_bladerhel, "cat /etc/passwd", "root");
+			@SSHCMD = run_ssh_command($node, $ENV{management_node_info}{keys}, "cat /etc/passwd", "root");
 			foreach $l (@{$SSHCMD[1]}) {
 				return 1 if ($l =~ /$user/);
 			}
@@ -3108,29 +3017,20 @@ sub notify_via_wall {
 	else {
 		notify($ERRORS{'WARNING'}, 0, "could not open tmp file $!");
 	}
+	my $identity_keys = $ENV{management_node_info}{keys};
 	if ($type eq "blade") {
 		#this is only going to be rhel
-		if (run_scp_command("/tmp/wall.$hostname", "$hostname:/root/wall.txt", $IDENTITY_bladerhel)) {
+		if (run_scp_command("/tmp/wall.$hostname", "$hostname:/root/wall.txt", $identity_keys)) {
 			unlink "/tmp/wall.$hostname";
-			if (run_ssh_command($hostname, $IDENTITY_bladerhel, " cat /root/wall.txt \| wall; /bin/rm -v /root/wall.txt", "root")) {
+			if (run_ssh_command($hostname, $identity_keys, " cat /root/wall.txt \| wall; /bin/rm -v /root/wall.txt", "root")) {
 				notify($ERRORS{'OK'}, 0, "successfully sent wall notification to $hostname");
 				return 1;
 			}
 		}
 	} ## end if ($type eq "blade")
 	elsif ($type eq "lab") {
-		if ($OSname =~ /sun4x_/) {
-			$identity = $IDENTITY_solaris_lab;
-		}
-		elsif ($OSname =~ /rhel/) {
-			$identity = $IDENTITY_linux_lab;
-		}
-		else {
-			#all else fails
-			$identity = $IDENTITY_solaris_lab;
-		}
-
-		if (run_scp_command("/tmp/wall.$hostname", "vclstaff\@$hostname:/home/vclstaff/wall.txt", $identity, 24)) {
+		
+		if (run_scp_command("/tmp/wall.$hostname", "vclstaff\@$hostname:/home/vclstaff/wall.txt", $identity_keys, 24)) {
 			unlink "/tmp/wall.$hostname";
 		}
 		else {
@@ -3138,7 +3038,7 @@ sub notify_via_wall {
 		}
 
 		if ($OSname =~ /sun4x_/) {
-			if (run_ssh_command($hostname, $identity, "wall -a /home/vclstaff/wall.txt; /bin/rm -v /home/vclstaff/wall.txt", "vclstaff", "24")) {
+			if (run_ssh_command($hostname, $identity_keys, "wall -a /home/vclstaff/wall.txt; /bin/rm -v /home/vclstaff/wall.txt", "vclstaff", "24")) {
 				notify($ERRORS{'OK'}, 0, "successfully sent wall notification to $hostname");
 				return 1;
 			}
@@ -3147,7 +3047,7 @@ sub notify_via_wall {
 			}
 		}
 		elsif ($OSname =~ /rhel/) {
-			if (run_ssh_command($hostname, $identity, "cat /home/vclstaff/wall.txt \| wall ; /bin/rm -v /home/vclstaff/wall.txt", "vclstaff", "24")) {
+			if (run_ssh_command($hostname, $identity_keys, "cat /home/vclstaff/wall.txt \| wall ; /bin/rm -v /home/vclstaff/wall.txt", "vclstaff", "24")) {
 				notify($ERRORS{'OK'}, 0, "successfully sent wall notification to $hostname");
 				return 1;
 			}
@@ -3263,7 +3163,7 @@ sub notify_via_msg {
 
 	my $command = "msg $user /TIME:180 '$message'";
 
-	if (run_ssh_command($node, $IDENTITY_wxp, $command)) {
+	if (run_ssh_command($node, $ENV{management_node_info}{keys}, $command)) {
 		notify($ERRORS{'OK'}, 0, "successfully sent message to Windows user $user on $node");
 		return 1;
 	}
@@ -3467,6 +3367,7 @@ sub changelinuxpassword {
 
 	my @ssh;
 	my $l;
+	my $identity_keys = $ENV{management_node_info}{keys};
 	if ($account eq "root") {
 
 
@@ -3486,11 +3387,11 @@ sub changelinuxpassword {
 			if (open(TMP, ">$tmpfile")) {
 				print TMP "$account:$passwd:13061:0:99999:7:::\n";
 				close(TMP);
-				if (run_ssh_command($node, $IDENTITY_bladerhel, "cat /etc/shadow \|grep -v $account >> $tmpfile", "root")) {
+				if (run_ssh_command($node, $identity_keys, "cat /etc/shadow \|grep -v $account >> $tmpfile", "root")) {
 					notify($ERRORS{'DEBUG'}, 0, "collected /etc/shadow file from $node");
-					if (run_scp_command($tmpfile, "$node:/etc/shadow", $IDENTITY_bladerhel)) {
+					if (run_scp_command($tmpfile, "$node:/etc/shadow", $identity_keys)) {
 						notify($ERRORS{'DEBUG'}, 0, "copied updated /etc/shadow file to $node");
-						if (run_ssh_command($node, $IDENTITY_bladerhel, "chmod 600 /etc/shadow", "root")) {
+						if (run_ssh_command($node, $identity_keys, "chmod 600 /etc/shadow", "root")) {
 							notify($ERRORS{'DEBUG'}, 0, "updated permissions to 600 on /etc/shadow file on $node");
 							unlink $tmpfile;
 							return 1;
@@ -3504,7 +3405,7 @@ sub changelinuxpassword {
 					else {
 						notify($ERRORS{'WARNING'}, 0, "failed to copy contents of shadow file on $node ");
 					}
-				} ## end if (run_ssh_command($node, $IDENTITY_bladerhel...
+				} ## end if (run_ssh_command($node, $identity_keys...
 				else {
 					notify($ERRORS{'WARNING'}, 0, "failed to copy contents of shadow file on $node ");
 					unlink $tmpfile;
@@ -3520,7 +3421,7 @@ sub changelinuxpassword {
 	else {
 		#actual user
 		#push it through passwd cmd stdin
-		my @sshcmd = run_ssh_command($node, $IDENTITY_bladerhel, "echo $passwd \| /usr/bin/passwd -f $account --stdin", "root");
+		my @sshcmd = run_ssh_command($node, $identity_keys, "echo $passwd \| /usr/bin/passwd -f $account --stdin", "root");
 		foreach my $l (@{$sshcmd[1]}) {
 			if ($l =~ /authentication tokens updated successfully/) {
 				notify($ERRORS{'OK'}, 0, "successfully changed local password account $account");
@@ -3677,15 +3578,8 @@ sub collectsshkeys {
 	}
 
 	#what identity do we use
-	my $key;
-	if ($type =~ /lab/) {
-		if ($osname =~ /rhel/) {
-			$key = $IDENTITY_linux_lab;
-		}
-		else {
-			$key = $IDENTITY_solaris_lab;
-		}
-	}
+	my $key = $ENV{management_node_info}{keys};
+
 	#send fetch keys flag to node
 	my @sshcmd = run_ssh_command($ipaddress, $key, "echo fetch > /home/vclstaff/clientdata; echo 1 > /home/vclstaff/flag", "vclstaff", "24");
 	foreach my $l (@{$sshcmd[1]}) {
@@ -3943,16 +3837,8 @@ sub check_uptime {
 	notify($ERRORS{'WARNING'}, $log, "type is not defined")      if (!(defined($type)));
 
 	if ($type eq "lab") {
-		my $identity;
-		if ($OSname =~ /sun4x/) {
-			$identity = $IDENTITY_solaris_lab;
-		}
-		elsif ($OSname =~ /rhel/) {
-			$identity = $IDENTITY_linux_lab;
-		}
-		else {
-			return (0, "failure : OSname not match");
-		}
+		my $identity = $ENV{management_node_info}{keys};
+
 		my @sshcmd = run_ssh_command($node, $identity, "uptime", "vclstaff", "24");
 		my $l;
 		foreach $l (@{$sshcmd[1]}) {
@@ -5047,35 +4933,7 @@ sub get_request_info {
 		my $imagerevision_imagename = $request_info{reservation}{$reservation_id}{imagerevision}{imagename};
 		my $image_os_type = $request_info{reservation}{$reservation_id}{image}{OS}{type};
 
-		my $identity_file_path;
-		if($computer_type =~ /blade|virtualmachine/){
-			if($image_os_type =~ /windows/i){
-				$identity_file_path = $IDENTITY_wxp;
-			}
-			elsif ($image_os_type =~ /linux/i){
-				$identity_file_path = $IDENTITY_bladerhel;
-			}
-			else{
-				notify($ERRORS{'WARNING'}, 0, "computer_type=$computer_type is of an unknown or unusual image_os_type=$image_os_type type=$computer_type");
-			}
-		}
-		elsif($computer_type eq "lab"){
-			if ($imagerevision_imagename =~ /realmrh|i386_linux26/) {
-				$identity_file_path = $IDENTITY_linux_lab;
-			}
-			elsif ($imagerevision_imagename =~ /sun/) {
-				$identity_file_path = $IDENTITY_solaris_lab;
-			}
-			elsif ($imagerevision_imagename =~ /^mpls/) {
-				notify($ERRORS{'OK'}, 0, "MPLS reservation: $request_id:$reservation_id");
-			}
-			else {
-				notify($ERRORS{'WARNING'}, 0, "unsupported image type: '$imagerevision_imagename'");
-			}
-		}
-		else{
-			notify($ERRORS{'WARNING'}, 0, "computer=$computer_id is of an unknown or unusual type=$computer_type");
-		}
+		my $identity_file_path = $ENV{management_node_info}{keys};
 
 		$request_info{reservation}{$reservation_id}{image}{IDENTITY} = $identity_file_path;
 
@@ -9742,17 +9600,7 @@ sub disablesshd {
 	}
 	my @lines;
 	my $l;
-	my $identity;
-	if ($osname =~ /sun4x_/) {
-		$identity = $IDENTITY_solaris_lab;
-	}
-	elsif ($osname =~ /rhel/) {
-		$identity = $IDENTITY_linux_lab;
-	}
-	else {
-		#if all else fails
-		$identity = $IDENTITY_solaris_lab;
-	}
+	my $identity = $ENV{management_node_info}{keys};
 	# create clientdata file
 	my $clientdata = "/tmp/clientdata.$hostname";
 	if (open(CLIENTDATA, ">$clientdata")) {