I've migrated to 11.3 over the weekend and was surprised that the Docker container was not migrated to generic Bhyve but actively disabled by removing the .bhyve_containers folder (thanks
@Jeud ). Strange decision and needless!
I restored the .bhyve_containers folder and the container came up without an issue again.
@KrisBee while I agree that for iXsystems Docker support was a pain and not their business the container is working fine and I would have wished for them to just leave it alone. I did upgrade my RancherOS manually before and FreeNAS did always kill my setup by wiping it with the default template.
It is no problem to run non-EFI containers with Bhyve on FreeNAS. It's just always a painful process to find the grub details and setup the launch process. As that is outside of the container Linux updates may seem to fail as grub is not being updated. With EFI everything is inside the VM and can be handled from there.
For anyone interested in keeping the Rancher containers for the moment:
1. copy your grubconfig to a safe place. It points to the vmlinuz and initrd inside the VM so they must be accurate.
Code:
set timeout=0
set default=RancherOS
menuentry "bhyve-image" --id RancherOS {
set root=(hd0,msdos1)
linux /boot/vmlinuz-4.9.80-rancher rancher.password=rancher printk.devkmsg=on rancher.state.dev=LABEL=RANCHER_STATE rancher.state.wait rancher.resize_device=/dev/sda
initrd /boot/initrd-v1.3.0
}
2. When you are able to again launch the VM you may try to update it.
Code:
sudo ros os version
v1.3.0
sudo ros os upgrade
# DO NOT RESTART YET!
Continue with reboot [y/N]: n
# Instead go into the RancherOS host to find out what vmlinuz and initrd are now in /boot
sudo system-docker run --rm -it -v /:/host alpine /bin/ash
cd /host/boot
ls
initrd-v1.5.5
vmlinuz-4.14.138-rancher
3. With the new initrd and vmlinuz you may update your grubconfig.
4. Reboot RancherOS and verify ros os version is uptodate
Then I upgraded Rancher (
https://rancher.com/docs/rancher/v1.6/en/upgrading/#single-container) which needed renaming the Docker config folder (see
https://github.com/rancher/os/issues/2300#issuecomment-390456535). Finally I had to clean the overlay structure:
Code:
docker system prune --all --volumes --force
Tada! 10 GB freed ... updated Rancher and RancherOS while still booting with bhyve grub. No issues!
Now I can setup another container host with any of: Rancher 2.0, k3OS or Fedora CoreOS and start migrating my containers to Kubernetes.