Bug 817845 - Better CLI error message when options are invalid
Better CLI error message when options are invalid
Status: CLOSED ERRATA
Product: Subscription Asset Manager
Classification: Red Hat
Component: katello (Show other bugs)
1.0.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Adam Price
Og Maciel
: Triaged
: 818686 (view as bug list)
Depends On:
Blocks: sam12-tracker
  Show dependency treegraph
 
Reported: 2012-05-01 10:50 EDT by Bryan Kearney
Modified: 2013-02-21 14:15 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-21 14:15:41 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Bryan Kearney 2012-05-01 10:50:55 EDT
Running the headpin cli, there is no longer an ability to pass in credentials. For example:

headpin shell -u admin -p admin 

does not work. Using packages:

katello-certs-tools-1.0.6-1.el6.noarch
katello-cli-headpin-0.2.0-1.el6_2.noarch
katello-glue-candlepin-0.3.0-2.el6_2.noarch
katello-headpin-0.2.5-3.el6_2.noarch
katello-candlepin-cert-key-pair-1.0-1.noarch
katello-common-0.3.0-2.el6_2.noarch
katello-headpin-all-0.2.5-3.el6_2.noarch
katello-cli-common-0.3.1-1.el6_2.noarch
katello-configure-upgrade-0.3.1-2.el6_2.noarch
katello-configure-0.3.1-2.el6_2.noarch
katello-selinux-0.1.10-1.el6.noarch
Comment 1 Lukas Zapletal 2012-05-02 09:38:17 EDT
This never worked:

# katello shell -u admin -p admin
Usage: katello [options]

katello: error: no such option: -u

but this is fine :)

# katello -u admin -p admin shell
katello> 

I am renaming this bug to "We need a man page for this command" and going to create one right now.
Comment 2 Lukas Zapletal 2012-05-04 08:26:29 EDT
katello(1)                     Katello Reference                    katello(1)



NAME
       katello - Katello command line tool

SYNOPSIS
         katello [options] command [parameter1] [parameterN] ...
             [ -h | --help ]
             [ -u | --username ]
             [ -p | --password ]
             [ --host ]

       Commands and parameters are described bellow.

DESCRIPTION
       The katello program is an command line application for interaction with
       Katello instance. It can be used by Katello administrators and users to
       execute regular tasks. There is a built-in shell avaiable that can be
       used for scripting purposes.

COMMANDS
         Possible commands:
           activation_key - activation key specific actions in the katello server
           changeset - changeset specific actions in the katello server
           client - client specific actions in the katello server
           distribution - repo specific actions in the katello server
           environment - environment specific actions in the katello server
           errata - errata specific actions in the katello server
           filter - filter specific actions in the katello server
           gpg_key - GPG key specific actions in the katello server
           org - organization specific actions in the katello server
           package - package specific actions in the katello server
           package_group - package group specific actions in the katello server
           permission - permission pecific actions in the katello server
           ping - get the status of the katello server
           product - product specific actions in the katello server
           provider - provider specific actions in the katello server
           repo - repo specific actions in the katello server
           shell - run the cli as a shell
           sync_plan - synchronization plan specific actions in the katello server
           system - system specific actions in the katello server
           template - template specific actions in the katello server
           user - user specific actions in the katello server
           user_role - user role specific actions in the katello server
           version - get the version of the katello server

         Command 'katello activation_key':
           create - create an activation key
           info - show information about an activation key
           list - list all activation keys
           update - update an activation key
           delete - delete an activation key

         Command 'katello changeset':
           create - create a new changeset for an environment
           list - list new changesets of an environment
           info - detailed information about a changeset
           update - updates content of a changeset
           delete - deletes a changeset
           promote - promotes a changeset to the next environment

         Command 'katello client':
           remember - save an option to the client config
           forget - remove an option from the client config
           saved_options - list options saved in the client config

         Command 'katello distribution':
           info - list information about a distribution
           list - list distributions in a repository

         Command 'katello environment':
           create - create an environment
           info - list a specific environment
           list - list known environments
           update - update an environment
           delete - delete an environment

         Command 'katello errata':
           list - list all errata for a repo
           info - information about an errata
           system - list errata for a system

         Command 'katello filter':
           create - create a filter
           list - list all filters
           info - filter info
           delete - delete a filter
           add_package - Add a package to filter
           remove_package - Remove a package from filter

         Command 'katello gpg_key':
           create - create a gpg key
           info - show information about a gpg key
           list - list all GPG keys
           update - update an activation key
           delete - delete an gpg key

         Command 'katello org':
           create - create an organization
           info - list information about an organization
           list - list all known organizations
           update - update an organization
           delete - delete an organization
           uebercert - generate and show ueber certificate
           subscriptions - show subscriptions

         Command 'katello package':
           info - list information about a package
           list - list packages in a repository
           search - search packages in a repository

         Command 'katello package_group':
           list - list available package groups
           info - lookup information for a package group
           category_list - list available package groups categories
           category_info - lookup information for a package group

         Command 'katello permission':
           create - create a permission for a user role
           list - list permissions for a user role
           delete - delete a permission
           available_verbs - list available scopes, verbs and tags that can be set in a permission

         Command 'katello ping':
           no actions available

         Command 'katello product':
           create - create new product to a custom provider
           update - update a product's attributes
           list - list known products
           delete - delete a product and its content
           synchronize - synchronize a product
           cancel_sync - cancel currently running synchronization
           status - status of product's synchronization
           promote - promote a product to an environment
       (creates a temporary changeset with the product and promotes it)
           list_filters - list filters of a product
           add_filter - add a filter to a product
           remove_filter - remove a filter from a product
           set_plan - set a synchronization plan
           remove_plan - unset a synchronization plan

         Command 'katello provider':
           create - create a provider
           info - list information about a provider
           list - list all known providers
           update - update a provider
           delete - delete a provider
           synchronize - synchronize a provider
           cancel_sync - cancel currently running synchronization
           status - status of provider's synchronization
           import_manifest - import a manifest file
           refresh_products - refresh provider's products repositories

         Command 'katello repo':
           create - create a repository at a specified URL
           update - updates repository attributes
           discover - discovery repositories contained within a URL
           info - information about a repository
           list - list repos within an organization
           delete - delete a repository
           status - status information about a repository
           synchronize - synchronize a repository
           cancel_sync - cancel currently running synchronization of a repository
           enable - enable a repository
           disable - disable a repository
           list_filters - list filters of a repository
           add_filter - add a filter to a repository
           remove_filter - remove a filter from a repository

         Command 'katello shell':
           no actions available

         Command 'katello sync_plan':
           create - create a synchronization plan
           info - print info about a sync plan
           list - list known sync_plans
           update - update a sync plan
           delete - delete a sync plan

         Command 'katello system':
           list - list systems within an organization
           register - register a system
           unregister - unregister a system
           subscriptions - list subscriptions for a system
           subscribe - subscribe a system to certificate
           unsubscribe - unsubscribe a system from certificate
           info - display a system within an organization
           packages - display and manipulate with the installed packages of a system
           facts - display a the hardware facts of a system
           update - update a system
           report - systems report
           tasks - display status of remote tasks
           task - display status of remote task
           releases - list releases available for the system

         Command 'katello template':
           create - create an empty template file
           import - create a template file and import data
           export - export the template into the file
           list - list all templates
           info - list information about a template
           update - updates name and description of a template
           delete - deletes a template

         Command 'katello user':
           create - create user
           info - list information about user
           list - list all known users
           update - update an user
           delete - delete user
           report - user report
           assign_role - assign role to a user
           unassign_role - unassign role to a user
           list_roles - list user's roles
           sync_ldap_roles - synchronise roles with LDAP groups

         Command 'katello user_role':
           create - create user role
           info - list information about user role
           list - list all known user roles
           update - update a role
           add_ldap_group - assign LDAP group to a role
           remove_ldap_group - remove LDAP group assigned to a role
           delete - delete a user role

         Command 'katello version':
           no actions available

         For more information about commands and particular action please use:

           katello command action --help

         or use our documentation (CLI guide).

VERSION
       0.2.32

SEE ALSO
       katello-configure(8)



0.2.32                            2012-05-04                        katello(1)
Comment 3 Lukas Zapletal 2012-05-15 04:47:32 EDT
*** Bug 818686 has been marked as a duplicate of this bug. ***
Comment 4 Lukas Zapletal 2012-05-15 04:50:10 EDT
Since also Justin was confused, I will consider to add some better error handling. With the current CLI architecture I doubt it would be easy to implement "free" options. Currently we distinguish those two classes of options.
Comment 5 Tom McKay 2012-06-05 11:34:30 EDT
https://github.com/Katello/katello/pull/121

Will need to update for headpin
Comment 6 Lukas Zapletal 2012-06-12 02:29:35 EDT
This is not done yet.
Comment 7 Adam Price 2012-07-24 10:06:42 EDT
updated the manpages for katello and headpin.

https://github.com/Katello/katello/commit/e7689da34b9e0c4879adedef568f54ba253893ce
Comment 8 Og Maciel 2012-10-11 12:00:55 EDT
man headpin displays all commands but refers to katello and not headpin. Shouldn't this be changed? e.g.:

DESCRIPTION
-       The katello program is an command line application for interaction
+       The headpin program is an command line application for interaction

or

-        Command 'katello activation_key':
+        Command 'headpin activation_key':
           add_system_group - add system group to an activation key
           create - create an activation key
           delete - delete an activation key

Environment:
-----------

# headpin -u admin -p admin version
Headpin 1.1.15-2h.el6_3

* candlepin-0.7.13-1.el6_3.noarch
* candlepin-tomcat6-0.7.13-1.el6_3.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.1.8-1h.el6_3.noarch
* katello-cli-1.1.11-1h.el6_3.noarch
* katello-cli-common-1.1.11-1h.el6_3.noarch
* katello-common-1.1.15-2h.el6_3.noarch
* katello-configure-1.1.11-1h.el6_3.noarch
* katello-glue-candlepin-1.1.15-2h.el6_3.noarch
* katello-headpin-1.1.15-2h.el6_3.noarch
* katello-headpin-all-1.1.15-2h.el6_3.noarch
* katello-selinux-1.1.2-1h.el6_3.noarch
Comment 9 Og Maciel 2012-10-11 14:03:21 EDT
Also tested man katello and saw the man page.
Comment 10 Og Maciel 2012-10-11 14:04:34 EDT
Verified:

* candlepin-0.7.13-1.el6_3.noarch
* candlepin-tomcat6-0.7.13-1.el6_3.noarch
* katello-candlepin-cert-key-pair-1.0-1.noarch
* katello-certs-tools-1.1.8-1h.el6_3.noarch
* katello-cli-1.1.11-1h.el6_3.noarch
* katello-cli-common-1.1.11-1h.el6_3.noarch
* katello-common-1.1.15-2h.el6_3.noarch
* katello-configure-1.1.11-1h.el6_3.noarch
* katello-glue-candlepin-1.1.15-2h.el6_3.noarch
* katello-headpin-1.1.15-2h.el6_3.noarch
* katello-headpin-all-1.1.15-2h.el6_3.noarch
* katello-selinux-1.1.2-1h.el6_3.noarch
Comment 12 errata-xmlrpc 2013-02-21 14:15:41 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0544.html

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