add user defined keys for networks/netdev

Every network in the profile and for the nodes can have induvidual keys values
pairs, called Tags, which are propergated to the templates. So they can be used
for things like MTU size like
  `wwct node set node01 --nettag mtu=9000`
and in in ifcfg.xml.ww
```
{{ if $netdev.Tags.mtu -}}
<mtu> {{ $netdev.Tags.mtu }} </mtu>
{{ end -}}
```
This commit is contained in:
Christian Goll
2022-03-31 11:00:48 +02:00
committed by Christian Goll
parent 16fa2518fa
commit 95050a44ce
10 changed files with 132 additions and 15 deletions

View File

@@ -91,6 +91,12 @@ func (config *nodeYaml) NodeUpdate(node NodeInfo) error {
config.Nodes[nodeID].NetDevs[devname].Type = netdev.Type.GetReal()
config.Nodes[nodeID].NetDevs[devname].OnBoot = netdev.OnBoot.GetReal()
config.Nodes[nodeID].NetDevs[devname].Default = netdev.Default.GetReal()
config.Nodes[nodeID].NetDevs[devname].Tags = make(map[string]string)
for keyname, key := range netdev.Tags {
if key.GetReal() != "" {
config.Nodes[nodeID].NetDevs[devname].Tags[keyname] = key.GetReal()
}
}
}
config.Nodes[nodeID].Tags = make(map[string]string)