| Summary: | qemu: static vnc websocket port can collide with auto allocated port number, breaks VM startup | ||
|---|---|---|---|
| Product: | [Community] Virtualization Tools | Reporter: | Cole Robinson <crobinso> |
| Component: | libvirt | Assignee: | Libvirt Maintainers <libvirt-maint> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | unspecified | CC: | dyuan, fjin, jtomko, mprivozn |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | LibvirtFirstBug | ||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-09-05 07:40:06 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
I have tested this again and this is fixed now. Since the bug is 2.5 years old I don't think doing bisect to find the exact commit that fixed this bug is desired. Anyway, I'm closing this one. commit 1215965a4c4d635014ebb755f9c9181120aa17f2
Author: Nikolay Shirokovskiy <nshirokovskiy>
AuthorDate: 2016-11-22 14:09:32 +0300
Commit: John Ferlan <jferlan>
CommitDate: 2016-12-09 07:54:34 -0500
qemu: mark user defined websocket as used
We need extra state variable to distinguish between autogenerated
and user defined cases after auto generation is done.
git describe: v2.5.0-61-g1215965a4c contains: v3.0.0-rc1~354
|
Add this XML to a VM: <graphics type='vnc' port='-1' autoport='yes' websocket='5900'/> Then try to start it: $ sudo virsh start ztester-vnc-f20 error: Failed to start domain ztester-vnc-f20 error: internal error: early end of file from monitor, possible problem: 2016-04-12T21:01:17.196237Z qemu-system-x86_64: -vnc 127.0.0.1:0,websocket=5900: Failed to start VNC server: Failed to bind socket: Address already in use We don't track the static websocket port in the internal port lists, so it isn't checked for collision when allocating the regular VNC port. Regular VNC port is allocated 5900, and the VM fails to start. This commit fixed something similar, so to handle it for websockets we just need to follow this pattern: commit 1a065caa79bb4e42178a9e431ddbe5550a1c0596 Author: Giuseppe Scrivano <gscrivan> Date: Tue Jun 24 13:34:18 2014 +0200 graphics: remember graphics not auto allocated ports