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 2015/02/24 19:44:25 UTC

svn commit: r1662080 - in /vcl/trunk/managementnode/lib/VCL: Module/OS.pm Module/OS/Linux.pm Module/OS/Linux/firewall/iptables.pm reserved.pm utils.pm

Author: arkurth
Date: Tue Feb 24 18:44:24 2015
New Revision: 1662080

URL: http://svn.apache.org/r1662080
Log:
Updated reserved.pm::process to check for a computerloadlog 'initialconnecttimeout' entry for the parent reservation ID. The frontend only inserts the entry for the parent. This was generating warnings.

VCL-174
Changed OS.pm::process_connect_methods to pass a string consisting of the vcld process name and reservation ID to add_nat_port_forward instead of just the reservation ID. This will make it easier to identify which firewall chains/rules were created by a particular vcld daemon.

Updated iptables.pm::get_table_info to parse the table information and create a hash reference.

VCL-678
Commented out unnecessary vcld.log messages in utils.pm::is_management_node_process_running.

VCL-702
Updated Linux.pm::activate_interfaces to use OS.pm::create_text_file. It had been calling echo with a \E argument to create ifcfg* files. The argument was generating warnings.

Modified:
    vcl/trunk/managementnode/lib/VCL/Module/OS.pm
    vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm
    vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/firewall/iptables.pm
    vcl/trunk/managementnode/lib/VCL/reserved.pm
    vcl/trunk/managementnode/lib/VCL/utils.pm

Modified: vcl/trunk/managementnode/lib/VCL/Module/OS.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/OS.pm?rev=1662080&r1=1662079&r2=1662080&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/OS.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/OS.pm Tue Feb 24 18:44:24 2015
@@ -2977,7 +2977,7 @@ sub process_connect_methods {
 						return;
 					}
 					
-					if ($self->nathost_os->firewall->add_nat_port_forward($protocol, $nat_public_port, $computer_ip_address, $port, $reservation_id)) {
+					if ($self->nathost_os->firewall->add_nat_port_forward($protocol, $nat_public_port, $computer_ip_address, $port, "$PROCESSNAME-$reservation_id")) {
 						notify($ERRORS{'OK'}, 0, "NAT port forwarding configured on $nathost_hostname for '$name' connect method: $nathost_public_ip_address:$nat_public_port --> $computer_ip_address:$port ($protocol)");
 					}
 					else {

Modified: vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm?rev=1662080&r1=1662079&r2=1662080&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/OS/Linux.pm Tue Feb 24 18:44:24 2015
@@ -2254,19 +2254,25 @@ STARTMODE=onboot
 ONBOOT=yes
 EOF
 		
-		# Create the ifcfg-eth* file and attempt to call ifup on the interface
-		my $echo_command = "echo \E \"$ifcfg_contents\" > $ifcfg_path && ifup $interface_name";
-		notify($ERRORS{'DEBUG'}, 0, "attempting to echo contents to $ifcfg_path:\n$ifcfg_contents");
-		my ($echo_exit_status, $echo_output) = $self->execute($echo_command, 1);
-		if (!defined($echo_output)) {
-			notify($ERRORS{'WARNING'}, 0, "failed to run command to echo contents to $ifcfg_path");
+		# Create the ifcfg file
+		if (!$self->create_text_file($ifcfg_path, $ifcfg_contents)) {
+			notify($ERRORS{'WARNING'}, 0, "failed to create $ifcfg_path for interface: $interface_name");
 			return;
 		}
-		elsif (grep(/done\./, @$echo_output)) {
-			notify($ERRORS{'OK'}, 0, "created $ifcfg_path and enabled interface: $interface_name, output:\n" . join("\n", @$echo_output));
+		
+		# Call ifup on the interface
+		my $command = "ifup $interface_name";
+		my ($exit_status, $output) = $self->execute($command, 1);
+		if (!defined($output)) {
+			notify($ERRORS{'WARNING'}, 0, "failed to execute command to activate $interface_name interface: $command");
+			return;
+		}
+		elsif ($exit_status eq '0' || grep(/done\./, @$output)) {
+			notify($ERRORS{'OK'}, 0, "activated $interface_name interface, output:\n" . join("\n", @$output));
 		}
 		else {
-			notify($ERRORS{'WARNING'}, 0, "failed to create $ifcfg_path and enable interface: $interface_name, output:\n" . join("\n", @$echo_output));
+			notify($ERRORS{'WARNING'}, 0, "failed to activate $interface_name interface, exit status: $exit_status, output:\n" . join("\n", @$output));
+			return;
 		}
 	}
 	

Modified: vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/firewall/iptables.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/firewall/iptables.pm?rev=1662080&r1=1662079&r2=1662080&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/firewall/iptables.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/OS/Linux/firewall/iptables.pm Tue Feb 24 18:44:24 2015
@@ -154,7 +154,14 @@ sub insert_rule {
 				$value = "\"$value\"";
 			}
 			
-			$command .= " --$option $value";
+			if ($option =~ /^\!/) {
+				$command .= " !";
+				$option =~ s/^\!//;
+			}
+			
+			$command .= " ";
+			$command .= "--$option " if $option;
+			$command .= $value;
 		}
 	}
 	
@@ -163,7 +170,8 @@ sub insert_rule {
 		$command .= " --jump $target_extension";
 		for my $option (sort keys %{$arguments->{target_extensions}{$target_extension}}) {
 			my $value = $arguments->{target_extensions}{$target_extension}{$option};
-			$command .= " --$option $value";
+			$command .= " --$option " if $option;
+			$command .= $value;
 		}
 	}
 	
@@ -436,7 +444,8 @@ sub delete_chain_references {
 	
 	my $table_info = $self->get_table_info($table_name);
 	for my $referencing_chain_name (keys %$table_info) {
-		for my $rule_specification (@{$table_info->{$referencing_chain_name}{rules}}) {
+		for my $rule (@{$table_info->{$referencing_chain_name}{rules}}) {
+			my $rule_specification = $rule->{rule_specification};
 			if ($rule_specification =~ /-j $referenced_chain_name(\s|$)/) {
 				notify($ERRORS{'DEBUG'}, 0, "rule in '$table_name' table references '$referenced_chain_name' chain, referencing chain: $referencing_chain_name, rule specification: $rule_specification");
 				if (!$self->delete_rule($table_name, $referencing_chain_name, $rule_specification)) {
@@ -544,34 +553,238 @@ sub get_table_info {
 		notify($ERRORS{'WARNING'}, 0, "failed to list rules " . $chain_text . "from '$table_name' table on $computer_name, exit status: $exit_status, command:\n$command\noutput:\n" . join("\n", @$output));
 		return 0;
 	}
-	
+
 	my $table_info = {};
-	for my $line (@$output) {
-		my ($iptables_command, $chain_name, $specification) = $line =~ /^(-\w) ([^ ]+)\s*(.*)$/;
-		if (!defined($iptables_command) || !defined($chain_name)) {
-			notify($ERRORS{'WARNING'}, 0, "failed to parse line: '$line'\ncommand: $command");
-			next;
+	LINE: for my $line (@$output) {
+		# Split the rule, samples:
+		#    -P OUTPUT ACCEPT
+		#    -N vcld-3115
+		#    -A PREROUTING -j vclark-3115
+		#    -A POSTROUTING ! -d 192.168.96.0/20 -o eth1
+		#    -A INPUT -d 192.168.96.0/32 -i eth1 -p udp -m multiport --dports 5700:6500,9696:9701,49152:65535 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
+		my ($iptables_command, $chain_name, $rule_specification_string) = $line =~
+		/
+			^
+			(--?[a-z\-]+)	# command: -A, -N, etc
+			\s+				# space after command
+			([^ ]+)			# chain name
+			\s*				# space after chain name
+			(.*)				# remainder of rule
+			\s*				# trailing spaces
+			$
+		/ixg;
+		
+		if (!defined($iptables_command)) {
+			notify($ERRORS{'WARNING'}, 0, "failed to parse iptables rule, iptables command type (ex. '-A') could not be parsed from beginning of line:\n$line");
+			next LINE;
+		}
+		elsif (!defined($chain_name)) {
+			notify($ERRORS{'WARNING'}, 0, "failed to parse iptables rule, iptables chain name could not be parsed from line:\n$line");
+			next LINE;
 		}
-		$specification = '' unless defined($specification);
 		
-		if ($iptables_command eq '-P') {
+		# Make sure the rule specification isn't null to avoid warnings
+		$rule_specification_string = '' unless defined($rule_specification_string);
+		
+		# Remove spaces from end of rule specification
+		$rule_specification_string =~ s/\s+$//;
+		
+		if ($iptables_command =~ /^(-P|--policy)/) {
 			# -P, --policy chain target (Set  the policy for the chain to the given target)
-			$table_info->{$chain_name}{policy} = $specification;
+			$table_info->{$chain_name}{policy} = $rule_specification_string;
 		}
-		elsif ($iptables_command eq '-N') {
+		elsif ($iptables_command =~ /^(-N|--new-chain)/) {
 			# -N, --new-chain chain
 			$table_info->{$chain_name} = {} unless defined($table_info->{$chain_name});
 		}
-		elsif ($iptables_command eq '-A') {
+		elsif ($iptables_command =~ /^(-A|--append chain)/) {
 			# -A, --append chain rule-specification
-			push @{$table_info->{$chain_name}{rules}}, $specification;
+			notify($ERRORS{'DEBUG'}, 0, "parsing iptables append rule command:\n" .
+				"iptables command: $line\n" .
+				"iptables rule specification: $rule_specification_string"
+			);
+			
+			my $rule = {};
+			$rule->{rule_specification} = $rule_specification_string;
+			
+			# Parse the rule parameters
+			my $parameters = {
+				'protocol'      => '\s*(\!?)\s*(-p|--protocol)\s+([^\s]+)',
+				'source'        => '\s*(\!?)\s*(-s|--source)\s+([\d\.\/]+)',
+				'destination'   => '\s*(\!?)\s*(-d|--destination)\s+([\d\.\/]+)',
+				'in-interface'  => '\s*(\!?)\s*(-i|--in-interface)\s+([^\s]+)',
+				'out-interface' => '\s*(\!?)\s*(-o|--out-interface)\s+([^\s]+)',
+				'fragment'      => '\s*(\!?)\s*(-f|--fragment)',
+			};
+			
+			PARAMETER: for my $parameter (keys %$parameters) {
+				my $pattern = $parameters->{$parameter};
+				my ($inverted, $parameter_match, $value) = $rule_specification_string =~ /$pattern/ig;
+				next PARAMETER unless $parameter_match;
+				
+				if ($inverted) {
+					$rule->{parameters}{"!$parameter"} = $value;
+				}
+				else {
+					$rule->{parameters}{$parameter} = $value;
+				}
+				
+				# Remove the matching pattern from the rule specification string
+				# This is done to make it easier to parse the match extension parts of the specification later on
+				$rule_specification_string =~ s/(^\s+|$pattern|\s+$)//ig;
+			}
+			
+			# Parse the target rule parameters
+			my $target_parameters = {
+				'jump' => '\s*(-j|--jump)\s+([^\s]+)\s*(.*)',
+				'goto' => '\s*(-g|--goto)\s+([^\s]+)\s*(.*)',
+			};
+			
+			# Parse the parameters which specify targets
+			TARGET_PARAMETER: for my $target_parameter (keys %$target_parameters) {
+				my $pattern = $target_parameters->{$target_parameter};
+				my ($target_parameter_match, $target, $target_extension_option_string) = $rule_specification_string =~ /$pattern/ig;
+				next TARGET_PARAMETER unless $target_parameter_match;
+				
+				# Assemble a regex to remove the target specification from the overall specification
+				my $target_parameter_regex = "\\s*$target_parameter_match\\s+$target\\s*";
+				
+				$rule->{parameters}{$target_parameter}{target} = $target;
+				
+				my $target_extension_option_name;
+				my @target_extension_option_sections = split(/\s+/, $target_extension_option_string);
+				TARGET_OPTION_SECTION: for my $target_extension_option_section (@target_extension_option_sections) {
+					# Stop parsing if the start of a match extension specification if found
+					if ($target_extension_option_section =~ /^(-m|--match)$/) {
+						last TARGET_OPTION_SECTION;
+					}
+					
+					# Check if this is the beginning of a target extension option
+					if ($target_extension_option_section =~ /^[-]+(\w[\w-]+)/) {
+						$target_extension_option_name = $1;
+						notify($ERRORS{'DEBUG'}, 0, "located $target_parameter target extension option: $target_extension_option_name");
+						$rule->{parameters}{$target_parameter}{$target_extension_option_name} = undef;
+					}
+					elsif (!$target_extension_option_name) {
+						# If here, the section should be a target extension option value
+						notify($ERRORS{'WARNING'}, 0, "failed to parse iptables rule, target extension option name was not detected before this section: '$target_extension_option_section'\n" .
+							"iptables command: $line\n" .
+							"preceeding target parameter: $target_parameter --> $target"
+						);
+						next LINE;
+					}
+					else {
+						# Found target extension option value
+						$rule->{parameters}{$target_parameter}{$target_extension_option_name} = $target_extension_option_section;
+						$target_extension_option_name = undef;
+					}
+					
+					# Add the section to the regex so it will be removed
+					$target_parameter_regex .= "$target_extension_option_section\\s*";
+				}  # TARGET_OPTION_SECTION
+				
+				my $rule_specification_string_before = $rule_specification_string;
+				$rule_specification_string =~ s/$target_parameter_regex//g;
+				notify($ERRORS{'DEBUG'}, 0, "parsed iptables target parameter:\n" .
+					"target parameter: $target_parameter_match\n" .
+					"target: $target\n" .
+					"target specification removal regex: $target_parameter_regex\n" .
+					"rule specification before: $rule_specification_string_before\n" .
+					"rule specification after:  $rule_specification_string"
+				);
+			}  # TARGET_PARAMETER
+			
+			
+			# The only text remaining in $rule_specification_string should be match extension information
+			# Split the remaining string by spaces
+			my @match_extension_sections = split(/\s+/, $rule_specification_string);
+			
+			# Match extensions will be in the form:
+			# -m,--match <module> [!] -<x>,--<option> <value> [[!] -<x>,--<option> <value>...]
+			my $match_extension_module_name;
+			my $match_extension_option;
+			my $match_extension_option_inverted = 0;
+			my $comment;
+			
+			MATCH_EXTENSION_SECTION: for my $match_extension_section (@match_extension_sections) {
+				next MATCH_EXTENSION_SECTION if !$match_extension_section;
+				
+				# Check if the section is the beginning of a match extension specification
+				if ($match_extension_section =~ /^(-m|--match)$/) {
+					$match_extension_module_name = undef;
+					$match_extension_option = undef;
+					$match_extension_option_inverted = 0;
+					next MATCH_EXTENSION_SECTION;
+				}
+				
+				# Parse match extension module name
+				if (!$match_extension_module_name) {
+					# Haven't found module name for this match extension specification
+					# If section begins with a letter it should be the match extension module name
+					if ($match_extension_section =~ /^[a-z]/i) {
+						$match_extension_module_name = $match_extension_section;
+						notify($ERRORS{'DEBUG'}, 0, "located match extension module name: $match_extension_module_name");
+						next MATCH_EXTENSION_SECTION;
+					}
+					else {
+						notify($ERRORS{'WARNING'}, 0, "failed to parse iptables rule, match extension module name was not detected before this section: '$match_extension_section'\n" .
+							"iptables rule specification: $rule_specification_string\n" .
+							"iptables command: $line"
+						);
+						next LINE;
+					}
+				}
+				
+				# Check if this is the beginning of a match extension option
+				if ($match_extension_section =~ /^[-]+(\w[\w-]+)/) {
+					$match_extension_option = $1;
+					if ($match_extension_option_inverted) {
+						$match_extension_option = "!$match_extension_option";
+						$match_extension_option_inverted = 0;
+					}
+					notify($ERRORS{'DEBUG'}, 0, "match extension module name: $match_extension_module_name, located match extension option: $match_extension_option");
+					next MATCH_EXTENSION_SECTION;
+				}
+				elsif ($match_extension_section =~ /^!/) {
+					$match_extension_option_inverted = 1;
+					next MATCH_EXTENSION_SECTION;
+				}
+				
+				# If here, the section should be (part of) a match extension option value
+				if (!$match_extension_option) {
+					notify($ERRORS{'WARNING'}, 0, "failed to parse iptables rule, match extension option name was not detected before this section: '$match_extension_section'\n" .
+						"iptables command: $line\n" .
+						"iptables rule specification: $rule_specification_string\n" .
+						"preceeding match extension module name: $match_extension_module_name"
+					);
+					next LINE;
+				}
+				
+				# Check if this is part of a comment
+				if ($match_extension_module_name =~ /(comment)/) {
+					$comment .= "$match_extension_section ";
+					next MATCH_EXTENSION_SECTION;
+				}
+				
+				$rule->{match_extensions}{$match_extension_module_name}{$match_extension_option} = $match_extension_section;
+			}
+			
+			if ($comment) {
+				# Remove quotes from beginning and end of comment
+				$comment =~ s/(^[\\\"]+|[\s\\\"]+$)//g;
+				$rule->{match_extensions}{comment}{comment} = $comment;
+				$comment = undef;
+			}
+			
+			push @{$table_info->{$chain_name}{rules}}, $rule;
 		}
 		else {
-			notify($ERRORS{'WARNING'}, 0, "'$iptables_command' command is not supported: $line");
+			notify($ERRORS{'WARNING'}, 0, "iptables '$iptables_command' command is not supported: $line");
+			next LINE;
 		}
 	}
 	
-	notify($ERRORS{'DEBUG'}, 0, "retrieved rules " . $chain_text . "from '$table_name' table from $computer_name:\n" . format_data($table_info));
+	#notify($ERRORS{'DEBUG'}, 0, "retrieved rules " . $chain_text . "from iptables $table_name table from $computer_name:\n" . format_data($table_info));
 	return $table_info;
 }
 
@@ -626,9 +839,9 @@ sub configure_nat {
 	}
 	
 	# Check if NAT has previously been configured
-	for my $rule_specification (@{$nat_table_info->{POSTROUTING}{rules}}) {
-		if ($rule_specification =~ /MASQUERADE/) {
-			notify($ERRORS{'DEBUG'}, 0, "POSTROUTING chain in nat table contains a MASQUERADE rule, assuming NAT has already been configured: $rule_specification");
+	for my $rule (@{$nat_table_info->{POSTROUTING}{rules}}) {
+		if ($rule =~ /MASQUERADE/) {
+			notify($ERRORS{'DEBUG'}, 0, "POSTROUTING chain in nat table contains a MASQUERADE rule, assuming NAT has already been configured: $rule");
 			return 1;
 		}
 	}
@@ -809,19 +1022,21 @@ sub configure_nat_reservation {
 		return;
 	}
 	
+	my $chain_name = "$PROCESSNAME-$reservation_id";
+	
 	# Check if chain for reservation has already been created
-	if (defined($nat_table_info->{$reservation_id})) {
-		notify($ERRORS{'DEBUG'}, 0, "'$reservation_id' chain already exists in nat table on $computer_name");
+	if (defined($nat_table_info->{$chain_name})) {
+		notify($ERRORS{'DEBUG'}, 0, "'$chain_name' chain already exists in nat table on $computer_name");
 	}
-	elsif (!$self->create_chain('nat', $reservation_id)) {
-		notify($ERRORS{'WARNING'}, 0, "failed to configure NAT host $computer_name for reservation, failed to add '$reservation_id' chain to nat table");
+	elsif (!$self->create_chain('nat', $chain_name)) {
+		notify($ERRORS{'WARNING'}, 0, "failed to configure NAT host $computer_name for reservation, failed to add '$chain_name' chain to nat table");
 		return;
 	}
 	
 	# Check if rule to jump to reservation's chain already exists in the PREROUTING table
-	for my $rule_specification (@{$nat_table_info->{PREROUTING}{rules}}) {
-		if ($rule_specification =~ /-j $reservation_id(\s|$)/) {
-			notify($ERRORS{'DEBUG'}, 0, "PREROUTING chain in nat table on $computer_name already contains a rule to jump to '$reservation_id' chain: $rule_specification");
+	for my $rule (@{$nat_table_info->{PREROUTING}{rules}}) {
+		if ($rule =~ /-j $chain_name(\s|$)/) {
+			notify($ERRORS{'DEBUG'}, 0, "PREROUTING chain in nat table on $computer_name already contains a rule to jump to '$chain_name' chain: $rule");
 			return 1;;
 		}
 	}
@@ -831,10 +1046,10 @@ sub configure_nat_reservation {
 		'table' => 'nat',
 		'chain' => 'PREROUTING',
 		'parameters' => {
-			'jump' => $reservation_id,
+			'jump' => $chain_name,
 		},
 	})) {
-		notify($ERRORS{'WARNING'}, 0, "failed to configure NAT host $computer_name for reservation, failed to create rule in PREROUTING chain in nat table to jump to '$reservation_id' chain");
+		notify($ERRORS{'WARNING'}, 0, "failed to configure NAT host $computer_name for reservation, failed to create rule in PREROUTING chain in nat table to jump to '$chain_name' chain");
 		return;
 	}
 	
@@ -858,7 +1073,6 @@ sub add_nat_port_forward {
 		return 0;
 	}
 
-	my $reservation_id = $self->data->get_reservation_id();
 	my $computer_name = $self->data->get_computer_hostname();
 	
 	my ($protocol, $source_port, $destination_ip_address, $destination_port, $chain_name) = @_;

Modified: vcl/trunk/managementnode/lib/VCL/reserved.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/reserved.pm?rev=1662080&r1=1662079&r2=1662080&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/reserved.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/reserved.pm Tue Feb 24 18:44:24 2015
@@ -102,6 +102,7 @@ sub process {
 	my $computer_id                     = $self->data->get_computer_id();
 	my $computer_short_name             = $self->data->get_computer_short_name();
 	my $is_parent_reservation           = $self->data->is_parent_reservation();
+	my $parent_reservation_id           = $self->data->get_parent_reservation_id();
 	my $server_request_id               = $self->data->get_server_request_id();
 	my $imagemeta_checkuser             = $self->data->get_imagemeta_checkuser();
 	
@@ -136,8 +137,8 @@ sub process {
 	insertloadlog($reservation_id, $computer_id, "noinitialconnection", "user clicked Connect");
 	delete_computerloadlog_reservation($reservation_id, 'acknowledgetimeout');
 	
-	# The frontend should have inserted an 'initialconnecttimeout' computerloadlog entry, retrieve its timestamp
-	my $connection_check_start_epoch_seconds = get_reservation_computerloadlog_time($reservation_id, 'initialconnecttimeout');
+	# The frontend should have inserted an 'initialconnecttimeout' computerloadlog entry for the parent reservation, retrieve its timestamp
+	my $connection_check_start_epoch_seconds = get_reservation_computerloadlog_time($parent_reservation_id, 'initialconnecttimeout');
 	if ($connection_check_start_epoch_seconds) {
 		notify($ERRORS{'DEBUG'}, 0, "retrieved timestamp of computerloadlog 'initialconnecttimeout' entry inserted by web frontend: $connection_check_start_epoch_seconds");
 	}

Modified: vcl/trunk/managementnode/lib/VCL/utils.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/utils.pm?rev=1662080&r1=1662079&r2=1662080&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/utils.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/utils.pm Tue Feb 24 18:44:24 2015
@@ -9264,20 +9264,20 @@ sub is_management_node_process_running {
 			next;
 		}
 		elsif ($pid eq $PID) {
-			notify($ERRORS{'DEBUG'}, 0, "ignoring line for the currently running process: $line");
+			#notify($ERRORS{'DEBUG'}, 0, "ignoring line for the currently running process: $line");
 			next;
 		}
 		elsif ($line =~ /grep -P/) {
-			notify($ERRORS{'DEBUG'}, 0, "ignoring line containing for this command: $line");
+			#notify($ERRORS{'DEBUG'}, 0, "ignoring line containing for this command: $line");
 			next;
 		}
 		elsif ($line =~ /sh -c/) {
 			# Ignore lines containing 'sh -c', probably indicating a duplicate process of a command run remotely
-			notify($ERRORS{'DEBUG'}, 0, "ignoring containing 'sh -c': $line");
+			#notify($ERRORS{'DEBUG'}, 0, "ignoring containing 'sh -c': $line");
 			next;
 		}
 		else {
-			notify($ERRORS{'DEBUG'}, 0, "found matching process: $line");
+			#notify($ERRORS{'DEBUG'}, 0, "found matching process: $line");
 			$processes_running->{$pid} = $process_name;
 		}
 	}