[et-mgmt-tools] [PATCH 11 of 11] Add --host option
john.levon at sun.com
john.levon at sun.com
Mon Jul 7 22:51:41 UTC 2008
# HG changeset patch
# User john.levon at sun.com
# Date 1215470469 25200
# Node ID d025b8efe3e3f578e731a452417a0dd5ef73d8ac
# Parent bed866186030cc9549f6a020e0abda871fc008c2
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 at sun.com>
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 @@ a libvirt \*(L"image\*(R" \s-1XML\s0 def
.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
@@ -37,6 +37,12 @@ a libvirt "image" XML definition (see L<
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
Architecture of the virtual machine (i686, x86_64, ppc). Defaults to
diff --git a/virt-convert b/virt-convert
--- a/virt-convert
+++ b/virt-convert
@@ -83,6 +83,8 @@ def parse_args():
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 @@ def main():
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
@@ -19,6 +19,8 @@
#
import os
+
+from virtinst import util
_parsers = [ ]
@@ -286,3 +288,13 @@ def find_input(path, format = None):
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()
More information about the et-mgmt-tools
mailing list