1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
package Ocsinventory::Agent::Backend::Virtualization::SolarisLdoms;
use strict;
sub check {
my $params = shift;
my $common = $params->{common};
return unless $common->can_run('ldm');
}
sub run {
my @ldoms;
my $ldom;
my @ldomdetails;
my $ldomdetail;
my $ldomname;
my $ldomstatus;
my $ldommem;
my $ldomncpu;
my $ldomuuid;
my $ldomsoftstate;
my $params = shift;
my $common = $params->{common};
my $logger = $params->{logger};
@ldoms = `/usr/sbin/ldm list-domain -p`;
foreach $ldom (@ldoms) {
if($ldom =~ /^DOMAIN\|name=(\S+)\|state=(\S+)\|flags=\S+\|cons=\S+\|ncpu=(\d+)\|mem=(\d+)\|.*/) {
$ldomname=$1;
$ldomstatus=$2;
$ldomncpu=$3;
$ldommem=$4/1024/1024;
$ldomsoftstate="";
@ldomdetails = `/usr/sbin/ldm list-domain -o domain -p $ldomname`;
foreach $ldomdetail (@ldomdetails) {
if($ldomdetail =~ /^DOMAIN\|.*\|softstate=(.*)$/) {
$ldomsoftstate=$1;
} elsif($ldomdetail =~ /^UUID\|uuid=(.*)$/) {
$ldomuuid=$1;
}
}
my $machine = {
MEMORY => $ldommem,
NAME => $ldomname,
UUID => $ldomuuid,
STATUS => $ldomstatus,
SUBSYSTEM => $ldomsoftstate,
VMTYPE => "Solaris Ldom",
VCPU => $ldomncpu,
};
$common->addVirtualMachine($machine);
}
}
}
1;
|