vcl-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fapee...@apache.org
Subject svn commit: r750034 - in /incubator/vcl/trunk/managementnode/lib/VCL: Module/OS/Windows.pm Module/Provisioning/esx.pm Module/Provisioning/vmware.pm Module/Provisioning/xCAT.pm inuse.pm new.pm reclaim.pm reserved.pm utils.pm
Date Wed, 04 Mar 2009 15:01:36 GMT
Author: fapeeler
Date: Wed Mar  4 15:01:35 2009
New Revision: 750034

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

Generic support for linux distros


Removed the dependent regular expression and replaced with
image_os_type. With this change several routines required the additional
variable to tell what the image OS type was.

routines from utils.pm touched:

setstaticaddress
getdynamicaddress
check_connection
isconnected
_sshd_status
_is_user_added
add_user
add_users_by_group
del_user


Clean-up - removed utils.pm doesimageexist from utils.pm, this routine
was previously moved to the provisioning modules. 


Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm
    incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT.pm
    incubator/vcl/trunk/managementnode/lib/VCL/inuse.pm
    incubator/vcl/trunk/managementnode/lib/VCL/new.pm
    incubator/vcl/trunk/managementnode/lib/VCL/reclaim.pm
    incubator/vcl/trunk/managementnode/lib/VCL/reserved.pm
    incubator/vcl/trunk/managementnode/lib/VCL/utils.pm

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm Wed Mar  4 15:01:35 2009
@@ -244,7 +244,7 @@
 
 
 	# Check for user account and clean out if listed
-	if (_is_user_added($computer_node_name, $user_unityid, $computer_type, $image_os_name)) {
+	if (_is_user_added($computer_node_name, $user_unityid, $computer_type, $image_os_name,$image_os_type)) {
 		# Make sure user is logged off
 		my @QA = run_ssh_command($computer_node_name, $IDENTITY_wxp, "cmd /c qwinsta.exe", "root");
 		foreach my $r (@{$QA[1]}) {

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=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/esx.pm Wed Mar  4 15:01:35 2009
@@ -147,6 +147,7 @@
 	my $vmclient_computerid = $self->data->get_computer_id;
 	my $vmclient_imageminram      = $self->data->get_image_minram;
 	my $image_os_name  = $self->data->get_image_os_name;
+	my $image_os_type  = $self->data->get_image_os_type;
 	my $image_identity = $self->data->get_image_identity;
 
 	my $virtualswitch0    = $self->data->get_vmhost_profile_virtualswitch0;
@@ -426,7 +427,7 @@
 		if ($IPCONFIGURATION eq "dynamicDHCP") {
 			insertloadlog($reservation_id, $vmclient_computerid, "dynamicDHCPaddress", "collecting dynamic IP address for node");
 			notify($ERRORS{'DEBUG'}, 0, "Attempting to query vmclient for its public IP...");
-			my $assignedIPaddress = getdynamicaddress($computer_shortname, $vmclient_OSname);
+			my $assignedIPaddress = getdynamicaddress($computer_shortname, $vmclient_OSname,$image_os_type);
 			if ($assignedIPaddress) {
 				#update computer table
 				notify($ERRORS{'DEBUG'}, 0, " Got dynamic address from vmclient, attempting to update database");

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=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/vmware.pm Wed Mar  4 15:01:35 2009
@@ -190,7 +190,7 @@
 	my ($hostnode, $identity);
 	if ($host_type eq "blade") {
 		$hostnode = $1 if ($vmhost_hostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
-		$identity = $IDENTITY_bladerhel if ($vmhost_imagename =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]*)/);
+		$identity = $IDENTITY_bladerhel;
 
 		# assign2project is only for blades - and not all blades
 		#if (VCL::Module::Provisioning::xCAT::_assign2project($hostnode, $project)) {
@@ -906,7 +906,7 @@
 							$sloop = $sloop - 5;
 						}
 
-						my $sshd_status = _sshd_status($computer_shortname, $requestedimagename);
+						my $sshd_status = _sshd_status($computer_shortname, $requestedimagename,$image_os_type);
 						if ($sshd_status eq "on") {
 							notify($ERRORS{'OK'}, 0, "$computer_shortname now has active sshd running, maybe we missed the READY flag setting STAGE5 flag");
 							$s5 = 1;
@@ -959,7 +959,7 @@
 	$sshd_attempts++;
 	my $sshd_status = "off";
 	while (!$sshdstatus) {
-		my $sshd_status = _sshd_status($computer_shortname, $requestedimagename);
+		my $sshd_status = _sshd_status($computer_shortname, $requestedimagename,$image_os_type);
 		if ($sshd_status eq "on") {
 			$sshdstatus = 1;
 			notify($ERRORS{'OK'}, 0, "$computer_shortname now has active sshd running, ok to proceed to sync ssh keys");
@@ -1071,7 +1071,7 @@
 		#not default setting
 		if ($IPCONFIGURATION eq "dynamicDHCP") {
 			insertloadlog($reservation_id, $vmclient_computerid, "dynamicDHCPaddress", "collecting dynamic IP address for node");
-			my $assignedIPaddress = getdynamicaddress($computer_shortname, $vmclient_OSname);
+			my $assignedIPaddress = getdynamicaddress($computer_shortname, $vmclient_OSname,$image_os_type);
 			if ($assignedIPaddress) {
 				#update computer table
 				if (update_computer_address($vmclient_computerid, $assignedIPaddress)) {
@@ -1090,7 +1090,7 @@
 		} ## end if ($IPCONFIGURATION eq "dynamicDHCP")
 		elsif ($IPCONFIGURATION eq "static") {
 			insertloadlog($reservation_id, $vmclient_computerid, "staticIPaddress", "setting static IP address for node");
-			if (setstaticaddress($computer_shortname, $vmclient_OSname, $vmclient_publicIPaddress)) {
+			if (setstaticaddress($computer_shortname, $vmclient_OSname, $vmclient_publicIPaddress,$image_os_type)) {
 				# good set static address
 			}
 		}
@@ -1159,7 +1159,7 @@
 	my ($hostIdentity, $hostnodename);
 	if ($host_type eq "blade") {
 		$hostnodename = $1 if ($vmhost_hostname =~ /([-_a-zA-Z0-9]*)(\.?)/);
-		$hostIdentity = $IDENTITY_bladerhel if ($vmhost_imagename =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]*)/);
+		$hostIdentity = $IDENTITY_bladerhel;
 	}
 	else {
 		#using FQHN
@@ -1284,7 +1284,7 @@
 				if (_pingnode($computer_nodename)) {
 					#it pingable check if sshd is open
 					notify($ERRORS{'OK'}, 0, "$computer_nodename is pingable, checking sshd port");
-					my $sshd = _sshd_status($computer_nodename, $image_name);
+					my $sshd = _sshd_status($computer_nodename, $image_name,$image_os_type);
 					if ($sshd =~ /on/) {
 						$rebooted = 0;
 						notify($ERRORS{'OK'}, 0, "$computer_nodename sshd is open");
@@ -1805,7 +1805,7 @@
 		else {
 			$hostnode = $1 if ($vmhost_shortname =~ /([-_a-zA-Z0-9]*)(\.?)/);
 		}
-		$identity = $IDENTITY_bladerhel if ($vmhost_imagename =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]*)/);
+		$identity = $IDENTITY_bladerhel;
 	} ## end if ($vmhost_type eq "blade")
 	else {
 		#using FQHN
@@ -2055,6 +2055,7 @@
 	my $vmhost_hostname    = $self->data->get_vmhost_hostname;
 	my $vmhost_imagename   = $self->data->get_vmhost_image_name;
 	my $vmclient_shortname = $self->data->get_computer_short_name;
+	my $image_os_type		  = $self->data->get_image_os_type;
 	my $request_forimaging              = $self->data->get_request_forimaging();
 
 	my ($hostnode, $identity);
@@ -2072,7 +2073,7 @@
 
 	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)/);
+		$identity = $IDENTITY_bladerhel;    
 	}
 	else {
 		#using FQHN
@@ -2104,7 +2105,7 @@
 
 
 	#can I ssh into it
-	my $sshd = _sshd_status($vmclient_shortname, $requestedimagename);
+	my $sshd = _sshd_status($vmclient_shortname, $requestedimagename,$image_os_type);
 
 
 	#is it running the requested image

Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/xCAT.pm Wed Mar  4 15:01:35 2009
@@ -153,6 +153,7 @@
 	my $reservation_id       = $self->data->get_reservation_id();
 	my $image_name           = $self->data->get_image_name();
 	my $image_os_name        = $self->data->get_image_os_name();
+	my $image_os_type        = $self->data->get_image_os_type();
 	my $image_project        = $self->data->get_image_project();
 	my $image_reload_time    = $self->data->get_image_reload_time();
 	my $imagemeta_postoption = $self->data->get_imagemeta_postoption();
@@ -438,7 +439,7 @@
 						}
 					}
 					if (!$s4) {
-						if ($_ =~ /Serving \/tftpboot\/xcat\/(rhfc|linux_image|image|rhas.)\/x86\/install.gz to $privateIP:/) {
+						if ($_ =~ /Serving \/tftpboot\/xcat\/([.-_a-zA-Z0-9]*)\/x86\/install.gz to $privateIP:/) {
 							$s4 = 1;
 							chomp($_);
 							notify($ERRORS{'OK'}, 0, "$computer_node_name STAGE 4 set $_");
@@ -458,7 +459,7 @@
 						}
 
 						#in case we miss the above statement
-						if ($image_os_name =~ /^(rhel|rhfc|fc|esx)/) {
+						if ($image_os_type =~ /linux/i) {
 							if ($_ =~ /xcat: xcatd: $computer_node_name installing/) {
 								$s5 = 1;
 								chomp($_);
@@ -555,7 +556,7 @@
 
 					#is it even near completion only checking rhel installs
 					#not really useful for linux_images
-					if ($image_os_name =~ /^(rhel|rhfc|fc|esx)/) {
+					if ($image_os_type =~ /linux/i) {
 						if (!$gettingclose) {
 							if ($_ =~ /rpc.mountd: authenticated mount request from $computer_node_name:(\d+) for \/install\/post/) {
 								$gettingclose = 1;
@@ -572,7 +573,7 @@
 								}
 							}
 						} ## end else [ if (!$gettingclose)
-					} ## end if ($image_os_name =~ /^(rhel|rhfc|fc|esx)/)
+					} ## end if ($image_os_type
 				} ## end if (!$s1)
 			}    #while
 			if ($s1) {
@@ -644,13 +645,12 @@
 			$bootstatus = 1;
 			notify($ERRORS{'OK'}, 0, "$computer_node_name has been reinstalled with $image_name");
 			notify($ERRORS{'OK'}, 0, "xcat has set the boot flag");
-			if ($image_os_name =~ /win|wxp|2003/) {
+			if ($image_os_type =~ /windows/i) {
 				notify($ERRORS{'OK'}, 0, "waiting 3 minutes to allow OS to reboot and initialize machine");
 				sleep 180;
 			}
 
-			#elsif($osname =~ /^(rhel|rh3image|fc|rhfc|rh4image)/){
-			elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/) {
+			elsif ($image_os_type =~ /linux/i) {
 				notify($ERRORS{'OK'}, 0, "waiting 65 sec to allow OS to reboot and initialize machine");
 				sleep 65;
 			}
@@ -672,7 +672,7 @@
 						if ($_ =~ /READY|ready|Starting firstboot:  succeeded/) {
 							$ready = 1 if ($_ =~ /$computer_node_name/);
 						}
-						if ($image_os_name =~ /^(rh|fc|esx)/) {
+						if ($image_os_type =~ /linux/i) {
 							if ($_ =~ /$computer_node_name|$computer_node_name kernel/) {
 								notify($ERRORS{'OK'}, 0, "$computer_node_name booting up");
 								sleep 5;
@@ -692,7 +692,7 @@
 					#if ($readycount > 2) {
 
 						#check ssh status just in case we missed the flag
-						my $sshd = _sshd_status($computer_node_name, $image_name);
+						my $sshd = _sshd_status($computer_node_name, $image_name,$image_os_type);
 						if ($sshd eq "on") {
 							$ready = 1;
 							notify($ERRORS{'OK'}, 0, "we may have missed start flag going next stage");
@@ -741,7 +741,7 @@
 	$sshd_start_time = time() if !$sshd_start_time;
 
 	while (!$sshdstatus) {
-		my $sshd_status = _sshd_status($computer_node_name, $image_name);
+		my $sshd_status = _sshd_status($computer_node_name, $image_name,$image_os_type);
 		if ($sshd_status eq "on") {
 
 			# Set the sshd end time to now to capture how long it took sshd to become active
@@ -852,7 +852,7 @@
 
 		while (!$keysync) {
 			$keysynccheck++;
-			my $sshd = _sshd_status($computer_node_name, $image_name);
+			my $sshd = _sshd_status($computer_node_name, $image_name,$image_os_type);
 			if ($sshd =~ /on/) {
 				$keysync = 1;
 				notify($ERRORS{'OK'}, 0, "keys synced");
@@ -886,7 +886,7 @@
 
 		#not default setting
 		if ($IPCONFIGURATION eq "dynamicDHCP") {
-			my $assignedIPaddress = getdynamicaddress($computer_node_name, $image_os_name);
+			my $assignedIPaddress = getdynamicaddress($computer_node_name, $image_os_name,$image_os_type);
 			if ($assignedIPaddress) {
 
 				#update computer table
@@ -909,7 +909,7 @@
 		elsif ($IPCONFIGURATION eq "static") {
 			insertloadlog($reservation_id, $computer_id, "info", "setting staticIPaddress");
 
-			if (setstaticaddress($computer_node_name, $image_os_name, $computer_ip_address)) {
+			if (setstaticaddress($computer_node_name, $image_os_name, $computer_ip_address,$image_os_type)) {
 				notify($ERRORS{'DEBUG'}, 0, "set static address on $computer_ip_address $computer_node_name ");
 				insertloadlog($reservation_id, $computer_id, "staticIPaddress", "SUCCESS set static IP address on public interface");
 			}
@@ -997,7 +997,7 @@
 
 					#it pingable check if sshd is open
 					notify($ERRORS{'OK'}, 0, "$computer_node_name is pingable, checking sshd port");
-					my $sshd = _sshd_status($computer_node_name, $image_name);
+					my $sshd = _sshd_status($computer_node_name, $image_name,$image_os_type);
 					if ($sshd =~ /on/) {
 						$rebooted = 0;
 						notify($ERRORS{'OK'}, 0, "$computer_node_name sshd is open");
@@ -1077,7 +1077,7 @@
 			} ## end if (open(NETSH, "/usr/bin/ssh -x -i $IDENTITY_wxp $computer_node_name \"netsh interface ip set address name=\\\"$privateadapter\\\" source=static addr=$privateIP mask=$subnetmask\" & 2>&1 |"...
 
 			#make sure it came back
-			if (_sshd_status($computer_node_name, $image_name)) {
+			if (_sshd_status($computer_node_name, $image_name,$image_os_type)) {
 				notify($ERRORS{'OK'}, 0, "successful $computer_node_name is accessible after static assignment");
 				insertloadlog($reservation_id, $computer_id, "info", "SUCCESS network gateway modification successful");
 			}
@@ -1107,7 +1107,7 @@
 	} ## end if ($image_os_name =~ /winxp|wxp|win2003/)
 
 	# Linux post-load tasks
-	elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/) {
+	elsif ($image_os_type =~ /linux/i) {
 
 		#linux specfic routines
 		#FIXME move to generic post options on per image basis
@@ -1155,7 +1155,7 @@
 
 		#if an image, clear wtmp and krb token files
 		# FIXME - move to createimage
-		if ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/) {
+		if ($image_os_type =~ /linux/i) {
 			my @cleartmp = run_ssh_command($computer_node_name, $IDENTITY_bladerhel, "/usr/sbin/tmpwatch -f 0 /tmp; /bin/cp /dev/null /var/log/wtmp", "root");
 			foreach my $l (@{$cleartmp[1]}) {
 				notify($ERRORS{'DEBUG'}, 0, "output from cleartmp post load $computer_node_name $l");
@@ -1196,7 +1196,7 @@
 		} ## end if (open(SSHDCFG, "/tmp/$computer_node_name.sshd"...
 
 
-	} ## end elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/) [ if ($image_os_name =~ /winxp|wxp|win2003/)
+	} ## end elsif ($image_os_type =~ 
 
 	return 1;
 } ## end sub load
@@ -1973,11 +1973,13 @@
 	my $computer_ip_address     = 0;
 	my $image_os_name           = 0;
 	my $image_name              = 0;
+	my $image_os_type				 = 0;
 
 	# Check if subroutine was called as a class method
 	if (ref($self) !~ /xcat/i) {
 		#$cidhash->{hostname}, $cidhash->{OSname}, $cidhash->{MNos}, $cidhash->{IPaddress}, $LOG
 		$computer_node_name = $self;
+		$image_os_type = shift;
 
 		$log                 = shift;
 		$log                 = 0 if !$log;
@@ -1994,6 +1996,7 @@
 		$computer_host_name  = $self->data->get_computer_host_name();
 		$computer_short_name = $self->data->get_computer_short_name();
 		$image_name          = $self->data->get_image_name();
+		$image_os_type       = $self->data->get_image_os_type();
 		$log                 = 0;
 	} ## end else [ if (ref($self) !~ /xcat/i)
 
@@ -2086,7 +2089,7 @@
 
 	# Check the sshd status
 	notify($ERRORS{'DEBUG'}, $log, "checking if $computer_short_name sshd service is accessible");
-	my $sshd_status = _sshd_status($computer_short_name, $status{nodetype}, $log);
+	my $sshd_status = _sshd_status($computer_short_name, $status{nodetype}, $image_os_type,$log);
 
 	# If sshd is accessible, perform sshd-dependent checks
 	if ($sshd_status =~ /on/) {

Modified: incubator/vcl/trunk/managementnode/lib/VCL/inuse.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/inuse.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/inuse.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/inuse.pm Wed Mar  4 15:01:35 2009
@@ -266,7 +266,7 @@
 		notify($ERRORS{'OK'}, 0, "end time not yet reached, polling machine for user connection");
 
 		# Check the user connection, this will loop until user connects or time limit is reached
-		my $check_connection = check_connection($computer_nodename, $computer_ipaddress, $computer_type, $reservation_remoteip, $connect_timeout_limit, $image_os_name, 0, $request_id, $user_unityid);
+		my $check_connection = check_connection($computer_nodename, $computer_ipaddress, $computer_type, $reservation_remoteip, $connect_timeout_limit, $image_os_name, 0, $request_id, $user_unityid,$image_os_type);
 
 		#TESTING
 		#$check_connection = 'timeout';
@@ -419,7 +419,7 @@
 			# Perform some actions at 5 minutes until end of request
 			if ($disconnect_time == 5) {
 				# Check for connection
-				if (isconnected($computer_hostname, $computer_type, $reservation_remoteip, $image_os_name, $computer_ipaddress)) {
+				if (isconnected($computer_hostname, $computer_type, $reservation_remoteip, $image_os_name, $computer_ipaddress,$image_os_type)) {
 					insertloadlog($reservation_id, $computer_id, "inuseend5", "notifying user of endtime");
 					$self->_notify_user_disconnect($disconnect_time);
 				}
@@ -651,11 +651,12 @@
 	my $user_unityid               = $request_data->{user}{unityid};
 	my $affiliation_sitewwwaddress = $request_data->{user}{affiliation}{sitewwwaddress};
 	my $affiliation_helpaddress    = $request_data->{user}{affiliation}{helpaddress};
-	my $image_prettyname           = $request_data->{reservation}{$reservation_id}{image}{prettyname};
-	my $image_os_name              = $request_data->{reservation}{$reservation_id}{image}{OS}{name};
+	my $image_prettyname           = $self->data->get_image_prettyname();
+	my $image_os_name              = $self->data->get_image_os_name();
 	my $computer_ipaddress         = $request_data->{reservation}{$reservation_id}{computer}{IPaddress};
-	my $computer_type              = $request_data->{reservation}{$reservation_id}{computer}{type};
-	my $computer_shortname         = $request_data->{reservation}{$reservation_id}{computer}{SHORTNAME};
+	my $computer_type              = $self->data->get_computer_type();
+	my $image_os_type					 = $self->data->get_image_os_type();
+	my $computer_shortname         = $self->data->get_computer_short_name();
 
 	my $disconnect_string;
 	if ($disconnect_time == 0) {
@@ -696,11 +697,11 @@
 
 	# Send message to machine
 	if ($computer_type =~ /blade|virtualmachine/) {
-		if ($image_os_name =~ /^(win|vmwarewin)/) {
+		if ($image_os_type =~ /windows/) {
 			# Notify via windows msg cmd
 			notify_via_msg($computer_shortname, $user_unityid, $short_message);
 		}
-		elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/) {
+		elsif ($image_os_type =~ /linux/){
 			# Notify via wall
 			notify_via_wall($computer_shortname, $user_unityid, $short_message, $image_os_name, $computer_type);
 		}

Modified: incubator/vcl/trunk/managementnode/lib/VCL/new.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/new.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/new.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/new.pm Wed Mar  4 15:01:35 2009
@@ -1022,7 +1022,7 @@
 		if ($IPCONFIGURATION ne "manualDHCP") {
 			#not default setting
 			if ($IPCONFIGURATION eq "dynamicDHCP") {
-				my $assignedIPaddress = getdynamicaddress($computer_short_name, $image_os_name);
+				my $assignedIPaddress = getdynamicaddress($computer_short_name, $image_os_name,$image_os_type);
 
 				if ($assignedIPaddress) {
 					#$IPaddressforlog = $assignedIPaddress;
@@ -1111,7 +1111,7 @@
 				insertloadlog($reservation_id, $computer_id, "addinguser", "adding user account $user_unityid");
 
 				# Add the request user to the computer
-				if (add_user($computer_short_name, $user_unityid, $user_uid, $reservation_password, $computer_host_name, $image_os_name, 0, 0, 0)) {
+				if (add_user($computer_short_name, $user_unityid, $user_uid, $reservation_password, $computer_host_name, $image_os_name,$image_os_type, 0, 0, 0)) {
 					notify($ERRORS{'OK'}, 0, "user $user_unityid added to $computer_short_name");
 				}
 				else {
@@ -1131,7 +1131,7 @@
 
 					insertloadlog($reservation_id, $computer_id, "info", "multiple user accounts flagged adding additional users");
 
-					if (add_users_by_group($computer_short_name, $reservation_password, $computer_host_name, $image_os_name, $imagemeta_usergroupmembers)) {
+					if (add_users_by_group($computer_short_name, $reservation_password, $computer_host_name, $image_os_name,$image_os_type, $imagemeta_usergroupmembers)) {
 						notify($ERRORS{'OK'}, 0, "successfully added multiple users");
 					}
 					else {

Modified: incubator/vcl/trunk/managementnode/lib/VCL/reclaim.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/reclaim.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/reclaim.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/reclaim.pm Wed Mar  4 15:01:35 2009
@@ -93,20 +93,21 @@
 	# Store hash variables into local variables
 	my $request_data = $self->data->get_request_data;
 
-	my $request_id              = $request_data->{id};
-	my $request_state_name      = $request_data->{state}{name};
-	my $request_laststate_name  = $request_data->{laststate}{name};
-	my $reservation_id          = $request_data->{RESERVATIONID};
-	my $reservation_remoteip    = $request_data->{reservation}{$reservation_id}{remoteIP};
-	my $computer_type           = $request_data->{reservation}{$reservation_id}{computer}{type};
-	my $computer_id             = $request_data->{reservation}{$reservation_id}{computer}{id};
-	my $computer_shortname      = $request_data->{reservation}{$reservation_id}{computer}{SHORTNAME};
-	my $computer_hostname       = $request_data->{reservation}{$reservation_id}{computer}{hostname};
-	my $computer_ipaddress      = $request_data->{reservation}{$reservation_id}{computer}{IPaddress};
-	my $computer_state_name     = $request_data->{reservation}{$reservation_id}{computer}{state}{name};
-	my $image_os_name           = $request_data->{reservation}{$reservation_id}{image}{OS}{name};
-	my $imagerevision_imagename = $request_data->{reservation}{$reservation_id}{imagerevision}{imagename};
-	my $user_unityid            = $request_data->{user}{unityid};
+	my $request_id              = $self->data->get_request_data();
+	my $request_state_name      = $self->data->get_request_state_name();
+	my $request_laststate_name  = $self->data->get_request_laststate_name();
+	my $reservation_id          = $self->data->get_reservation_id();
+	my $reservation_remoteip    = $self->data->get_reservation_remote_ip();
+	my $computer_type           = $self->data->get_computer_type();
+	my $computer_id             = $self->data->get_computer_id();
+	my $computer_shortname      = $self->data->get_computer_short_name();
+	my $computer_hostname       = $self->data->get_computer_host_name();
+	my $computer_ipaddress      = $self->data->get_computer_ip_address();
+	my $computer_state_name     = $self->data->get_computer_state_name();
+	my $image_os_name           = $self->data->get_image_os_name();
+	my $image_os_type                   = $self->data->get_image_os_type();
+	my $imagerevision_imagename = $self->data->get_image_name();
+	my $user_unityid            = $self->data->get_user_login_id();
 	my $computer_currentimage_name = $self->data->get_computer_currentimage_name();
 
 	# Assemble a consistent prefix for notify messages
@@ -213,7 +214,7 @@
 			# *** END MODULARIZED OS CODE ***
 	
 			# Check the image OS type and clean up computer accordingly
-			elsif ($image_os_name =~ /^(win|vmwarewin|vmwareesxwin)/) {
+			elsif ($image_os_type =~ /windows/) {
 				# Loaded Windows image needs to be cleaned up
 				notify($ERRORS{'OK'}, 0, "$notify_prefix attempting steps to clean up loaded $image_os_name image");
 
@@ -273,12 +274,12 @@
 				#}
 			} ## end if ($image_os_name =~ /^(win|vmwarewin|vmwareesxwin)/)
 
-			elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/) {
+			elsif ($image_os_type =~ /linux/){
 				# Loaded Linux image needs to be cleaned up
 				notify($ERRORS{'OK'}, 0, "$notify_prefix attempting steps to clean up loaded $image_os_name image");
 
 				# Make sure user is not connected
-				if (isconnected($computer_shortname, $computer_type, $reservation_remoteip, $image_os_name, $computer_ipaddress)) {
+				if (isconnected($computer_shortname, $computer_type, $reservation_remoteip, $image_os_name, $computer_ipaddress,$image_os_type)) {
 					notify($ERRORS{'WARNING'}, 0, "$notify_prefix user $user_unityid is connected to $computer_shortname, vm will be reloaded");
 
 					# Insert reload request data into the datbase
@@ -320,7 +321,7 @@
 					}
 					exit;
 				} ## end else [ if (del_user($computer_shortname, $user_unityid...
-			} ## end elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/) [ if ($image_os_name =~ /^(win|vmwarewin|vmwareesxwin)/)
+			} ## end elsif ($image_os_type =~ /linux/) [ if ($image_os_type =~ /windows/)
 
 			else {
 				# Unknown image type
@@ -340,7 +341,7 @@
 					switch_state($request_data, 'failed', 'failed', 'failed', '1');
 				}
 				exit;
-			} ## end else [ if ($image_os_name =~ /^(win|vmwarewin|vmwareesxwin)/) [elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/)
+			} ## end else [ if ($image_os_type =~ /windows/) [elsif ($image_os_type =~ /linux/)
 		} ## end if ($request_laststate_name =~ /reserved/)
 
 		else {

Modified: incubator/vcl/trunk/managementnode/lib/VCL/reserved.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/reserved.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/reserved.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/reserved.pm Wed Mar  4 15:01:35 2009
@@ -98,22 +98,23 @@
 	# Store hash variables into local variables
 	my $request_data = $self->data->get_request_data;
 
-	my $request_id           = $request_data->{id};
-	my $request_logid        = $request_data->{logid};
-	my $reservation_id       = $request_data->{RESERVATIONID};
+	my $request_id           = $self->data->get_request_id();
+	my $request_logid        = $self->data->get_request_log_id();
+	my $reservation_id       = $self->data->get_reservation_id();
 	my $reservation_password = $request_data->{reservation}{$reservation_id}{pw};
-	my $computer_id          = $request_data->{reservation}{$reservation_id}{computer}{id};
-	my $computer_hostname    = $request_data->{reservation}{$reservation_id}{computer}{hostname};
-	my $computer_short_name  = $request_data->{reservation}{$reservation_id}{computer}{SHORTNAME};
-	my $computer_type        = $request_data->{reservation}{$reservation_id}{computer}{type};
-	my $computer_ip_address  = $request_data->{reservation}{$reservation_id}{computer}{IPaddress};
-	my $image_os_name        = $request_data->{reservation}{$reservation_id}{image}{OS}{name};
-	my $request_forimaging   = $request_data->{forimaging};
-	my $image_name           = $request_data->{reservation}{$reservation_id}{imagerevision}{imagename};
-	my $user_uid             = $request_data->{user}{uid};
-	my $user_unityid         = $request_data->{user}{unityid};
-	my $user_standalone      = $request_data->{user}{STANDALONE};
-	my $imagemeta_checkuser  = $request_data->{reservation}{$reservation_id}{image}{imagemeta}{checkuser};
+	my $computer_id          = $self->data->get_computer_id();
+	my $computer_hostname    = $self->data->get_computer_host_name();
+	my $computer_short_name  = $self->data->get_computer_short_name();
+	my $computer_type        = $self->data->get_computer_type();
+	my $computer_ip_address  = $self->data->get_computer_ip_address();
+	my $image_os_name        = $self->data->get_image_os_name();
+	my $image_os_type        = $self->data->get_image_os_type();
+	my $request_forimaging   = $self->data->get_request_forimaging;
+	my $image_name           = $self->data->get_image_name();
+	my $user_uid             = $self->data->get_user_uid();
+	my $user_unityid         = $self->data->get_user_login_id();
+	my $user_standalone      = $self->data->get_user_standalone();
+	my $imagemeta_checkuser  = $self->data->get_imagemeta_checkuser();
 	my $reservation_count     = $self->data->get_reservation_count();
 	
 
@@ -259,7 +260,7 @@
 			}    # Close if OS name is win or vmware
 
 			# Check if linux image
-			elsif ($image_os_name =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/) {
+			elsif ($image_os_type =~  /linux/){
 				notify($ERRORS{'OK'}, 0, "Linux image detected: $image_os_name");
 
 				# adduser ; this adds user and restarts sshd
@@ -285,7 +286,7 @@
 				}    # Close imagemeta user group defined and member count is > 0
 
 				# Try to add the user account to the linux computer
-				if (add_user($computer_short_name, $user_unityid, $user_uid, 0, $computer_hostname, $image_os_name, $remote_ip, $grpflag, @group)) {
+				if (add_user($computer_short_name, $user_unityid, $user_uid, 0, $computer_hostname, $image_os_name, $image_os_type, $remote_ip, $grpflag, @group)) {
 					notify($ERRORS{'OK'}, 0, "user $user_unityid added to $computer_short_name");
 					insertloadlog($reservation_id, $computer_id, "info", "reserved: adding user and opening remote access port for $remote_ip");
 				}
@@ -418,11 +419,11 @@
 		# Check for "administrator" if this is an imaging request
 		if ($request_forimaging) {
 			notify($ERRORS{'OK'}, 0, "forimaging flag is set to 1, checking for connection by administrator");
-			$retval_conn = check_connection($nodename, $computer_ip_address, $computer_type, $remote_ip, $time_limit, $image_os_name, 0, $request_id, "administrator");
+			$retval_conn = check_connection($nodename, $computer_ip_address, $computer_type, $remote_ip, $time_limit, $image_os_name, 0, $request_id, "administrator",$image_os_type);
 		}
 		else {
 			notify($ERRORS{'OK'}, 0, "forimaging flag is set to 0, checking for connection by $user_unityid");
-			$retval_conn = check_connection($nodename, $computer_ip_address, $computer_type, $remote_ip, $time_limit, $image_os_name, 0, $request_id, $user_unityid);
+			$retval_conn = check_connection($nodename, $computer_ip_address, $computer_type, $remote_ip, $time_limit, $image_os_name, 0, $request_id, $user_unityid,$image_os_type);
 		}
 	} ## end else [ if (!$imagemeta_checkuser)
 
@@ -649,20 +650,17 @@
 	my $self = shift;
 	my ($package, $filename, $line, $sub) = caller(0);
 
-	# Store hash variables into local variables
-	my $request_data = $self->data->get_request_data;
-
-	my $request_id                 = $request_data->{id};
-	my $reservation_id             = $request_data->{RESERVATIONID};
-	my $user_preferredname         = $request_data->{user}{preferredname};
-	my $user_email                 = $request_data->{user}{email};
-	my $user_emailnotices          = $request_data->{user}{emailnotices};
-	my $user_im_name               = $request_data->{user}{IMtype}{name};
-	my $user_im_id                 = $request_data->{user}{IMid};
-	my $affiliation_sitewwwaddress = $request_data->{user}{affiliation}{sitewwwaddress};
-	my $affiliation_helpaddress    = $request_data->{user}{affiliation}{helpaddress};
-	my $image_prettyname           = $request_data->{reservation}{$reservation_id}{image}{prettyname};
-	my $computer_ip_address        = $request_data->{reservation}{$reservation_id}{computer}{IPaddress};
+	my $request_id                 = $self->data->get_request_id();
+	my $reservation_id             = $self->data->get_reservation_id();
+	my $user_preferredname         = $self->data->get_user_preferred_name();
+	my $user_email                 = $self->data->get_user_email();
+	my $user_emailnotices          = $self->data->get_user_emailnotices();
+	my $user_im_name               = $self->data->get_user_imtype_name();
+	my $user_im_id                 = $self->data->get_user_im_id();
+	my $affiliation_sitewwwaddress = $self->data->get_user_affiliation_sitewwwaddress();
+	my $affiliation_helpaddress    = $self->data->get_user_affiliation_helpaddress();
+	my $image_prettyname           = $self->data->get_image_prettyname();
+	my $computer_ip_address        = $self->data->get_computer_ip_address();
 
 	#my ($emailaddress,$firstname,$type,$ipaddress,$imagename,$url,$IMname,$IMid) = @_;
 	my $message = <<"EOF";

Modified: incubator/vcl/trunk/managementnode/lib/VCL/utils.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=750034&r1=750033&r2=750034&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/utils.pm Wed Mar  4 15:01:35 2009
@@ -107,7 +107,6 @@
   delete_computerloadlog_reservation
   delete_request
   disablesshd
-  doesimageexists
   enablesshd
   firewall_compare_update
   format_data
@@ -1297,7 +1296,7 @@
 =cut
 
 sub setstaticaddress {
-	my ($node, $osname, $IPaddress) = @_;
+	my ($node, $osname, $image_os_type, $IPaddress) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'OK'},       0, "nodename not set")  if (!defined($node));
 	notify($ERRORS{'OK'},       0, "osname not set")    if (!defined($osname));
@@ -1325,7 +1324,7 @@
 
 	my $identity;
 	my @sshcmd;
-	if ($osname =~ /^(rh|fc|esx)/) {
+	if ($image_os_type =~ /linux/i) {
 		$identity = $IDENTITY_bladerhel;
 		#create local tmp file
 		# down interface
@@ -1504,8 +1503,9 @@
 		else {
 			notify($ERRORS{'WARNING'}, 0, "pulling resolve.conf from $node failed output= @{ $sshcmd[1] }");
 		}
-	} ## end if ($osname =~ /^(rh|fc|esx)/)
-	elsif ($osname =~ /^(win|vmwarewin|vista)/) {
+	} ## end if 
+	#elsif ($osname =~ 
+	elsif ($image_os_type =~ /windows/i) {
 		$identity = $IDENTITY_wxp;
 		#scan adapter list to figure out which adapter is public
 		# run netsh command to set the public adapter to static
@@ -1600,7 +1600,7 @@
 			}
 		}
 
-	} ## end elsif ($osname =~ /^(win|vmwarewin|vista)/)  [ if ($osname =~ /^(rh|fc|esx)/)
+	} ## end elsif 
 	else {
 
 		# osname not defined
@@ -1619,10 +1619,11 @@
 =cut
 
 sub getdynamicaddress {
-	my ($node, $osname) = @_;
+	my ($node, $osname, $image_os_type) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'OK'}, 0, "nodename not set") if (!defined($node));
 	notify($ERRORS{'OK'}, 0, "osname not set")   if (!defined($osname));
+	notify($ERRORS{'OK'}, 0, "image_os_type not set")   if (!defined($image_os_type));
 
 	#collect private address -- read hosts file only useful if running
 	# xcat setup and private addresses are listsed in the local
@@ -1647,7 +1648,7 @@
 
 	my $identity;
 	my $dynaIPaddress = 0;
-	if ($osname =~ /vista|win|vmwarewin|vmwareesxwin/) {
+	if ($image_os_type =~ /windows/i) {
 		$identity = $IDENTITY_wxp;
 
 		@sshcmd = run_ssh_command($node, $identity, "ipconfig", "root");
@@ -1668,7 +1669,7 @@
 		}
 
 	} ## end if ($osname =~ /win|vmwarewin/)
-	elsif ($osname =~ /^(rh|fc)/) {
+	elsif ($image_os_type =~ /linux/) {
 		$identity = $IDENTITY_bladerhel;
 		undef @sshcmd;
 		@sshcmd = run_ssh_command($node, $identity, "/sbin/ifconfig \|grep inet", "root");
@@ -1801,7 +1802,7 @@
 =cut
 
 sub check_connection {
-	my ($nodename, $ipaddress, $type, $remoteIP, $time_limit, $osname, $dbh, $requestid, $user) = @_;
+	my ($nodename, $ipaddress, $type, $remoteIP, $time_limit, $osname, $dbh, $requestid, $user,$image_os_type) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'OK'}, 0, "nodename not set")   if (!defined($nodename));
 	notify($ERRORS{'OK'}, 0, "ipaddress not set")  if (!defined($ipaddress));
@@ -1812,6 +1813,7 @@
 	notify($ERRORS{'OK'}, 0, "dbh not set")        if (!defined($dbh));
 	notify($ERRORS{'OK'}, 0, "requestid not set")  if (!defined($requestid));
 	notify($ERRORS{'OK'}, 0, "user not set")       if (!defined($user));
+	notify($ERRORS{'OK'}, 0, "image_os_type not set")       if (!defined($image_os_type));
 
 	my $start_time    = time();
 	my $time_exceeded = 0;
@@ -1820,10 +1822,13 @@
 
 	$dbh = getnewdbh() if !$dbh;
 	my $identity;
-	if ($osname =~ /win|vmwarewin|vmwareesxwin|vista/) {
+	if ($image_os_type =~ /windows/i) {
 		$identity = $IDENTITY_wxp;
 	}
-	elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|centos)/) {
+	elsif ($image_os_type =~ /linux/i) {
+		$identity = $IDENTITY_bladerhel;
+	}
+	else {
 		$identity = $IDENTITY_bladerhel;
 	}
 	# Figure out number of loops for log messates
@@ -1868,7 +1873,7 @@
 			if ($type =~ /blade|virtualmachine/) {
 				my $shortnodename = $nodename;
 				$shortnodename = $1 if ($nodename =~ /([-_a-zA-Z0-9]*)\./);
-				if ($osname =~ /win|vmwarewin/) {
+				if ($image_os_type =~ /windows/i) {
 					undef @SSHCMD;
 					@SSHCMD = run_ssh_command($shortnodename, $identity, "netstat -an", "root", 22, 1);
 					foreach my $line (@{$SSHCMD[1]}) {
@@ -1902,8 +1907,7 @@
 					}    #foreach
 
 				} ## end if ($osname =~ /win|vmwarewin/)
-				        #elsif($osname =~ /^(rhel|rh3image|rh4image|rhfc|fc)/){
-				elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|centos)/) {
+				elsif ($image_os_type =~ /linux/i) {
 					#run two checks
 					# 1:check connected IP address
 					# 2:simply check who ouput
@@ -1947,7 +1951,7 @@
 						}
 					}
 
-				} ## end elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|centos)/) [ if ($osname =~ /win|vmwarewin/)
+				} ## end elsif ($image_os_type =~ /linux/) [ if ($osname =~ /windows/)
 			} ## end if ($type =~ /blade|virtualmachine/)
 			elsif ($type eq "lab") {
 				my $identity;
@@ -2035,14 +2039,27 @@
 =cut
 
 sub isconnected {
-	my ($nodename, $type, $remoteIP, $osname, $ipaddress) = @_;
+	my ($nodename, $type, $remoteIP, $osname, $ipaddress, $image_os_type) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'OK'}, 0, "nodename not set")  if (!defined($nodename));
 	notify($ERRORS{'OK'}, 0, "type not set")      if (!defined($type));
 	notify($ERRORS{'OK'}, 0, "remoteIP not set")  if (!defined($remoteIP));
 	notify($ERRORS{'OK'}, 0, "osname not set")    if (!defined($osname));
+	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 @netstat;
 	my @SSHCMD;
 	if ($type =~ /blade|virtualmachine/) {
@@ -2053,10 +2070,10 @@
 			$nodename = $shortname;
 		}
 
-		if ($osname =~ /win|vmwarewin/) {
+		if ($image_os_type =~ /windows/i) {
 			#notify($ERRORS{'OK'},0,"checking $nodename $ipaddress");
 			undef @SSHCMD;
-			@SSHCMD = run_ssh_command($shortname, $IDENTITY_wxp, "netstat -an", "root", 22, 1);
+			@SSHCMD = run_ssh_command($shortname, $identity, "netstat -an", "root", 22, 1);
 			foreach my $line (@{$SSHCMD[1]}) {
 				chomp($line);
 				if ($line =~ /Connection refused/) {
@@ -2074,9 +2091,9 @@
 				}
 			} ## end foreach my $line (@{$SSHCMD[1]})
 		} ## end if ($osname =~ /win|vmwarewin/)
-		elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/) {
+		elsif ($image_os_type =~ /linux/i) {
 			undef @SSHCMD;
-			@SSHCMD = run_ssh_command($nodename, $IDENTITY_bladerhel, "netstat -an", "root", 22, 1);
+			@SSHCMD = run_ssh_command($nodename, $identity, "netstat -an", "root", 22, 1);
 			foreach my $line (@{$SSHCMD[1]}) {
 				chomp($line);
 				if ($line =~ /Warning/) {
@@ -2097,7 +2114,7 @@
 					}
 				}
 			} ## end foreach my $line (@{$SSHCMD[1]})
-		} ## end elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9])/) [ if ($osname =~ /win|vmwarewin/)
+		} 
 		return 0;
 	} ## end if ($type =~ /blade|virtualmachine/)
 	elsif ($type eq "lab") {
@@ -2776,7 +2793,7 @@
 =cut
 
 sub _sshd_status {
-	my ($node, $imagename, $log) = @_;
+	my ($node, $imagename,$image_os_type, $log) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	$log = 0 if (!defined($log));
 	notify($ERRORS{'WARNING'}, $log, "node is not defined") if (!(defined($node)));
@@ -2785,11 +2802,18 @@
 		return "off";
 	}
 
-	my $identity = $IDENTITY_wxp;
-	if (defined($imagename)) {
-		$identity = $IDENTITY_bladerhel if ($imagename =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/);
+	my $identity;
+
+	if ($image_os_type =~ /windows/i) {
+		$identity = $IDENTITY_wxp;
 	}
-	#notify($ERRORS{'OK'},$log,"identity file $identity for imagename $imagename");
+	elsif ($image_os_type =~ /linux/i) {
+		$identity = $IDENTITY_bladerhel;
+	}
+	else {
+		$identity = $IDENTITY_bladerhel;
+	}
+
 	my @sshcmd = run_ssh_command($node, $identity, "uname -s", "root");
 	foreach my $l (@{$sshcmd[1]}) {
 		if ($l =~ /^Warning:/) {
@@ -2865,7 +2889,7 @@
 =cut
 
 sub _is_user_added {
-	my ($node,    $user,     $type, $os)  = @_;
+	my ($node,    $user,     $type, $os,$image_os_type)  = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'WARNING'}, 0, "node is not defined") if (!(defined($node)));
 	notify($ERRORS{'WARNING'}, 0, "user is not defined") if (!(defined($user)));
@@ -2878,7 +2902,7 @@
 
 	if ($type =~ /blade|virtualmachine/) {
 
-		if ($os =~ /^win|winxp|wxp|win2003|vmwarewin|vmwareesxwin/) {
+		if ($image_os_type =~ /windows/i) {
 			undef @SSHCMD;
 			@SSHCMD = run_ssh_command($node, $IDENTITY_wxp, "cscript.exe //Nologo list_users.vbs", "root");
 			foreach $l (@{$SSHCMD[1]}) {
@@ -2886,7 +2910,7 @@
 			}
 			return 0;
 		}
-		elsif ($os =~ /^(rhel|rh3image|rh|fc|esx)/) {
+		elsif ($image_os_type =~ /linux/i) {
 			undef @SSHCMD;
 			@SSHCMD = run_ssh_command($node, $IDENTITY_bladerhel, "cat /etc/passwd", "root");
 			foreach $l (@{$SSHCMD[1]}) {
@@ -2916,7 +2940,7 @@
 =cut
 
 sub add_user {
-	my ($node, $user, $uid, $passwd, $hostname, $os, $remoteip, $grpflag, @group) = @_;
+	my ($node, $user, $uid, $passwd, $hostname, $os, $image_os_type,$remoteip, $grpflag, @group) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'WARNING'}, 0, "node is not defined")     if (!(defined($node)));
 	notify($ERRORS{'WARNING'}, 0, "user is not defined")     if (!(defined($user)));
@@ -2933,17 +2957,22 @@
 		notify($ERRORS{'OK'}, 0, "group access memberlist= @group ");
 	}
 
-	# set common linux useradd string
-	my $useradd_string;
-	if (!(defined($uid))) {    # check for uid if not let OS set one
-		$useradd_string = "/usr/sbin/useradd -d /home/$user -m $user -g ncsu";
-	}
-	else {
-		$useradd_string = "/usr/sbin/useradd -u $uid -d /home/$user -m $user -g ncsu";
-	}
+	my $identity;
+
+	if ($image_os_type =~ /windows/i) {
+       $identity = $IDENTITY_wxp;
+   }
+   elsif ($image_os_type =~ /linux/i) {
+         $identity = $IDENTITY_bladerhel;
+   }
+   else {
+         $identity = $IDENTITY_bladerhel;
+   }
+
+	
 
-	if ($os =~ /win|vmwarewin/) {
-		my @sshcmd1 = run_ssh_command($node, $IDENTITY_wxp, "cscript.exe //Nologo add_user.vbs $user $passwd", "root");
+	if ($image_os_type =~ /windows/i) {
+		my @sshcmd1 = run_ssh_command($node, $identity, "cscript.exe //Nologo add_user.vbs $user $passwd", "root");
 		my $delete_user = 0;
 		foreach my $l (@{$sshcmd1[1]}) {
 			if ($l =~ /The filename, directory name, or volume label syntax is incorrect/) {
@@ -2960,17 +2989,25 @@
 			}
 
 			#rerun command
-			if (run_ssh_command($node, $IDENTITY_wxp, "cscript.exe //Nologo add_user.vbs $user $passwd", "root")) {
+			if (run_ssh_command($node, $identity, "cscript.exe //Nologo add_user.vbs $user $passwd", "root")) {
 				#good
 			}
 		} ## end if ($delete_user)
 
-		return _is_user_added($node, $user, "blade", $os);
+		return _is_user_added($node, $user, "blade", $os, $image_os_type);
 
 		notify($ERRORS{'OK'}, 0, "prep $node $user $passwd");
 
 	} ## end if ($os =~ /win|vmwarewin/)
-	elsif ($os =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx)/) {
+	elsif ($image_os_type =~ /linux/i) {
+		# set common linux useradd string
+		my $useradd_string;
+		if (!(defined($uid))) {    # check for uid if not let OS set one
+			$useradd_string = "/usr/sbin/useradd -d /home/$user -m $user -g ncsu";
+		}
+		else {
+			$useradd_string = "/usr/sbin/useradd -u $uid -d /home/$user -m $user -g ncsu";
+		}
 
 		# two methods: single user or group of users
 		if ($grpflag) {
@@ -2981,7 +3018,7 @@
 				#$u in form of  unity:uid
 				my ($user_unityid, $uid) = split(":", $u);
 				my $cmd = "/usr/sbin/useradd -u $uid -d /home/$user_unityid -m $user_unityid -g ncsu";
-				if (run_ssh_command($node, $IDENTITY_bladerhel, $cmd, "root")) {
+				if (run_ssh_command($node, $identity, $cmd, "root")) {
 					notify($ERRORS{'OK'}, 0, "added user $user_unityid to $node");
 				}
 				else {
@@ -2995,10 +3032,10 @@
 			# modify external_sshd config
 			my $cmdstring = "echo \"$allowuserstring\" >> /etc/ssh/external_sshd_config";
 			my @sshcmd;
-			if (run_ssh_command($node, $IDENTITY_bladerhel, $cmdstring, "root")) {
+			if (run_ssh_command($node, $identity, $cmdstring, "root")) {
 				notify($ERRORS{'OK'}, 0, "adding user string to sshd conf $allowuserstring");
 				undef @sshcmd;
-				@sshcmd = run_ssh_command($node, $IDENTITY_bladerhel, "/etc/init.d/ext_sshd restart", "root");
+				@sshcmd = run_ssh_command($node, $identity, "/etc/init.d/ext_sshd restart", "root");
 				foreach my $l (@{$sshcmd[1]}) {
 					if ($l =~ /Stopping ext_sshd:/i) {
 						#notify($ERRORS{'OK'},0,"stopping sshd on $node ");
@@ -3018,7 +3055,7 @@
 		} ## end if ($grpflag)
 		else {
 			#single user proceed
-			my @sshcmd = run_ssh_command($node, $IDENTITY_bladerhel, $useradd_string, "root");
+			my @sshcmd = run_ssh_command($node, $identity, $useradd_string, "root");
 			foreach my $l (@{$sshcmd[1]}) {
 				if ($l =~ /user $user exists/) {
 					notify($ERRORS{'OK'}, 0, "detected user already has account, deleting");
@@ -3026,17 +3063,17 @@
 					if (del_user($node, $user, "blade", $os)) {
 						notify($ERRORS{'OK'}, 0, "$user deleted");
 					}
-					if (run_ssh_command($node, $IDENTITY_bladerhel, $useradd_string, "root")) {
+					if (run_ssh_command($node, $identity, $useradd_string, "root")) {
 						notify($ERRORS{'OK'}, 0, "user $user added");
 					}
 				} ## end if ($l =~ /user $user exists/)
 
 			} ## end foreach my $l (@{$sshcmd[1]})
-			if (_is_user_added($node, $user, "blade", $os)) {
+			if (_is_user_added($node, $user, "blade", $os, $image_os_type)) {
 				notify($ERRORS{'OK'}, 0, "added user account $user to $node");
 				undef @sshcmd;
 				my $cmd = "echo \"AllowUsers $user\" >> /etc/ssh/external_sshd_config";
-				if (run_ssh_command($node, $IDENTITY_bladerhel, $cmd, "root")) {
+				if (run_ssh_command($node, $identity, $cmd, "root")) {
 					notify($ERRORS{'DEBUG'}, 0, "added AllowUsers $user to external_sshd_config");
 				}
 				else {
@@ -3044,7 +3081,7 @@
 					return 0;
 				}
 				undef @sshcmd;
-				@sshcmd = run_ssh_command($node, $IDENTITY_bladerhel, "/etc/init.d/ext_sshd restart", "root");
+				@sshcmd = run_ssh_command($node, $identity, "/etc/init.d/ext_sshd restart", "root");
 
 				foreach my $l (@{$sshcmd[1]}) {
 					if ($l =~ /Stopping ext_sshd:/i) {
@@ -3080,7 +3117,7 @@
 =cut
 
 sub add_users_by_group {
-	my ($computer_short_name, $passwd, $computer_hostname, $OSname, %usermembers) = @_;
+	my ($computer_short_name, $passwd, $computer_hostname, $OSname,$image_os_type, %usermembers) = @_;
 	my ($package, $filename, $line, $sub) = caller(0);
 	notify($ERRORS{'WARNING'}, 0, "computer_short_name is not defined") if (!(defined($computer_short_name)));
 	notify($ERRORS{'WARNING'}, 0, "pw is not defined")                  if (!(defined($passwd)));
@@ -3093,7 +3130,8 @@
 	}
 
 	foreach my $user (keys %usermembers) {
-		if ($OSname =~ /win|vmwarewin/) {
+		#if ($OSname =~ /win|vmwarewin/) {
+		if ($image_os_type =~ /windows/i) {
 			my $cmd = "cscript.exe //Nologo add_user.vbs $usermembers{$user}{username} $passwd";
 			my @cmdout = run_ssh_command($computer_short_name, $IDENTITY_wxp, $cmd, "root");
 			foreach my $line (@{$cmdout[1]}) {
@@ -3117,18 +3155,19 @@
 =cut
 
 sub del_user {
-	my ($node,    $user,     $type, $osname) = @_;
+	my ($node, $user, $type, $osname, $image_os_type) = @_;
 	my ($package, $filename, $line, $sub)    = caller(0);
 	notify($ERRORS{'WARNING'}, 0, "node is not defined")   if (!(defined($node)));
 	notify($ERRORS{'WARNING'}, 0, "user is not defined")   if (!(defined($user)));
 	notify($ERRORS{'WARNING'}, 0, "type is not defined")   if (!(defined($type)));
 	notify($ERRORS{'WARNING'}, 0, "osname is not defined") if (!(defined($osname)));
+	notify($ERRORS{'WARNING'}, 0, "image_os_type is not defined") if (!(defined($image_os_type)));
 	#set variables to use
 	my $cmd;
 	my @sshcmd;
 	if ($type =~ /blade|virtualmachine/) {
 		#my $os = _machine_os($node);
-		if ($osname =~ /wxp|win|vmware/) {
+		if ($image_os_type =~ /windows/i) {
 			$cmd = "cscript.exe //Nologo del_user.vbs $user";
 			@sshcmd = run_ssh_command($node, $IDENTITY_wxp, $cmd, "root");
 			foreach my $l (@{$sshcmd[1]}) {
@@ -3140,7 +3179,7 @@
 			}
 			notify($ERRORS{'DEBUG'}, 0, "cscript.exe //Nologo del_user.vbs $user produced output: " . join("\n", @{$sshcmd[1]}));
 
-			if (!(_is_user_added($node, $user, $type, $osname))) {
+			if (!(_is_user_added($node, $user, $type, $osname, $image_os_type))) {
 				return 1;
 			}
 			else {
@@ -3158,7 +3197,7 @@
 			}
 
 		} ## end if ($osname =~ /wxp|win|vmware/)
-		elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/) {
+		elsif ($image_os_type =~ /linux/i) {
 			#remove user from machine
 			my @file;
 			my $l;
@@ -3212,7 +3251,7 @@
 					return 0;
 				}
 			} ## end if (open(SSHDCFG, "/tmp/$node.sshd"))
-		} ## end elsif ($osname =~ /^(rh[0-9]image|rhel[0-9]|fc[0-9]image|rhfc[0-9]|rhas[0-9]|esx[0-9]+)/) [ if ($osname =~ /wxp|win|vmware/)
+		} ## end elsif 
 		else {
 			notify($ERRORS{'WARNING'}, 0, "$osname does not exist ");
 			return 0;
@@ -4503,140 +4542,6 @@
 
 #/////////////////////////////////////////////////////////////////////////////
 
-=head2 doesimageexists
-
- Parameters  : imagename
- Returns     : 0 or 1
- Description : scans  our image local image library for requested image
-					returns 1 if found or 0 if not
-					attempts to scp image files from peer management nodes
-=cut
-
-sub doesimageexists {
-	my $imagename = $_[0];
-	my ($package, $filename, $line, $sub) = caller(0);
-	notify($ERRORS{'WARNING'}, 0, "node is not defined") if (!(defined($imagename)));
-	if (!(defined($imagename))) {
-		return 0;
-	}
-	my ($IMAGEREPOSITORY, $TMPLREPOSITORY, $basetmpl);
-	if ($imagename =~ /^(win|rh3image)/) {
-		$IMAGEREPOSITORY = "/install/image/x86";
-		$TMPLREPOSITORY  = "$XCATROOT/install/image/x86";
-		$basetmpl        = "wxp2-base.tmpl";
-	}
-	elsif ($imagename =~ /^(rh([0-9])image|fc([0-9])image)/) {
-		$IMAGEREPOSITORY = "/install/$LINUX_IMAGE/x86";
-		$TMPLREPOSITORY  = "$XCATROOT/install/$LINUX_IMAGE/x86";
-		$basetmpl        = "rhel4-base-v0.tmpl";
-	}
-	elsif ($imagename =~ /^rhel([0-9])/) {
-		$IMAGEREPOSITORY = "$XCATROOT/install/rhas$1/x86";
-		$TMPLREPOSITORY  = "$XCATROOT/install/rhas$1/x86";
-		$basetmpl        = "rhel$1-base-v0.tmpl";
-	}
-	elsif ($imagename =~ /^rhfc([0-9])/) {
-		$IMAGEREPOSITORY = "$XCATROOT/install/rhfc$1/x86";
-		$TMPLREPOSITORY  = "$XCATROOT/install/rhfc$1/x86";
-		$basetmpl        = "rhfc$1-base-v0.tmpl";
-	}
-	elsif ($imagename =~ /^esx([0-9]+)/) {
-		$IMAGEREPOSITORY = "$XCATROOT/install/esx$1/x86";
-		$TMPLREPOSITORY  = "$XCATROOT/install/esx$1/x86";
-		$basetmpl        = "esx$1-base-v0.tmpl";
-	}
-	elsif ($imagename =~ /^(vmware)/) {
-		$IMAGEREPOSITORY = "$VMWAREREPOSITORY";
-		goto IMAGEREPOSCHK;
-	}
-
-	#does template file exist
-	if (-e "$TMPLREPOSITORY/$imagename.tmpl") {
-		#good
-		notify($ERRORS{'OK'}, 0, "template $imagename.tmpl exists");
-	}
-	else {
-		#try to create it.
-		if (open(IMAGE, "/bin/cp $TMPLREPOSITORY/$basetmpl $TMPLREPOSITORY/$imagename.tmpl |")) {
-			my @Images = <IMAGE>;
-			close(IMAGE);
-			if (-e "$TMPLREPOSITORY/$imagename.tmpl") {
-				#good
-				notify($ERRORS{'OK'}, 0, "template $imagename.tmpl exists");
-			}
-			foreach my $i (@Images) {
-				#if anything could mean failure
-				if ($i) {
-					notify($ERRORS{'OK'}, 0, "@Images");
-				}
-			}
-		} ## end if (open(IMAGE, "/bin/cp $TMPLREPOSITORY/$basetmpl $TMPLREPOSITORY/$imagename.tmpl |"...
-	} ## end else [ if (-e "$TMPLREPOSITORY/$imagename.tmpl")
-
-	IMAGEREPOSCHK:
-	if (open(IMAGES, "/bin/ls -1 $IMAGEREPOSITORY 2>&1 |")) {
-		my @images = <IMAGES>;
-		close(IMAGES);
-		foreach my $i (@images) {
-			if ($i =~ /$imagename/) {
-				notify($ERRORS{'OK'}, 0, "image $imagename exists");
-				return 1;
-			}
-		}
-	} ## end if (open(IMAGES, "/bin/ls -1 $IMAGEREPOSITORY 2>&1 |"...
-
-	notify($ERRORS{'OK'}, 0, "IMAGELIBENABLE= $IMAGELIBENABLE ");
-	if ($IMAGELIBENABLE) {
-		#proceed to copy image from other management nodes
-		notify($ERRORS{'OK'}, 0, "image $IMAGEREPOSITORY/$imagename does NOT exists attempting to pull from other management nodes");
-		#globals being used - $IMAGELIBENABLE,$IMAGESERVERS,$IMAGELIBUSER,$IMAGELIBKEY
-		my @serverlist = split(/,/, $IMAGESERVERS);
-		my $length = @serverlist;
-		if ($length == 0) {
-			notify($ERRORS{'CRITICAL'}, 0, "imageservers variable is not listed correctly or does not contain any information");
-			return 0;
-		}
-
-		foreach my $s (@serverlist) {
-			#first pass - use my current repository paths
-			notify($ERRORS{'OK'}, 0, "checking for $imagename on $s");
-			my @sshcmd = run_ssh_command($s, $IMAGELIBKEY, "ls -1 $IMAGEREPOSITORY", $IMAGELIBUSER);
-			foreach my $i (@{$sshcmd[1]}) {
-				if ($i =~ /Permission denied/) {
-					notify($ERRORS{'CRITICAL'}, 0, "identity key $IMAGELIBKEY not valid for $IMAGELIBUSER @ $s");
-				}
-				if ($i =~ /$imagename/) {
-					notify($ERRORS{'OK'}, 0, "SUCCESS image $imagename exists on $s, attempting to copy");
-					#great - fetch it
-					if (run_scp_command("$IMAGELIBUSER\@$s:$IMAGEREPOSITORY/$imagename*", $IMAGEREPOSITORY, $IMAGELIBKEY)) {
-						#double check our image set has been copied
-						if (open(IMAGES, "/bin/ls -1 $IMAGEREPOSITORY 2>&1 |")) {
-							my @images = <IMAGES>;
-							close(IMAGES);
-							foreach my $i (@images) {
-								if ($i =~ /$imagename/) {
-									notify($ERRORS{'OK'}, 0, "image $imagename exists");
-									return 1;
-								}
-							}
-						} ## end if (open(IMAGES, "/bin/ls -1 $IMAGEREPOSITORY 2>&1 |"...
-					} ## end if (run_scp_command("$IMAGELIBUSER\@$s:$IMAGEREPOSITORY/$imagename*"...
-				}    ## ($i =~ /$imagename/)
-			}    ## foreach my $i
-		} ## end foreach my $s (@serverlist)
-	} ## end if ($IMAGELIBENABLE)
-	else {
-		notify($ERRORS{'OK'}, 0, "imagelibenable disabled");
-	}
-
-	notify($ERRORS{'WARNING'}, 0, "image $IMAGEREPOSITORY/$imagename does NOT exists");
-	return 0;
-
-} ## end sub doesimageexists
-
-
-#/////////////////////////////////////////////////////////////////////////////
-
 =head2 collectsshkeys
 
  Parameters  : node
@@ -6110,6 +6015,7 @@
 
 		# Set the node name based on the type of computer
 		my $computer_type = $request_info{reservation}{$reservation_id}{computer}{type};
+		my $computer_id = $request_info{reservation}{$reservation_id}{computer}{id};
 
 		# Figure out the nodename based on the type of computer
 		my $computer_nodename;
@@ -6123,35 +6029,44 @@
 			$computer_nodename = $computer_shortname;
 		}
 		else {
-			my $computer_id = $request_info{reservation}{$reservation_id}{computer}{id};
 			notify($ERRORS{'WARNING'}, 0, "computer=$computer_id is of an unknown or unusual type=$computer_type");
 		}
 		$request_info{reservation}{$reservation_id}{computer}{NODENAME} = $computer_nodename;
 
 		# Set the image identity file path
 		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 ($imagerevision_imagename =~ /^(win|vmwarewin|vmwareesxwin|vista)/) {
-			$identity_file_path = $IDENTITY_wxp;
-		}
-		elsif ($imagerevision_imagename =~ /^(rh|fc|esx)/) {
-			$identity_file_path = $IDENTITY_bladerhel;
-		}
-		#elsif ($imagerevision_imagename =~ /vmimage|vmwarewin|vmwareesxwin/) {
-		#	$identity_file_path = $IDENTITY_wxp;
-		#}
-		elsif ($imagerevision_imagename =~ /realmrh|i386_linux26/) {
-			$identity_file_path = $IDENTITY_linux_lab;
-		}
-		elsif ($imagerevision_imagename =~ /sun/) {
-			$identity_file_path = $IDENTITY_solaris_lab;
+		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 ($imagerevision_imagename =~ /^mpls/) {
-			notify($ERRORS{'OK'}, 0, "MPLS reservation: $request_id:$reservation_id");
+		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, "unsupported image type: '$imagerevision_imagename'");
+		else{
+			notify($ERRORS{'WARNING'}, 0, "computer=$computer_id is of an unknown or unusual type=$computer_type");
 		}
+
 		$request_info{reservation}{$reservation_id}{image}{IDENTITY} = $identity_file_path;
 
 		# Set some non-database defaults



Mime
View raw message