build/import: Fix --virtio parameters.
[mclu.git] / mclu_import.py
index f808182..46797d0 100644 (file)
@@ -40,7 +40,7 @@ def cmdline (subparsers):
         help='virtual CPUs to give to guest'
     )
     p.add_argument (
-        '--virtio', default=True,
+        '--virtio', action='store_const', const=True,
         help='use virtio disks and network'
     )
     p.add_argument (
@@ -53,29 +53,22 @@ def cmdline (subparsers):
     )
     p.set_defaults (run=run)
 
-def run (c, args, nodes):
+def run (c, args):
     # Did the user request a particular node?  If not, we'll run it
     # on any node which is up.
     m = re.match (r'^(.*):(.*)$', args.name)
     if m:
         node_name = m.group (1)
         vm_name = m.group (2)
-        if node_name in nodes:
-            node = nodes[node_name]
-            if not node.ping ():
-                sys.exit ("error: requested node (%s) is not up, use mclu on %s" %
-                          (node_name, node_name))
-        else:
-            sys.exit ("error: requested node (%s) does not exist" % node_name)
     else:
-        node = lib.pick_any_node_which_is_up (nodes)
+        node_name = lib.pick_any_node_which_is_up (c)
         vm_name = args.name
 
     # Get all the guests, so we can tell if the name is a duplicate.
-    running, inactive = lib.get_all_guests (c, nodes.values ())
+    running, inactive = lib.get_all_guests (c)
 
     if vm_name in running or vm_name in inactive:
-        sys.exit ("error: node name (%s) already exists" % vm_name)
+        sys.exit ("error: VM name (%s) already exists" % vm_name)
 
     output = '%s/%s.img' % (c['images_dir'], vm_name)
 
@@ -106,5 +99,5 @@ def run (c, args, nodes):
     fp.close ()
 
     # Start the guest.
-    lib.start_guest (c, node, vm_name)
-    print "guest imported and started on node %s" % node.name
+    lib.start_guest (c, node_name, vm_name)
+    print "guest imported and started on node %s" % node_name