diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-04-11 13:25:36 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-04-11 13:50:53 +0100 |
commit | b8fbbcf79147ee88c605726d74b2672b765e4d21 (patch) | |
tree | 928e8efec893b4b852f8e3aac02abc5fe5c3b3a9 | |
parent | b10a3d718e4ff8957e8af4afafcd1680c386ad33 (diff) | |
download | libguestfs-b8fbbcf79147ee88c605726d74b2672b765e4d21.tar.gz libguestfs-b8fbbcf79147ee88c605726d74b2672b765e4d21.tar.xz libguestfs-b8fbbcf79147ee88c605726d74b2672b765e4d21.zip |
sysprep: Print some logging by default.
It can be disabled using the --quiet option.
The logging looks like:
Examining the guest ...
Performing "cron-spool" ...
Performing "dhcp-client-state" ...
Performing "dhcp-server-state" ...
Performing "hostname" ...
Performing "logfiles" ...
Performing "mail-spool" ...
Performing "net-hwaddr" ...
Performing "random-seed" ...
Performing "rhn-systemid" ...
Performing "script" ...
Performing "smolt-uuid" ...
Performing "ssh-hostkeys" ...
Performing "udev-persistent-net" ...
Performing "utmp" ...
Performing "yum-uuid" ...
Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
-rw-r--r-- | sysprep/main.ml | 14 | ||||
-rw-r--r-- | sysprep/sysprep_operation.ml | 5 | ||||
-rw-r--r-- | sysprep/sysprep_operation.mli | 2 | ||||
-rwxr-xr-x | sysprep/virt-sysprep.pod | 8 |
4 files changed, 23 insertions, 6 deletions
diff --git a/sysprep/main.ml b/sysprep/main.ml index d06b0d2a..cd7aa577 100644 --- a/sysprep/main.ml +++ b/sysprep/main.ml @@ -29,12 +29,13 @@ let () = Sysprep_operation.bake () (* Command line argument parsing. *) let prog = Filename.basename Sys.executable_name -let debug_gc, operations, g, selinux_relabel = +let debug_gc, operations, g, selinux_relabel, quiet = let debug_gc = ref false in let domain = ref None in let dryrun = ref false in let files = ref [] in let format = ref "auto" in + let quiet = ref false in let libvirturi = ref "" in let operations = ref None in let selinux_relabel = ref `Auto in @@ -105,6 +106,8 @@ let debug_gc, operations, g, selinux_relabel = "--enable", Arg.String set_enable, "operations Enable specific operations"; "--format", Arg.Set_string format, "format Set format (default: auto)"; "--list-operations", Arg.Unit list_operations, " List supported operations"; + "-q", Arg.Set quiet, " Don't print log messages"; + "--quiet", Arg.Set quiet, " Don't print log messages"; "--selinux-relabel", Arg.Unit force_selinux_relabel, " Force SELinux relabel"; "--no-selinux-relabel", Arg.Unit no_force_selinux_relabel, " Never do SELinux relabel"; "-v", Arg.Set verbose, " Enable debugging messages"; @@ -159,10 +162,14 @@ read the man page virt-sysprep(1). let debug_gc = !debug_gc in let dryrun = !dryrun in let operations = !operations in + let quiet = !quiet in let selinux_relabel = !selinux_relabel in let trace = !trace in let verbose = !verbose in + if not quiet then + printf "Examining the guest ...\n%!"; + (* Connect to libguestfs. *) let g = new G.guestfs () in if trace then g#set_trace true; @@ -170,7 +177,7 @@ read the man page virt-sysprep(1). add g dryrun; g#launch (); - debug_gc, operations, g, selinux_relabel + debug_gc, operations, g, selinux_relabel, quiet let () = (* Inspection. *) @@ -194,7 +201,8 @@ let () = ) mps; (* Perform the operations. *) - let flags = Sysprep_operation.perform_operations ?operations g root in + let flags = + Sysprep_operation.perform_operations ?operations ~quiet g root in (* Parse flags. *) let relabel = ref false in diff --git a/sysprep/sysprep_operation.ml b/sysprep/sysprep_operation.ml index 3fd8afc7..fedf9a04 100644 --- a/sysprep/sysprep_operation.ml +++ b/sysprep/sysprep_operation.ml @@ -169,7 +169,7 @@ let list_operations () = *) List.iter (fun op -> print_endline op.name ) !ops -let perform_operations ?operations g root = +let perform_operations ?operations ?(quiet = false) g root = assert !baked; let ops = @@ -181,7 +181,8 @@ let perform_operations ?operations g root = let flags = List.map ( fun op -> - (* eprintf "calling %S.perform g %S\n" op.name root; *) + if not quiet then + printf "Performing %S ...\n%!" op.name; op.perform g root ) ops in diff --git a/sysprep/sysprep_operation.mli b/sysprep/sysprep_operation.mli index 5fe035f6..0f585100 100644 --- a/sysprep/sysprep_operation.mli +++ b/sysprep/sysprep_operation.mli @@ -95,5 +95,5 @@ val add_to_set : string -> set -> set Note that this will raise [Not_found] if [name] is not a valid operation name. *) -val perform_operations : ?operations:set -> Guestfs.guestfs -> string -> flag list +val perform_operations : ?operations:set -> ?quiet:bool -> Guestfs.guestfs -> string -> flag list (** Perform all operations, or the subset listed in the [operations] set. *) diff --git a/sysprep/virt-sysprep.pod b/sysprep/virt-sysprep.pod index 8120c78d..a8cffb6c 100755 --- a/sysprep/virt-sysprep.pod +++ b/sysprep/virt-sysprep.pod @@ -124,6 +124,14 @@ security problem with malicious guests (CVE-2010-3851). List the operations supported by the virt-sysprep program. +=item B<-q> + +=item B<--quiet> + +Don't print log messages. + +To enable detailed logging of individual file operations, use I<-x>. + =item B<--selinux-relabel> =item B<--no-selinux-relabel> |