Reverse compatibility for keys to tags

This commit is contained in:
Gregory Kurtzer
2022-02-11 15:36:38 +00:00
parent ffaf794a42
commit 49150c172e
3 changed files with 35 additions and 9 deletions

View File

@@ -107,6 +107,15 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
n.NetDevs[devname].Default.Set(netdev.Default)
}
// Merge Keys into Tags for backwards compatibility
if len(node.Tags) == 0 {
node.Tags = make(map[string]string)
}
for keyname, key := range node.Keys {
node.Tags[keyname] = key
delete(node.Keys, keyname)
}
for keyname, key := range node.Tags {
if _, ok := n.Tags[keyname]; !ok {
var key Entry
@@ -161,6 +170,15 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
n.NetDevs[devname].Default.SetAlt(netdev.Default, p)
}
// Merge Keys into Tags for backwards compatibility
if len(config.NodeProfiles[p].Tags) == 0 {
config.NodeProfiles[p].Tags = make(map[string]string)
}
for keyname, key := range config.NodeProfiles[p].Keys {
config.NodeProfiles[p].Tags[keyname] = key
delete(config.NodeProfiles[p].Keys, keyname)
}
for keyname, key := range config.NodeProfiles[p].Tags {
if _, ok := n.Tags[keyname]; !ok {
var key Entry
@@ -235,6 +253,15 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) {
p.NetDevs[devname].Default.Set(netdev.Default)
}
// Merge Keys into Tags for backwards compatibility
if len(profile.Tags) == 0 {
profile.Tags = make(map[string]string)
}
for keyname, key := range profile.Keys {
profile.Tags[keyname] = key
delete(profile.Keys, keyname)
}
for keyname, key := range profile.Tags {
if _, ok := p.Tags[keyname]; !ok {
var key Entry

View File

@@ -37,6 +37,7 @@ type NodeConf struct {
Profiles []string `yaml:"profiles,omitempty"`
NetDevs map[string]*NetDevs `yaml:"network devices,omitempty"`
Tags map[string]string `yaml:"tags,omitempty"`
Keys map[string]string `yaml:"keys,omitempty"` // Reverse compatibility
}
type NetDevs struct {

View File

@@ -73,14 +73,11 @@ func (config *nodeYaml) NodeUpdate(node NodeInfo) error {
config.Nodes[nodeID].SystemOverlay = node.SystemOverlay.GetReal()
config.Nodes[nodeID].Root = node.Root.GetReal()
config.Nodes[nodeID].AssetKey = node.AssetKey.GetReal()
config.Nodes[nodeID].Discoverable = node.Discoverable.GetReal()
config.Nodes[nodeID].Profiles = node.Profiles
config.Nodes[nodeID].NetDevs = make(map[string]*NetDevs)
config.Nodes[nodeID].Tags = make(map[string]string)
for devname, netdev := range node.NetDevs {
var newdev NetDevs
config.Nodes[nodeID].NetDevs[devname] = &newdev
@@ -95,8 +92,11 @@ func (config *nodeYaml) NodeUpdate(node NodeInfo) error {
config.Nodes[nodeID].NetDevs[devname].Default = netdev.Default.GetReal()
}
config.Nodes[nodeID].Tags = make(map[string]string)
for keyname, key := range node.Tags {
config.Nodes[nodeID].Tags[keyname] = key.GetReal()
if key.GetReal() != "" {
config.Nodes[nodeID].Tags[keyname] = key.GetReal()
}
}
return nil
@@ -161,14 +161,11 @@ func (config *nodeYaml) ProfileUpdate(profile NodeInfo) error {
config.NodeProfiles[profileID].SystemOverlay = profile.SystemOverlay.GetReal()
config.NodeProfiles[profileID].Root = profile.Root.GetReal()
config.NodeProfiles[profileID].AssetKey = profile.AssetKey.GetReal()
config.NodeProfiles[profileID].Discoverable = profile.Discoverable.GetReal()
config.NodeProfiles[profileID].Profiles = profile.Profiles
config.NodeProfiles[profileID].NetDevs = make(map[string]*NetDevs)
config.NodeProfiles[profileID].Tags = make(map[string]string)
for devname, netdev := range profile.NetDevs {
var newdev NetDevs
config.NodeProfiles[profileID].NetDevs[devname] = &newdev
@@ -183,6 +180,7 @@ func (config *nodeYaml) ProfileUpdate(profile NodeInfo) error {
config.NodeProfiles[profileID].NetDevs[devname].Default = netdev.Default.GetReal()
}
config.NodeProfiles[profileID].Tags = make(map[string]string)
for keyname, key := range profile.Tags {
config.NodeProfiles[profileID].Tags[keyname] = key.GetReal()
}