firecracker-go-sdk icon indicating copy to clipboard operation
firecracker-go-sdk copied to clipboard

Jailer LinkFilesHandler should check if m.Cfg.JailerCfg.ChrootBaseDir is empty

Open radekg opened this issue 4 years ago • 1 comments
trafficstars

If yes, it should use the value of defaultJailerPath instead. The issue can be reproduced by using firectl with jailer but without --chroot-base-dir. Example:

radek@r720sas:~/dev/golang/src/github.com/firecracker-microvm/firectl$ sudo ./firectl --jailer=/usr/bin/jailer --exec-file=/usr/bin/firecracker-v0.22.4-x86_64 --id=alpine --kernel=/firecracker/kernels/vmlinux-v5.8 --root-drive=/firecracker/filesystems/alpine-base-root.ext4 --cni-network=alpine --ncpus=1 --memory=128
INFO[0000] Called startVMM(), setting up a VMM on /srv/jailer/firecracker-v0.22.4-x86_64/alpine/root/run/firecracker.socket
WARN[0000] Failed handler "fcinit.LinkFilesToRootFS": link /firecracker/kernels/vmlinux-v5.8 firecracker-v0.22.4-x86_64/alpine/root/vmlinux-v5.8: no such file or directory
FATA[0000] Failed to start machine: link /firecracker/kernels/vmlinux-v5.8 firecracker-v0.22.4-x86_64/alpine/root/vmlinux-v5.8: no such file or directory
radek@r720sas:~/dev/golang/src/github.com/firecracker-microvm/firectl$ sudo tree /srv/jailer/
/srv/jailer/
└── firecracker-v0.22.4-x86_64
    └── alpine
        └── root
            ├── dev
            │   ├── kvm
            │   └── net
            │       └── tun
            ├── firecracker-v0.22.4-x86_64
            └── run

The place in the code: https://github.com/firecracker-microvm/firecracker-go-sdk/blob/master/jailer.go#L360.

I can prepare a PR.

radekg avatar Feb 17 '21 23:02 radekg