On Thu, Mar 2, 2023 at 8:17 PM Xiangyu Chen
<[email protected]> wrote:
>
> Hi Bruce,
>
>
> On 3/3/23 05:24, Bruce Ashfield wrote:
> > CAUTION: This email comes from a non Wind River email account!
> > Do not click links or open attachments unless you recognize the sender and 
> > know the content is safe.
> >
> > In message: [meta-virtualization][PATCH 0/1] lxc: templates/lxc-busybox.in: 
> > if busybox contains init then use it
> > on 01/03/2023 Xiangyu Chen wrote:
> >
> >> From: Xiangyu Chen <[email protected]>
> >>
> >> Hi Bruce,
> >>
> >> Recently we found that the lxc ptest has lots of failure cases as below 
> >> log-1, after checking the
> >> code, some cases failed due to related the init progess. For example, 
> >> lxc-test-exit-code need to
> >> start container as daemon, but if using bash as init, the container cannot 
> >> start correctly.
> > Is there an indication of what busybox is providing that bash isn't ?
>
> In my local setup, when using bash as container init, the container
> doesn't support "reboot" and cannot start correctly in a daemon mode,
> test step as below:
>
> lxc-create -t busybox -n t
>
> lxc-start -n t -d
>
> lxc-ls -f
>
> the container "t" status still in "STOPPED", but when we use a busybox
> init instead of bash, the container status is correct in daemon mode.
>

I'm setting up to test this myself, but generally speaking we should
include this detail in the commit log.

>
> >
> > I don't like to force this in the ptest, while for actual lxc containers
> > we still allow bash, which means it may not be functional.
>
> This is a common template for lxc, but I am not sure whether others
> still need bash as lxc container init, so I based the patch
>
> "template-make-busybox-template-compatible-with-core-.patch" to add the
> busybox back.
>

That's the part that concerns me. Why does our bash behave differently
than in other lxc integrations and other distros ?

Do you have the ability to run the same simple tests you have above on
a desktop distro ?

I don't want to force this switch to busybox, without understanding if
we are the only ones seeing this issue .. since that means we are
simply hiding an issue, versus fixing it.

Bruce
>
> >
> > There are other init options in meta-virt, like the docker tini, if we
> > had to enforce something, I'd rather that than busybox.
>
> Good to hear the tini :)
>
> Indeed, enable the busybox-init might need lots of additional effort to
> take care of system which using systemd, otherwise, /sbin/init always to
> be covered by busybox.
>
> >
> > Bruce
>
>
> Br,
>
> Xiangyu
>
>
> >> So added a busybox init utils checking in lxc-busybox template, if current 
> >> system busybox contains
> >> init then use it, after applying this patch, the ptest result as log-2.
> >>
> >>
> >> ######## 1og-1: ptest without patch #######
> >>
> >> Starting LXC ptest ###
> >> FAIL: lxc-test-api-reboot
> >> SKIPPED: lxc-test-apparmor
> >> PASS: lxc-test-apparmor-generated
> >> FAIL: lxc-test-apparmor-mount
> >> PASS: lxc-test-arch-parse
> >> FAIL: lxc-test-attach
> >> PASS: lxc-test-automount
> >> FAIL: lxc-test-autostart
> >> PASS: lxc-test-basic
> >> FAIL: lxc-test-capabilities
> >> FAIL: lxc-test-cgpath
> >> PASS: lxc-test-checkpoint-restore
> >> FAIL: lxc-test-cloneconfig
> >> FAIL: lxc-test-clonetest
> >> FAIL: lxc-test-concurrent
> >> PASS: lxc-test-config-jump-table
> >> FAIL: lxc-test-console
> >> FAIL: lxc-test-console-log
> >> FAIL: lxc-test-containertests
> >> FAIL: lxc-test-createconfig
> >> FAIL: lxc-test-createtest
> >> PASS: lxc-test-criu-check-feature
> >> FAIL: lxc-test-cve-2019-5736
> >> FAIL: lxc-test-destroytest
> >> FAIL: lxc-test-device-add-remove
> >> FAIL: lxc-test-exit-code
> >> FAIL: lxc-test-get_item
> >> PASS: lxc-test-getkeys
> >> PASS: lxc-test-list
> >> PASS: lxc-test-locktests
> >> FAIL: lxc-test-lxc-attach
> >> PASS: lxc-test-lxcpath
> >> PASS: lxc-test-may-control
> >> FAIL: lxc-test-mount-injection
> >> FAIL: lxc-test-no-new-privs
> >> PASS: lxc-test-parse-config-file
> >> FAIL: lxc-test-proc-pid
> >> FAIL: lxc-test-procsys
> >> PASS: lxc-test-raw-clone
> >> PASS: lxc-test-reboot
> >> FAIL: lxc-test-rootfs
> >> FAIL: lxc-test-rootfs-options
> >> FAIL: lxc-test-saveconfig
> >> FAIL: lxc-test-share-ns
> >> FAIL: lxc-test-shortlived
> >> SKIPPED: lxc-test-shutdowntest
> >> FAIL: lxc-test-snapdeps
> >> FAIL: lxc-test-snapshot
> >> FAIL: lxc-test-startone
> >> SKIPPED: lxc-test-state-server
> >> FAIL: lxc-test-symlink
> >> FAIL: lxc-test-sys-mixed
> >> FAIL: lxc-test-sysctls
> >> FAIL: lxc-test-unpriv
> >> FAIL: lxc-test-usernic
> >> PASS: lxc-test-usernsexec
> >> PASS: lxc-test-utils
> >>
> >>
> >>
> >>
> >>
> >> Results:
> >>      PASSED = 17
> >>      FAILED = 37
> >>      SKIPPED = 3
> >> (for details check individual test log in ./logs directory)
> >>
> >>
> >> ###########log-2: ptest with patch ###################
> >> root@intel-x86-64:/usr/lib64/lxc/ptest# ./run-ptest
> >> ### Starting LXC ptest ###
> >> PASS: lxc-test-api-reboot
> >> SKIPPED: lxc-test-apparmor
> >> PASS: lxc-test-apparmor-generated
> >> FAIL: lxc-test-apparmor-mount
> >> PASS: lxc-test-arch-parse
> >> PASS: lxc-test-attach
> >> PASS: lxc-test-automount
> >> PASS: lxc-test-autostart
> >> PASS: lxc-test-basic
> >> PASS: lxc-test-capabilities
> >> PASS: lxc-test-cgpath
> >> PASS: lxc-test-checkpoint-restore
> >> FAIL: lxc-test-cloneconfig
> >> PASS: lxc-test-clonetest
> >> PASS: lxc-test-concurrent
> >> PASS: lxc-test-config-jump-table
> >> PASS: lxc-test-console
> >> PASS: lxc-test-console-log
> >> PASS: lxc-test-containertests
> >> PASS: lxc-test-createconfig
> >> PASS: lxc-test-createtest
> >> PASS: lxc-test-criu-check-feature
> >> PASS: lxc-test-cve-2019-5736
> >> PASS: lxc-test-destroytest
> >> PASS: lxc-test-device-add-remove
> >> PASS: lxc-test-exit-code
> >> FAIL: lxc-test-get_item
> >> PASS: lxc-test-getkeys
> >> PASS: lxc-test-list
> >> PASS: lxc-test-locktests
> >> PASS: lxc-test-lxc-attach
> >> PASS: lxc-test-lxcpath
> >> PASS: lxc-test-may-control
> >> PASS: lxc-test-mount-injection
> >> FAIL: lxc-test-no-new-privs
> >> PASS: lxc-test-parse-config-file
> >> PASS: lxc-test-proc-pid
> >> PASS: lxc-test-procsys
> >> PASS: lxc-test-raw-clone
> >> PASS: lxc-test-reboot
> >> PASS: lxc-test-rootfs
> >> PASS: lxc-test-rootfs-options
> >> PASS: lxc-test-saveconfig
> >> PASS: lxc-test-share-ns
> >> PASS: lxc-test-shortlived
> >> SKIPPED: lxc-test-shutdowntest
> >> FAIL: lxc-test-snapdeps
> >> PASS: lxc-test-snapshot
> >> PASS: lxc-test-startone
> >> SKIPPED: lxc-test-state-server
> >> PASS: lxc-test-symlink
> >> PASS: lxc-test-sys-mixed
> >> PASS: lxc-test-sysctls
> >> FAIL: lxc-test-unpriv
> >> FAIL: lxc-test-usernic
> >> PASS: lxc-test-usernsexec
> >> PASS: lxc-test-utils
> >>
> >> Results:
> >>      PASSED = 47
> >>      FAILED = 7
> >>      SKIPPED = 3
> >> (for details check individual test log in ./logs directory)
> >>
> >>
> >>
> >>
> >> Xiangyu Chen (1):
> >>    lxc: templates/lxc-busybox.in: if busybox contains init then use it
> >>
> >>   ...box-contains-init-use-it-in-containe.patch | 45 +++++++++++++++++++
> >>   recipes-containers/lxc/lxc_git.bb             |  1 +
> >>   2 files changed, 46 insertions(+)
> >>   create mode 100644 
> >> recipes-containers/lxc/files/0001-template-if-busybox-contains-init-use-it-in-containe.patch
> >>
> >> --
> >> 2.34.1
> >>
> >> 
> >>



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7934): 
https://lists.yoctoproject.org/g/meta-virtualization/message/7934
Mute This Topic: https://lists.yoctoproject.org/mt/97306618/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/meta-virtualization/leave/6693005/21656/1014668956/xyzzy
 [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to