commit 57d0151e9a1885304a70c8d3bc720abfb3aa1502
Author: Iustin Pop <iustin@google.com>
Date:   Tue May 13 12:24:56 2008 +0000

    CLI: remove command opts/args in "gnt-X"
    
    [Forward-port of the 1.2 branch patch]
    
    This patch removes all the parameters and options from the output
    "gnt-X" (i.e. the subcommand list for command). This is done in order to
    uniformize the output, currently only some parameters are shown and they
    are not always consistent (e.g. required versus important parameters).
    
    Reviewed-by: ultrotter

diff --git a/lib/cli.py b/lib/cli.py
index 5e75da6..e1ceabd 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -251,16 +251,15 @@ def _ParseArgs(argv, commands, aliases):
            "\n%(bin)s <command> --help to see details, or"
            " man %(bin)s\n" % {"bin": binary})
     # compute the max line length for cmd + usage
-    mlen = max([len(" %s %s" % (cmd, commands[cmd][3])) for cmd in commands])
+    mlen = max([len(" %s" % cmd) for cmd in commands])
     mlen = min(60, mlen) # should not get here...
     # and format a nice command list
     print "Commands:"
     for cmd in sortedcmds:
-      cmdstr = " %s %s" % (cmd, commands[cmd][3])
-      help_text = commands[cmd][4]
+      cmdstr = " %s" % (cmd,)
+      help_text = commands[cmd][3]
       help_lines = textwrap.wrap(help_text, 79-3-mlen)
-      print "%-*s - %s" % (mlen, cmdstr,
-                                          help_lines.pop(0))
+      print "%-*s - %s" % (mlen, cmdstr, help_lines.pop(0))
       for line in help_lines:
         print "%-*s   %s" % (mlen, "", line)
     print
diff --git a/scripts/gnt-backup b/scripts/gnt-backup
index e11b438..7191c83 100755
--- a/scripts/gnt-backup
+++ b/scripts/gnt-backup
@@ -177,7 +177,7 @@ commands = {
                         help="List only backups stored on this node"
                              " (can be used multiple times)"),
             ],
-           "", "Lists instance exports available in the ganeti cluster"),
+           "Lists instance exports available in the ganeti cluster"),
   'export': (ExportInstance, ARGS_ONE,
              [DEBUG_OPT, FORCE_OPT,
               make_option("-n", "--node", dest="node", help="Target node",
@@ -185,13 +185,11 @@ commands = {
               make_option("","--noshutdown", dest="shutdown",
                           action="store_false", default=True,
                           help="Don't shutdown the instance (unsafe)"), ],
-             "-n <target_node> [opts...] <name>",
              "Exports an instance to an image"),
-  'import': (ImportInstance, ARGS_ONE, import_opts, "[opts...] <name>",
+  'import': (ImportInstance, ARGS_ONE, import_opts,
              "Imports an instance from an exported image"),
   'remove': (RemoveExport, ARGS_ONE,
              [DEBUG_OPT],
-             "<name>",
              "Remove exports of named instance from the filesystem."),
   }
 
diff --git a/scripts/gnt-cluster b/scripts/gnt-cluster
index f5514ff..258ef72 100755
--- a/scripts/gnt-cluster
+++ b/scripts/gnt-cluster
@@ -359,7 +359,6 @@ commands = {
                              " (cluster-wide)",
                         action="store_false", default=True,),
             ],
-           "[opts...] <cluster_name>",
            "Initialises a new cluster configuration"),
   'destroy': (DestroyCluster, ARGS_NONE,
               [DEBUG_OPT,
@@ -367,9 +366,8 @@ commands = {
                            help="Destroy cluster",
                            action="store_true"),
               ],
-              "", "Destroy cluster"),
+              "Destroy cluster"),
   'rename': (RenameCluster, ARGS_ONE, [DEBUG_OPT, FORCE_OPT],
-               "<new_name>",
                "Renames the cluster"),
   'verify': (VerifyCluster, ARGS_NONE, [DEBUG_OPT,
              make_option("--no-nplus1-mem", dest="skip_nplusone_mem",
@@ -377,31 +375,29 @@ commands = {
                          action="store_true",
                          default=False,),
              ],
-             "", "Does a check on the cluster configuration"),
+             "Does a check on the cluster configuration"),
   'verify-disks': (VerifyDisks, ARGS_NONE, [DEBUG_OPT],
-                   "", "Does a check on the cluster disk status"),
+                   "Does a check on the cluster disk status"),
   'masterfailover': (MasterFailover, ARGS_NONE, [DEBUG_OPT],
-                     "", "Makes the current node the master"),
+                     "Makes the current node the master"),
   'version': (ShowClusterVersion, ARGS_NONE, [DEBUG_OPT],
-              "", "Shows the cluster version"),
+              "Shows the cluster version"),
   'getmaster': (ShowClusterMaster, ARGS_NONE, [DEBUG_OPT],
-                "", "Shows the cluster master"),
+                "Shows the cluster master"),
   'copyfile': (ClusterCopyFile, ARGS_ONE, [DEBUG_OPT, node_option],
-               "[-n node...] <filename>",
                "Copies a file to all (or only some) nodes"),
   'command': (RunClusterCommand, ARGS_ATLEAST(1), [DEBUG_OPT, node_option],
-              "[-n node...] <command>",
               "Runs a command on all (or only some) nodes"),
   'info': (ShowClusterConfig, ARGS_NONE, [DEBUG_OPT],
-                 "", "Show cluster configuration"),
+                 "Show cluster configuration"),
   'list-tags': (ListTags, ARGS_NONE,
-                [DEBUG_OPT], "", "List the tags of the cluster"),
+                [DEBUG_OPT], "List the tags of the cluster"),
   'add-tags': (AddTags, ARGS_ANY, [DEBUG_OPT, TAG_SRC_OPT],
-               "tag...", "Add tags to the cluster"),
+               "Add tags to the cluster"),
   'remove-tags': (RemoveTags, ARGS_ANY, [DEBUG_OPT, TAG_SRC_OPT],
-                  "tag...", "Remove tags from the cluster"),
+                  "Remove tags from the cluster"),
   'search-tags': (SearchTags, ARGS_ONE,
-                  [DEBUG_OPT], "", "Searches the tags on all objects on"
+                  [DEBUG_OPT], "Searches the tags on all objects on"
                   " the cluster for a given pattern (regex)"),
   'modify': (SetClusterParams, ARGS_NONE,
              [DEBUG_OPT,
diff --git a/scripts/gnt-debug b/scripts/gnt-debug
old mode 100644
new mode 100755
index f57dd5d..6db5af4
--- a/scripts/gnt-debug
+++ b/scripts/gnt-debug
@@ -148,11 +148,11 @@ commands = {
                          action="append",
                          help="Select nodes to sleep on"),
              ],
-            "[opts...] <duration>", "Executes a TestDelay OpCode"),
+            "Executes a TestDelay OpCode"),
   'submit-job': (GenericOpCodes, ARGS_ONE,
                  [DEBUG_OPT,
                   ],
-                 "<op_list_file>", "Submits a job built from a json-file"
+                 "Submits a job built from a json-file"
                  " with a list of serialized opcodes"),
   'allocator': (TestAllocator, ARGS_ONE,
                 [DEBUG_OPT,
@@ -184,7 +184,7 @@ commands = {
                  make_option("--tags", default=None,
                              help="Comma separated list of tags"),
                  ],
-                "{opts...} <instance>", "Executes a TestAllocator OpCode"),
+                "Executes a TestAllocator OpCode"),
   }
 
 
diff --git a/scripts/gnt-instance b/scripts/gnt-instance
index c81be88..106b1b4 100755
--- a/scripts/gnt-instance
+++ b/scripts/gnt-instance
@@ -795,14 +795,12 @@ add_opts = [
 
 commands = {
   'add': (AddInstance, ARGS_ONE, add_opts,
-          "[opts...] <name>",
           "Creates and adds a new instance to the cluster"),
   'console': (ConnectToInstanceConsole, ARGS_ONE,
               [DEBUG_OPT,
                make_option("--show-cmd", dest="show_command",
                            action="store_true", default=False,
                            help=("Show command instead of executing it"))],
-              "[--show-cmd] <instance>",
               "Opens a console on the specified instance"),
   'failover': (FailoverInstance, ARGS_ONE,
                [DEBUG_OPT, FORCE_OPT,
@@ -811,13 +809,12 @@ commands = {
                             help="Ignore the consistency of the disks on"
                             " the secondary"),
                 ],
-               "[-f] <instance>",
                "Stops the instance and starts it on the backup node, using"
                " the remote mirror (only for instances of type drbd)"),
-  'info': (ShowInstanceConfig, ARGS_ANY, [DEBUG_OPT], "[<instance>...]",
+  'info': (ShowInstanceConfig, ARGS_ANY, [DEBUG_OPT],
            "Show information on the specified instance"),
   'list': (ListInstances, ARGS_NONE,
-           [DEBUG_OPT, NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT], "",
+           [DEBUG_OPT, NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT],
            "Lists the instances and their status. The available fields are"
            " (see the man page for details): status, oper_state, oper_ram,"
            " name, os, pnode, snodes, admin_state, admin_ram, disk_template,"
@@ -825,7 +822,7 @@ commands = {
            " list is (in order): %s." % ", ".join(_LIST_DEF_FIELDS),
            ),
   'reinstall': (ReinstallInstance, ARGS_ONE, [DEBUG_OPT, FORCE_OPT, os_opt],
-                "[-f] <instance>", "Reinstall a stopped instance"),
+                "Reinstall a stopped instance"),
   'remove': (RemoveInstance, ARGS_ONE,
              [DEBUG_OPT, FORCE_OPT,
               make_option("--ignore-failures", dest="ignore_failures",
@@ -834,7 +831,7 @@ commands = {
                                 " if there are failures during the removal"
                                 " process (shutdown, disk removal, etc.)")),
               ],
-             "[-f] <instance>", "Shuts down the instance and removes it"),
+             "Shuts down the instance and removes it"),
   'rename': (RenameInstance, ARGS_FIXED(2),
              [DEBUG_OPT,
               make_option("--no-ip-check", dest="ignore_ip",
@@ -842,7 +839,7 @@ commands = {
                           " is alive",
                           default=False, action="store_true"),
               ],
-             "<instance> <new_name>", "Rename the instance"),
+             "Rename the instance"),
   'replace-disks': (ReplaceDisks, ARGS_ONE,
                     [DEBUG_OPT,
                      make_option("-n", "--new-secondary", dest="new_secondary",
@@ -867,7 +864,6 @@ commands = {
                                  " secondary node replacement)",
                                  default=None, type="string"),
                      ],
-                    "[-s|-p|-n NODE] <instance>",
                     "Replaces all disks for the instance"),
   'modify': (SetInstanceParams, ARGS_ONE,
              [DEBUG_OPT, FORCE_OPT,
@@ -899,11 +895,11 @@ commands = {
                           "(either one or more of [acdn] or 'default')",
                           default=None, type="string", metavar="<BOOTORDER>"),
               ],
-             "<instance>", "Alters the parameters of an instance"),
+             "Alters the parameters of an instance"),
   'shutdown': (ShutdownInstance, ARGS_ANY,
                [DEBUG_OPT, m_node_opt, m_pri_node_opt, m_sec_node_opt,
                 m_clust_opt, m_inst_opt, m_force_multi],
-               "<instance>", "Stops an instance"),
+               "Stops an instance"),
   'startup': (StartupInstance, ARGS_ANY,
               [DEBUG_OPT, FORCE_OPT, m_force_multi,
                make_option("-e", "--extra", dest="extra_args",
@@ -912,7 +908,7 @@ commands = {
                m_node_opt, m_pri_node_opt, m_sec_node_opt,
                m_clust_opt, m_inst_opt,
                ],
-            "<instance>", "Starts an instance"),
+              "Starts an instance"),
 
   'reboot': (RebootInstance, ARGS_ANY,
               [DEBUG_OPT, m_force_multi,
@@ -929,19 +925,17 @@ commands = {
                m_node_opt, m_pri_node_opt, m_sec_node_opt,
                m_clust_opt, m_inst_opt,
                ],
-            "<instance>", "Reboots an instance"),
+             "Reboots an instance"),
   'activate-disks': (ActivateDisks, ARGS_ONE, [DEBUG_OPT],
-                     "<instance>",
                      "Activate an instance's disks"),
   'deactivate-disks': (DeactivateDisks, ARGS_ONE, [DEBUG_OPT],
-                       "<instance>",
                        "Deactivate an instance's disks"),
   'list-tags': (ListTags, ARGS_ONE, [DEBUG_OPT],
-                "<node_name>", "List the tags of the given instance"),
+                "List the tags of the given instance"),
   'add-tags': (AddTags, ARGS_ATLEAST(1), [DEBUG_OPT, TAG_SRC_OPT],
-               "<node_name> tag...", "Add tags to the given instance"),
+               "Add tags to the given instance"),
   'remove-tags': (RemoveTags, ARGS_ATLEAST(1), [DEBUG_OPT, TAG_SRC_OPT],
-                  "<node_name> tag...", "Remove tags from given instance"),
+                  "Remove tags from given instance"),
   }
 
 aliases = {
diff --git a/scripts/gnt-job b/scripts/gnt-job
old mode 100644
new mode 100755
index e98f637..3e6d88c
--- a/scripts/gnt-job
+++ b/scripts/gnt-job
@@ -95,8 +95,8 @@ def ListJobs(opts, args):
 
 commands = {
   'list': (ListJobs, ARGS_NONE,
-            [DEBUG_OPT, NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT],
-            "", "List the jobs and their status. The available fields are"
+           [DEBUG_OPT, NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT],
+           "List the jobs and their status. The available fields are"
            " (see the man page for details): id, status, op_list,"
            " op_status, op_result."
            " The default field"
diff --git a/scripts/gnt-node b/scripts/gnt-node
index b4938cd..6423562 100755
--- a/scripts/gnt-node
+++ b/scripts/gnt-node
@@ -295,10 +295,9 @@ commands = {
                        default=False, action="store_true",
                        help="Readd old node after replacing it"),
            ],
-          "[-s ip] <node_name>", "Add a node to the cluster"),
+          "Add a node to the cluster"),
   'evacuate': (EvacuateNode, ARGS_FIXED(2),
                [DEBUG_OPT, FORCE_OPT],
-               "[-f] <src> <dst>",
                "Relocate the secondary instances from the first node"
                " to the second one (only for instances of type remote_raid1"
                " drbd)"),
@@ -309,30 +308,29 @@ commands = {
                             help="Ignore the consistency of the disks on"
                             " the secondary"),
                 ],
-               "[-f] <node>",
                "Stops the primary instances on a node and start them on their"
                " secondary node (only for instances of type remote_raid1)"),
   'info': (ShowNodeConfig, ARGS_ANY, [DEBUG_OPT],
-           "[<node_name>...]", "Show information about the node(s)"),
+           "Show information about the node(s)"),
   'list': (ListNodes, ARGS_NONE,
            [DEBUG_OPT, NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT],
-           "", "Lists the nodes in the cluster. The available fields"
+           "Lists the nodes in the cluster. The available fields"
            " are (see the man page for details): name, pinst_cnt, pinst_list,"
            " sinst_cnt, sinst_list, pip, sip, dtotal, dfree, mtotal, mnode,"
            " mfree, bootid, cpu_count. The default field list is"
            " (in order): %s." % ", ".join(_LIST_DEF_FIELDS),
            ),
   'remove': (RemoveNode, ARGS_ONE, [DEBUG_OPT],
-             "<node_name>", "Removes a node from the cluster"),
+             "Removes a node from the cluster"),
   'volumes': (ListVolumes, ARGS_ANY,
               [DEBUG_OPT, NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT],
-              "[<node_name>...]", "List logical volumes on node(s)"),
+              "List logical volumes on node(s)"),
   'list-tags': (ListTags, ARGS_ONE, [DEBUG_OPT],
-                "<node_name>", "List the tags of the given node"),
+                "List the tags of the given node"),
   'add-tags': (AddTags, ARGS_ATLEAST(1), [DEBUG_OPT, TAG_SRC_OPT],
-               "<node_name> tag...", "Add tags to the given node"),
+               "Add tags to the given node"),
   'remove-tags': (RemoveTags, ARGS_ATLEAST(1), [DEBUG_OPT, TAG_SRC_OPT],
-                  "<node_name> tag...", "Remove tags from the given node"),
+                  "Remove tags from the given node"),
   }
 
 
diff --git a/scripts/gnt-os b/scripts/gnt-os
index e4041c7..873f09f 100755
--- a/scripts/gnt-os
+++ b/scripts/gnt-os
@@ -116,9 +116,9 @@ def DiagnoseOS(opts, args):
 
 
 commands = {
-  'list': (ListOS, ARGS_NONE, [DEBUG_OPT, NOHDR_OPT], "",
+  'list': (ListOS, ARGS_NONE, [DEBUG_OPT, NOHDR_OPT],
            "Lists all valid OSes on the master"),
-  'diagnose': (DiagnoseOS, ARGS_NONE, [DEBUG_OPT], "",
+  'diagnose': (DiagnoseOS, ARGS_NONE, [DEBUG_OPT],
                "Diagnose all OSes"),
   }
 
