Bug 1253820 - Hammer JSON output uses inconsistent capitalization
Hammer JSON output uses inconsistent capitalization
Status: CLOSED DEFERRED
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Hammer (Show other bugs)
6.1.0
Unspecified Unspecified
unspecified Severity medium (vote)
: Unspecified
: --
Assigned To: satellite6-bugs
jcallaha
: Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-14 15:36 EDT by jcallaha
Modified: 2017-03-06 18:18 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-03-06 18:18:20 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)


External Trackers
Tracker ID Priority Status Summary Last Updated
Foreman Issue Tracker 17010 None None None 2016-10-19 07:45 EDT

  None (edit)
Description jcallaha 2015-08-14 15:36:09 EDT
Description of problem:
Hammer returns inconsistent capitalization in its json output. For example, a user trying to parse the id's in an output may have to handle 'ID', 'Id', and 'id'.

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

How reproducible:
Always

Steps to Reproduce:
1. run one of the two commands detailed in Additional Info, or your own choice.
2. run at least one more command
3. Check consistency for returned keys

Actual results:
keys are inconsistently capitalized

Expected results:
keys are inconsistently capitalized. I prefer lowercase for ease

Additional info:
hammer --output=json organization info --id="31"
{
  "Id": 31,
  "Name": "KVybjk",
  "Users": [

  ],
  "Smart proxies": [
    {
      "name": "rhsm-qe-1.rhq.lab.eng.bos.redhat.com",
      "id": 1,
      "url": "https://rhsm-qe-1.rhq.lab.eng.bos.redhat.com:9090"
    }
...
  "Templates": [
    {
      "id": 44,
      "name": "Boot disk iPXE - generic host",
      "template_kind_id": 1,
      "template_kind_name": "Bootdisk"
    },


hammer -v -u --output=json activation-key info --id="57"
{
  "Name": "rI6jNBJVaR",
  "ID": 57,
  "Description": null,
  "Content Host Limit": "Unlimited",
  "Auto Attach": true,
  "Lifecycle Environment": null,
  "Content View": null,
  "Host Collections": {
  }
}
Comment 1 jcallaha 2015-08-19 11:03:59 EDT
Additionally, following the same naming conventions used in the API would be a smart choice. Since most of the JSON output is going to be parsed by machines, it makes sense to have our customers expect the same output between API and CLI.
Comment 3 aruzicka 2016-10-19 07:45:28 EDT
Created redmine issue http://projects.theforeman.org/issues/17010 from this bug
Comment 4 Bryan Kearney 2017-03-06 18:18:20 EST
An upstream issue for this has been created. When this is fixed, the next version of Satellite will carry the fix. We will no longer track this downstream.

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