[libvirt] [PATCH 4/4] qemu_capabilities: Temporarily disable dbus-vmstate capability

Michal Privoznik posted 4 patches 5 years, 2 months ago
[libvirt] [PATCH 4/4] qemu_capabilities: Temporarily disable dbus-vmstate capability
Posted by Michal Privoznik 5 years, 2 months ago
The qemu side is not merged in yet, so there is a chance that the
interface will change. Don't detect the capability just yet then.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 src/qemu/qemu_capabilities.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 136999ad0d..7be026ae12 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1129,7 +1129,6 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "virtio-serial-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL },
     { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU },
     { "bochs-display", QEMU_CAPS_DEVICE_BOCHS_DISPLAY },
-    { "dbus-vmstate", QEMU_CAPS_DBUS_VMSTATE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 4/4] qemu_capabilities: Temporarily disable dbus-vmstate capability
Posted by Ján Tomko 5 years, 2 months ago
[cc-ing Marc-André]

On Fri, Sep 06, 2019 at 04:25:19PM +0200, Michal Privoznik wrote:
>The qemu side is not merged in yet, so there is a chance that the
>interface will change. Don't detect the capability just yet then.
>
>Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>---
> src/qemu/qemu_capabilities.c | 1 -
> 1 file changed, 1 deletion(-)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index 136999ad0d..7be026ae12 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -1129,7 +1129,6 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
>     { "virtio-serial-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL },
>     { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU },
>     { "bochs-display", QEMU_CAPS_DEVICE_BOCHS_DISPLAY },
>-    { "dbus-vmstate", QEMU_CAPS_DBUS_VMSTATE },
> };
>
> static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {

If
1) dbus-vmstate is required for migration of a domain using a slirp-helper and
2) we enable this automatically for existing XML configs with
  <interface type='user'/> if
  a) QEMU has QEMU_CAPS_NET_SOCKET_DGRAM
  b) the slirp-helper process is installed on the system
then we've effectively made their machines unmigratable

So if we want to enable it automatically, we should add:
c) QEMU has QEMU_CAPS_DBUS_VMSTATE
regardless of whether dbus-vmstate gets merged into QEMU until libvirt's
next release

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 4/4] qemu_capabilities: Temporarily disable dbus-vmstate capability
Posted by Michal Privoznik 5 years, 2 months ago
On 9/6/19 5:55 PM, Ján Tomko wrote:
> [cc-ing Marc-André]
> 
> On Fri, Sep 06, 2019 at 04:25:19PM +0200, Michal Privoznik wrote:
>> The qemu side is not merged in yet, so there is a chance that the
>> interface will change. Don't detect the capability just yet then.
>>
>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>> ---
>> src/qemu/qemu_capabilities.c | 1 -
>> 1 file changed, 1 deletion(-)
>>
>> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>> index 136999ad0d..7be026ae12 100644
>> --- a/src/qemu/qemu_capabilities.c
>> +++ b/src/qemu/qemu_capabilities.c
>> @@ -1129,7 +1129,6 @@ struct virQEMUCapsStringFlags 
>> virQEMUCapsObjectTypes[] = {
>>     { "virtio-serial-pci-non-transitional", 
>> QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL },
>>     { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU },
>>     { "bochs-display", QEMU_CAPS_DEVICE_BOCHS_DISPLAY },
>> -    { "dbus-vmstate", QEMU_CAPS_DBUS_VMSTATE },
>> };
>>
>> static struct virQEMUCapsStringFlags 
>> virQEMUCapsDevicePropsVirtioBalloon[] = {
> 
> If
> 1) dbus-vmstate is required for migration of a domain using a 
> slirp-helper and
> 2) we enable this automatically for existing XML configs with
>   <interface type='user'/> if
>   a) QEMU has QEMU_CAPS_NET_SOCKET_DGRAM
>   b) the slirp-helper process is installed on the system
> then we've effectively made their machines unmigratable
> 
> So if we want to enable it automatically, we should add:
> c) QEMU has QEMU_CAPS_DBUS_VMSTATE
> regardless of whether dbus-vmstate gets merged into QEMU until libvirt's
> next release

So are you saying that we should just temporarily revert 
QEMU_CAPS_NET_SOCKET_DGRAM detection instead and leave 
QEMU_CAPS_DBUS_VMSTATE be?

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 4/4] qemu_capabilities: Temporarily disable dbus-vmstate capability
Posted by Ján Tomko 5 years, 2 months ago
On Mon, Sep 09, 2019 at 11:23:59AM +0200, Michal Privoznik wrote:
>On 9/6/19 5:55 PM, Ján Tomko wrote:
>>[cc-ing Marc-André]
>>
>>On Fri, Sep 06, 2019 at 04:25:19PM +0200, Michal Privoznik wrote:
>>>The qemu side is not merged in yet, so there is a chance that the
>>>interface will change. Don't detect the capability just yet then.
>>>
>>>Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>>>---
>>>src/qemu/qemu_capabilities.c | 1 -
>>>1 file changed, 1 deletion(-)
>>>
>>>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>>>index 136999ad0d..7be026ae12 100644
>>>--- a/src/qemu/qemu_capabilities.c
>>>+++ b/src/qemu/qemu_capabilities.c
>>>@@ -1129,7 +1129,6 @@ struct virQEMUCapsStringFlags 
>>>virQEMUCapsObjectTypes[] = {
>>>    { "virtio-serial-pci-non-transitional", 
>>>QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL },
>>>    { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU },
>>>    { "bochs-display", QEMU_CAPS_DEVICE_BOCHS_DISPLAY },
>>>-    { "dbus-vmstate", QEMU_CAPS_DBUS_VMSTATE },
>>>};
>>>
>>>static struct virQEMUCapsStringFlags 
>>>virQEMUCapsDevicePropsVirtioBalloon[] = {
>>
>>If
>>1) dbus-vmstate is required for migration of a domain using a 
>>slirp-helper and
>>2) we enable this automatically for existing XML configs with
>>  <interface type='user'/> if
>>  a) QEMU has QEMU_CAPS_NET_SOCKET_DGRAM
>>  b) the slirp-helper process is installed on the system
>>then we've effectively made their machines unmigratable
>>
>>So if we want to enable it automatically, we should add:
>>c) QEMU has QEMU_CAPS_DBUS_VMSTATE
>>regardless of whether dbus-vmstate gets merged into QEMU until libvirt's
>>next release
>
>So are you saying that we should just temporarily revert 
>QEMU_CAPS_NET_SOCKET_DGRAM detection instead and leave 
>QEMU_CAPS_DBUS_VMSTATE be?

Give that there was a QEMU release which has one but not the other,
I'd say permanently revert QEMU_CAPS_NET_SOCKET_DGRAM - even if
dbus-vmstate gets merged later, there has been a QEMU release for which
we assume one capability and not the other - so libvirt would be
starting unmigratable machines.

As for QEMU_CAPS_DBUS_VMSTATE, we can either revert it temporarily now
or before the libvirt freeze if dbus-vmstate does not get merged by
then.

Jano

>
>Michal
>
>--
>libvir-list mailing list
>libvir-list@redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 4/4] qemu_capabilities: Temporarily disable dbus-vmstate capability
Posted by Marc-André Lureau 5 years, 2 months ago
Hi

On Mon, Sep 9, 2019 at 2:49 PM Ján Tomko <jtomko@redhat.com> wrote:
>
> On Mon, Sep 09, 2019 at 11:23:59AM +0200, Michal Privoznik wrote:
> >On 9/6/19 5:55 PM, Ján Tomko wrote:
> >>[cc-ing Marc-André]
> >>
> >>On Fri, Sep 06, 2019 at 04:25:19PM +0200, Michal Privoznik wrote:
> >>>The qemu side is not merged in yet, so there is a chance that the
> >>>interface will change. Don't detect the capability just yet then.
> >>>
> >>>Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> >>>---
> >>>src/qemu/qemu_capabilities.c | 1 -
> >>>1 file changed, 1 deletion(-)
> >>>
> >>>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> >>>index 136999ad0d..7be026ae12 100644
> >>>--- a/src/qemu/qemu_capabilities.c
> >>>+++ b/src/qemu/qemu_capabilities.c
> >>>@@ -1129,7 +1129,6 @@ struct virQEMUCapsStringFlags
> >>>virQEMUCapsObjectTypes[] = {
> >>>    { "virtio-serial-pci-non-transitional",
> >>>QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL },
> >>>    { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU },
> >>>    { "bochs-display", QEMU_CAPS_DEVICE_BOCHS_DISPLAY },
> >>>-    { "dbus-vmstate", QEMU_CAPS_DBUS_VMSTATE },
> >>>};
> >>>
> >>>static struct virQEMUCapsStringFlags
> >>>virQEMUCapsDevicePropsVirtioBalloon[] = {
> >>
> >>If
> >>1) dbus-vmstate is required for migration of a domain using a
> >>slirp-helper and
> >>2) we enable this automatically for existing XML configs with
> >>  <interface type='user'/> if
> >>  a) QEMU has QEMU_CAPS_NET_SOCKET_DGRAM
> >>  b) the slirp-helper process is installed on the system
> >>then we've effectively made their machines unmigratable
> >>
> >>So if we want to enable it automatically, we should add:
> >>c) QEMU has QEMU_CAPS_DBUS_VMSTATE
> >>regardless of whether dbus-vmstate gets merged into QEMU until libvirt's
> >>next release
> >
> >So are you saying that we should just temporarily revert
> >QEMU_CAPS_NET_SOCKET_DGRAM detection instead and leave
> >QEMU_CAPS_DBUS_VMSTATE be?
>
> Give that there was a QEMU release which has one but not the other,
> I'd say permanently revert QEMU_CAPS_NET_SOCKET_DGRAM - even if
> dbus-vmstate gets merged later, there has been a QEMU release for which
> we assume one capability and not the other - so libvirt would be
> starting unmigratable machines.
>
> As for QEMU_CAPS_DBUS_VMSTATE, we can either revert it temporarily now
> or before the libvirt freeze if dbus-vmstate does not get merged by
> then.

I agree that as long as qemu doesn't have dbus-vmstate, it is better
to revert dbus-vmstate support, and disable net-socket-dgram.

>
> Jano
>
> >
> >Michal
> >
> >--
> >libvir-list mailing list
> >libvir-list@redhat.com
> >https://www.redhat.com/mailman/listinfo/libvir-list

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