You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by ar...@apache.org on 2014/10/17 23:10:29 UTC

svn commit: r1632667 - /vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm

Author: arkurth
Date: Fri Oct 17 21:10:29 2014
New Revision: 1632667

URL: http://svn.apache.org/r1632667
Log:
VCL-685
Added variable to VIM_SSH.pm object to record if services.sh restart was run at any time during a process. This prevents a single process from running it more than once.

Modified:
    vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm

Modified: vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm?rev=1632667&r1=1632666&r2=1632667&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm Fri Oct 17 21:10:29 2014
@@ -178,7 +178,6 @@ sub _run_vim_cmd {
 	my $wait_seconds = 2;
 	
 	my $connection_reset_errors = 0;
-	my $services_restart_detected = 0;
 	ATTEMPT: while ($attempt++ < $attempt_limit) {
 		if ($attempt > 1) {
 			# Wait before making next attempt
@@ -187,7 +186,7 @@ sub _run_vim_cmd {
 			
 			my $semaphore_id = "$vmhost_computer_name-vmware_services_restart";
 			if ($self->does_semaphore_exist($semaphore_id)) {
-				$services_restart_detected = 1;
+				$self->{services_restarted} = 1;
 				notify($ERRORS{'DEBUG'}, 0, "detected another process is restarting VMware services, sleeping for 10 seconds");
 				sleep_uninterrupted(10);
 				my $wait_message = "another process is restarting VMware services on $vmhost_computer_name";
@@ -224,12 +223,13 @@ sub _run_vim_cmd {
 			
 			# If 2 connection reset errors occured, attempt to run services.sh restart
 			if ($connection_reset_errors == 2) {
-				if ($services_restart_detected) {
-					notify($ERRORS{'WARNING'}, 0, "encountered $connection_reset_errors connection reset errors on VM host $vmhost_computer_name, not calling 'services.sh restart', another process already attempted it");
+				if ($self->{services_restarted}) {
+					notify($ERRORS{'WARNING'}, 0, "encountered $connection_reset_errors connection reset errors on VM host $vmhost_computer_name, not calling 'services.sh restart', it was already attempted");
 				}
 				else {
 					notify($ERRORS{'OK'}, 0, "calling 'services.sh restart', encountered $connection_reset_errors connection reset errors on VM host $vmhost_computer_name");
 					$self->_services_restart();
+					$self->{services_restarted} = 1;
 					next ATTEMPT;
 				}
 			}
@@ -367,15 +367,11 @@ sub _check_service_pid {
 	}
 	else {
 		($running_pid) = "@$ps_output" =~ /(\d+)/g;
-		if (!$running_pid) {
-			notify($ERRORS{'DEBUG'}, 0, "parent $process_name PID is not running");
-		}
-		elsif ($running_pid > 1) {
+		if ($running_pid && $running_pid > 1) {
 			notify($ERRORS{'DEBUG'}, 0, "retrieved parent $process_name PID: $running_pid");
 		}
 		else {
-			notify($ERRORS{'WARNING'}, 0, "parent $process_name PID not valid: $running_pid, command: '$ps_command', output:\n" . join("\n", @$ps_output));
-			$running_pid = '';
+			notify($ERRORS{'DEBUG'}, 0, "parent $process_name process is not running");
 		}
 	}