This patch series implements a new API that allows us to temporarily
use another boot configuration than defined in the persistent domain
definition.
The s390 architecture knows only one boot device and therefore the
boot order settings doesn't work the way it would work on x86, for
example. If the first boot device fails to boot there is no trying to
boot from the next boot device. In addition, the architecture/BIOS has
no support for interactively changing the boot device during the
boot/IPL process.
Currently the API is implemented for the remote/QEMU/test driver and
for virsh.
It can be used as follows
$ virsh start {{DOMAIN}} --with-kernel {{KERNEL_FILE}} \
--with-initrd {{INITRD_FILE}} --with-cmdline {{CMDLINE}} \
--with-bootdevice {{DEVICE_IDENTIFIER}}
E.g.
$ virsh start dom_01 --with-bootdevice='vdb'
Marc Hartmayer (12):
virsh: Force boot emulation is only required for
virDomainCreateWithFlags
Introduce new domain create API virDomainCreateWithParams
remote: Add support for virDomainCreateWithParams
utils: Add virStringUpdate
conf: Add functions to change the boot configuration of a domain
qemu: Add the functionality to override the boot configuration
qemu: Add support for virDomainCreateWithParams
test: Implement virConnectSupportsFeature
test: Add support for virDomainCreateWithParams
tests: Add tests for virDomainCreateWithParams
virsh: Add with-{bootdevice,kernel,initrd,cmdline} options for start
docs: Add news entry for new API virDomainCreateWithParams
docs/news.xml | 11 ++
include/libvirt/libvirt-domain.h | 37 +++++
src/conf/domain_conf.c | 226 +++++++++++++++++++++++++++
src/conf/domain_conf.h | 11 ++
src/driver-hypervisor.h | 6 +
src/libvirt-domain.c | 64 ++++++++
src/libvirt_private.syms | 2 +
src/libvirt_public.syms | 4 +
src/qemu/qemu_driver.c | 83 ++++++++--
src/qemu/qemu_migration.c | 3 +-
src/qemu/qemu_process.c | 16 +-
src/qemu/qemu_process.h | 2 +
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 22 ++-
src/remote_protocol-structs | 12 ++
src/rpc/gendispatch.pl | 18 ++-
src/test/test_driver.c | 108 +++++++++++--
src/util/virstring.c | 27 ++++
src/util/virstring.h | 2 +
tests/objecteventtest.c | 321 +++++++++++++++++++++++++++++++++++++++
tools/virsh-domain.c | 136 ++++++++++++++---
tools/virsh.pod | 14 ++
22 files changed, 1064 insertions(+), 62 deletions(-)
--
2.13.4