[Bugs] [Bug 1498730] New: The output of the "gluster help" command is difficult to read

bugzilla at redhat.com bugzilla at redhat.com
Thu Oct 5 05:19:34 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1498730

            Bug ID: 1498730
           Summary: The output of the "gluster help" command is difficult
                    to read
           Product: Red Hat Gluster Storage
           Version: 3.3
         Component: cli
          Assignee: kaushal at redhat.com
          Reporter: nbalacha at redhat.com
        QA Contact: rhinduja at redhat.com
                CC: bugs at gluster.org, rhs-bugs at redhat.com,
                    storage-qa-internal at redhat.com
        Depends On: 1474768



+++ This bug was initially created as a clone of Bug #1474768 +++

Description of problem:

Running "gluster help" returns 67 lines of text. It is difficult to find the
information one is looking for. 

Version-Release number of selected component (if applicable):


How reproducible:
Consistently

Steps to Reproduce:
1. Run "gluster help"
2.
3.

Actual results:

[root at rhgs313-7 ~]# gluster help
volume info [all|<VOLNAME>] - list information of all volumes
volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT> [arbiter
<COUNT>]] [disperse [<COUNT>]] [disperse-data <COUNT>] [redundancy <COUNT>]
[transport <tcp|rdma|tcp,rdma>] <NEW-BRICK>?<vg_name>... [force] - create a new
volume of specified type with mentioned bricks
volume delete <VOLNAME> - delete volume specified by <VOLNAME>
volume start <VOLNAME> [force] - start volume specified by <VOLNAME>
volume stop <VOLNAME> [force] - stop volume specified by <VOLNAME>
volume tier <VOLNAME> status
volume tier <VOLNAME> start [force]
volume tier <VOLNAME> stop
volume tier <VOLNAME> attach [<replica COUNT>] <NEW-BRICK>... [force]
volume tier <VOLNAME> detach <start|stop|status|commit|[force]>
 - Tier translator specific operations.
volume attach-tier <VOLNAME> [<replica COUNT>] <NEW-BRICK>... - NOTE: this is
old syntax, will be depreciated in next release. Please use gluster volume tier
<vol> attach [<replica COUNT>] <NEW-BRICK>...
volume detach-tier <VOLNAME>  <start|stop|status|commit|force> - NOTE: this is
old syntax, will be depreciated in next release. Please use gluster volume tier
<vol> detach {start|stop|commit} [force]
volume add-brick <VOLNAME> [<stripe|replica> <COUNT> [arbiter <COUNT>]]
<NEW-BRICK> ... [force] - add brick to volume <VOLNAME>
volume remove-brick <VOLNAME> [replica <COUNT>] <BRICK> ...
<start|stop|status|commit|force> - remove brick from volume <VOLNAME>
volume rebalance <VOLNAME> {{fix-layout start} | {start [force]|stop|status}} -
rebalance operations
volume replace-brick <VOLNAME> <SOURCE-BRICK> <NEW-BRICK> {commit force} -
replace-brick operations
volume set <VOLNAME> <KEY> <VALUE> - set options for volume <VOLNAME>
volume help - display help for the volume command
volume log <VOLNAME> rotate [BRICK] - rotate the log file for corresponding
volume/brick
volume log rotate <VOLNAME> [BRICK] - rotate the log file for corresponding
volume/brick NOTE: This is an old syntax, will be deprecated from next release.
volume sync <HOSTNAME> [all|<VOLNAME>] - sync the volume information from a
peer
volume reset <VOLNAME> [option] [force] - reset all the reconfigured options
volume geo-replication [<VOLNAME>] [<SLAVE-URL>] {create [[ssh-port n]
[[no-verify]|[push-pem]]] [force]|start [force]|stop [force]|pause
[force]|resume [force]|config|status [detail]|delete [reset-sync-time]}
[options...] - Geo-sync operations
volume profile <VOLNAME> {start|info [peek|incremental
[peek]|cumulative|clear]|stop} [nfs] - volume profile operations
volume quota <VOLNAME> {enable|disable|list [<path> ...]| list-objects [<path>
...] | remove <path>| remove-objects <path> | default-soft-limit <percent>} |
volume quota <VOLNAME> {limit-usage <path> <size> [<percent>]} |
volume quota <VOLNAME> {limit-objects <path> <number> [<percent>]} |
volume quota <VOLNAME> {alert-time|soft-timeout|hard-timeout} {<time>} - quota
translator specific operations
volume inode-quota <VOLNAME> enable - quota translator specific operations
volume top <VOLNAME> {open|read|write|opendir|readdir|clear} [nfs|brick
<brick>] [list-cnt <value>] |
volume top <VOLNAME> {read-perf|write-perf} [bs <size> count <count>] [brick
<brick>] [list-cnt <value>] - volume top operations
volume status [all | <VOLNAME> [nfs|shd|<BRICK>|quotad|tierd]]
[detail|clients|mem|inode|fd|callpool|tasks] - display status of all or
specified volume(s)/brick
volume heal <VOLNAME> [enable | disable | full |statistics [heal-count [replica
<HOSTNAME:BRICKNAME>]] |info [healed | heal-failed | split-brain] |split-brain
{bigger-file <FILE> | latest-mtime <FILE> |source-brick <HOSTNAME:BRICKNAME>
[<FILE>]} |granular-entry-heal {enable | disable}] - self-heal commands on
volume specified by <VOLNAME>
volume statedump <VOLNAME> [[nfs|quotad]
[all|mem|iobuf|callpool|priv|fd|inode|history]... | [client
<hostname:process-id>]] - perform statedump on bricks
volume list - list all volumes in cluster
volume clear-locks <VOLNAME> <path> kind {blocked|granted|all}{inode
[range]|entry [basename]|posix [range]} - Clear locks held on path
volume barrier <VOLNAME> {enable|disable} - Barrier/unbarrier file operations
on a volume
volume get <VOLNAME|all> <key|all> - Get the value of the all options or given
option for volume <VOLNAME> or all option. gluster volume get all all is to get
all global options
volume bitrot <VOLNAME> {enable|disable} |
volume bitrot <volname> scrub-throttle {lazy|normal|aggressive} |
volume bitrot <volname> scrub-frequency {hourly|daily|weekly|biweekly|monthly}
|
volume bitrot <volname> scrub {pause|resume|status|ondemand} - Bitrot
translator specific operation. For more information about bitrot command type 
'man gluster'
volume reset-brick <VOLNAME> <SOURCE-BRICK> {{start} | {<NEW-BRICK> commit}} -
reset-brick operations
peer probe { <HOSTNAME> | <IP-address> } - probe peer specified by <HOSTNAME>
peer detach { <HOSTNAME> | <IP-address> } [force] - detach peer specified by
<HOSTNAME>
peer status - list status of peers
peer help - Help command for peer 
pool list - list all the nodes in the pool (including localhost)
quit - quit
help - display command options
exit - exit
snapshot help - display help for snapshot commands
snapshot create <snapname> <volname> [no-timestamp] [description <description>]
[force] - Snapshot Create.
snapshot clone <clonename> <snapname> - Snapshot Clone.
snapshot restore <snapname> - Snapshot Restore.
snapshot status [(snapname | volume <volname>)] - Snapshot Status.
snapshot info [(snapname | volume <volname>)] - Snapshot Info.
snapshot list [volname] - Snapshot List.
snapshot config [volname] ([snap-max-hard-limit <count>] [snap-max-soft-limit
<percent>]) | ([auto-delete <enable|disable>])| ([activate-on-create
<enable|disable>]) - Snapshot Config.
snapshot delete (all | snapname | volume <volname>) - Snapshot Delete.
snapshot activate <snapname> [force] - Activate snapshot volume.
snapshot deactivate <snapname> - Deactivate snapshot volume.
global help - list global commands
get-state [<daemon>] [[odir </path/to/output/dir/>] [file <filename>]]
[detail|volumeoptions] - Get local state representation of mentioned daemon

Expected results:


Additional info:

--- Additional comment from Nithya Balachandran on 2017-07-25 08:13:57 EDT ---

Proposed: Split the commands up into classes and display those. The user then
has the option to view the help for a single class of commands. For instance:
"gluster help"  will return:

help all           - display all commands                                       
peer help          - display all trusted storage pool management commands       
volume help        - display all volume management commands                     
volume bitrot help - display all volume bitrot commands                         
volume quota help  - display all volume quota commands                          
volume tier help   - display all volume tier commands                           
snapshot help      - display all snapshot commands


"gluster peer help" will return:

peer probe { <HOSTNAME> | <IP-address> } - probe peer specified by <HOSTNAME>
peer detach { <HOSTNAME> | <IP-address> } [force] - detach peer specified by
<HOSTNAME>
peer status - list status of peers
peer help - Help command for peer 
pool list - list all the nodes in the pool (including localhost)


and so on.

--- Additional comment from Nithya Balachandran on 2017-08-01 06:21:13 EDT ---

I see the following issues with the help output :

1. Some of the commands listed do not have a description displayed. These
include the quota, tier and bitrot commands.
2. Non-uniform spacing of options:

volume top <VOLNAME> {open|read|write|opendir|readdir|clear} [nfs|brick
<brick>] [list-cnt <value>] |

vs

volume heal <VOLNAME> [enable | disable | full |statistics [heal-count [replica 

3. Entries are not in alphabetical order

--- Additional comment from Worker Ant on 2017-08-01 07:32:22 EDT ---

REVIEW: https://review.gluster.org/17944 (cli: gluster help changes) posted
(#1) for review on master by N Balachandran (nbalacha at redhat.com)


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1474768
[Bug 1474768] The output of the "gluster help" command is difficult to read
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=fVKm92gmZt&a=cc_unsubscribe


More information about the Bugs mailing list