Commit 57d0151e authored by Iustin Pop's avatar Iustin Pop

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
parent eee1fa2d
......@@ -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
......
......@@ -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."),
}
......
......@@ -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,
......
......@@ -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"),
}
......
......@@ -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 = {
......
......@@ -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"
......
......@@ -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"),
}
......
......@@ -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"),
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment