openSUSE on Ubuntu host with LXD / LXC

for various reasons I need to move my openSUSE 42.3 install (physical machine) to a VM on Ubuntu 18.04 host with LXD / LXC. And I need to make a new openSUSE 15.0 VM on the same host.

Will openSUSE play well with the LXD host? Are there any guest components I need to install before making the move?

Any gotchas / advice to make the move (and new install) simpler / smoother?

Would it be simpler to do a new install and migrate rather than convert / move?

Thanks in advance
David

I have not tried that. However, I have both Leap 42.3 and Leap 15.0 in virtual machines with a Leap 15.0 host. And they are all working fine. I have not needed to do anything special.

I have no experience with LXD, and although it supposedly can be deployed on distros other than Debian/Ubuntu, unless it can make a case for being a superior choice vs other options I don’t know if I or anyone else would find a practical reason to try it.

You’ll probably want to get some background, it looks like LXD was created to provide integration with OpenStack with its native use of OpenNebula networking… OK, that’s a point in LXD’s favor if someone has visions of eventually migrating to a full OpenStack.

https://linuxcontainers.org/lxd/introduction/

Note though, that in at least one authoritative article that LXD is <not> recommended for managing non-Debian/Ubuntu containers (no specific reasons given)

https://discuss.linuxcontainers.org/t/comparing-lxd-vs-lxc/24

I’d also be wary that Debian/Ubuntu kernels generally lag behind openSUSE kernels, in fact generally lag behind just about everyone except perhaps the CentOS kernels. That might or might not make a difference depending on what apps you run… You may have to research running apps that require kernel modules for compatibility issues.

I also didn’t see any immedaite references for how LXD (or for that matter LXC on Debian/Ubuntu) install and mount containers that run other distros… That has always been an issue on openSUSE and when I researched this years ago it looked like the same issues existed everywhere else… Every distro created their own available images so you’d often see nothing other besides the distro itself, and furthermore would implement shared mount points which further restricted what was generally available. Of course, shared mount points aren’t a requirement that couldn’t be re-designed, but stuff like that just made it harder to extend defaults to new uses.

So,
I’d recommend you start by finding out more about what images LXD might provide for any new install options,
And any import tools for possibly migrating your openSUSE containers to an Ubuntu machine. IIRC if you’re currently deployed on an openSUSE 42.3, you probably aren’t currently deployed using libvirt, so hopefully you’ll have minimal migration issues. If you’re deployed using libvirt, then if no tool exists to undo the deployment with libvirt, then you may have to reverse engineer to openSUSE migration tool to see how it works, and then reverse what it does. This is the SDB for lxc to lxc-libvirt

https://doc.opensuse.org/documentation/leap/virtualization/html/book.virt/cha.lxc2libvirt.html

I’d have less qualms about the kernel issues running an Ubuntu with an openSUSE kernel rather than vice versa,

Good Luck,
TSU

Thanks. Unfortunately, from what you’ve said, I may need it … not a good sign for any technology (mini-)project. :\

Is it better to have a later kernel version in the host than the guest VMs / containers, or v-v? I would have guessed the former, but your comments make me think otherwise …

David

Depends of course.
On what is actually running and what is needed.

I just assume that a later kernel will have more features, better security, support later versions of packages and sub-systems and will support some level of backwards compatibility, whereas an older kernel rarely is able to have features yet to be implemented (although some backporting is always possible).

TSU