195df866ab
- Add various options - Fix depends - Improve depends based on options PR: ports/167017 Submitted by: akrus <akrus@flygroup.st> Approved by: Veniamin Gvozdikov <g.veniamin@googlemail.com> (maintainer)
64 lines
1.5 KiB
Text
64 lines
1.5 KiB
Text
--- lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Jails.pm 1970-01-01 01:00:00.000000000 +0100
|
|
+++ lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Jails.pm 2012-05-29 09:35:00.000000000 +0100
|
|
@@ -0,0 +1,61 @@
|
|
+package FusionInventory::Agent::Task::Inventory::Input::Virtualization::Jails;
|
|
+
|
|
+use strict;
|
|
+use warnings;
|
|
+
|
|
+use FusionInventory::Agent::Tools;
|
|
+
|
|
+sub isEnabled {
|
|
+ return canRun('jls');
|
|
+}
|
|
+
|
|
+sub doInventory {
|
|
+ my (%params) = @_;
|
|
+
|
|
+ my $inventory = $params{inventory};
|
|
+ my $logger = $params{inventory};
|
|
+
|
|
+ my $command = 'jls -n';
|
|
+ foreach my $machine (_getVirtualMachines(logger => $logger)) {
|
|
+ $inventory->addEntry(
|
|
+ section => 'VIRTUALMACHINES', entry => $machine
|
|
+ );
|
|
+ }
|
|
+}
|
|
+
|
|
+sub _getVirtualMachines {
|
|
+ my (%params) = (
|
|
+ command => 'jls -n',
|
|
+ @_
|
|
+ );
|
|
+
|
|
+ my $handle = getFileHandle(%params);
|
|
+
|
|
+ return unless $handle;
|
|
+
|
|
+ my @machines;
|
|
+ while (my $line = <$handle>) {
|
|
+ my $info;
|
|
+ foreach my $item (split(' ', $line)) {
|
|
+ next unless $item =~ /(\S+)=(\S+)/;
|
|
+ my $key = $1;
|
|
+ my $value = $2;
|
|
+ $info->{$1} = $2;
|
|
+ }
|
|
+
|
|
+ my $machine = {
|
|
+ VMTYPE => 'jail',
|
|
+ NAME => $info->{'host.hostname'},
|
|
+ VMID => $info->{'jid'},
|
|
+ STATUS => 'running'
|
|
+ };
|
|
+
|
|
+ push @machines, $machine;
|
|
+
|
|
+ }
|
|
+ close $handle;
|
|
+
|
|
+ return @machines;
|
|
+}
|
|
+
|
|
+1;
|