use list of resources in profiles/nodes

access the resource not at node or profile level but
in the templates as global variable

Signed-off-by: Christian Goll <cgoll@suse.com>
This commit is contained in:
Christian Goll
2024-11-26 10:58:23 +01:00
committed by Jonathon Anderson
parent 5ff27061a3
commit 07c77a63d5
9 changed files with 34 additions and 17 deletions

View File

@@ -479,7 +479,8 @@ nodes:
"Tags": {},
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null
"FileSystems": null,
"ResourceList": null
}
]
`,
@@ -529,7 +530,8 @@ nodes:
"Tags": {},
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null
"FileSystems": null,
"ResourceList": null
},
{
"Discoverable": "",
@@ -563,7 +565,8 @@ nodes:
"Tags": {},
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null
"FileSystems": null,
"ResourceList": null
}
]
`,

View File

@@ -169,7 +169,8 @@ nodes:
"Tags": null,
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null
"FileSystems": null,
"ResourceList": null
}
}
`,
@@ -220,7 +221,8 @@ nodes:
"Tags": null,
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null
"FileSystems": null,
"ResourceList": null
},
"test": {
"Profiles": null,
@@ -238,7 +240,8 @@ nodes:
"Tags": null,
"PrimaryNetDev": "",
"Disks": null,
"FileSystems": null
"FileSystems": null,
"ResourceList": null
}
}
`,

View File

@@ -18,13 +18,13 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
return fmt.Errorf("resource %s already exists", args[0])
}
if nodeYml.Resource == nil {
nodeYml.Resource = make(map[string]*node.RemoteRes)
nodeYml.Resource = make(map[string]node.RemoteRes)
}
res := node.RemoteRes{}
for key, val := range vars.tags {
res[key] = val
}
nodeYml.Resource[args[0]] = &res
nodeYml.Resource[args[0]] = res
err = nodeYml.Persist()
return err
}

View File

@@ -16,9 +16,9 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) (err err
}
if ok := nodeYml.Resource[args[0]] != nil; ok {
if nodeYml.Resource == nil {
nodeYml.Resource = make(map[string]*node.RemoteRes)
nodeYml.Resource = make(map[string]node.RemoteRes)
}
res := *nodeYml.Resource[args[0]]
res := nodeYml.Resource[args[0]]
for key, val := range vars.tags {
res[key] = val
}