Closed bergwolf closed 7 years ago
When container exits, both runv-shim and containerd-shim exit but runv proxy and qemu process are still running.
Before container exits:
[hypervsock@runv]$pa|grep runv root 58136 0.3 0.5 279924 19004 ? Ssl 20:34 0:00 runv --root /run/containerd/runc/default --debug --log_dir /var/log/hyper proxy --vmid vm-FculwSDYCv --hyperstart-ctl-sock unix:///var/run/hyper/vm-FculwSDYCv/hyper.sock --hyperstart-stream-sock unix:///var/run/hyper/vm-FculwSDYCv/tty.sock --proxy-hyperstart /var/run/hyper/vm-FculwSDYCv/hyperstartgrpc.sock --watch-vm-console /var/run/hyper/vm-FculwSDYCv/console.sock --watch-hyperstart root 58154 0.0 0.4 360796 18064 pts/11 Ssl+ 20:34 0:00 runv --root /run/containerd/runc/default --log_dir /var/log/hyper/shim-foobar10 --debug shim --container foobar10 --process init --proxy-stdio --proxy-exit-code --proxy-signal --proxy-winsize
After container exits:
[hypervsock@runv]$pa|grep runv root 58136 0.3 0.5 279924 19312 ? Ssl 20:34 0:00 runv --root /run/containerd/runc/default --debug --log_dir /var/log/hyper proxy --vmid vm-FculwSDYCv --hyperstart-ctl-sock unix:///var/run/hyper/vm-FculwSDYCv/hyper.sock --hyperstart-stream-sock unix:///var/run/hyper/vm-FculwSDYCv/tty.sock --proxy-hyperstart /var/run/hyper/vm-FculwSDYCv/hyperstartgrpc.sock --watch-vm-console /var/run/hyper/vm-FculwSDYCv/console.sock --watch-hyperstart [hypervsock@runv]$pa|grep qemu root 58145 1.7 3.9 459108 149252 ? Sl 20:34 0:04 /bin/qemu-system-x86_64 -machine pc-i440fx-2.1,accel=kvm,usb=off -global kvm-pit.lost_tick_policy=discard -cpu host -bios /var/lib/hyper/bios.bin -kernel /var/lib/hyper/kernel -initrd /var/lib/hyper/hyper-initrd.img -append console=ttyS0 panic=1 no_timer_check -realtime mlock=off -no-user-config -nodefaults -no-hpet -rtc base=utc,clock=vm,driftfix=slew -no-reboot -display none -boot strict=on -m size=128,slots=1,maxmem=32768M -smp cpus=1,maxcpus=8 -numa node,nodeid=0,cpus=0-7,mem=128 -qmp unix:/var/run/hyper/vm-FculwSDYCv/qmp.sock,server,nowait -serial unix:/var/run/hyper/vm-FculwSDYCv/console.sock,server,nowait -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x2 -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 -chardev socket,id=charch0,path=/var/run/hyper/vm-FculwSDYCv/hyper.sock,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charch0,id=channel0,name=sh.hyper.channel.0 -chardev socket,id=charch1,path=/var/run/hyper/vm-FculwSDYCv/tty.sock,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charch1,id=channel1,name=sh.hyper.channel.1 -fsdev local,id=virtio9p,path=/var/run/hyper/vm-FculwSDYCv/share_dir,security_model=none -device virtio-9p-pci,fsdev=virtio9p,mount_tag=share_dir -daemonize -pidfile /var/run/hyper/vm-FculwSDYCv/pidfile -D /var/log/hyper/qemu/vm-FculwSDYC.log
runv delete looks to be called according to containerd code path. There is /tasks/delete event which should end up calling runtime delete method.
runv delete
/tasks/delete
Need further investigation.
The issue goes away after updating containerd to latest master (https://github.com/containerd/containerd/commit/cf1b59348).
When container exits, both runv-shim and containerd-shim exit but runv proxy and qemu process are still running.
Before container exits:
After container exits:
runv delete
looks to be called according to containerd code path. There is/tasks/delete
event which should end up calling runtime delete method.Need further investigation.