[virt-tools-list] [virt-manager PATCH] Add bhyve support

Daniel P. Berrange berrange at redhat.com
Mon Apr 7 15:59:26 UTC 2014


On Mon, Apr 07, 2014 at 05:56:25PM +0200, Michal Privoznik wrote:
> On 07.04.2014 17:43, Michal Privoznik wrote:
> >On 07.04.2014 17:12, Cole Robinson wrote:
> >>On 04/04/2014 02:43 PM, Roman Bogorodskiy wrote:
> >>>Allow connection to bhyve using bhyve:///system URI.
> >>>---
> >>>  virtManager/connect.py | 8 ++++++--
> >>>  1 file changed, 6 insertions(+), 2 deletions(-)
> >>>
> >>>diff --git a/virtManager/connect.py b/virtManager/connect.py
> >>>index b779c75..bc6d56d 100644
> >>>--- a/virtManager/connect.py
> >>>+++ b/virtManager/connect.py
> >>>@@ -32,7 +32,8 @@ from virtManager.baseclass import vmmGObjectUI
> >>>  (HV_QEMU,
> >>>  HV_XEN,
> >>>  HV_LXC,
> >>>-HV_QEMU_SESSION) = range(4)
> >>>+HV_QEMU_SESSION,
> >>>+HV_BHYVE) = range(5)
> >>>
> >>>  (CONN_SSH,
> >>>  CONN_TCP,
> >>>@@ -153,6 +154,7 @@ class vmmConnect(vmmGObjectUI):
> >>>          model.append(["Xen"])
> >>>          model.append(["LXC (Linux Containers)"])
> >>>          model.append(["QEMU/KVM user session"])
> >>>+        model.append(["Bhyve"])
> >>>          combo.set_model(model)
> >>>          uiutil.set_combo_text_column(combo, 0)
> >>>
> >>>@@ -364,6 +366,8 @@ class vmmConnect(vmmGObjectUI):
> >>>              hvstr = "xen"
> >>>          elif hv == HV_QEMU or hv == HV_QEMU_SESSION:
> >>>              hvstr = "qemu"
> >>>+        elif hv == HV_BHYVE:
> >>>+            hvstr = "bhyve"
> >>>          else:
> >>>              hvstr = "lxc"
> >>>
> >>>@@ -385,7 +389,7 @@ class vmmConnect(vmmGObjectUI):
> >>>              hoststr += addrstr + "/"
> >>>
> >>>          uri = hvstr + hoststr
> >>>-        if hv == HV_QEMU:
> >>>+        if hv in (HV_QEMU, HV_BHYVE):
> >>>              uri += "system"
> >>>          elif hv == HV_QEMU_SESSION:
> >>>              uri += "session"
> >>>
> >>
> >>Patch is fine, but can we find a way to only show this option in the
> >>UI where
> >>it has a chance of actually working (bsd)? 99% of virt-manager users
> >>are on
> >>linux where bhyve isn't available. But I don't know a good way to
> >>check. Also
> >>if we are on bsd maybe we should select Bhyve by default, something to
> >>consider at least.
> >>
> >
> >Well, you can use the driver remotely, I mean,
> >bhyve+ssh://<some_other_host>/system even from linux.
> 
> The more I think about it the more it makes me wonder if we should
> learn libvirt return list of all supported/enabled drivers.
> Something like:
> 
> char **virGetDrivers(virConnectPtr conn);
> 
> if conn == NULL, the client side drivers are returned, e.g.
> {"remote", "vbox", NULL}, if conn is not NULL, the daemon side
> drivers are returned, e.g. {"qemu", "bhyve", "lxc", NULL}. But maybe
> I'm over thinking it too much.

You have a chicken+egg problem there in that you need to open a connection
in order to invoke the API to get the list of connections you can open.


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the virt-tools-list mailing list