On 2021/1/5 21:34, Daniel P. Berrangé wrote:
On Tue, Jan 05, 2021 at 09:28:27PM +0800, Keqian Zhu wrote:
> Hi Daniel,
>
> Thanks for your reply :-) Please see my words below.
>
> On 2021/1/4 19:58, Daniel P. Berrangé wrote:
>> On Fri, Dec 18, 2020 at 04:38:22PM +0800, Keqian Zhu wrote:
>>> Hi Daniel and Jiri,
>>>
>>> On 2020/12/8 18:31, Jiri Denemark wrote:
>>>> On Tue, Dec 08, 2020 at 09:27:39 +0000, Daniel P. Berrangé wrote:
>>>>> On Tue, Dec 08, 2020 at 10:06:25AM +0800, zhukeqian wrote:
>>>>>>
>>>>>> On 2020/12/7 18:38, Daniel P. Berrangé wrote:
>>>>>>> On Mon, Dec 07, 2020 at 09:55:53AM +0800, zhukeqian wrote:
>>>>>>>> Hi Daniel,
>>> [...]
>>>
>>>>>>
>>>>>> Hi Daniel,
>>>>>>
>>>>>> The purpose is to remove this failure check for QEMU v2.12.
>>>>>> In QEMU commit 65ace0604551, it decoupled the RAM status from the
active migration status.
>>>>>>
>>>>>> The usage scenario is querying migration status at destination
side, which may contain
>>>>>> active migration status, but without RAM status, so we will see
that libvirt report error here.
>>>>>
>>>>> I'm confused, because AFAIK, libvirt does not need to run
>>>>> query-migrate on the destination, so there shouldn't be anything
>>>>> that needs fixing.
>>>>
>>>> Moreover, you can't even request migration statistics on the
destination
>>>> manually because libvirt blocks that:
>>>>
>>>> # virsh domjobinfo nest
>>>> error: Operation not supported: migration statistics are available only
>>>> on the source host
>>>>
>>>> Jirka
>>>>
>>>> .
>>>>
>>> Sorry for delay reply.
>>>
>>> The purpose of QEMU commit 65ace0604551 (migration: add postcopy total
blocktime into query-migrate)
>>> is to query some postcopy related information on destination side.
>>>
>>> We can call query-migrate on destination side *after* migration complete,
thanks.
>>
>> But nothing in libvirt ever tries to call query-migrate on the dest
>> side.
> Yes, but the dest side does not always act as dest. After migration completion, the
dest side enters
> to a normal status and libvirt does not forbid us to query migration status.
>
> Before QEMU commit 65ace0604551, we can successfully query the migration status,
which is
> MIGRATION_STATUS_NONE. But this commit will return valid status
(MIGRATION_STATUS_COMPLETED)
> without ram info, causing libvirt reports error (migration was active, but no RAM
info was set).
>
>>
>> Do you have more patches that add such calls ? If so, then please send a
>> patch series that does the full job.
> I do not add new feature to libvirt, but just manually execute query-migrate on dest
side *after
> migration completion* will trigger this problem.
How are you running query-migrate ? If you're doing that with monitor
command passthrough then we shouldn't need to change the libvirt migration
code.
OK. I am not very familiar with libvirt code logic, and my work flow is:
source side dest side
virsh start domain_name |
| |
virsh migrate --live domain_name (wait for migrate complete)
| |
(migrate complete) |
virsh domjobinfo domain_name
|
(migration was active, but no RAM info was set)
Hope the above work flow helps.
Thanks,
Keqian
Please can you provide the exact sequence of libvirt API calls / virsh
commands you are running on both source and dest to reproduce the
problem.
Regards,
Daniel