Use Node literal in MergeNode, not EmptyNode()

EmptyNode populates empty sub-structs, which interferes with omitempty during
serialization.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
Jonathon Anderson
2024-12-27 13:39:29 -07:00
parent f0e634183e
commit dae8d004b3
8 changed files with 157 additions and 69 deletions

View File

@@ -430,8 +430,6 @@ func TestListMultipleFormats(t *testing.T) {
stdout: `
- profiles:
- default
kernel: {}
ipmi: {}
`,
inDb: `
nodeprofiles:
@@ -459,24 +457,12 @@ nodes:
"Ipxe": "",
"RuntimeOverlay": null,
"SystemOverlay": null,
"Kernel": {},
"Ipmi": {
"UserName": "",
"Password": "",
"Ipaddr": "",
"Gateway": "",
"Netmask": "",
"Port": "",
"Interface": "",
"EscapeChar": "",
"Write": "",
"Template": "",
"Tags": {}
},
"Kernel": null,
"Ipmi": null,
"Init": "",
"Root": "",
"NetDevs": {},
"Tags": {},
"NetDevs": null,
"Tags": null,
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
@@ -510,24 +496,12 @@ nodes:
"Ipxe": "",
"RuntimeOverlay": null,
"SystemOverlay": null,
"Kernel": {},
"Ipmi": {
"UserName": "",
"Password": "",
"Ipaddr": "",
"Gateway": "",
"Netmask": "",
"Port": "",
"Interface": "",
"EscapeChar": "",
"Write": "",
"Template": "",
"Tags": {}
},
"Kernel": null,
"Ipmi": null,
"Init": "",
"Root": "",
"NetDevs": {},
"Tags": {},
"NetDevs": null,
"Tags": null,
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
@@ -545,24 +519,12 @@ nodes:
"Ipxe": "",
"RuntimeOverlay": null,
"SystemOverlay": null,
"Kernel": {},
"Ipmi": {
"UserName": "",
"Password": "",
"Ipaddr": "",
"Gateway": "",
"Netmask": "",
"Port": "",
"Interface": "",
"EscapeChar": "",
"Write": "",
"Template": "",
"Tags": {}
},
"Kernel": null,
"Ipmi": null,
"Init": "",
"Root": "",
"NetDevs": {},
"Tags": {},
"NetDevs": null,
"Tags": null,
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
@@ -588,12 +550,8 @@ nodes:
stdout: `
- profiles:
- default
kernel: {}
ipmi: {}
- profiles:
- default
kernel: {}
ipmi: {}
`,
inDb: `
nodeprofiles: