X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=mclu.py;h=0a439ec3278a73e42b8ea343ce7dcb94f6372c4d;hb=2a55aedad2ca66ede45f62ca0b55b7e6dddc736f;hp=7c6ad81b480d8932f5d6fd58cf0acf749d8f70b0;hpb=290cf66cb7a5a6568bd090431793a2639ef4c4b9;p=mclu.git diff --git a/mclu.py b/mclu.py index 7c6ad81..0a439ec 100755 --- a/mclu.py +++ b/mclu.py @@ -23,7 +23,19 @@ import re 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', @@ -38,31 +50,18 @@ parser.add_argument ( # 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() @@ -79,9 +78,7 @@ else: # 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. @@ -95,35 +92,18 @@ if not os.path.isdir (images_dir): 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)