import sys
import config
-from node import Node
+import mclu_build
+import mclu_console
+import mclu_import
+import mclu_info
+import mclu_list
+import mclu_migrate
+import mclu_off
+import mclu_on
+import mclu_reboot
+import mclu_start
+import mclu_status
+import mclu_stop
+import mclu_viewer
parser = argparse.ArgumentParser (
prog='mclu',
# Add subcommands.
subparsers = parser.add_subparsers ()
-import mclu_build
mclu_build.cmdline (subparsers)
-import mclu_console
mclu_console.cmdline (subparsers)
-import mclu_import
mclu_import.cmdline (subparsers)
-import mclu_info
mclu_info.cmdline (subparsers)
-import mclu_list
mclu_list.cmdline (subparsers)
-import mclu_migrate
mclu_migrate.cmdline (subparsers)
-import mclu_off
mclu_off.cmdline (subparsers)
-import mclu_on
mclu_on.cmdline (subparsers)
-import mclu_reboot
mclu_reboot.cmdline (subparsers)
-import mclu_start
mclu_start.cmdline (subparsers)
-import mclu_status
mclu_status.cmdline (subparsers)
-import mclu_stop
mclu_stop.cmdline (subparsers)
-import mclu_viewer
mclu_viewer.cmdline (subparsers)
args = parser.parse_args()
# section, so we have to rely on setting names not overlapping.
conf_defaults = {
"home" : os.getenv ("HOME"),
- "host" : "SET.THIS.IN.MCLU.CONF",
"config_dir" : config_dir,
- "uri" : "qemu+ssh://root@%(host)s/system",
}
# Read the configuration file.
xmls_dir = conf.get ("global", "xmls_dir")
if not os.path.isdir (xmls_dir):
sys.exit ("configuration error: [globals] 'xmls_dir' (%s) directory does not exist", xmls_dir)
-
-# Get the list of node names.
-node_names = conf.items ("nodes")
-node_names = filter (lambda (x, _) : re.search (r'^node', x), node_names)
-node_names = [ value for _, value in node_names ]
-if not node_names:
- sys.exit ("configuration error: [nodes] section in configuration file is empty")
-
-# Get information about each node.
-nodes = {}
-for node_name in node_names:
- host = conf.get (node_name, "host")
- if not host:
- host = node_name
- mac = conf.get (node_name, "mac")
- uri = conf.get (node_name, "uri")
- node = Node (node_name, host, mac, uri)
- nodes[node_name] = node
+nodes_group = conf.get ("global", "nodes_group")
# A config dict with less-used configuration settings.
c = {
"config_file" : args.f.name,
"config_dir" : config_dir,
"images_dir" : images_dir,
- "node_names" : node_names,
+ "nodes_group" : nodes_group,
"xmls_dir" : xmls_dir,
"conf" : conf,
}
# Run the subcommand.
-args.run (c, args, nodes)
+args.run (c, args)