From 8e34ef8d109ebd0bb2676cdc294ff8a6c97d15bb Mon Sep 17 00:00:00 2001 From: qgarnier Date: Fri, 16 Oct 2020 14:52:25 +0200 Subject: [PATCH] Fix #2249 (#2259) --- storage/nimble/restapi/mode/components/fan.pm | 1 + storage/nimble/restapi/mode/components/psu.pm | 1 + .../restapi/mode/components/temperature.pm | 1 + storage/nimble/restapi/mode/hardware.pm | 18 ++++++++++++++++++ 4 files changed, 21 insertions(+) diff --git a/storage/nimble/restapi/mode/components/fan.pm b/storage/nimble/restapi/mode/components/fan.pm index caefe919e..0d91b0d50 100644 --- a/storage/nimble/restapi/mode/components/fan.pm +++ b/storage/nimble/restapi/mode/components/fan.pm @@ -40,6 +40,7 @@ sub check { foreach my $array (@{$self->{results}->{shelve}->{data}}) { my $array_name = $array->{array_name}; + $array_name .= ':' . $array->{serial} if ($self->use_serial()); foreach my $ctrl (@{$array->{ctrlrs}}) { foreach my $sensor (@{$ctrl->{ctrlr_sensors}}) { diff --git a/storage/nimble/restapi/mode/components/psu.pm b/storage/nimble/restapi/mode/components/psu.pm index fc52010f9..d08c92269 100644 --- a/storage/nimble/restapi/mode/components/psu.pm +++ b/storage/nimble/restapi/mode/components/psu.pm @@ -40,6 +40,7 @@ sub check { foreach my $array (@{$self->{results}->{shelve}->{data}}) { my $array_name = $array->{array_name}; + $array_name .= ':' . $array->{serial} if ($self->use_serial()); foreach my $sensor (@{$array->{chassis_sensors}}) { next if ($sensor->{type} ne 'power supply'); diff --git a/storage/nimble/restapi/mode/components/temperature.pm b/storage/nimble/restapi/mode/components/temperature.pm index a0c67e62e..31e2d1329 100644 --- a/storage/nimble/restapi/mode/components/temperature.pm +++ b/storage/nimble/restapi/mode/components/temperature.pm @@ -40,6 +40,7 @@ sub check { foreach my $array (@{$self->{results}->{shelve}->{data}}) { my $array_name = $array->{array_name}; + $array_name .= ':' . $array->{serial} if ($self->use_serial()); foreach my $ctrl (@{$array->{ctrlrs}}) { foreach my $sensor (@{$ctrl->{ctrlr_sensors}}) { diff --git a/storage/nimble/restapi/mode/hardware.pm b/storage/nimble/restapi/mode/hardware.pm index a5825d0cb..ea2f862d7 100644 --- a/storage/nimble/restapi/mode/hardware.pm +++ b/storage/nimble/restapi/mode/hardware.pm @@ -73,6 +73,24 @@ sub new { return $self; } +sub use_serial { + my ($self, %options) = @_; + + return $self->{use_serial} if (defined($self->{use_serial})); + + $self->{use_serial} = 0; + my $array_names = {}; + foreach (@{$self->{results}->{shelve}->{data}}) { + if (defined($array_names->{ $_->{array_name} })) { + $self->{use_serial} = 1; + last; + } + $array_names->{ $_->{array_name} } = 1; + } + + return $self->{use_serial}; +} + sub execute_custom { my ($self, %options) = @_;