Author: fapeeler
Date: Thu Jun 19 19:13:04 2014
New Revision: 1604013

URL: http://svn.apache.org/r1604013
Log:
VCL-50

fixed issue related to moving a blade directly from maintenance to vmhostinuse


Modified:
    vcl/trunk/managementnode/lib/VCL/new.pm

Modified: vcl/trunk/managementnode/lib/VCL/new.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/new.pm?rev=1604013&r1=1604012&r2=1604013&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/new.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/new.pm Thu Jun 19 19:13:04 2014
@@ -713,12 +713,19 @@ sub computer_not_being_used {
                notify($ERRORS{'OK'}, 0, "attempt $attempt/$attempt_limit: 
checking for competing reservations assigned to $computer_short_name");
                my $computer_state_name = 
$self->data->get_computer_state_name();
                
-               # Return 0 if computer state is maintenance, deleted, 
vmhostinuse
-               if ($computer_state_name =~ 
/^(deleted|maintenance|vmhostinuse)$/) {
+               # Return 0 if computer state is deleted, vmhostinuse
+               if ($computer_state_name =~ /^(deleted|vmhostinuse)$/) {
                        notify($ERRORS{'WARNING'}, 0, "$computer_short_name is 
NOT available, its state is $computer_state_name");
                        return 0;
                }
-               
+
+               # Return 0 if computer state is maintenance and request state 
name is not vmhostinuse
+               # Allow computers to go from maintenance directly to a vmhost
+               if ($computer_state_name =~ /^(maintenance)$/ && 
$request_state_name !~ /tovmhostinuse/) {
+                       notify($ERRORS{'WARNING'}, 0, "$computer_short_name is 
NOT available, its state is $computer_state_name");
+                       return 0;
+               }
+
                # Warn if computer state isn't available or reload - except for 
reinstall requests
                if ($request_state_name !~ /^(reinstall)$/ && 
$computer_state_name !~ /^(available|reload)$/) {
                        notify($ERRORS{'WARNING'}, 0, "$computer_short_name 
state is $computer_state_name, checking if any conflicting reservations are 
active");


Reply via email to