From 6be45b0b7b3bc79d0d4647517e71f0ccc248a0f9 Mon Sep 17 00:00:00 2001 From: mayasd Date: Fri, 4 Feb 2022 14:00:14 +0000 Subject: [PATCH 1/2] Virtualization/LXC: use utsname instead of container name --- .../Agent/Task/Inventory/Virtualization/Lxc.pm | 7 +++++++ t/tasks/inventory/virtualization/lxc.t | 1 + 2 files changed, 8 insertions(+) diff --git a/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm b/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm index bc1e2fe038..caa07bc5c4 100644 --- a/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm +++ b/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm @@ -70,8 +70,10 @@ sub _getVirtualMachine { if ($params{version} < 2.1) { # Before 2.1, we need to find MAC as lxc.network.hwaddr in config $command .= "; grep lxc.network.hwaddr $params{config}"; + $command .= "; grep lxc.utsname $params{config}"; } else { $command .= " -c lxc.net.0.hwaddr"; + $command .= " -c lxc.uts.name"; } my $handle = getFileHandle( @@ -87,6 +89,10 @@ sub _getVirtualMachine { my $key = $1; my $val = $2; + if ($key eq 'lxc.uts.name' || $key eq 'lxc.utsname') { + $container->{UTS_NAME} = $val; + } + if ($key eq 'lxc.network.hwaddr' || $key eq 'lxc.net.0.hwaddr') { $container->{MAC} = lc($val) if $val =~ $mac_address_pattern; @@ -190,6 +196,7 @@ sub _getVirtualMachines { my $uuid = getVirtualUUID($machineid, $hostname); $container->{UUID} = $uuid if $uuid; + $container->{NAME} = $container->{UTS_NAME} if $container->{UTS_NAME}; push @machines, $container; } diff --git a/t/tasks/inventory/virtualization/lxc.t b/t/tasks/inventory/virtualization/lxc.t index cad9bcb645..bcd5aa9422 100755 --- a/t/tasks/inventory/virtualization/lxc.t +++ b/t/tasks/inventory/virtualization/lxc.t @@ -21,6 +21,7 @@ my %container_tests = ( version => 2.0, result => { NAME => 'config', + UTS_NAME => 'name1', VMTYPE => 'lxc', STATUS => STATUS_OFF, MEMORY => '2048000', From bb1a913d8aa8795df80b482215358fee207f0a8b Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 4 Feb 2022 17:11:39 +0100 Subject: [PATCH 2/2] Update lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm Co-authored-by: Guillaume Bougard --- lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm b/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm index caa07bc5c4..899884ba2e 100644 --- a/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm +++ b/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm @@ -196,7 +196,8 @@ sub _getVirtualMachines { my $uuid = getVirtualUUID($machineid, $hostname); $container->{UUID} = $uuid if $uuid; - $container->{NAME} = $container->{UTS_NAME} if $container->{UTS_NAME}; + my $utsname = delete $container->{UTS_NAME}; + $container->{NAME} = $utsname if $utsname && $container->{NAME} =~ /^\d+$/; push @machines, $container; }