Fixing tests in review of #1568

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
Jonathon Anderson
2025-01-17 00:58:12 -07:00
parent 847d11611b
commit eff1edd038
27 changed files with 90 additions and 98 deletions

View File

@@ -103,7 +103,7 @@ func CobraRunE(cmd *cobra.Command, args []string) (err error) {
}
overlays := filteredNodes[0].SystemOverlay
overlays = append(overlays, filteredNodes[0].RuntimeOverlay...)
err = overlay.BuildOverlayIndir(filteredNodes[0], allNodes, overlays, path.Join(runDir, "nodeoverlay"))
err = overlay.BuildOverlayIndir(filteredNodes[0], allNodes, nodeDB.Resources, overlays, path.Join(runDir, "nodeoverlay"))
if err != nil {
return fmt.Errorf("could not build overlay: %s", err)
}

View File

@@ -480,7 +480,7 @@ nodes:
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
"ResourceList": null
"Resources": null
}
]
`,
@@ -531,7 +531,7 @@ nodes:
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
"ResourceList": null
"Resources": null
},
{
"Discoverable": "",
@@ -566,7 +566,7 @@ nodes:
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
"ResourceList": null
"Resources": null
}
]
`,

View File

@@ -57,7 +57,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
}
for _, node := range filteredNodes {
return overlay.BuildOverlayIndir(node, allNodes, OverlayNames, OverlayDir)
return overlay.BuildOverlayIndir(node, allNodes, nodeDB.Resources, OverlayNames, OverlayDir)
}
} else {
return errors.New("must specify a node to build overlay")
@@ -68,9 +68,9 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
defer syscall.Umask(oldMask)
if len(OverlayNames) > 0 {
err = overlay.BuildSpecificOverlays(filteredNodes, allNodes, OverlayNames, Workers)
err = overlay.BuildSpecificOverlays(filteredNodes, allNodes, nodeDB.Resources, OverlayNames, Workers)
} else {
err = overlay.BuildAllOverlays(filteredNodes, allNodes, Workers)
err = overlay.BuildAllOverlays(filteredNodes, allNodes, nodeDB.Resources, Workers)
}
if err != nil {

View File

@@ -86,7 +86,7 @@ func CobraRunE(cmd *cobra.Command, args []string) (err error) {
}
}
return overlay.BuildSpecificOverlays(updateNodes, nodes, []string{overlayName}, Workers)
return overlay.BuildSpecificOverlays(updateNodes, nodes, n.Resources, []string{overlayName}, Workers)
}
return nil

View File

@@ -62,7 +62,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if err != nil {
return err
}
tstruct, err := overlay.InitStruct(overlayName, nodeConf, allNodes)
tstruct, err := overlay.InitStruct(overlayName, nodeConf, allNodes, nodeDB.Resources)
if err != nil {
return err
}

View File

@@ -170,7 +170,7 @@ nodes:
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
"ResourceList": null
"Resources": null
}
}
`,
@@ -222,7 +222,7 @@ nodes:
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
"ResourceList": null
"Resources": null
},
"test": {
"Profiles": null,
@@ -241,7 +241,7 @@ nodes:
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null,
"ResourceList": null
"Resources": null
}
}
`,

View File

@@ -14,17 +14,17 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
if err != nil {
return fmt.Errorf("failed to load node configuration: %s", err)
}
if ok := nodeYml.Resource[args[0]] != nil; ok {
if ok := nodeYml.Resources[args[0]] != nil; ok {
return fmt.Errorf("resource %s already exists", args[0])
}
if nodeYml.Resource == nil {
nodeYml.Resource = make(map[string]node.RemoteRes)
if nodeYml.Resources == nil {
nodeYml.Resources = make(map[string]node.Resource)
}
res := node.RemoteRes{}
res := node.Resource{}
for key, val := range vars.tags {
res[key] = val
}
nodeYml.Resource[args[0]] = res
nodeYml.Resources[args[0]] = res
err = nodeYml.Persist()
return err
}

View File

@@ -28,15 +28,15 @@ nodes: {}
`,
outDb: `nodeprofiles: {}
nodes: {}
resource:
resources:
test:
foo: baar
`}}
env := testenv.New(t)
defer env.RemoveAll(t)
defer env.RemoveAll()
warewulfd.SetNoDaemon()
for _, tt := range tests {
env.WriteFile(t, "etc/warewulf/nodes.conf", tt.inDB)
env.WriteFile("etc/warewulf/nodes.conf", tt.inDB)
t.Run(tt.name, func(t *testing.T) {
baseCmd := GetCommand()
baseCmd.SetArgs(tt.args)
@@ -49,7 +49,7 @@ resource:
} else {
assert.NoError(t, err)
assert.Equal(t, buf.String(), tt.stdout)
content := env.ReadFile(t, "etc/warewulf/nodes.conf")
content := env.ReadFile("etc/warewulf/nodes.conf")
assert.YAMLEq(t, tt.outDb, content)
}
})

View File

@@ -5,7 +5,7 @@ import (
)
type variables struct {
tags map[string]string
tags map[string]string
}
// GetRootCommand returns the root cobra.Command for the application.

View File

@@ -15,10 +15,10 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
return fmt.Errorf("failed to load node configuration: %s", err)
}
for _, res := range args {
if _, ok := nodeYml.Resource[res]; !ok {
if _, ok := nodeYml.Resources[res]; !ok {
return fmt.Errorf("resource %s does not exist", res)
}
delete(nodeYml.Resource, res)
delete(nodeYml.Resources, res)
}
return nodeYml.Persist()
}

View File

@@ -26,22 +26,22 @@ func Test_resource_set(t *testing.T) {
args: []string{"test1"},
inDB: `nodeprofiles: {}
nodes: {}
resource:
resources:
test1: {}
test2: {}
`,
outDb: `nodeprofiles: {}
nodes: {}
resource:
resources:
test2: {}
`},
}
env := testenv.New(t)
defer env.RemoveAll(t)
defer env.RemoveAll()
warewulfd.SetNoDaemon()
for _, tt := range tests {
env.WriteFile(t, "etc/warewulf/nodes.conf", tt.inDB)
env.WriteFile("etc/warewulf/nodes.conf", tt.inDB)
t.Run(tt.name, func(t *testing.T) {
baseCmd := GetCommand()
baseCmd.SetArgs(tt.args)
@@ -53,8 +53,8 @@ resource:
assert.Error(t, err)
} else {
assert.NoError(t, err)
assert.Equal(t, buf.String(), tt.stdout)
content := env.ReadFile(t, "etc/warewulf/nodes.conf")
assert.Equal(t, tt.stdout, buf.String())
content := env.ReadFile("etc/warewulf/nodes.conf")
assert.YAMLEq(t, tt.outDb, content)
}
})

View File

@@ -28,7 +28,7 @@ test2
`,
inDB: `nodeprofiles: {}
nodes: {}
resource:
resources:
test1: {}
test2: {}
`,
@@ -43,17 +43,17 @@ test foo baar
`,
inDB: `nodeprofiles: {}
nodes: {}
resource:
resources:
test:
foo: baar
`,
},
}
env := testenv.New(t)
defer env.RemoveAll(t)
defer env.RemoveAll()
warewulfd.SetNoDaemon()
for _, tt := range tests {
env.WriteFile(t, "etc/warewulf/nodes.conf", tt.inDB)
env.WriteFile("etc/warewulf/nodes.conf", tt.inDB)
t.Run(tt.name, func(t *testing.T) {
baseCmd := GetCommand()
baseCmd.SetArgs(tt.args)
@@ -66,7 +66,7 @@ resource:
assert.Error(t, err)
} else {
assert.NoError(t, err)
assert.Equal(t, buf.String(), tt.stdout)
assert.Equal(t, tt.stdout, buf.String())
}
})

View File

@@ -14,11 +14,11 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
if err != nil {
return fmt.Errorf("failed to load node configuration: %s", err)
}
if ok := nodeYml.Resource[args[0]] != nil; ok {
if nodeYml.Resource == nil {
nodeYml.Resource = make(map[string]node.RemoteRes)
if ok := nodeYml.Resources[args[0]] != nil; ok {
if nodeYml.Resources == nil {
nodeYml.Resources = make(map[string]node.Resource)
}
res := nodeYml.Resource[args[0]]
res := nodeYml.Resources[args[0]]
for key, val := range vars.tags {
res[key] = val
}

View File

@@ -26,13 +26,13 @@ func Test_resource_set(t *testing.T) {
stdout: "",
inDB: `nodeprofiles: {}
nodes: {}
resource:
resources:
test:
foo: baar
`,
outDb: `nodeprofiles: {}
nodes: {}
resource:
resources:
test:
foo: test
`},
@@ -43,17 +43,17 @@ resource:
stdout: "",
inDB: `nodeprofiles: {}
nodes: {}
resource:
resources:
test:
foo: baar
`,
outDb: ``},
}
env := testenv.New(t)
defer env.RemoveAll(t)
defer env.RemoveAll()
warewulfd.SetNoDaemon()
for _, tt := range tests {
env.WriteFile(t, "etc/warewulf/nodes.conf", tt.inDB)
env.WriteFile("etc/warewulf/nodes.conf", tt.inDB)
t.Run(tt.name, func(t *testing.T) {
baseCmd := GetCommand()
baseCmd.SetArgs(tt.args)
@@ -65,8 +65,8 @@ resource:
assert.Error(t, err)
} else {
assert.NoError(t, err)
assert.Equal(t, buf.String(), tt.stdout)
content := env.ReadFile(t, "etc/warewulf/nodes.conf")
assert.Equal(t, tt.stdout, buf.String())
content := env.ReadFile("etc/warewulf/nodes.conf")
assert.YAMLEq(t, tt.outDb, content)
}
})