From aae327b7a1c43405929591532db41403b4e63a26 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Wed, 5 Sep 2012 20:51:59 +0200 Subject: [PATCH] isolate values computing for testing purpose --- .../Agent/Task/Inventory/Input/Solaris/CPU.pm | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Solaris/CPU.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Solaris/CPU.pm index 1fb744a4e2..be87028274 100644 --- a/lib/FusionInventory/Agent/Task/Inventory/Input/Solaris/CPU.pm +++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Solaris/CPU.pm @@ -18,11 +18,23 @@ sub doInventory { my $inventory = $params{inventory}; my $logger = $params{logger}; + foreach my $cpu (_getCPUs()) { + $inventory->addEntry( + section => 'CPUS', + entry => $cpu + ); + } + +} + +sub _getCPUs { + my (%params) = @_; + # get virtual cpus from psrinfo -v - my @vcpus = _getVirtualCPUs(logger => $logger); + my @vcpus = _getVirtualCPUs(logger => $params{logger}); # get physical cpus from psrinfo -vp - my @pcpus = _getPhysicalCPUs(logger => $logger); + my @pcpus = _getPhysicalCPUs(logger => $params{logger}); # consider all cpus as identical my $type = $pcpus[0]->{type} || $vcpus[0]->{type}; @@ -56,22 +68,20 @@ sub doInventory { # deduce core numbers from number of virtual cpus if needed if (!$cores) { - # todo: solaris zone + # cores may be < 1 in case of virtualisation $cores = (scalar @vcpus) / $threads / $cpus; } - while ($cpus--) { - $inventory->addEntry( - section => 'CPUS', - entry => { + return + map { + { MANUFACTURER => $manufacturer, NAME => $type, SPEED => $speed, CORE => $cores, THREAD => $threads } - ); - } + } 1 .. $cpus; } sub _getVirtualCPUs {