Actions
Bug #24980
closedSingle reference fields are wrongly rendered in yaml and json
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Team Backlog:
Description
When there's a single reference in command's output definition, yaml and json output adapters print the whole root data structure in place of the reference field.
For example:
field nil, _("Domain"), Fields::SingleReference, :key => :domain
prints:
hammer --output=json hostgroup info --id 1 { "ID": 1, "NAME": "Provisioning", "TITLE": "Provisioning", "NETWORK": { "DOMAIN": { "CONTENT_SOURCE_ID": null, "CONTENT_SOURCE_NAME": null, "CONTENT_VIEW_ID": null, "CONTENT_VIEW_NAME": null, "LIFECYCLE_ENVIRONMENT_ID": null, "LIFECYCLE_ENVIRONMENT_NAME": null, "KICKSTART_REPOSITORY_ID": null, "KICKSTART_REPOSITORY_NAME": null, "SUBNET_ID": 1, "SUBNET_NAME": "tstracho-laptop", "OPERATINGSYSTEM_ID": 3, "OPERATINGSYSTEM_NAME": "CentOS 7", "DOMAIN_ID": 1, "DOMAIN_NAME": "tstracho-laptop", "ENVIRONMENT_ID": null, "ENVIRONMENT_NAME": null, "COMPUTE_PROFILE_ID": null, "COMPUTE_PROFILE_NAME": null, "ANCESTRY": null, "PARENT_ID": null, "PARENT_NAME": null, "PTABLE_ID": 87, "PTABLE_NAME": "Kickstart default", "MEDIUM_ID": 9, "MEDIUM_NAME": "CentOS Czech mirror", "PXE_LOADER": null, "SUBNET6_ID": null, "SUBNET6_NAME": null, "ARCHITECTURE_ID": 1, "ARCHITECTURE_NAME": "x86_64", "REALM_ID": null, "REALM_NAME": null, "CREATED_AT": "2018-01-24 12:22:29 -1100", "UPDATED_AT": "2018-01-24 12:22:29 -1100", ...
Expected behavior:
JSON and YAML adaptera should print the same fields as the base adapter.
Fixing this might require implementation of formatters specific to certain adapters.
Actions