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(-)
--
2.1.0