[Libguestfs] [libguestfs] Add ability to set a command for firstboot and not only a script (#7)
Richard W.M. Jones
rjones at redhat.com
Thu Nov 7 17:39:09 UTC 2013
> Subject: [PATCH] Add ability to set a command for firstboot and not only a
> script
In principle yes, in practice this patch isn't right:
> ---
> sysprep/sysprep_operation_firstboot.ml | 21 ++++++++++++---------
> 1 file changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/sysprep/sysprep_operation_firstboot.ml b/sysprep/sysprep_operation_firstboot.ml
> index 3473c47..6f61d15 100644
> --- a/sysprep/sysprep_operation_firstboot.ml
> +++ b/sysprep/sysprep_operation_firstboot.ml
> @@ -24,20 +24,23 @@ open Common_gettext.Gettext
>
> module G = Guestfs
>
> -let files = ref []
> +let params = ref []
>
> let firstboot_perform g root =
> - (* Read the files and add them using the {!Firstboot} module. *)
> - let files = List.rev !files in
> + (* Read command or files and add them using the {!Firstboot} module. *)
> + let params = List.rev !params in
> let i = ref 0 in
> List.iter (
> - fun filename ->
> + fun param->
> incr i;
> let i = !i in
> - let content = read_whole_file filename in
> - Firstboot.add_firstboot_script g root i content
> - ) files;
> - if files <> [] then [ `Created_files ] else []
> + if Sys.file_exists param then
The trouble here is depending on the existence of a local file this
fragile. You wouldn't find out that you'd made a mistake on the
command line until much later on (at first boot of the guest).
In virt-builder we're doing something better, I think. Firstly there
are --firstboot & --firstboot-command options:
http://libguestfs.org/virt-builder.1.html
Secondly this is implemented without any magic:
https://github.com/libguestfs/libguestfs/blob/master/builder/builder.ml#L650
It'd be nice if virt-sysprep worked compatibly.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
More information about the Libguestfs
mailing list