Author: arkurth
Date: Mon Sep 14 18:21:29 2009
New Revision: 814767

URL: http://svn.apache.org/viewvc?rev=814767&view=rev
Log:
VCL-226
Added check for "computer is processing another action" error in 
Windows.pm::reboot(). If this error occurs a power reset is issued.

Modified:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.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=814767&r1=814766&r2=814767&view=diff
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm (original)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm Mon Sep 14 
18:21:29 2009
@@ -2630,6 +2630,20 @@
                if (defined($shutdown_exit_status) && $shutdown_exit_status == 
0) {
                        notify($ERRORS{'OK'}, 0, "executed reboot command on 
$computer_node_name");
                }
+               elsif (defined($shutdown_output) && grep(/processing another 
action/, @$shutdown_output)) {
+                       # The following message may be displayed causing the 
reboot to fail:
+                       # The computer is processing another action and thus 
cannot be shut down. Wait until the computer has finished its action, and then 
try again.(21) 
+                       notify($ERRORS{'WARNING'}, 0, "unable to reboot because 
of processing another action error on $computer_node_name, computer will be 
forcefully restarted, exit status: $shutdown_exit_status, 
output:\...@{$shutdown_output}");
+                       
+                       # Call provisioning module's power_reset() subroutine
+                       if ($self->provisioner->power_reset()) {
+                               notify($ERRORS{'OK'}, 0, "initiated power reset 
on $computer_node_name");
+                       }
+                       else {
+                               notify($ERRORS{'WARNING'}, 0, "reboot failed, 
failed to initiate power reset on $computer_node_name");
+                               return 0;
+                       }
+               }
                elsif (defined($shutdown_exit_status)) {
                        notify($ERRORS{'WARNING'}, 0, "failed to execute reboot 
command on $computer_node_name, exit status: $shutdown_exit_status, 
output:\...@{$shutdown_output}");
                        return 0;


Reply via email to