test: In demos, use pgrep instead of pstree to find namespace PID
Parsing pstree's output is somewhat unreliable: there might be multiple pasta instances running on the same host, and depending on the overall output width pstree might truncate some branches. Ask pasta to save its PID to file, and use that as parameter for pgrep to find the PID of the interactive shell whose user and network namespaces we want to join. Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
95f7b4ec3f
commit
a4778b3b81
2 changed files with 6 additions and 8 deletions
|
@ -70,7 +70,7 @@ say 'pasta' demo above.
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
passt cd __TEMPDIR__/passt
|
passt cd __TEMPDIR__/passt
|
||||||
passtb ./pasta
|
passtb ./pasta -P /tmp/pasta.pid
|
||||||
sleep 3
|
sleep 3
|
||||||
passt /sbin/dhclient -4 --no-pid
|
passt /sbin/dhclient -4 --no-pid
|
||||||
sleep 2
|
sleep 2
|
||||||
|
@ -83,8 +83,7 @@ say Now let's run 'passt' in the new namespace, and
|
||||||
nl
|
nl
|
||||||
say enter this namespace from the guest terminal too.
|
say enter this namespace from the guest terminal too.
|
||||||
sleep 3
|
sleep 3
|
||||||
guest pstree -p | grep pasta
|
gout TARGET_PID pgrep -P $(cat /tmp/pasta.pid)
|
||||||
gout TARGET_PID pstree -p | grep pasta | sed -n 's/.*(\([0-9].*\))$/\1/p'
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
passtb ./passt -f -t 5201,5203
|
passtb ./passt -f -t 5201,5203
|
||||||
|
|
|
@ -48,7 +48,7 @@ nl
|
||||||
say without PID, it will create a namespace.
|
say without PID, it will create a namespace.
|
||||||
sleep 3
|
sleep 3
|
||||||
passt cd __TEMPDIR__/passt
|
passt cd __TEMPDIR__/passt
|
||||||
passtb ./pasta
|
passtb ./pasta -P /tmp/pasta.pid
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
nl
|
nl
|
||||||
|
@ -57,8 +57,7 @@ say For convenience, let's enter this namespace
|
||||||
nl
|
nl
|
||||||
say from another terminal.
|
say from another terminal.
|
||||||
sleep 3
|
sleep 3
|
||||||
ns pstree -p | grep pasta
|
nsout TARGET_PID pgrep -P $(cat /tmp/pasta.pid)
|
||||||
nsout TARGET_PID pstree -p | grep pasta | sed -n 's/.*(\([0-9].*\))$/\1/p'
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
ns nsenter -t __TARGET_PID__ -U -n --preserve-credentials
|
ns nsenter -t __TARGET_PID__ -U -n --preserve-credentials
|
||||||
|
@ -171,10 +170,10 @@ passt exit
|
||||||
passt make clean
|
passt make clean
|
||||||
passt CFLAGS="-g" make
|
passt CFLAGS="-g" make
|
||||||
sleep 2
|
sleep 2
|
||||||
passtb perf record -g ./pasta
|
passtb perf record -g ./pasta -P /tmp/pasta.pid
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
nsout TARGET_PID pstree -p | grep pasta | sed -n 's/.*(\([0-9].*\))$/\1/p'
|
nsout TARGET_PID pgrep -P $(cat /tmp/pasta.pid)
|
||||||
sleep 1
|
sleep 1
|
||||||
ns nsenter -t __TARGET_PID__ -U -n --preserve-credentials
|
ns nsenter -t __TARGET_PID__ -U -n --preserve-credentials
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
Loading…
Reference in a new issue