Bug #24980
Updated by Tomáš Strachota over 6 years ago
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:
<pre>
field nil, _("Domain"), Fields::SingleReference, :key => :domain
</pre>
prints:
<pre>
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",
...
</pre>
*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.