If user wants to migrate a machine, it's all or nothing. Either he/she
has all storage accessible under same paths, or migration will fail.
But there are some cases, where allowing migration to drop some disks,
may be useful. E.g. when host gets itself to a state where domains need
to be migrated so host can be say rebooted. Therefore we might want to
give user possibility to mark some cdroms/floppy as optional, meaning
if destination cannot access them, they get ejected (on destination).
This idea is implemented via <migration> element, which basically says
what to do with (currently) disk on migration. Right now it contains
only one attribute 'optional' accepting values 'require',
'optional'
and 'drop'.
Then, if destination cannot access a path and corresponding disk is
marked as:
a) 'require' - migration will fail
b) 'optional' - disk gets force ejected (source is free()'d),
regardless tray being locked
c) 'drop' - disk gets force ejected even if destination could
access the path.
diff to v1:
-change xml representation from 'yes' & 'no' to 'require',
'optional' & 'drop'
Michal Privoznik (2):
migration: Introduce <migration> element for cdrom and floppy
qemu: Implement migration optional disk
docs/formatdomain.html.in | 23 ++++++
docs/schemas/domaincommon.rng | 17 ++++
src/conf/domain_conf.c | 78 +++++++++++++++++++-
src/conf/domain_conf.h | 17 ++++
src/libvirt_private.syms | 2 +
src/qemu/qemu_migration.c | 51 ++++++++++++-
.../domain-qemu-complex-migration.xml | 68 +++++++++++++++++
7 files changed, 253 insertions(+), 3 deletions(-)
create mode 100644 tests/domainschemadata/domain-qemu-complex-migration.xml
--
1.7.3.4