diff --git a/src/apps/vmware/connector/custom/connector.pm b/src/apps/vmware/connector/custom/connector.pm index e93207c4e..9a21a3b8d 100644 --- a/src/apps/vmware/connector/custom/connector.pm +++ b/src/apps/vmware/connector/custom/connector.pm @@ -87,7 +87,7 @@ sub check_options { $self->{vsphere_password} = (defined($self->{option_results}->{vsphere_password})) ? shift(@{$self->{option_results}->{vsphere_password}}) : undef; $self->{sampling_period} = (defined($self->{option_results}->{sampling_period})) ? shift(@{$self->{option_results}->{sampling_period}}) : undef; $self->{time_shift} = (defined($self->{option_results}->{time_shift})) ? shift(@{$self->{option_results}->{time_shift}}) : 0; - $self->{unknown_connector_status} = (defined($self->{option_results}->{unknown_connector_status})) ? $self->{option_results}->{unknown_connector_status} : '%{code} < 0 || (%{code} > 0 && %{code} < 200)'; + $self->{unknown_connector_status} = (defined($self->{option_results}->{unknown_connector_status})) ? $self->{option_results}->{unknown_connector_status} : '%{code} < 0 || (%{code} > 0 && %{code} < 200 && %{short_message} !~ /ComputeResource/)'; $self->{warning_connector_status} = (defined($self->{option_results}->{warning_connector_status})) ? $self->{option_results}->{warning_connector_status} : ''; $self->{critical_connector_status} = (defined($self->{option_results}->{critical_connector_status})) ? $self->{option_results}->{critical_connector_status} : ''; $self->{case_insensitive} = (defined($self->{option_results}->{case_insensitive})) ? $self->{option_results}->{case_insensitive} : undef; @@ -148,7 +148,7 @@ sub connector_response { sub connector_response_status { my ($self, %options) = @_; - + if (!defined($self->{result})) { $self->{output}->add_option_msg(short_msg => 'Cannot get response (timeout received)'); $self->{output}->option_exit(); @@ -269,7 +269,6 @@ sub execute { zmq_close($self->{requester}); $self->connector_response_status(); - return $self->{result}; } @@ -332,7 +331,7 @@ Searchs are case insensitive. =item B<--unknown-connector-status> -Set unknown threshold for connector status (default: '%{code} < 0 || (%{code} > 0 && %{code} < 200)'). +Set unknown threshold for connector status (default: '%{code} < 0 || (%{code} > 0 && %{code} < 200 && %{short_message} !~ /ComputeResource/)'). You can use the following variables: %{code}, %{short_message}, %{extra_message}. =item B<--warning-connector-status> diff --git a/src/apps/vmware/connector/mode/vsanclusterusage.pm b/src/apps/vmware/connector/mode/vsanclusterusage.pm index 49edcf37d..791a3c901 100644 --- a/src/apps/vmware/connector/mode/vsanclusterusage.pm +++ b/src/apps/vmware/connector/mode/vsanclusterusage.pm @@ -125,16 +125,19 @@ sub manage_selection { my ($self, %options) = @_; $self->{cluster} = {}; + + # Required for --cluster-name to be treated as a regular expression ( refer to build_filter in centreon/vmware/cmdbase.pm ) + # Applied this change here in order to avoid modifying the VMware daemon + $self->{option_results}->{filter} = ''; + my $response = $options{custom}->execute( params => $self->{option_results}, command => 'vsanclusterusage' ); - foreach my $cluster_id (keys %{$response->{data}}) { my $cluster_name = $response->{data}->{$cluster_id}->{name}; - next if ( !centreon::plugins::misc::is_empty($self->{option_results}->{cluster_name}) - and $cluster_name !~ /$self->{option_results}->{cluster_name}/ ); + # No need to filter here because the filter on cluster_name is already done by find_entity_views in VMware/VICommon.pm $self->{cluster}->{$cluster_name} = { display => $cluster_name, %{$response->{data}->{$cluster_id}->{cluster_domcompmgr}},