Bug 1762703 - unclear flag description VIR_MIGRATE_PAUSED
Summary: unclear flag description VIR_MIGRATE_PAUSED
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libvirt
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-10-17 09:52 UTC by luyao.zhong@intel.com
Modified: 2024-12-17 12:32 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-12-17 12:32:16 UTC
Embargoed:


Attachments (Terms of Use)

Description luyao.zhong@intel.com 2019-10-17 09:52:27 UTC
Description of problem:

The flag VIR_MIGRATE_PAUSED is confusing, which is described in https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateFlags as below:

VIR_MIGRATE_PAUSED	=	32 (0x20; 1 << 5)	
Leave the domain suspended on the destination host. virDomainResume (on the virDomainPtr returned by the migration API) has to be called explicitly to resume domain's virtual CPUs.


Does that mean if an migration finishes, the vm on the destination will in 'paused' status? Or during the whole migrating process, the vm will keep in 'paused' status, even if it fails? And does the migration here include live migration?

The flag VIR_MIGRATE_PAUSED needs more context to help user understand.

Comment 1 Michal Privoznik 2021-05-13 15:00:02 UTC
(In reply to luyao.zhong from comment #0)
> Description of problem:
> 
> The flag VIR_MIGRATE_PAUSED is confusing, which is described in
> https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateFlags
> as below:
> 
> VIR_MIGRATE_PAUSED	=	32 (0x20; 1 << 5)	
> Leave the domain suspended on the destination host. virDomainResume (on the
> virDomainPtr returned by the migration API) has to be called explicitly to
> resume domain's virtual CPUs.
> 
> 
> Does that mean if an migration finishes, the vm on the destination will in
> 'paused' status?

Yes.

> Or during the whole migrating process, the vm will keep in
> 'paused' status, even if it fails?

It migration fails, the domain on the destination will be cleaned up, so there is nothing to be left suspended. Also, for pausing domain during migration it's sufficient to not specify VIR_MIGRATE_LIVE flag.

> And does the migration here include live
> migration?
> 
> The flag VIR_MIGRATE_PAUSED needs more context to help user understand.

Can you shed more light into this? What would you think the description should look like?

Comment 2 luyao.zhong@intel.com 2021-05-19 02:47:29 UTC
@mprivozn 

IMHO, we can describe what's the domain's status after migration fails/succeeds, and which kind of migration is controlled by this flag, cold migration or live migration?

Comment 3 Michal Privoznik 2021-05-19 10:23:10 UTC
(In reply to luyao.zhong from comment #2)
> @mprivozn 
> 
> IMHO, we can describe what's the domain's status after migration
> fails/succeeds, and which kind of migration is controlled by this flag, cold
> migration or live migration?

I think the flag is orthogonal to live/cold migration. In both cases (cold/live) the guest vCPUs will be suspended (in case of cold migration for the whole duration of migration, for live migration only for a brief moment when QEMU is switching control over to the destination). Regardless, this flag controls whether vCPUs should be resumed on the destination or left suspended.

Anyway, feel free to suggest new wording (or even post it as a patch). I would do it, but I'm sorry, I don't see the problem.

Comment 4 Daniel Berrangé 2024-12-17 12:32:16 UTC
Thank you for reporting this issue to the libvirt project. Unfortunately we have been unable to resolve this issue due to insufficient maintainer capacity and it will now be closed. This is not a reflection on the possible validity of the issue, merely the lack of resources to investigate and address it, for which we apologise. If you none the less feel the issue is still important, you may choose to report it again at the new project issue tracker https://gitlab.com/libvirt/libvirt/-/issues The project also welcomes contribution from anyone who believes they can provide a solution.


Note You need to log in before you can comment on or make changes to this bug.