[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