[libvirt] [PATCH v3 00/14] parallels: implement managed save

Dmitry Guryanov dguryanov at parallels.com
Tue Apr 7 20:34:59 UTC 2015

This patch series is intended to implement all needed code, so
that suspend/resume in openstack nova will work.

It implements .domainHasManagedSaveImage, .domainManagedSave
and .domainManagedSaveRemove functions.

It's not possible to change VM configuration, if it
is in suspended state in PCS. It's possible for containers,
but it has different meaning from the same action in libvirt:
libvirt stores domain config in a save file and restores
it if a user decided to start domain. But if the user discarded
state file - domain will have new configuration.

PCS doesn't store domain config for containers, so it will
have new configuration either if the user will start it from,
save file or discard state file and start after that.

So the idea is to forbid changing domain configuration, if
a domain is in managed saved state. We can't forbid calling
this function in this state, because openstack/nova calls
virDomainDefineXML in suspended state. So I compare
current virDomainDef with the new one. And if there are
no changes - function does nothing and returns success.

Dmitry Guryanov (14):
  parallels: fix headers in parallels_sdk.h
  parallels: split prlsdkDomainChangeState function
  parallels: implement virDomainManagedSave
  parallels: report, that cdroms are readonly
  parallels: add controllers in prlsdkLoadDomain
  parallels: fill adapter model in virDomainNetDef
  parallels: don't fill net adapter model for containers
  conf: add VIR_DOMAIN_VIDEO_TYPE_PARALLELS video type
  conf: return proper default video type for parallels
  conf: add input device type for parallels containers
  parallels: add implicit input devices
  conf: fix virDomainDefParseXML for parallels
  conf: fix virDomainDefFormatInternal for parallels
  parallels: fix virDomainDefineXML for domain in saved state

 src/conf/domain_conf.c           |  70 +++++++++++++++++++---
 src/conf/domain_conf.h           |   2 +
 src/parallels/parallels_driver.c | 104 ++++++++++++++++++++++++++++++--
 src/parallels/parallels_sdk.c    | 124 ++++++++++++++++++++++++++++++++++-----
 src/parallels/parallels_sdk.h    |  17 ++++--
 src/qemu/qemu_command.c          |   6 +-
 6 files changed, 285 insertions(+), 38 deletions(-)


More information about the libvir-list mailing list