On Wed, May 09, 2018 at 05:40 PM +0200, "Daniel P. Berrangé"
<berrange(a)redhat.com> wrote:
On Wed, May 09, 2018 at 04:56:12PM +0200, Marc Hartmayer wrote:
> Introduce new libvirt API virDomainCreateWithParams that allows to
> temporarily boot from another boot device, to use another kernel,
> initrd, and cmdline than defined in the persistent domain
> definition. All typed parameters are optional.
>
> The design of the API was chosen to ease future extensions.
I don't really see the point in doing this. We already have the ability
to temporary boot with a different configuration than is stored in
the persistent XML. Just call virDomainCreateXML() passing in the
alternative XML doc. This allows changing *any* aspect of the guest
configuration, so we're not restricted to just bot device, kernel
initrd and cmdline, and thus won't need to write more code anytime
someone asks to be able to override something else too.
I know there is the API virDomainCreateXML for creating a transient
domain and that it’s possible to temporarily replace parts of the
persistent XML with it. But my idea is _not_ to add a functionality to
override parts of the persistent XML. My idea is to provide support
allowing an easy one-time switch of the boot device in a persistently
defined domain. For s390 it’s essential to have an easy way to change
the boot configuration since it “knows” only one boot device at a time
and it has no support for interactively changing the boot device during
the boot/IPL process.
I started out with a fixed API (as it was done for example with
virDomanCreateWithFiles) but than I liked the approach of providing an
more extensible and flexible API better. This is also the reason why I
used typed parameters for passing the arguments. This type of API is
also not restricted to boot order changes since it could be freely
expanded (e.g. passing file descriptors). I can certainly revert back to
the static API.
--
Beste Grüße / Kind regards
Marc Hartmayer
IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294