Re: [PATCH virt-what] Add detection for systemd-nspawn instances

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please see the updated patch below which adds documentation.

This also needs tests which you'll need to provide.  You can look at
an existing test to see how to add one, eg:

http://git.annexia.org/?p=virt-what.git;a=tree;f=tests/lxc;h=243ce9f4a5fddef65163de34a5e10fa86ed09c80;hb=HEAD

Note you must get copies of the files from inside your systemd-nspawn
container.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
>From 95e10ec1b248d6e46c9d0a4f04981ec44d74696e Mon Sep 17 00:00:00 2001
From: Elias Probst <mail@xxxxxxxxxxxxxx>
Date: Thu, 15 Dec 2022 10:46:02 +0100
Subject: [PATCH] Add detection for systemd-nspawn instances

Also improve LXC/nspawn checks by not invoking `cat`

Co-authored-by: Elias Probst <e.probst@xxxxxxxxxxxxxxx>
Signed-off-by: Elias Probst <e.probst@xxxxxxxxxxxxxxx>
---
 virt-what.in  | 9 ++++++---
 virt-what.pod | 6 ++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/virt-what.in b/virt-what.in
index d090898..d48de92 100644
--- a/virt-what.in
+++ b/virt-what.in
@@ -174,9 +174,12 @@ fi
 # http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface
 # Added by Marc Fournier
 
-if [ -e "${root}/proc/1/environ" ] &&
-    cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=lxc'; then
-    echo lxc
+if [ -e "${root}/proc/1/environ" ]; then
+    if tr '\000' '\n' < "${root}/proc/1/environ" | grep -Eiq '^container=lxc'; then
+        echo lxc
+    elif tr '\000' '\n' < "${root}/proc/1/environ" | grep -Eiq '^container=systemd-nspawn'; then
+        echo systemd_nspawn
+    fi
 fi
 
 if [ -e "${root}/proc/1/environ" ] &&
diff --git a/virt-what.pod b/virt-what.pod
index 2c346bd..e1db53a 100644
--- a/virt-what.pod
+++ b/virt-what.pod
@@ -258,6 +258,12 @@ The guest is running on the Red Hat hypervisor.
 
 Status: confirmed by RWMJ
 
+=item B<systemd_nspawn>
+
+This process is running in a L<systemd-nspawn(1)> container.
+
+Status: contributed by Elias Probst
+
 =item B<uml>
 
 This is a User-Mode Linux (UML) guest.
-- 
2.37.3


[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux