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": { } }
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.
Created redmine issue http://projects.theforeman.org/issues/17010 from this bug
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.