[et-mgmt-tools] [PATCH] Check exclusive options
S.Sakamoto
fj0588di at aa.jp.fujitsu.com
Fri Apr 6 11:39:39 UTC 2007
Hi
When I install by virt-intall with some exclusive options
(e.g."--hvm --paravirt"), don't become an error.
So, here's the patch adds to check exclusive options:
// the subject of check //
* --hvm, --paravirt
* --vnc, --sdl
* --sdl, --nographics
* --network, --bridge
Signed-off-by: Shigeki Sakamoto <fj0588di at aa.jp.fujitsu.com>
Thanks,
Shigeki Sakamoto.
==========================================================
diff -r 04ddef989ad7 virt-install
--- a/virt-install Wed Apr 04 09:30:55 2007 -0400
+++ b/virt-install Fri Apr 06 20:25:33 2007 +0900
@@ -208,6 +208,7 @@ def get_networks(macs, bridges, networks
if bridges is not None and networks != None:
print >> sys.stderr, "Cannot mix both --bridge and --network arguments"
+ sys.exit(1)
# ensure we have equal length lists
if bridges != None:
@@ -237,6 +238,10 @@ def get_graphics(vnc, vncport, nographic
def get_graphics(vnc, vncport, nographics, sdl, keymap, guest):
if vnc and nographics:
raise ValueError, "Can't do both VNC graphics and nographics"
+ elif vnc and sdl:
+ raise ValueError, "Can't do both VNC graphics and SDL"
+ elif sdl and nographics:
+ raise ValueError, "Can't do both SDL and nographics"
if nographics:
guest.graphics = False
return
@@ -376,7 +381,7 @@ def parse_args():
help="The CPU architecture to simulate")
# paravirt options
- parser.add_option("-p", "--paravirt", action="store_false", dest="fullvirt",
+ parser.add_option("-p", "--paravirt", action="store_false", dest="paravirt",
help="This guest should be a paravirtualized guest")
parser.add_option("-l", "--location", type="string", dest="location",
action="callback", callback=check_before_store,
@@ -493,10 +498,21 @@ def main():
sys.exit(1)
# first things first, are we trying to create a fully virt guest?
- hvm = False
if conn.getType() == "Xen":
+ hvm = options.fullvirt
+ pv = options.paravirt
if virtinst.util.is_hvm_capable():
- hvm = options.fullvirt
+ if hvm is not None and pv is not None:
+ print >> sys.stderr, "Can't do both --hvm and --paravirt"
+ sys.exit(1)
+ elif pv is not None:
+ hvm = False
+ else:
+ if hvm is not None:
+ print >> sys.stderr, "Can't do --hvm to this system: HVM guest is not supported by your CPU or enabled in your BIOS"
+ sys.exit(1)
+ else:
+ hvm = False
if hvm is None:
hvm = get_full_virt()
else:
More information about the et-mgmt-tools
mailing list