Yes, it is still possible to create an instance after changing only the
delete method. The generated libvirt domain XML looks like this:

  <os>
    <type arch='aarch64' machine='virt'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/AAVMF/AAVMF_CODE.fd</loader>
    <nvram 
template='/usr/share/AAVMF/AAVMF_CODE.fd'>/var/lib/libvirt/qemu/nvram/instance-00000005_VARS.fd</nvram>
    <boot dev='hd'/> 
  </os>

That is, the nvram file is copied from a global template to an instance-
specific file -- it's that file under /var/lib/libvirt/qemu/nvram that
VIR_DOMAIN_UNDEFINE_NVRAM removes. It should arguably be using
template=AAVMF_VARS.fd rather than AAVMF_CODE.fd, but that's unrelated
to this and doesn't really matter.


The most annoying part of this change is feature detection. I think 
delete_configuration might have to know to try unsetting flags until the method 
works, as older libvirts don't support VIR_DOMAIN_UNDEFINE_NVRAM and I can't 
see a way to test at runtime. But in our environment we know the libvirt 
version, so we just pass the flag in unconditionally.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1567807

Title:
  nova delete doesn't work with EFI booted VMs

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1567807/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to