On Mon, Jul 07, 2008 at 03:51:41PM -0700, john.levon@xxxxxxx wrote: > Add --host option I didn't quite mean to send this patch yet, but here's a version that actually works below thanks john Add --host option Some formats need unpleasant knowledge of what hypervisor they're going to run on. We default to the current machine, but add a --host option to allow people to choose (and so we can write tests). Signed-off-by: John Levon <john.levon@xxxxxxx> diff --git a/man/en/virt-convert.1 b/man/en/virt-convert.1 --- a/man/en/virt-convert.1 +++ b/man/en/virt-convert.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "VIRT-CONVERT 1" -.TH VIRT-CONVERT 1 "2008-07-04" "perl v5.8.8" "Virtual Machine Install Tools" +.TH VIRT-CONVERT 1 "2008-07-07" "perl v5.8.8" "Virtual Machine Install Tools" .SH "NAME" virt\-convert \- convert virtual machines between formats .SH "SYNOPSIS" @@ -159,6 +159,11 @@ .IP "\-h, \-\-help" 4 .IX Item "-h, --help" Show the help message and exit +.IP "\-H \s-1HOST\s0, \-\-host=HOST" 4 +.IX Item "-H HOST, --host=HOST" +Hypervisor target host. This is needed for some output formats such as +\&\f(CW\*(C`virt\-instance\*(C'\fR, and it will default to the current host. Current +accepted values are 'xvm' (for Solaris xVM), or 'xen' (for Xen). .IP "\-a \s-1ARCH\s0, \-\-arch=ARCH" 4 .IX Item "-a ARCH, --arch=ARCH" Architecture of the virtual machine (i686, x86_64, ppc). Defaults to diff --git a/man/en/virt-convert.pod b/man/en/virt-convert.pod --- a/man/en/virt-convert.pod +++ b/man/en/virt-convert.pod @@ -36,6 +36,12 @@ =item -h, --help Show the help message and exit + +=item -H HOST, --host=HOST + +Hypervisor target host. This is needed for some output formats such as +C<virt-instance>, and it will default to the current host. Current +accepted values are 'xvm' (for Solaris xVM), or 'xen' (for Xen). =item -a ARCH, --arch=ARCH diff --git a/virt-convert b/virt-convert --- a/virt-convert +++ b/virt-convert @@ -83,6 +83,8 @@ help=("Disables APIC for fully virtualized guest (overrides value in os-type/os-variant db)"), default=False) opts.add_option("", "--noacpi", action="store_true", dest="noacpi", help=("Disables ACPI for fully virtualized guest (overrides value in os-type/os-variant db)"), default=False) + opts.add_option("-H", "--host", type="string", dest="host", action="store", + default=vmconfig.default_host(), help=("Host hypervisor type, e.g. 'xen'")) (options, args) = opts.parse_args() if len(args) < 1: @@ -196,6 +198,7 @@ else: vmdef.type = vmconfig.VM_TYPE_HVM + vmdef.host = options.host vmdef.arch = options.arch vmdef.os_type = options.os_type vmdef.os_variant = options.os_variant diff --git a/virtconv/vmconfig.py b/virtconv/vmconfig.py --- a/virtconv/vmconfig.py +++ b/virtconv/vmconfig.py @@ -18,7 +18,10 @@ # MA 02110-1301 USA. # +import platform import os + +from virtinst import util _parsers = [ ] @@ -286,3 +289,13 @@ return (os.path.join(path, cfgfile), p.name) raise StandardError("unknown format") + +def default_host(): + """ + Return the default host hypervisor, or 'None' if none seems present. + """ + if platform.system() == "SunOS": + return "xvm" + + # FIXME: should we massage this value? + return util.default_connection() _______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools