Recommended changes from review of #1568

- Make Resources an `interface{}` to support arbitrary yaml
- Remove `wwctl resource` as incompatible with arbitrary yaml
- Revert changes to host overlay templates
- Remove NFS mount options from warewulf.conf
- Replace NFS support / resource prefix with "fstab" resource
- Move resources to profiles
- Migrate warewulf.conf mounts to nodes.conf with `wwctl upgrade`
- Add documentation

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
Jonathon Anderson
2025-01-17 01:28:14 -07:00
parent eff1edd038
commit bc52f3b7d7
61 changed files with 344 additions and 843 deletions

View File

@@ -758,6 +758,30 @@ nodeprofiles:
"p2 netdev tag",
},
},
"resources": {
nodesConf: `
nodeprofiles:
p1:
resources:
fstab:
- spec: warewulf:/home
file: /home
vfstype: nfs
nodes:
n1:
profiles:
- p1
resources:
fstab:
- spec: warewulf:/opt
file: /opt
vfstype: nfs
`,
nodes: []string{"n1"},
fields: []string{"Resources[fstab]"},
sources: []string{"p1,n1"},
values: []string{"[map[file:/home spec:warewulf:/home vfstype:nfs] map[file:/opt spec:warewulf:/opt vfstype:nfs]]"},
},
}
for name, tt := range tests {
@@ -781,13 +805,13 @@ nodeprofiles:
}
var nodes []Node
for i, _ := range tt.nodes {
for i := range tt.nodes {
node, _, mergeErr := registry.MergeNode(tt.nodes[i])
assert.NoError(t, mergeErr)
nodes = append(nodes, node)
}
for i, _ := range tt.nodes {
for i := range tt.nodes {
_, fields, _ := registry.MergeNode(tt.nodes[i])
value, valueErr := getNestedFieldString(nodes[i], tt.fields[i])
assert.NoError(t, valueErr)