[libvirt] [PATCH 00/12] qemu: don't lose VMs if emulator is not installed

Peter Krempa posted 12 patches 6 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1502895317.git.pkrempa@redhat.com
src/conf/domain_conf.c       | 202 +++++++++++++++++++++++++++++--------------
src/conf/domain_conf.h       |  35 +++++++-
src/conf/virdomainobjlist.c  |   8 +-
src/qemu/qemu_capabilities.c |  20 +++--
src/qemu/qemu_domain.c       | 111 ++++++++++++++++--------
src/qemu/qemu_process.c      |   9 ++
6 files changed, 277 insertions(+), 108 deletions(-)
[libvirt] [PATCH 00/12] qemu: don't lose VMs if emulator is not installed
Posted by Peter Krempa 6 years, 8 months ago
The post-parse callback grew into an abomination which requires qemuCaps to
succeed. That won't work out well if for some reasons qemu is uninstalled.
Restarting of libvirtd would result in all VMs being lost untill qemu is
reinstalled.

Fix this by allowing qemuCaps to be missing and re-running the postparse
callbacks when attempting a VM start.

Peter Krempa (12):
  conf: domainlist: Explicitly report failure to load domain config
  conf: Add 'basic' post parse callback
  qemu: Move assignment of default emulator to the basic post parse
    callback
  conf: Add callbacks that allocate per-def private data
  qemu: domain: Don't re-allocate qemuCaps in post parse callbacks
  conf: Return any non-zero value from
    virDomainDeviceInfoIterateInternal callback
  conf: add infrastructure for tolerating certain post parse callback
    failures
  qemu: capabilities: Tolerate missing @qemuCaps in
    virQEMUCapsGetCanonicalMachine
  qemu: capabilities: Tolerate missing @qemuCaps in
    virQEMUCapsSupportsGICVersion
  qemu: domain: Don't return default NIC model if @qemuCaps are missing
  qemu: domain: Don't set default USB model if qemuCaps is missing
  qemu: Implement postParse callback skipping on config reload

 src/conf/domain_conf.c       | 202 +++++++++++++++++++++++++++++--------------
 src/conf/domain_conf.h       |  35 +++++++-
 src/conf/virdomainobjlist.c  |   8 +-
 src/qemu/qemu_capabilities.c |  20 +++--
 src/qemu/qemu_domain.c       | 111 ++++++++++++++++--------
 src/qemu/qemu_process.c      |   9 ++
 6 files changed, 277 insertions(+), 108 deletions(-)

-- 
2.14.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 00/12] qemu: don't lose VMs if emulator is not installed
Posted by Ján Tomko 6 years, 8 months ago
On Wed, Aug 16, 2017 at 04:57:49PM +0200, Peter Krempa wrote:
>The post-parse callback grew into an abomination which requires qemuCaps to
>succeed. That won't work out well if for some reasons qemu is uninstalled.
>Restarting of libvirtd would result in all VMs being lost untill qemu is
>reinstalled.
>
>Fix this by allowing qemuCaps to be missing and re-running the postparse
>callbacks when attempting a VM start.
>
>Peter Krempa (12):
>  conf: domainlist: Explicitly report failure to load domain config
>  conf: Add 'basic' post parse callback
>  qemu: Move assignment of default emulator to the basic post parse
>    callback
>  conf: Add callbacks that allocate per-def private data
>  qemu: domain: Don't re-allocate qemuCaps in post parse callbacks
>  conf: Return any non-zero value from
>    virDomainDeviceInfoIterateInternal callback
>  conf: add infrastructure for tolerating certain post parse callback
>    failures
>  qemu: capabilities: Tolerate missing @qemuCaps in
>    virQEMUCapsGetCanonicalMachine
>  qemu: capabilities: Tolerate missing @qemuCaps in
>    virQEMUCapsSupportsGICVersion
>  qemu: domain: Don't return default NIC model if @qemuCaps are missing
>  qemu: domain: Don't set default USB model if qemuCaps is missing
>  qemu: Implement postParse callback skipping on config reload
>

ACK series.

Jan
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list