Bug 1881850 - RFE: allow snapshots with UEFI VMs
Summary: RFE: allow snapshots with UEFI VMs
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: libvirt
Version: 40
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-23 08:32 UTC by ricky.tigg
Modified: 2024-05-17 09:09 UTC (History)
33 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-12-05 20:59:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description ricky.tigg 2020-09-23 08:32:17 UTC
Description of problem: Error message when invoking the creation of a snapshot while secure loader with UEFI is enabled.

Version-Release number of component: libvirt-client.x86_64 6.1.0-4.fc32

How reproducible:

Those combinations are allowed in an XML file while the host is an EFI systen, at the state of creation of a VM in virt-manager:

option 1:
<os>
  <type arch="x86_64" machine="q35">hvm</type>
  <boot dev="hd"/>
  <loader secure="yes"/>
</os>

option 2:
<os>
  <type arch="x86_64" machine="q35">hvm</type>
  <loader readonly="yes" type="pflash" secure="yes">/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd</loader>
  <boot dev="hd"/>
</os>

option 3:
<os>
  <type arch="x86_64" machine="q35">hvm</type>
  <loader readonly="yes" type="pflash" secure="yes">/usr/share/edk2/ovmf/OVMF_CODE.fd</loader>
  <boot dev="hd"/>
</os>

Option 1 is allowed.

Steps to Reproduce:
1. Set either option 2 or 3;
2. Attempt a creation a snapshot.

Actual results:

<os>
  <type arch="x86_64" machine="pc-q35-4.2">hvm</type>
  <loader readonly="yes" type="pflash">/usr/share/edk2/ovmf/OVMF_CODE.fd</loader>
  <nvram>/var/lib/libvirt/qemu/nvram/fedora32_VARS.fd</nvram>
  <boot dev="hd"/>
</os>

Message error through virt-manager:

"Error creating snapshot: Operation not supported: internal snapshots of a VM with pflash based firmware are not supported

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/details/snapshots.py", line 239, in _do_create_snapshot
    self.vm.create_snapshot(xml)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1057, in create_snapshot
    self._backend.snapshotCreateXML(xml, flags)
  File "/usr/lib64/python3.8/site-packages/libvirt.py", line 2801, in snapshotCreateXML
    if ret is None:raise libvirtError('virDomainSnapshotCreateXML() failed', dom=self)
libvirt.libvirtError: Operation not supported: internal snapshots of a VM with pflash based firmware are not supported"

Expected results: options matching UEFI systems, 2 and 3, to be allowed.

Comment 1 Daniel Berrangé 2020-09-23 08:46:11 UTC
Snapshotting with UEFI is blocked waiting for improved savevm support in QEMU. This is provided by 

https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg05221.html

which will then need a corresponding libvirt impl

Comment 2 ricky.tigg 2020-09-23 08:59:41 UTC
The present report came too early. Format QCOW2 still allows for snaphost in BIOS.

Comment 3 Ferry Huberts 2021-06-30 17:44:35 UTC
This applies to F34 as well.
Any idea when we could have this?

Comment 4 Ben Cotton 2021-11-04 13:48:40 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 5 Ben Cotton 2021-11-04 14:18:02 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 6 Ben Cotton 2021-11-04 15:15:44 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Ben Cotton 2021-11-30 19:03:37 UTC
Fedora 33 changed to end-of-life (EOL) status on 2021-11-30. Fedora 33 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 8 German Pulido 2022-03-31 00:10:38 UTC
This is still happening on Fedora 35 fully updated

Comment 9 ricky.tigg 2022-03-31 12:54:53 UTC
reproducible | virt-manager v. 4.0.0; libvirt-daemon-kvm v. 8.1.0

Comment 10 darin 2022-05-10 17:32:17 UTC
Has there been any movement on this, as we cannot seek to remove MBR/BIOS support when libvirt doesn't allow UEFI snapshots!

Comment 11 Daniel Berrangé 2022-05-11 08:03:49 UTC
The QEMU side for this is done, but the libvirt side is much more work than anticipated, so i had to temporarily put it on the backburner I'm afraid.

Comment 12 kb1000 2022-06-05 14:05:51 UTC
How I understand this is that you're planning to exclude nvram from snapshots.
That's only necessary if you're using an image format for nvram that doesn't support snapshots (and you're using raw images), the firmware itself is marked as read-only and thus already excluded from snapshots.

But... let's say you make a snapshot of a working state of a VM.
You then make changes to it, breaking it in the process, and revert to the snapshot.
Would you expect it to work afterwards?

Comment 13 Ben Cotton 2022-11-29 16:49:36 UTC
This message is a reminder that Fedora Linux 35 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 35 on 2022-12-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '35'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 35 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 14 Aoife Moloney 2023-11-23 00:03:44 UTC
This message is a reminder that Fedora Linux 37 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 37 on 2023-12-05.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '37'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 37 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 15 Aoife Moloney 2023-12-05 20:59:42 UTC
Fedora Linux 37 entered end-of-life (EOL) status on None.

Fedora Linux 37 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 16 Matthew Burket 2024-03-14 20:41:12 UTC
This is still valid on Fedora 39.

Comment 17 timsonner 2024-04-28 21:07:26 UTC
I was able to get around this error by powering off the VM and taking a snapshot of the powered-off VM. No error when VM is powered off and snapshot taken. Not a fix, but maybe helps finding a solution. 

Expected behavior: VM snapshot is able to be taken when machine powered on.

Actual result: VM snapshot unable to take snapshot when machine powered on.

Workaround/Hack: Power off VM, then take snapshot of VM in powered off state.


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