From 483a50fe5d1d391688290673ff4ee40bde9f7609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gon=C3=A9ri=20Le=20Bouder?= Date: Sat, 15 Oct 2011 16:07:46 +0200 Subject: [PATCH] 2.2.x getCanonicalManufacturer() support --- lib/FusionInventory/VMware/SOAP/Host.pm | 18 +++++++++++++++--- t/soap.t | 6 +++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/FusionInventory/VMware/SOAP/Host.pm b/lib/FusionInventory/VMware/SOAP/Host.pm index ac1317297a..574d519599 100644 --- a/lib/FusionInventory/VMware/SOAP/Host.pm +++ b/lib/FusionInventory/VMware/SOAP/Host.pm @@ -229,7 +229,6 @@ sub getStorages { my $serialnumber; my $size; - # TODO #$volumnMapping{$entry->{canonicalName}} = $entry->{deviceName}; @@ -245,12 +244,25 @@ sub getStorages { if ($entry->{capacity}{blockSize} && $entry->{capacity}{block}) { $size = int($entry->{capacity}{blockSize} *$entry->{capacity}{block})/1000; } + my $manufacturer; + if ($entry->{vendor} && ($entry->{vendor} !~ /^\s*ATA\s*$/)) { + $manufacturer = $entry->{vendor}; + } else { + $manufacturer = getCanonicalManufacturer($entry->{model}); + } + + $manufacturer =~ s/\s*(\S.*\S)\s*/$1/; + + my $model = $entry->{model}; + $model =~ s/\s*(\S.*\S)\s*/$1/; + + push @$ret, { DESCRIPTION => $entry->{displayName}, DISKSIZE => $size, # INTERFACE - MANUFACTURER => getCanonicalManufacturer($entry->{model}) || $entry->{vendor}, - MODEL => $entry->{model}, + MANUFACTURER => $manufacturer, + MODEL => $model, NAME => $entry->{deviceName}, TYPE => $entry->{deviceType}, SERIAL => $serialnumber, diff --git a/t/soap.t b/t/soap.t index df62a2f959..470d209dd4 100644 --- a/t/soap.t +++ b/t/soap.t @@ -354,8 +354,8 @@ my %test = ( 'DISKSIZE' => undef, 'SERIAL' => undef, 'DESCRIPTION' => 'Local TEAC CD-ROM (mpx.vmhba0:C0:T0:L0)', - 'MANUFACTURER' => 'TEAC ', - 'MODEL' => 'DV-28E-V ' + 'MANUFACTURER' => 'TEAC', + 'MODEL' => 'DV-28E-V' }, { 'NAME' => '/vmfs/devices/disks/t10.ATA_____ST3250310NS_________________________________________9SF1F0TH', @@ -365,7 +365,7 @@ my %test = ( 'SERIAL' => '3232323232323232323232325783704970488472', 'DESCRIPTION' => 'Local ATA Disk (t10.ATA_____ST3250310NS_________________________________________9SF1F0TH)', 'MANUFACTURER' => 'Seagate', - 'MODEL' => 'ST3250310NS ' + 'MODEL' => 'ST3250310NS' } ],