Unable to Schedule LXD Container

Hi everyone. I used MiniOne to set up an OpenNebula 6.0.0.1 install on top of Debian 10. I am proofing this out inside of a VM on my laptop prior to installing it one a server.

Using this install, I am able to provision KVM virtual machines from the marketplace perfectly fine. However, whenever I attempt to create an LXD container, it becomes stuck in the pending state.

I’ve checked sched.log and found that the message “Cannot schedule VM, there is no suitable host” will appear every few seconds as the server attempts to locate a host which can run the container. I know that this is not due to a lack of resources as the virtual machines I create have exactly the same requirements as the LXD containers. Currently, I have no other VMs installed on the server.

Am I missing a package? I ran into the same issue on CentOS 7. When this occurred I installed the LXC package, but to no avail.

UPDATE:

I managed to fix this issue by ensuring that my host, “localhost” in this case had “lxd” entered for the following values: “HYPERVISOR”, “IM_MAD” and “VM_MAD”. Granted, this is somewhat of a brute force approach, but it’s working for me for the time being. I’ll update this post once I better understand what these fields are meant for.

“HYPERVISOR”, “IM_MAD” and “VM_MAD”

Those values indicate what virtualization and monitoring driver will be used for that host

By default minione deploys a KVM node. If you want that node to be LXD, you need to add the --lxd argument. At the moment OpenNebula assumes a host can only have a hypervisor. If you want to have both LXD and KVM on the same host you need to add the host twice as a workaround.

Thank you very much for the reply. I’ll keep that in mind going forward.