[libvirt] [PATCH 1/3] bhyve: implement support for commandline args
Daniel P. Berrangé
berrange at redhat.com
Tue Jan 29 14:01:28 UTC 2019
On Fri, Jan 18, 2019 at 07:41:00PM +0400, Roman Bogorodskiy wrote:
> Implement support for passing custom command line arguments
> to bhyve using the 'bhyve:commandline' element:
>
> <bhyve:commandline>
> <bhyve:arg value='-newarg'/>
> </bhyve:commandline>
>
> * Define virDomainXMLNamespace for the bhyve driver, which
> at this point supports only the 'commandline' element
> described above,
> * Update command generation code to inject these command line
> arguments between driver-generated arguments and the vmname
> positional argument.
>
> Signed-off-by: Roman Bogorodskiy <bogorodskiy at gmail.com>
> ---
> docs/schemas/domaincommon.rng | 17 +++
> src/bhyve/bhyve_command.c | 9 ++
> src/bhyve/bhyve_conf.c | 15 +++
> src/bhyve/bhyve_conf.h | 9 ++
> src/bhyve/bhyve_domain.c | 107 +++++++++++++++++-
> src/bhyve/bhyve_domain.h | 1 +
> .../bhyvexml2argv-commandline.args | 9 ++
> .../bhyvexml2argv-commandline.ldargs | 3 +
> .../bhyvexml2argv-commandline.xml | 27 +++++
> tests/bhyvexml2argvtest.c | 1 +
> .../bhyvexml2xmlout-commandline.xml | 37 ++++++
> tests/bhyvexml2xmltest.c | 1 +
> 12 files changed, 235 insertions(+), 1 deletion(-)
> create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-commandline.args
> create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-commandline.ldargs
> create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-commandline.xml
> create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-commandline.xml
> diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
> index 84fda08943..a1ae2026a0 100644
> --- a/src/bhyve/bhyve_command.c
> +++ b/src/bhyve/bhyve_command.c
> @@ -28,6 +28,7 @@
> #include "bhyve_capabilities.h"
> #include "bhyve_command.h"
> #include "bhyve_domain.h"
> +#include "bhyve_conf.h"
> #include "bhyve_driver.h"
> #include "datatypes.h"
> #include "viralloc.h"
> @@ -626,6 +627,14 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
> if (bhyveBuildConsoleArgStr(def, cmd) < 0)
> goto error;
>
> + if (def->namespaceData) {
> + bhyveDomainCmdlineDefPtr bhyvecmd;
> +
> + bhyvecmd = def->namespaceData;
> + for (i = 0; i < bhyvecmd->num_args; i++)
> + virCommandAddArg(cmd, bhyvecmd->args[i]);
> + }
There should be a VIR_WARN emitted in this block to mark the fact
that the guest is booted using command line passthrough feature
as that limits supportability of the guest.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list