From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id 04EC95A031E for ; Thu, 25 Jul 2024 06:38:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202312; t=1721882271; bh=hYbys9tdKkpTYT1yS+LfXJXEjggZBD86BiJEOEb7cqA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ihqNfOD4w7OzeKMHj71IBPjBrCiiVPvAp6faffAh3ngpJYs2DvfAJIB0rLOPegens RpOLC6X9bTgylG7bdJEmSaXK0jvK/hwTuzoyAGKhr0I1xx/fg4nMvhMi0yMqi4cjLA FFuHrByD+FavQgUdnCDSYI1tJ8w1eAvNhjKAOkfuNb1TcCMmjvOGPhIOHk2TcAeVXn wII5SNM+D/9cpBn71avnW/TsYZ+THXLHudcVX/bux8USZEhwZc7ai1oElHL1RpKQwv e4IjH8CjG+u963BZQ3JRhLP9jsI2kQl+DM9IUf3vdsZsbXUHmf2PH0G/HU7L2/dcjz KtmG9gOeNHClg== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4WTymb6VJpz4w2Q; Thu, 25 Jul 2024 14:37:51 +1000 (AEST) Date: Thu, 25 Jul 2024 13:50:35 +1000 From: David Gibson To: Stefano Brivio Subject: Re: [PATCH 06/11] test: Fix memory/passt tests, --netns-only is not a valid option for passt Message-ID: References: <20240724215021.3366863-1-sbrivio@redhat.com> <20240724215021.3366863-7-sbrivio@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="VcCsO+0KgowpNfHs" Content-Disposition: inline In-Reply-To: <20240724215021.3366863-7-sbrivio@redhat.com> Message-ID-Hash: 3I2JGDZTUXGONMGILUZIEW3N25KGEOTT X-Message-ID-Hash: 3I2JGDZTUXGONMGILUZIEW3N25KGEOTT X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --VcCsO+0KgowpNfHs Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jul 24, 2024 at 11:50:12PM +0200, Stefano Brivio wrote: > This used to work on my setup as I kept reusing an old mbuto > (initramfs) image, but since commit 65923ba79877 ("conf: Accept > duplicate and conflicting options, the last one wins"), --netns-only > is, as originally intended, a pasta-only option. >=20 > I had used --netns-only, here, to prevent passt from trying to detach > its own user namespace, which is not permitted as we're in a chroot, > see unshare(2). In turn, we need the chroot because passt can't pivot > root directly into its own empty filesystem using an initramfs. >=20 > Use switch_root into the tmpfs mountpoint instead of chroot, so that > we can still detach user namespaces. >=20 > Note that in the mbuto images, we can't switch to nobody as we have > no password entries at all, so we need to detach a further user > namespace before starting passt, to trick passt into running as UID > 0. >=20 > Given the new sequence, it's now more convenient to directly switch > to a detached network namespace as well, which means we need to move > the initialisation of the dummy network from the init script into the > test script. >=20 > Reported-by: David Gibson > Signed-off-by: Stefano Brivio Excellent, I can run these tests again. Tested-by: David Gibson Reviewed-by: David Gibson > --- > test/memory/passt | 13 ++++++++++--- > test/passt.mem.mbuto | 9 +-------- > 2 files changed, 11 insertions(+), 11 deletions(-) >=20 > diff --git a/test/memory/passt b/test/memory/passt > index 1193af8..bf78c8f 100644 > --- a/test/memory/passt > +++ b/test/memory/passt > @@ -44,7 +44,7 @@ endef > def start_stop_diff > guest sed /proc/slabinfo -ne 's/^\([^ ]* *[^ ]* *[^ ]* *[^ ]*\).*/\\\1/p= ' > /tmp/slabinfo.before > guest cat /proc/meminfo > /tmp/meminfo.before > -guest /bin/passt.avx2 -l /tmp/log -s /tmp/sock -P /tmp/pid __OPTS__ --ne= tns-only > +guest /bin/passt.avx2 -l /tmp/log -s /tmp/sock -P /tmp/pid __OPTS__ > sleep 2 > guest cat /proc/meminfo > /tmp/meminfo.after > guest sed /proc/slabinfo -ne 's/^\([^ ]* *[^ ]* *[^ ]* *[^ ]*\).*/\\\1/p= ' > /tmp/slabinfo.after > @@ -78,9 +78,16 @@ guest mount -o bind /proc /test/proc > guest mount -o bind /dev /test/dev > guest cp -Lr /bin /lib /lib64 /usr /sbin /test/ > =20 > +guest exec switch_root /test /bin/sh > + > guest ulimit -Hn 300000 > -guest unshare -rUm -R /test > -guest chroot . > +guest unshare -rUn > +guest ip link add eth0 type dummy > +guest ip link set eth0 up > +guest ip address add 192.0.2.2/24 dev eth0 > +guest ip address add 2001:db8::2/64 dev eth0 > +guest ip route add default via 192.0.2.1 > +guest ip -6 route add default via 2001:db8::1 dev eth0 > =20 > guest meminfo_size() { grep "^$2:" $1 | tr -s ' ' | cut -f2 -d ' '; } > guest meminfo_diff() { echo $(( $(meminfo_size $2 $3) - $(meminfo_size $= 1 $3) )); } > diff --git a/test/passt.mem.mbuto b/test/passt.mem.mbuto > index 56f5139..532eae0 100755 > --- a/test/passt.mem.mbuto > +++ b/test/passt.mem.mbuto > @@ -12,7 +12,7 @@ > =20 > PROGS=3D"${PROGS:-ash,dash,bash chmod ip mount insmod mkdir ln cat chmod= modprobe > grep mknod sed chown sleep bc ls ps mount unshare chroot cp kill = diff > - head tail sort tr tee cut nm which}" > + head tail sort tr tee cut nm which switch_root}" > =20 > KMODS=3D"${KMODS:- dummy}" > =20 > @@ -29,13 +29,6 @@ COPIES=3D"${COPIES} ../passt.avx2,/bin/passt.avx2" > FIXUP=3D"${FIXUP}"' > ln -s /bin /usr/bin > chmod 777 /tmp > -ip link add eth0 type dummy > -ip link set eth0 up > -ip address add 192.0.2.2/24 dev eth0 > -ip address add 2001:db8::2/64 dev eth0 > -ip route add default via 192.0.2.1 > -ip -6 route add default via 2001:db8::1 dev eth0 > -sleep 2 > sh +m > ' > =20 --=20 David Gibson (he or they) | 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 --VcCsO+0KgowpNfHs Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEO+dNsU4E3yXUXRK2zQJF27ox2GcFAmahy4oACgkQzQJF27ox 2GexBw//ZLen+mQxrQ2f+KHg8KdkBKhKY7cZex87aWmUEjtinW6DninYQ2JvzQ15 ZpVhqHgNcXsHoVYeKUNXA/Qd/O6epsuZyyxSkHFji05hpCRInQoZgTKS0R2JhGBq hKkzbMbxmwn9JdrAwRHECB+V43xf7vv/Q7uCUJX5a2SeGqbLT4ldACrXxaY1GR4/ 1+79uyNTIH3chKOS5Ehr+ReFNxRh0I4OcajI2lzkEtFCIfP7tIhQLgQ6MUeO24TJ J1YgQZB5WHjJH0/QmeBg04lomSDgMw1dIEcUtzL/mxdn/RdG6zDHQzTACjQ6AYHh yDvNsA1EzUjvMkyZIegooDc6+QioDEiJ3vZpm0eAMUhAwdavFCcmMS6MuTKVZJOz WX7wmBYM/9gAiKNyMYtQtVL89CyEywOOAum0Z9k1r4ZUCEEWyuCd1uwrcpgRNoSs QQYwnmIsrkJx0ERLyYb/hYs+z3jiW+jdd4/dVMMHalM9zfE2QfdgVzXISHWWQ1SO bqs9qI2DvWf/msj4aBCBk7T2uPX3fSEA968oytC/BlqQgxWr1tSbXojKObBJ+TNp uEXe5MmZo16iZK0Lt/BPVBzWexusrhdzPJFu/HFUvtyFi129GjCaVHC/8rTY45n+ 81k/DBQKoJn5lm+XcYWbK9yoLX7ozHPSZlUdN+dvFWoYjQeGLmA= =SL/J -----END PGP SIGNATURE----- --VcCsO+0KgowpNfHs--