Bug 1017988 - rhqctl command help does not work
Summary: rhqctl command help does not work
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Operations Network
Classification: JBoss
Component: Launch Scripts
Version: JON 3.2
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ER04
: JON 3.2.0
Assignee: Jay Shaughnessy
QA Contact: Mike Foley
URL:
Whiteboard:
Depends On:
Blocks: 1012435
TreeView+ depends on / blocked
 
Reported: 2013-10-10 22:24 UTC by Larry O'Leary
Modified: 2014-01-02 20:35 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-01-02 20:35:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Larry O'Leary 2013-10-10 22:24:11 UTC
Description of problem:
When attempting to get help from rhqctl using the --help command-line argument, it fails when used in conjunction with a command. This appears to be due to the server not yet being installed or a property check failure. The result is that a user can not get help for the rhqctl install command until after the rhqctl install has been completed.

The expectation is that the --help command provide usage help for the command. Perhaps this should include the required properties in the event they are missing but at least display the usage help page for the command it was issued for.

Version-Release number of selected component (if applicable):
JON 3.2 ER3
Build: c0742ed:cbad264

How reproducible:
Always

Steps to Reproduce:
1. Extract JBoss ON server ZIP to $JON_HOME directory.
2. Execute rhqctl --help
3. Execute rhqctl install --help

Actual results:
$ ./rhqctl --help
17:10:03,739 INFO  [org.jboss.modules] JBoss Modules version 1.2.2.Final-redhat-1
usage: rhqctl <cmd> [options]

where <cmd> is one of:
 console <[options]>   Starts an RHQ service in the foreground. Only
                       --server or --storage is supported. To start the
                       agent in the foreground, use the
                       <RHQ_AGENT_HOME>/bin/rhq-agent.(sh|bat) script.
 install <[options]>   Installs RHQ services.
 restart <[options]>   Restarts RHQ services.
 start <[options]>     Starts RHQ services.
 status <[options]>    Check status of RHQ services
 stop <[options]>      Stops RHQ services
 upgrade <[options]>   Upgrades RHQ services from an earlier installed
                       version

* For help on a specific command: rhqctl <cmd> --help
* Limit commands to a single component with one of: --storage, --server,
--agent
$ ./rhqctl install --help
17:11:02,166 INFO  [org.jboss.modules] JBoss Modules version 1.2.2.Final-redhat-1

The [jboss.bind.address] property is required but not set in [rhq-server.properties].
Do you want to set [jboss.bind.address] value now?
yes|no: 


Expected results:
./rhqctl install --help should return the command usage help as per: "For help on a specific command: rhqctl <cmd> --help"

Additional info:
It appears that the usage help is suppressed due to the missing jboss.bind.address in the rhq-server.properties file.

The end result is that the user CAN NOT get command usage help unless they:
 - read the documentation
 - log a support case
 - proceed blindly with the usage of the install command

Comment 1 John Mazzitelli 2013-10-14 18:37:29 UTC
from a master build, it looks like this all works. Will make sure this is in the 3.2 branch. Here's what the output looks like for all the commands:

======================================================================

$ ./rhqctl --help
14:34:12,677 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl <cmd> [options]

where <cmd> is one of:
 console <[options]>   Starts an RHQ service in the foreground. Only
                       --server or --storage is supported. To start the
                       agent in the foreground, use the
                       <RHQ_AGENT_HOME>/bin/rhq-agent.(sh|bat) script.
 install <[options]>   Installs RHQ services.
 restart <[options]>   Restarts RHQ services.
 start <[options]>     Starts RHQ services.
 status <[options]>    Check status of RHQ services
 stop <[options]>      Stops RHQ services
 upgrade <[options]>   Upgrades RHQ services from an earlier installed
                       version

* For help on a specific command: rhqctl <cmd> --help
* Limit commands to a single component with one of: --storage, --server,
--agent

======================================================================

$ ./rhqctl console --help
14:34:17,493 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl console [options]

Starts an RHQ service in the foreground. Only --server or --storage is
supported. To start the agent in the foreground, use the
<RHQ_AGENT_HOME>/bin/rhq-agent.(sh|bat) script.
    --server    Start the RHQ server in the foreground
    --storage   Start the RHQ storage node in the foreground

======================================================================

$ ./rhqctl install --help
14:34:27,253 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl install [options]

Installs RHQ services.
    --agent                         Install RHQ agent. The install
                                    directory will be
                                    [/home/mazz/source/rhq/dev-container/r
                                    hq-agent]
    --agent-config <arg>            An alternate XML file to use in place
                                    of the default agent-configuration.xml
    --agent-preference <arg>        An agent preference setting (whose
                                    argument is in the form 'name=value')
                                    to be set in the agent. More than one
                                    of these is allowed.
    --server                        Install RHQ server. If you have not
                                    yet installed an RHQ storage node
                                    somewhere in your network, you must
                                    specify --storage to install one.
    --start                         If specified then immediately start
                                    the services after installation.  Note
                                    that services may be started and shut
                                    down as part of the installation
                                    process, but will not be started or
                                    left running by default.
    --storage                       Install RHQ storage node. The install
                                    directory will be
                                    [/home/mazz/source/rhq/dev-container/r
                                    hq-server/rhq-storage]. Note that this
                                    option implies --agent which means an
                                    agent will also be installed, if one
                                    is not yet installed.
    --storage-data-root-dir <arg>   The root directory under which all
                                    storage data directories will be
                                    placed.

======================================================================

$ ./rhqctl restart --help
14:34:31,863 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl restart [options]

Restarts RHQ services.
    --agent     Restart RHQ agent
    --server    Restart RHQ server
    --storage   Restart RHQ storage node

======================================================================

$ ./rhqctl start --help
14:34:36,836 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl start [options]

Starts RHQ services.
    --agent     Start RHQ agent
    --server    Start RHQ server
    --storage   Start RHQ storage node

======================================================================

$ ./rhqctl status --help
14:34:43,477 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl status [options]

Check status of RHQ services
    --agent     Check status of RHQ agent
    --server    Check status of RHQ server
    --storage   Check status of RHQ storage node

======================================================================

$ ./rhqctl stop --help
14:34:47,281 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl stop [options]

Stops RHQ services
    --agent     Stop RHQ agent
    --server    Stop RHQ server
    --storage   Stop RHQ storage node

======================================================================

$ ./rhqctl upgrade --help
14:34:51,733 INFO  [org.jboss.modules] JBoss Modules version 1.2.0.CR1
usage: rhqctl upgrade [options]

Upgrades RHQ services from an earlier installed version
    --from-agent-dir <arg>            Full path to install directory of
                                      the RHQ Agent to be upgraded.
                                      Required only if an existing agent
                                      exists and is not installed in the
                                      default location:
                                      <from-server-dir>/../rhq-agent
    --from-server-dir <arg>           Full path to install directory of
                                      the RHQ Server to be upgraded.
                                      Required.
    --run-data-migrator <arg>         This option is valid only when
                                      upgrading from older systems that
                                      did not have storage nodes. The
                                      existing metric data needs to
                                      migrate to the metric storage.  The
                                      upgrade process can trigger this or
                                      give you an estimate on the
                                      duration. If you want to have fine
                                      control over the process, please run
                                      the migrator on the command line.
                                      Options are none (do nothing),
                                      estimate (estimate the migration
                                      time only), print-command (print the
                                      command line for a manual run),
                                      do-it (run the migration)
    --start                           If specified then immediately start
                                      the services after upgrade.  Note
                                      that services may be started and
                                      shut down as part of the upgrade
                                      process, but will not be started or
                                      left running by default.
    --storage-data-root-dir <arg>     This option is valid only when
                                      upgrading from older systems that
                                      did not have storage nodes. Use this
                                      option to specify a non-default base
                                      directory for the data directories
                                      created by the storage node. For
                                      example, if the default directory is
                                      not writable for the current user
                                      (/var/lib on Linux) or if you simply
                                      prefer a different location.
    --use-remote-storage-node <arg>   By default a server is co-located
                                      with a storage node. However, if
                                      this option is set to true, no local
                                      storage node will be upgraded and it
                                      is assumed a remote storage node is
                                      configured in rhq-server.properties.

Comment 2 John Mazzitelli 2013-10-14 18:51:42 UTC
I take that back. All the commands do work as I describe in comment #1 EXCEPT install. It works IF your rhq-server.props are fully configured, if not, "rhqctl install --help" prompts you. we need to fix that

Comment 3 Jay Shaughnessy 2013-10-14 19:22:17 UTC
master commit e3655db00a3439a0a17b119eb4ed87b8420e023d
Author: Jay Shaughnessy <jshaughn>
Date:   Mon Oct 14 15:18:33 2013 -0400

- Fix issue with validation blocking help commands
- Fix issue with validation of irrelevant component. For example, don't
  validate rhq-server.properties for 'rhqctl install --storage'


Release/jon3.2.x commit: 3f9c7af11086b879737122aca0cd952ccc851b95

Comment 4 Simeon Pinder 2013-10-24 04:09:22 UTC
Moving to ON_QA for testing in the next build.

Comment 5 Sunil Kondkar 2013-10-31 11:10:54 UTC
Verified on Version: 3.2.0.ER4 Build Number: e413566:057b211

Verified that if the rhq-server.properties have missing properties like 'jboss.bind.address', the './rhqctl install --help' command does not prompt and works correctly.
-----------------------------------------------------------------------------------
[root@suniltest bin]# ./rhqctl install --help
16:27:33,961 INFO  [org.jboss.modules] JBoss Modules version 1.2.2.Final-redhat-1
usage: rhqctl install [options]

Installs RHQ services.
    --agent                         Install RHQ agent. The install
                                    directory will be
                                    [/install/jonbuilds/jon32/ER4/rhq-agen
                                    t]
    --agent-config <arg>            An alternate XML file to use in place
                                    of the default agent-configuration.xml
    --agent-preference <arg>        An agent preference setting (whose
                                    argument is in the form 'name=value')
                                    to be set in the agent. More than one
                                    of these is allowed.
    --server                        Install RHQ server. If you have not
                                    yet installed an RHQ storage node
                                    somewhere in your network, you must
                                    specify --storage to install one.
    --start                         If specified then immediately start
                                    the services after installation.  Note
                                    that services may be started and shut
                                    down as part of the installation
                                    process, but will not be started or
                                    left running by default.
    --storage                       Install RHQ storage node. The install
                                    directory will be
                                    [/install/jonbuilds/jon32/ER4/jon-serv
                                    er-3.2.0.ER4/rhq-storage]. Note that
                                    this option implies --agent which
                                    means an agent will also be installed,
                                    if one is not yet installed.
    --storage-data-root-dir <arg>   The root directory under which all
                                    storage data directories will be
                                    placed.
----------------------------------------------------------------------------

Also verified below help commands:

./rhqctl --help
./rhqctl console --help
./rhqctl restart --help
./rhqctl start --help
./rhqctl status --help
./rhqctl stop --help
./rhqctl upgrade --help


Note You need to log in before you can comment on or make changes to this bug.