Bug 1378051

Summary: hammer fails with "Error: undefined method `singular_name' for nil:NilClass" because of .hammer/cli_config.yml
Product: Red Hat Satellite Reporter: Jan Hutař <jhutar>
Component: HammerAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED CURRENTRELEASE QA Contact: Katello QA List <katello-qa-list>
Severity: low Docs Contact:
Priority: low    
Version: 6.2.0CC: bbuckingham, bkearney, lpramuk
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-27 20:38:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jan Hutař 2016-09-21 12:13:00 UTC
Description of problem:
hammer fails with "Error: undefined method `singular_name' for nil:NilClass" because of .hammer/cli_config.yml


Version-Release number of selected component (if applicable):
satellite-6.2.2-1.1.el7sat.noarch
tfm-rubygem-hammer_cli-0.5.1.11-4.el7sat.noarch


How reproducible:
always


Steps to Reproduce:
1. # cat .hammer/cli_config.yml
:foreman:
     :host: 'https://pman05.perf.lab.eng.bos.redhat.com'
     :username: 'admin'
     :password: 'changeme'
2. # hammer --username admin --password changeme subscription upload --organization "Default Organization" --file /root/manifest.zip


Actual results:
# hammer --username admin --password changeme subscription upload --organization "Default Organization" --file /root/manifest.zip
Error: undefined method `singular_name' for nil:NilClass


Expected results:
Should work or provide helpful error message


Additional info:
Thanks lpramuk for investigation!

Comment 1 Jan Hutař 2016-09-21 12:14:17 UTC
Lukas noticed that this all gets fixed if you add "/" to the end of ":host:" value:

-     :host: 'https://pman05.perf.lab.eng.bos.redhat.com'
+     :host: 'https://pman05.perf.lab.eng.bos.redhat.com/'

This makes hammer to work as expected.

Comment 2 Lukas Pramuk 2016-09-21 12:17:28 UTC
Expected result: helpful message that it failed to parse host or connect to it.

Comment 3 Lukas Pramuk 2016-09-21 12:21:09 UTC
...disregard "or connect to it"

If hammer cannot connect then this helpful msg is displayed.

Could not load the API description from the server
  - is the server down?
  - was 'foreman-rake apipie:cache' run on the server when using apipie cache? (typical production settings)

Only parsing is affected

Comment 5 Bryan Kearney 2017-03-27 20:38:06 UTC
This is fixed in satellite 6.2.8. I am closing this out as current release.