On 04/08/2025 15:14, Dan Smith wrote:
How does Nova relate to having unmanaged libvirt VMs alongside VMs managed by nova-compute? Is this considered supported, unsupported, or somewhere in between? Unrelated to stable-compute-uuid, we do not support this at all, in any way. Nova expects (and has always expected) to be the only thing managing the VMs on a libvirt instance, full stop.
there is one untested caveat to that. if you use vcpu_pin_set, cpu_dedicated_set and/or cpu_shared_set to define which cores are aviabel to nova, and you adjust the host reserved ram/disk/hugepage values there was the capabltiy to run addtional host level vms on the compute nodes for thinks like vrouter for networking or other infra level usecase. i dont really know of anyone that really did that since circa 2015 era. This type of deployment was most common in installer whtat used "seed vms" to do the deployment that could be shutdown when the cloud is deployed and you are not perfroming day 2 oeprations like update/upgrade. in general you should run those vms on a seperate host that is not a nova compute node such as the controller hosts. the other commone example was providign infra level VNFs liek routing, loadblancing, vpns or firewalling as vms on the computes that are then consumed by the openstack itself. again ideally you woudl not run those vms on the comptue nodes unless you can run them as nova instance. they should be moved to dedicated networker nodes if possible. where the the logical network swtich for the openstack vms is run in a seperate vms like the early days of vrouter? ~(there was one network backend that used a vm for the vswich but i dont recall exactly) its not possible to move that vm to a separate host but that tyep of integration is not really supported upstream by the nova project. with that context in mind dan is absolutely right that for nova provisions vms nothing other then nova is allowed to interact with them. we do not document or test this colocation use-case even if very old installer sometimes did it because it not generally a usecase we want to support in nova. the capability exists but any issues that are encountered by using this partitioning approach are not upstream nova bugs. so strictly speaking it has never been officially supported, it has not been stated as unsupported in docs as there were existing deployment in production that made it work, but you are going outside the scope of upstream supported usecases if you attempt it.
--Dan