On Mon, Dec 18, 2017 at 12:56:20PM +0300, Nikolay Shirokovskiy wrote:
There is a problem with current port allocations in libvirt. 1. With default qemu driver conf values remote_display_port_min = 5900 and remote_websocket_port_min = 5700 one can not start more than 200 domains each of one have vnc graphics with auto allocated socket and websocket. For the 200th domain driver allocate 6100 port for both socket and websocket and qemu fail to start. 2. Different hypervisor drivers use port pools with same borders (libxl and qemu migration ports, hardcoded libxl vnc sockets and default conf qemu vnc sockets for example. However I'm not sure it is possible/practical to use these drivers simultaneously on same host). As a result there can be failures due to races when first driver check for bind successfully then second driver check for bind successfully and then both pass same port value to hypervisors. Suggestion is to make port bitmap driver/daemon global and leave only borders in port pool object. This was we can solve the first and the both issues correspondingly.
Yes, I though of the same thing. The boundaries would be parameters to the allocation (so that the various settings can still apply), but the pool object doesn't need to have any boundaries since there will be one global one. Should be easy to do (TM) (Famous last words?)
Nikolay -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list