mirror of
https://github.com/clearlinux/hyperstart.git
synced 2026-08-18 11:57:30 +00:00
1fda991fee855414b4c4bbaa767e135c2da47572
hyper_kill_container_processes() depends on container->ns,
but hyper_release_exec() may calls hyper_cleanup_pod() which
calls hyper_cleanup_containers() and then hyper_cleanup_container(),
and container->ns is closed in hyper_cleanup_container().
It cause hyper_kill_container_processes() failed to
stat the container->ns.
[root@box ~]# grep 'fail to stat mnt ns' /var/log/hyper/ -rIn -l
/var/log/hyper/hyperd.sbox.root.log.INFO.20160923-231500.17245
/var/log/hyper/hyperd.sbox.root.log.INFO.20160925-100719.3091
/var/log/hyper/hyperd.sbox.root.log.INFO.20160925-104216.3720
/var/log/hyper/hyperd.sbox.root.log.INFO.20160925-195450.8766
/var/log/hyper/hyperd.sbox.root.log.INFO.20160926-150357.7493
/var/log/hyper/hyperd.sbox.root.log.INFO.20160926-151213.10722
/var/log/hyper/hyperd.sbox.root.log.INFO.20160926-151555.13867
/var/log/hyper/hyperd.sbox.root.log.INFO.20160926-152510.22823
/var/log/hyper/hyperd.sbox.root.log.INFO.20160926-171120.2454
/var/log/hyper/hyperd.sbox.root.log.INFO.20160926-174512.3308
/var/log/hyper/hyperd.sbox.root.log.INFO.20160928-153012.27740
/var/log/hyper/hyperd.sbox.root.log.INFO.20160929-214026.17673
/var/log/hyper/hyperd.sbox.root.log.INFO.20160929-222011.18735
/var/log/hyper/hyperd.sbox.root.log.INFO.20161001-004225.5899
[root@box ~]# grep 'fail to stat mnt ns' /var/log/hyper/ -rIn -l | wc
14 14 875
it can be triggered via 'hyperctl run -t ubuntu' and then 'exit'
in the shell of the container.
so we have to swap the order of hyper_kill_container_processes
and hyper_release_exec().
Signed-off-by: Lai Jiangshan <jiangshanlai@gmail.com>
The init Task for HyperContainer
You can get the binary installer of HyperContainer and HyperStart through The Hyper Page
Build from source
clone this repo, and make sure you have build-essentials installed. Go into the working copy and
> ./autogen.sh
> ./configure
> make
Then you can find hyper-initrd.img in the build directory, together with a pre-built kernel.
If you want to get the boot disk file for VirtualBox, please reconfigure with flag --with-vbox,
> ./configure --with-vbox
> make
Then you can find hyper-vbox-bootimage.iso in the build directory. Booting from this iso will
bring you to the hyper world.
Description
Languages
C
96.4%
Shell
1.8%
M4
0.9%
Dockerfile
0.6%
Makefile
0.3%