Re: [PATCH v2] bhyve: Add support for VNC autoport

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 25, 2017 at 08:31:24PM +0400, Roman Bogorodskiy wrote:
From: Alexander Nusov <alexander.nusov@xxxxxxxxxxxxxx>

This patch adds support for automatic VNC port assignment for bhyve guests.
---
Changes from v1:

* Call virPortAllocatorRelease() in virBhyveProcessStop() to release
  VNC port; that's done unconditionally of using autoport
* Call virPortAllocatorSetUsed(.., true) in virBhyveProcessReconnect()
  to reserve already used VNC ports after daemon restart
* Call virPortAllocatorSetUsed(.., true) in bhyveBuildGraphicsArgStr()
  for domains that don't use autoport so allocator didn't try to use
  ports allocated by these domains
* In dryRun mode (i.e. for domxml-to-native) don't allocate any ports
* Add a couple of unit tests

Note 1: while adding tests I noticed that port allocator will actually
skip already bound ports, so I'm wondering if it makes any sense to use
virPortAllocatorSetUsed(.., true)? Right now I cannot come up with any
case to trigger this except probably some races when spawning guests
simultaneously, but that's hard to reproduce.
Note 2: there are still some cases where resources allocated during
command preparation are not properly cleaned up; that's not only VNC
ports, but also TAP devices. I plan to add proper cleanup routines
separately.


src/bhyve/bhyve_command.c                          | 25 +++++++++++--
src/bhyve/bhyve_driver.c                           |  5 +++
src/bhyve/bhyve_process.c                          | 20 +++++++++++
src/bhyve/bhyve_utils.h                            |  3 ++
.../bhyvexml2argv-vnc-autoport.args                | 12 +++++++
.../bhyvexml2argv-vnc-autoport.ldargs              |  1 +
.../bhyvexml2argv-vnc-autoport.xml                 | 26 ++++++++++++++
tests/bhyvexml2argvtest.c                          |  7 ++++
.../bhyvexml2xmlout-vnc-autoport.xml               | 41 ++++++++++++++++++++++
tests/bhyvexml2xmltest.c                           |  1 +
10 files changed, 138 insertions(+), 3 deletions(-)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-autoport.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-autoport.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-autoport.xml
create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-autoport.xml


ACK

Jan

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux