Unable to deploy OpenNebula Systems MarketPlace vms when using mixed cluster

Please, describe the problem here and provide additional information below (if applicable) …
I’m running both LXC and KVM hosts in my cluster.
KVM can’t deploy LXC and LXC can’t deploy KVM, as I read they’re mutually exclusive or cause issues running on the same host. Further, the host management for OpenNebula only lets you designate any given host as one of the deployment backends.

When I try to deploy a OpenNebula Systems MarketPlace VM, it gets scheduled sometimes to an LXC host which errors with:

Driver Error
Thu Nov 2 06:53:51 2023: DEPLOY: INFO: deploy: No block device on /var/lib/one/datastores/0/15/mapper/disk.0 INFO: deploy: No... see more details in VM log

The way to avoid this is if KVM vms from the OpenNebula Systems MarketPlace had:


or something similar like LXD images do.

Versions of the related components and OS (frontend, hypervisors, VMs):
Frontend: 6.8
Hypervisors: 6.8

Steps to reproduce:

  • set up kvm and lxc in same cluster (lxc first so it gets a lower id if you don’t wanna deploy many)
  • deploy OpenNebula Systems MarketPlace vm
  • see it fail cause it targets lxc host

Current results:
Unable to deploy qcow2 vms pulled from marketplace

Expected results:
Would be able to deploy without editing every template (we have about 3 dozen in use right now)

The SCHED_REQUIREMENTS = "HYPERVISOR=\"kvm*\"" is mandatory, otherwise OpenNebula can’t know which type of hypervisor host should be used for the VM creation so it will just spread VMs across hypervisors to balance load.

Would be able to deploy without editing every template (we have about 3 dozen in use right now)

If this is an inconvenience you might want to script the bulk modification of several VM Template objects with onedb change-body

Is it possible for open nebula to provide this like is already done for the other marketplaces? The behavior is inconsistent. Is this the desired behavior?

The documentation for using OpenNebula Systems MarketPlace images isn’t clear this is the expected and desired behavior. We’ll be regularly adding images as we expand our usage and having to add this to each one we import is very odd just so we can have it deploy to the right place by default.

LXD VMs from MarketPlace for the public image server fo LXC & LXD hosted at linuxcontainers.org do supply this.

I guess also the vm templates from DockerHub is the world’s largest library and community for container images hosted at hub.docker.com/ marketplace also has the same issues, even though they are LXC only compatible right?

Again, I’m just trying to have an understanding of expected behavior when you’re using both LXC, and KVM based clusters for deployment of systems.

For me it would be ideal if these just came with the correct template configurations. :slight_smile:

Thank you for help!