On a Friday in 2022, Jim Fehlig wrote:
The libxl driver reconnects to all running VMs when libvirtd is
restarted,
but it failed to mark auto-allocated graphics ports as set in the port
allocator. If many VMs are running that use port auto-allocation and
libvirtd is restarted, the port allocator is likely to hand out a port
already in use when a new VM is created that uses auto-allocation. VM
creation will fail due to the port clash.
In the QEMU driver, we also mark user-specified ports in the allocator,
to let it now it should skip them. But I suppose people worried about
clashes do not use those.
When reconnecting to running VMs after a libvirtd restart, let the
port
allocator know about previously allocated ports.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
Like 31e937fb3b, another item unaccounted for when reconnecting to VMs
after a daemon restart.
src/libxl/libxl_driver.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
However, I did not find a virPortAllocatorRelease call for the spice
port in src/libxl (for VNC it's done in libxlDomainCleanup )
Jano