[virt-tools-list] [PATCH virt-manager 04/14] support: Add SUPPORT_CONN_DEVICE_BOOT_ORDER
Cole Robinson
crobinso at redhat.com
Wed Mar 6 18:55:36 UTC 2019
On 2/26/19 5:10 AM, Marc Hartmayer wrote:
> On Tue, Feb 26, 2019 at 10:56 AM +0100, Marc Hartmayer <mhartmay at linux.ibm.com> wrote:
>> ...and use it in domain.py.
>>
>> Signed-off-by: Marc Hartmayer <mhartmay at linux.ibm.com>
>> Reviewed-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
>> ---
>> virtManager/domain.py | 3 ++-
>> virtinst/support.py | 3 +++
>> 2 files changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/virtManager/domain.py b/virtManager/domain.py
>> index 324621de9fa4..eef1661b841a 100644
>> --- a/virtManager/domain.py
>> +++ b/virtManager/domain.py
>> @@ -17,6 +17,7 @@ from virtinst import Guest
>> from virtinst import util
>> from virtinst import DeviceController
>> from virtinst import DeviceDisk
>> +from virtinst import support
>>
>> from .libvirtobject import vmmLibvirtObject
>> from .libvirtenummap import LibvirtEnumMap
>> @@ -1230,7 +1231,7 @@ class vmmDomain(vmmLibvirtObject):
>>
>> def can_use_device_boot_order(self):
>> # Return 'True' if guest can use new style boot device ordering
>> - return self.conn.is_qemu() or self.conn.is_test()
>> + return self.conn.check_support(support.SUPPORT_CONN_DEVICE_BOOT_ORDER)
>>
>> def get_bootable_devices(self):
>> # redirdev can also be marked bootable, but it should be rarely
>> diff --git a/virtinst/support.py b/virtinst/support.py
>> index 0f0f6104b32d..a6aabc1f5d2d 100644
>> --- a/virtinst/support.py
>> +++ b/virtinst/support.py
>> @@ -266,6 +266,9 @@ SUPPORT_CONN_USB3_PORTS = _make(version="1.3.5")
>> SUPPORT_CONN_MACHVIRT_PCI_DEFAULT = _make(version="3.0.0")
>> SUPPORT_CONN_QEMU_XHCI = _make(version="3.3.0", hv_version={"qemu": "2.9.0"})
>> SUPPORT_CONN_VNC_NONE_AUTH = _make(hv_version={"qemu": "2.9.0"})
>> +# since 0.4.6... but 0.7.9 is the allowed minimum
>> +SUPPORT_CONN_DEVICE_BOOT_ORDER = _make(version="0.7.9",
>> + hv_version={"qemu": 0, "test":
>> 0})
>
> Here are probably many other hypervisors missing… Which hypervisors are
> supported by virt-manager? The same as for libvirt?
>
In theory the same as for libvirt, VM listing and lifecycle operations
should work for every driver. XML editing/building is a different story.
qemu, xen, lxc, test driver should be in good shape. bhyve and vz too
but I don't have a setup to test those. Anything else is suspect
>From looking at libvirt code, seems like bhyve and vz do have references
to bootIndex, but nothing for xen or lxc.
That said this check is used to determine what boot options we show in
the UI and what boot XML we use if the user edits the boot order. If we
are wrong about this check, it can completely prevent users from
changing boot order for their VMs or even completely screwing up their
config in a way that requires manual intervention. So until someone
shows up with a complaint about bhyve or vz and an offer to test, I
don't want to change this based on libvirt code inspection. End result
is that check is accurate
That reference to libvirt 0.7.9 is bogus though but I see you were lead
to that from a code check... git blame digging tells me that I fudged
the version number and it should be warning about 0.7.3. I added a
pre-patch to fix that, and then edited this patch to drop the comment
and the version entirely, I'll be bumping the minimum libvirt version
before the next release so it will go eventually anyways.
I added a follow on patch to remove the support check from cli.py too,
since the libvirt inspection suggests other drivers support boot_order I
don't want to block them on virt-install and virt-xml, just protect the UI.
I pushed your series with those changes. Nice work, especially thanks
for all the tests!
- Cole
More information about the virt-tools-list
mailing list