Project

General

Profile

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. 

Back