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

Michal Privoznik mprivozn at redhat.com
Mon Apr 7 15:56:25 UTC 2014


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.

Michal




More information about the virt-tools-list mailing list