* [PATCH 0/2] doc/demo: Fix two issues seen on Fedora 36
@ 2022-09-16 23:55 Stefano Brivio
2022-09-16 23:55 ` [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly Stefano Brivio
2022-09-16 23:55 ` [PATCH 2/2] doc/demo: Clone and use mbuto in init namespace Stefano Brivio
0 siblings, 2 replies; 6+ messages in thread
From: Stefano Brivio @ 2022-09-16 23:55 UTC (permalink / raw)
To: passt-dev
[-- Attachment #1: Type: text/plain, Size: 261 bytes --]
Stefano Brivio (2):
doc/demo: Drop /sbin from dhclient command, pass script file
explicitly
doc/demo: Clone and use mbuto in init namespace
doc/demo.sh | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly
2022-09-16 23:55 [PATCH 0/2] doc/demo: Fix two issues seen on Fedora 36 Stefano Brivio
@ 2022-09-16 23:55 ` Stefano Brivio
2022-09-17 3:23 ` David Gibson
2022-09-16 23:55 ` [PATCH 2/2] doc/demo: Clone and use mbuto in init namespace Stefano Brivio
1 sibling, 1 reply; 6+ messages in thread
From: Stefano Brivio @ 2022-09-16 23:55 UTC (permalink / raw)
To: passt-dev
[-- Attachment #1: Type: text/plain, Size: 1005 bytes --]
dhclient might be in /usr/sbin on recent versions of Fedora, and
mbuto just adds it to the same location as it was on the host:
just call dhclient instead of /sbin/dhclient.
This also applies for dhclient-script: given that we create the file
on boot, pass its explicit location with -sf.
Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
doc/demo.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/demo.sh b/doc/demo.sh
index d39a10e..f704ed4 100755
--- a/doc/demo.sh
+++ b/doc/demo.sh
@@ -63,11 +63,11 @@ EOF
echo "$ ip link set dev eth0 up"
ip link set dev eth0 up
sleep 3
- echo "$ /sbin/dhclient -4 -1"
- /sbin/dhclient -4 -1
+ echo "$ dhclient -4 -1 -sf /sbin/dhclient-script"
+ dhclient -4 -1 -sf /sbin/dhclient-script
sleep 2
- echo "$ /sbin/dhclient -6 -1"
- /sbin/dhclient -6 -1
+ echo "$ dhclient -6 -1 -sf /sbin/dhclient-script"
+ dhclient -6 -1 -sf /sbin/dhclient-script
sleep 2
echo
echo "$ ip address show"
--
@@ -63,11 +63,11 @@ EOF
echo "$ ip link set dev eth0 up"
ip link set dev eth0 up
sleep 3
- echo "$ /sbin/dhclient -4 -1"
- /sbin/dhclient -4 -1
+ echo "$ dhclient -4 -1 -sf /sbin/dhclient-script"
+ dhclient -4 -1 -sf /sbin/dhclient-script
sleep 2
- echo "$ /sbin/dhclient -6 -1"
- /sbin/dhclient -6 -1
+ echo "$ dhclient -6 -1 -sf /sbin/dhclient-script"
+ dhclient -6 -1 -sf /sbin/dhclient-script
sleep 2
echo
echo "$ ip address show"
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] doc/demo: Clone and use mbuto in init namespace
2022-09-16 23:55 [PATCH 0/2] doc/demo: Fix two issues seen on Fedora 36 Stefano Brivio
2022-09-16 23:55 ` [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly Stefano Brivio
@ 2022-09-16 23:55 ` Stefano Brivio
1 sibling, 0 replies; 6+ messages in thread
From: Stefano Brivio @ 2022-09-16 23:55 UTC (permalink / raw)
To: passt-dev
[-- Attachment #1: Type: text/plain, Size: 1949 bytes --]
...and not in pasta's namespace: the fakeroot(1) version shipping
with (at least) Fedora 36 assumes "nested" operation as it sees that
the UID is 0, and claims it's not supported.
Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
doc/demo.sh | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/doc/demo.sh b/doc/demo.sh
index f704ed4..ed71ffb 100755
--- a/doc/demo.sh
+++ b/doc/demo.sh
@@ -128,6 +128,19 @@ start_pasta_delayed() {
exit 0
}
+# start_mbuto_delayed() - Run mbuto once, and if, $DEMO_DIR/mbuto.wait is gone
+start_mbuto_delayed() {
+ trap '' EXIT
+ while [ -d "${DEMO_DIR}/mbuto.wait" ]; do sleep 1; done
+ cmd git -C "${DEMO_DIR}" clone git://mbuto.sh/mbuto
+ echo
+ cmd "${DEMO_DIR}/mbuto/mbuto" \
+ -p "$(realpath "${0}")" -f "${DEMO_DIR}/demo.img"
+
+ mkdir "${DEMO_DIR}/mbuto.done"
+ exit 0
+}
+
# into_ns() - Entry point and demo script to run inside new namespace
into_ns() {
echo "We're in the new namespace now."
@@ -204,11 +217,8 @@ into_ns() {
exit 0
fi
- cmd git -C "${DEMO_DIR}" clone git://mbuto.sh/mbuto
- echo
- cmd "${DEMO_DIR}/mbuto/mbuto" \
- -p "$(realpath "${0}")" -f "${DEMO_DIR}/demo.img"
- echo
+ rmdir "${DEMO_DIR}/mbuto.wait"
+ while [ ! -d "${DEMO_DIR}/mbuto.done" ]; do sleep 1; done
echo "The guest image is ready. The next step will start the guest."
echo "Use ^C to terminate it."
next
@@ -229,6 +239,7 @@ trap cleanup EXIT INT
DEMO_DIR="$(mktemp -d)"
mkdir "${DEMO_DIR}/pasta.wait"
+mkdir "${DEMO_DIR}/mbuto.wait"
echo "This script sets up a network and user namespace using pasta(1), then"
echo "starts a virtual machine in it, connected via passt(1), pausing at every"
@@ -242,6 +253,7 @@ echo "of this script from there."
next
start_pasta_delayed &
+start_mbuto_delayed &
DEMO_DIR="${DEMO_DIR}" cmd unshare -rUn "${0}" into_ns
exit 0
--
@@ -128,6 +128,19 @@ start_pasta_delayed() {
exit 0
}
+# start_mbuto_delayed() - Run mbuto once, and if, $DEMO_DIR/mbuto.wait is gone
+start_mbuto_delayed() {
+ trap '' EXIT
+ while [ -d "${DEMO_DIR}/mbuto.wait" ]; do sleep 1; done
+ cmd git -C "${DEMO_DIR}" clone git://mbuto.sh/mbuto
+ echo
+ cmd "${DEMO_DIR}/mbuto/mbuto" \
+ -p "$(realpath "${0}")" -f "${DEMO_DIR}/demo.img"
+
+ mkdir "${DEMO_DIR}/mbuto.done"
+ exit 0
+}
+
# into_ns() - Entry point and demo script to run inside new namespace
into_ns() {
echo "We're in the new namespace now."
@@ -204,11 +217,8 @@ into_ns() {
exit 0
fi
- cmd git -C "${DEMO_DIR}" clone git://mbuto.sh/mbuto
- echo
- cmd "${DEMO_DIR}/mbuto/mbuto" \
- -p "$(realpath "${0}")" -f "${DEMO_DIR}/demo.img"
- echo
+ rmdir "${DEMO_DIR}/mbuto.wait"
+ while [ ! -d "${DEMO_DIR}/mbuto.done" ]; do sleep 1; done
echo "The guest image is ready. The next step will start the guest."
echo "Use ^C to terminate it."
next
@@ -229,6 +239,7 @@ trap cleanup EXIT INT
DEMO_DIR="$(mktemp -d)"
mkdir "${DEMO_DIR}/pasta.wait"
+mkdir "${DEMO_DIR}/mbuto.wait"
echo "This script sets up a network and user namespace using pasta(1), then"
echo "starts a virtual machine in it, connected via passt(1), pausing at every"
@@ -242,6 +253,7 @@ echo "of this script from there."
next
start_pasta_delayed &
+start_mbuto_delayed &
DEMO_DIR="${DEMO_DIR}" cmd unshare -rUn "${0}" into_ns
exit 0
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly
2022-09-16 23:55 ` [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly Stefano Brivio
@ 2022-09-17 3:23 ` David Gibson
2022-09-17 8:44 ` Stefano Brivio
0 siblings, 1 reply; 6+ messages in thread
From: David Gibson @ 2022-09-17 3:23 UTC (permalink / raw)
To: passt-dev
[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]
On Sat, Sep 17, 2022 at 01:55:18AM +0200, Stefano Brivio wrote:
> dhclient might be in /usr/sbin on recent versions of Fedora, and
> mbuto just adds it to the same location as it was on the host:
> just call dhclient instead of /sbin/dhclient.
>
> This also applies for dhclient-script: given that we create the file
> on boot, pass its explicit location with -sf.
>
> Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
Hm, for the tests mbuto image I addressed this with symlinks instead.
Not sure which is more elegant.
> ---
> doc/demo.sh | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/doc/demo.sh b/doc/demo.sh
> index d39a10e..f704ed4 100755
> --- a/doc/demo.sh
> +++ b/doc/demo.sh
> @@ -63,11 +63,11 @@ EOF
> echo "$ ip link set dev eth0 up"
> ip link set dev eth0 up
> sleep 3
> - echo "$ /sbin/dhclient -4 -1"
> - /sbin/dhclient -4 -1
> + echo "$ dhclient -4 -1 -sf /sbin/dhclient-script"
> + dhclient -4 -1 -sf /sbin/dhclient-script
> sleep 2
> - echo "$ /sbin/dhclient -6 -1"
> - /sbin/dhclient -6 -1
> + echo "$ dhclient -6 -1 -sf /sbin/dhclient-script"
> + dhclient -6 -1 -sf /sbin/dhclient-script
> sleep 2
> echo
> echo "$ ip address show"
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly
2022-09-17 3:23 ` David Gibson
@ 2022-09-17 8:44 ` Stefano Brivio
2022-09-17 9:50 ` David Gibson
0 siblings, 1 reply; 6+ messages in thread
From: Stefano Brivio @ 2022-09-17 8:44 UTC (permalink / raw)
To: passt-dev
[-- Attachment #1: Type: text/plain, Size: 812 bytes --]
On Sat, 17 Sep 2022 13:23:55 +1000
David Gibson <david(a)gibson.dropbear.id.au> wrote:
> On Sat, Sep 17, 2022 at 01:55:18AM +0200, Stefano Brivio wrote:
> > dhclient might be in /usr/sbin on recent versions of Fedora, and
> > mbuto just adds it to the same location as it was on the host:
> > just call dhclient instead of /sbin/dhclient.
> >
> > This also applies for dhclient-script: given that we create the file
> > on boot, pass its explicit location with -sf.
> >
> > Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
>
> Hm, for the tests mbuto image I addressed this with symlinks instead.
> Not sure which is more elegant.
Yes, I noticed... I think the symlinks are actually more elegant, but
this is meant for interactive usage, and that has some potential to
confuse the user.
--
Stefano
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly
2022-09-17 8:44 ` Stefano Brivio
@ 2022-09-17 9:50 ` David Gibson
0 siblings, 0 replies; 6+ messages in thread
From: David Gibson @ 2022-09-17 9:50 UTC (permalink / raw)
To: passt-dev
[-- Attachment #1: Type: text/plain, Size: 1164 bytes --]
On Sat, Sep 17, 2022 at 10:44:31AM +0200, Stefano Brivio wrote:
> On Sat, 17 Sep 2022 13:23:55 +1000
> David Gibson <david(a)gibson.dropbear.id.au> wrote:
>
> > On Sat, Sep 17, 2022 at 01:55:18AM +0200, Stefano Brivio wrote:
> > > dhclient might be in /usr/sbin on recent versions of Fedora, and
> > > mbuto just adds it to the same location as it was on the host:
> > > just call dhclient instead of /sbin/dhclient.
> > >
> > > This also applies for dhclient-script: given that we create the file
> > > on boot, pass its explicit location with -sf.
> > >
> > > Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
> >
> > Hm, for the tests mbuto image I addressed this with symlinks instead.
> > Not sure which is more elegant.
>
> Yes, I noticed... I think the symlinks are actually more elegant, but
> this is meant for interactive usage, and that has some potential to
> confuse the user.
Fair enough. I don't think I've ever tried to do anything with demo.sh
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-09-17 9:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-16 23:55 [PATCH 0/2] doc/demo: Fix two issues seen on Fedora 36 Stefano Brivio
2022-09-16 23:55 ` [PATCH 1/2] doc/demo: Drop /sbin from dhclient command, pass script file explicitly Stefano Brivio
2022-09-17 3:23 ` David Gibson
2022-09-17 8:44 ` Stefano Brivio
2022-09-17 9:50 ` David Gibson
2022-09-16 23:55 ` [PATCH 2/2] doc/demo: Clone and use mbuto in init namespace Stefano Brivio
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).