Bug 1322717

Summary: migration/efi: Offline migration didn't copy nvram file
Product: [Community] Virtualization Tools Reporter: Dr. David Alan Gilbert <dgilbert>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: berrange, dyuan, fjin, libvirt-maint, lmen, rbalakri
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-2.3.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-21 14:55:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dr. David Alan Gilbert 2016-03-31 08:20:35 UTC
Description of problem:
I've got a q35+EFI machine, offline migrating it doesn't move the nvram file

Version-Release number of selected component (if applicable):
1.3.3-1 (built from source)

How reproducible:
100% ?

Steps to Reproduce:
1. Create a q35 VM with EFI firmware
2. virsh migrate --offline --persistent --desturi qemu+ssh://remotehost/system --domain domainname
3. Start VM on destination

Actual results:
VM doesn't start because /var/lib/libvirt/qemu/nvram/ on the destination doesn't have the nvram file

Expected results:
It all works just wonderfully.

Additional info:

Comment 1 Daniel Berrangé 2016-03-31 09:42:43 UTC
The offline migration support in libvirt is nothing more than a way to copy across the XML configuration file. It doesn't attempt to copy any resources associated with the VM - those are all left to the user to copy, or place on shared storage.

Comment 2 Dr. David Alan Gilbert 2016-03-31 11:50:56 UTC
Dan:
  Michal asked me to file it, so I assume he thinks it's appropriate.
The nvram stuff is a weird intermediate between storage and config though.  It doesn't make sense to me that you put in all the hard work to cope with it for the live case but then don't use it in the apparently simpler offline case.

Comment 3 Michal Privoznik 2016-04-07 16:41:33 UTC
Truth is, I asked you, but now that I actually think how this could be implemented I realize that we don't do any storage migration for offline migration. So I think this will end up as a documentation patch then.

Comment 4 Michal Privoznik 2016-09-21 09:27:46 UTC
Patch proposed upstream:

https://www.redhat.com/archives/libvir-list/2016-September/msg00874.html

Comment 5 Michal Privoznik 2016-09-21 14:55:22 UTC
I've just pushed the patch upstream:

commit f6160483d9b8fc4706bf875134ebbf0e09c04927
Author:     Michal Privoznik <mprivozn>
AuthorDate: Wed Sep 21 11:25:13 2016 +0200
Commit:     Michal Privoznik <mprivozn>
CommitDate: Wed Sep 21 16:47:33 2016 +0200

    migration: Document we don't copy storage during offline migration
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1322717
    
    During offline migration, no storage is copied. Nor disks, nor
    NVRAM file, nor anything. We use qemu for that and because domain
    is not running there's nobody to copy that for us.
    We should document this to avoid confusing users.
    
    Signed-off-by: Michal Privoznik <mprivozn>

v2.2.0-146-gf616048