From f68c0a363302bb8a21244f4ef4ed16597c1ebdfe Mon Sep 17 00:00:00 2001 From: mslacken Date: Thu, 14 Apr 2022 09:29:11 +0200 Subject: [PATCH 1/6] add backward compatiblity for old yaml syntax --- internal/pkg/node/constructors.go | 28 +++++++++++++++++++++++++++- internal/pkg/node/datastructure.go | 11 +++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/internal/pkg/node/constructors.go b/internal/pkg/node/constructors.go index 27853726..b2c8ba06 100644 --- a/internal/pkg/node/constructors.go +++ b/internal/pkg/node/constructors.go @@ -88,6 +88,15 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.ClusterName.Set(node.ClusterName) n.Ipxe.Set(node.Ipxe) n.Init.Set(node.Init) + // backward compatiblity for old Ipmi config + n.Ipmi.Ipaddr.Set(node.IpmiIpaddr) + n.Ipmi.Netmask.Set(node.IpmiNetmask) + n.Ipmi.Port.Set(node.IpmiPort) + n.Ipmi.Gateway.Set(node.IpmiGateway) + n.Ipmi.UserName.Set(node.IpmiUserName) + n.Ipmi.Password.Set(node.IpmiPassword) + n.Ipmi.Interface.Set(node.IpmiInterface) + n.Ipmi.Write.SetB(node.IpmiWrite) if node.Ipmi != nil { n.Ipmi.Ipaddr.Set(node.Ipmi.Ipaddr) n.Ipmi.Netmask.Set(node.Ipmi.Netmask) @@ -103,7 +112,10 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Root.Set(node.Root) n.AssetKey.Set(node.AssetKey) n.Discoverable.Set(node.Discoverable) - + // backward compatibilty + n.Kernel.Args.Set(node.KernelArgs) + n.Kernel.Override.Set(node.KernelOverride) + n.Kernel.Override.Set(node.KernelVersion) if node.Kernel != nil { n.Kernel.Args.Set(node.Kernel.Args) if node.Kernel.Override != "" { @@ -291,6 +303,11 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.ContainerName.Set(profile.ContainerName) p.Ipxe.Set(profile.Ipxe) p.Init.Set(profile.Init) + // backward compatibilty + p.Kernel.Args.Set(profile.KernelArgs) + p.Kernel.Override.Set(profile.KernelOverride) + p.Kernel.Override.Set(profile.KernelVersion) + if profile.Kernel != nil { p.Kernel.Args.Set(profile.Kernel.Args) if profile.Kernel.Override != "" { @@ -299,6 +316,15 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.Kernel.Override.Set(profile.Kernel.Version) } } + // backward compatiblity for old Ipmi config + p.Ipmi.Ipaddr.Set(profile.IpmiIpaddr) + p.Ipmi.Netmask.Set(profile.IpmiNetmask) + p.Ipmi.Port.Set(profile.IpmiPort) + p.Ipmi.Gateway.Set(profile.IpmiGateway) + p.Ipmi.UserName.Set(profile.IpmiUserName) + p.Ipmi.Password.Set(profile.IpmiPassword) + p.Ipmi.Interface.Set(profile.IpmiInterface) + p.Ipmi.Write.SetB(profile.IpmiWrite) if profile.Ipmi != nil { p.Ipmi.Netmask.Set(profile.Ipmi.Netmask) p.Ipmi.Port.Set(profile.Ipmi.Port) diff --git a/internal/pkg/node/datastructure.go b/internal/pkg/node/datastructure.go index a6c1ee9f..e1e5b326 100644 --- a/internal/pkg/node/datastructure.go +++ b/internal/pkg/node/datastructure.go @@ -23,6 +23,17 @@ type NodeConf struct { ClusterName string `yaml:"cluster name,omitempty"` ContainerName string `yaml:"container name,omitempty"` Ipxe string `yaml:"ipxe template,omitempty"` + KernelVersion string `yaml:"kernel version,omitempty"` + KernelOverride string `yaml:"kernel override,omitempty"` + KernelArgs string `yaml:"kernel args,omitempty"` + IpmiUserName string `yaml:"ipmi username,omitempty"` + IpmiPassword string `yaml:"ipmi password,omitempty"` + IpmiIpaddr string `yaml:"ipmi ipaddr,omitempty"` + IpmiNetmask string `yaml:"ipmi netmask,omitempty"` + IpmiPort string `yaml:"ipmi port,omitempty"` + IpmiGateway string `yaml:"ipmi gateway,omitempty"` + IpmiInterface string `yaml:"ipmi interface,omitempty"` + IpmiWrite bool `yaml:"ipmi write,omitempty"` RuntimeOverlay []string `yaml:"runtime overlay,omitempty"` SystemOverlay []string `yaml:"system overlay,omitempty"` Kernel *KernelConf `yaml:"kernel,omitempty"` From 2e9848fa5cdbe6444514970762ef9080195dba60 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 14 Apr 2022 11:19:08 +0200 Subject: [PATCH 2/6] do not unmarshall deprecated yaml --- internal/pkg/node/constructors.go | 33 ++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/internal/pkg/node/constructors.go b/internal/pkg/node/constructors.go index b2c8ba06..dcc4c43f 100644 --- a/internal/pkg/node/constructors.go +++ b/internal/pkg/node/constructors.go @@ -88,7 +88,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.ClusterName.Set(node.ClusterName) n.Ipxe.Set(node.Ipxe) n.Init.Set(node.Init) - // backward compatiblity for old Ipmi config + // backward compatibility for old Ipmi config n.Ipmi.Ipaddr.Set(node.IpmiIpaddr) n.Ipmi.Netmask.Set(node.IpmiNetmask) n.Ipmi.Port.Set(node.IpmiPort) @@ -97,6 +97,15 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Ipmi.Password.Set(node.IpmiPassword) n.Ipmi.Interface.Set(node.IpmiInterface) n.Ipmi.Write.SetB(node.IpmiWrite) + // delete deprectated structures so that they do not get unmarshalled + node.IpmiIpaddr = "" + node.IpmiNetmask = "" + node.IpmiGateway = "" + node.IpmiUserName = "" + node.IpmiPassword = "" + node.IpmiInterface = "" + node.IpmiWrite = false + if node.Ipmi != nil { n.Ipmi.Ipaddr.Set(node.Ipmi.Ipaddr) n.Ipmi.Netmask.Set(node.Ipmi.Netmask) @@ -112,10 +121,14 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Root.Set(node.Root) n.AssetKey.Set(node.AssetKey) n.Discoverable.Set(node.Discoverable) - // backward compatibilty + // backward compatibility n.Kernel.Args.Set(node.KernelArgs) n.Kernel.Override.Set(node.KernelOverride) n.Kernel.Override.Set(node.KernelVersion) + node.KernelArgs = "" + node.KernelOverride = "" + node.KernelVersion = "" + if node.Kernel != nil { n.Kernel.Args.Set(node.Kernel.Args) if node.Kernel.Override != "" { @@ -303,11 +316,13 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.ContainerName.Set(profile.ContainerName) p.Ipxe.Set(profile.Ipxe) p.Init.Set(profile.Init) - // backward compatibilty + // backward compatibility p.Kernel.Args.Set(profile.KernelArgs) p.Kernel.Override.Set(profile.KernelOverride) p.Kernel.Override.Set(profile.KernelVersion) - + profile.KernelArgs = "" + profile.KernelOverride = "" + profile.KernelVersion = "" if profile.Kernel != nil { p.Kernel.Args.Set(profile.Kernel.Args) if profile.Kernel.Override != "" { @@ -316,7 +331,7 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.Kernel.Override.Set(profile.Kernel.Version) } } - // backward compatiblity for old Ipmi config + // backward compatibility for old Ipmi config p.Ipmi.Ipaddr.Set(profile.IpmiIpaddr) p.Ipmi.Netmask.Set(profile.IpmiNetmask) p.Ipmi.Port.Set(profile.IpmiPort) @@ -325,6 +340,14 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.Ipmi.Password.Set(profile.IpmiPassword) p.Ipmi.Interface.Set(profile.IpmiInterface) p.Ipmi.Write.SetB(profile.IpmiWrite) + // delete deprectated structures so that they do not get unmarshalled + profile.IpmiIpaddr = "" + profile.IpmiNetmask = "" + profile.IpmiGateway = "" + profile.IpmiUserName = "" + profile.IpmiPassword = "" + profile.IpmiInterface = "" + profile.IpmiWrite = false if profile.Ipmi != nil { p.Ipmi.Netmask.Set(profile.Ipmi.Netmask) p.Ipmi.Port.Set(profile.Ipmi.Port) From f9848455c76c472ceeba3967b9e8c18c3f89caf4 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 14 Apr 2022 11:29:13 +0200 Subject: [PATCH 3/6] output ipmi write status --- internal/app/wwctl/node/list/main.go | 1 + internal/app/wwctl/profile/list/main.go | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/app/wwctl/node/list/main.go b/internal/app/wwctl/node/list/main.go index 8f18ce6e..01f70b2d 100644 --- a/internal/app/wwctl/node/list/main.go +++ b/internal/app/wwctl/node/list/main.go @@ -56,6 +56,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiGateway", node.Ipmi.Gateway.Source(), node.Ipmi.Gateway.Print()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiUserName", node.Ipmi.UserName.Source(), node.Ipmi.UserName.Print()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiInterface", node.Ipmi.Interface.Source(), node.Ipmi.Interface.Print()) + fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiWrite", node.Ipmi.Interface.Source(), node.Ipmi.Write.Print()) for keyname, key := range node.Tags { fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Tag["+keyname+"]", key.Source(), key.Print()) diff --git a/internal/app/wwctl/profile/list/main.go b/internal/app/wwctl/profile/list/main.go index 72a80dbe..e62996a4 100644 --- a/internal/app/wwctl/profile/list/main.go +++ b/internal/app/wwctl/profile/list/main.go @@ -47,6 +47,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiGateway", profile.Ipmi.Gateway.Print()) fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiUserName", profile.Ipmi.UserName.Print()) fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiInterface", profile.Ipmi.Interface.Print()) + fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiWrite", profile.Ipmi.Write.Print()) for keyname, key := range profile.Tags { fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Tag["+keyname+"]", key.Print()) From edc7c04bc22af77d2516d9c0d5d099fbcae7c742 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 14 Apr 2022 11:43:02 +0200 Subject: [PATCH 4/6] PrintB returns string --- internal/app/wwctl/node/list/main.go | 6 +++--- internal/app/wwctl/profile/list/main.go | 6 +++--- internal/pkg/node/methods.go | 5 +++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/internal/app/wwctl/node/list/main.go b/internal/app/wwctl/node/list/main.go index 01f70b2d..dd83d7c7 100644 --- a/internal/app/wwctl/node/list/main.go +++ b/internal/app/wwctl/node/list/main.go @@ -38,7 +38,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Cluster", node.ClusterName.Source(), node.ClusterName.Print()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Profiles", "--", strings.Join(node.Profiles, ",")) - fmt.Printf("%-20s %-18s %-12s %t\n", node.Id.Get(), "Discoverable", node.Discoverable.Source(), node.Discoverable.PrintB()) + fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Discoverable", node.Discoverable.Source(), node.Discoverable.PrintB()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Container", node.ContainerName.Source(), node.ContainerName.Print()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "KernelOverride", node.Kernel.Override.Source(), node.Kernel.Override.Print()) @@ -70,8 +70,8 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":NETMASK", netdev.Netmask.Source(), netdev.Netmask.Print()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":GATEWAY", netdev.Gateway.Source(), netdev.Gateway.Print()) fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":TYPE", netdev.Type.Source(), netdev.Type.Print()) - fmt.Printf("%-20s %-18s %-12s %t\n", node.Id.Get(), name+":ONBOOT", netdev.OnBoot.Source(), netdev.OnBoot.PrintB()) - fmt.Printf("%-20s %-18s %-12s %t\n", node.Id.Get(), name+":DEFAULT", netdev.Default.Source(), netdev.Default.PrintB()) + fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":ONBOOT", netdev.OnBoot.Source(), netdev.OnBoot.PrintB()) + fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":DEFAULT", netdev.Default.Source(), netdev.Default.PrintB()) for keyname, key := range netdev.Tags { fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), name+":TAG["+keyname+"]", key.Source(), key.Print()) } diff --git a/internal/app/wwctl/profile/list/main.go b/internal/app/wwctl/profile/list/main.go index e62996a4..4f4f5d4c 100644 --- a/internal/app/wwctl/profile/list/main.go +++ b/internal/app/wwctl/profile/list/main.go @@ -47,7 +47,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiGateway", profile.Ipmi.Gateway.Print()) fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiUserName", profile.Ipmi.UserName.Print()) fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiInterface", profile.Ipmi.Interface.Print()) - fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiWrite", profile.Ipmi.Write.Print()) + fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiWrite", profile.Ipmi.Write.PrintB()) for keyname, key := range profile.Tags { fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Tag["+keyname+"]", key.Print()) @@ -59,8 +59,8 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":GATEWAY", netdev.Gateway.Print()) fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":HWADDR", netdev.Hwaddr.Print()) fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":TYPE", netdev.Hwaddr.Print()) - fmt.Printf("%-20s %-18s %t\n", profile.Id.Get(), name+":ONBOOT", netdev.OnBoot.PrintB()) - fmt.Printf("%-20s %-18s %t\n", profile.Id.Get(), name+":DEFAULT", netdev.Default.PrintB()) + fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":ONBOOT", netdev.OnBoot.PrintB()) + fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), name+":DEFAULT", netdev.Default.PrintB()) for keyname, key := range netdev.Tags { fmt.Printf("%-20s %-18s %-12s %s\n", profile.Id.Get(), name+":TAG["+keyname+"]", key.Source(), key.Print()) } diff --git a/internal/pkg/node/methods.go b/internal/pkg/node/methods.go index 7bb6b862..20960b1c 100644 --- a/internal/pkg/node/methods.go +++ b/internal/pkg/node/methods.go @@ -1,6 +1,7 @@ package node import ( + "fmt" "regexp" "strings" ) @@ -254,8 +255,8 @@ func (ent *Entry) PrintComb() string { /* same as GetB() */ -func (ent *Entry) PrintB() bool { - return ent.GetB() +func (ent *Entry) PrintB() string { + return fmt.Sprintf("%t", ent.GetB()) } /* From b3cf1dea6b2f4bcf49a6d6373be326938bd03cf3 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 14 Apr 2022 11:47:34 +0200 Subject: [PATCH 5/6] setaltb for ipmi write --- internal/pkg/node/constructors.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/pkg/node/constructors.go b/internal/pkg/node/constructors.go index dcc4c43f..4cffec63 100644 --- a/internal/pkg/node/constructors.go +++ b/internal/pkg/node/constructors.go @@ -223,7 +223,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Ipmi.UserName.SetAlt(config.NodeProfiles[p].Ipmi.UserName, p) n.Ipmi.Password.SetAlt(config.NodeProfiles[p].Ipmi.Password, p) n.Ipmi.Interface.SetAlt(config.NodeProfiles[p].Ipmi.Interface, p) - n.Ipmi.Write.SetB(config.NodeProfiles[p].Ipmi.Write) + n.Ipmi.Write.SetAltB(config.NodeProfiles[p].Ipmi.Write, p) } n.SystemOverlay.SetAltSlice(config.NodeProfiles[p].SystemOverlay, p) n.RuntimeOverlay.SetAltSlice(config.NodeProfiles[p].RuntimeOverlay, p) From e29aea8ae3f5f924c9349dc03468496c872ab389 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 14 Apr 2022 12:50:38 +0200 Subject: [PATCH 6/6] using stirng for ipmiwrite storage --- internal/pkg/node/constructors.go | 14 +++++++------- internal/pkg/node/datastructure.go | 4 ++-- internal/pkg/node/modifiers.go | 4 ++-- internal/pkg/overlay/overlay.go | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/internal/pkg/node/constructors.go b/internal/pkg/node/constructors.go index 4cffec63..6746aa08 100644 --- a/internal/pkg/node/constructors.go +++ b/internal/pkg/node/constructors.go @@ -96,7 +96,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Ipmi.UserName.Set(node.IpmiUserName) n.Ipmi.Password.Set(node.IpmiPassword) n.Ipmi.Interface.Set(node.IpmiInterface) - n.Ipmi.Write.SetB(node.IpmiWrite) + n.Ipmi.Write.Set(node.IpmiWrite) // delete deprectated structures so that they do not get unmarshalled node.IpmiIpaddr = "" node.IpmiNetmask = "" @@ -104,7 +104,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { node.IpmiUserName = "" node.IpmiPassword = "" node.IpmiInterface = "" - node.IpmiWrite = false + node.IpmiWrite = "" if node.Ipmi != nil { n.Ipmi.Ipaddr.Set(node.Ipmi.Ipaddr) @@ -114,7 +114,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Ipmi.UserName.Set(node.Ipmi.UserName) n.Ipmi.Password.Set(node.Ipmi.Password) n.Ipmi.Interface.Set(node.Ipmi.Interface) - n.Ipmi.Write.SetB(node.Ipmi.Write) + n.Ipmi.Write.Set(node.Ipmi.Write) } n.SystemOverlay.SetSlice(node.SystemOverlay) n.RuntimeOverlay.SetSlice(node.RuntimeOverlay) @@ -223,7 +223,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) { n.Ipmi.UserName.SetAlt(config.NodeProfiles[p].Ipmi.UserName, p) n.Ipmi.Password.SetAlt(config.NodeProfiles[p].Ipmi.Password, p) n.Ipmi.Interface.SetAlt(config.NodeProfiles[p].Ipmi.Interface, p) - n.Ipmi.Write.SetAltB(config.NodeProfiles[p].Ipmi.Write, p) + n.Ipmi.Write.SetAlt(config.NodeProfiles[p].Ipmi.Write, p) } n.SystemOverlay.SetAltSlice(config.NodeProfiles[p].SystemOverlay, p) n.RuntimeOverlay.SetAltSlice(config.NodeProfiles[p].RuntimeOverlay, p) @@ -339,7 +339,7 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.Ipmi.UserName.Set(profile.IpmiUserName) p.Ipmi.Password.Set(profile.IpmiPassword) p.Ipmi.Interface.Set(profile.IpmiInterface) - p.Ipmi.Write.SetB(profile.IpmiWrite) + p.Ipmi.Write.Set(profile.IpmiWrite) // delete deprectated structures so that they do not get unmarshalled profile.IpmiIpaddr = "" profile.IpmiNetmask = "" @@ -347,7 +347,7 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { profile.IpmiUserName = "" profile.IpmiPassword = "" profile.IpmiInterface = "" - profile.IpmiWrite = false + profile.IpmiWrite = "" if profile.Ipmi != nil { p.Ipmi.Netmask.Set(profile.Ipmi.Netmask) p.Ipmi.Port.Set(profile.Ipmi.Port) @@ -355,7 +355,7 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) { p.Ipmi.UserName.Set(profile.Ipmi.UserName) p.Ipmi.Password.Set(profile.Ipmi.Password) p.Ipmi.Interface.Set(profile.Ipmi.Interface) - p.Ipmi.Write.SetB(profile.Ipmi.Write) + p.Ipmi.Write.Set(profile.Ipmi.Write) } p.RuntimeOverlay.SetSlice(profile.RuntimeOverlay) p.SystemOverlay.SetSlice(profile.SystemOverlay) diff --git a/internal/pkg/node/datastructure.go b/internal/pkg/node/datastructure.go index e1e5b326..11f83c60 100644 --- a/internal/pkg/node/datastructure.go +++ b/internal/pkg/node/datastructure.go @@ -33,7 +33,7 @@ type NodeConf struct { IpmiPort string `yaml:"ipmi port,omitempty"` IpmiGateway string `yaml:"ipmi gateway,omitempty"` IpmiInterface string `yaml:"ipmi interface,omitempty"` - IpmiWrite bool `yaml:"ipmi write,omitempty"` + IpmiWrite string `yaml:"ipmi write,omitempty"` RuntimeOverlay []string `yaml:"runtime overlay,omitempty"` SystemOverlay []string `yaml:"system overlay,omitempty"` Kernel *KernelConf `yaml:"kernel,omitempty"` @@ -56,7 +56,7 @@ type IpmiConf struct { Port string `yaml:"port,omitempty"` Gateway string `yaml:"gateway,omitempty"` Interface string `yaml:"interface,omitempty"` - Write bool `yaml:"write,omitempty"` + Write string `yaml:"write,omitempty"` } type KernelConf struct { Version string `yaml:"version,omitempty"` diff --git a/internal/pkg/node/modifiers.go b/internal/pkg/node/modifiers.go index 5ab78fd5..962d8706 100644 --- a/internal/pkg/node/modifiers.go +++ b/internal/pkg/node/modifiers.go @@ -79,7 +79,7 @@ func (config *nodeYaml) NodeUpdate(node NodeInfo) error { config.Nodes[nodeID].Ipmi.UserName = node.Ipmi.UserName.GetReal() config.Nodes[nodeID].Ipmi.Password = node.Ipmi.Password.GetReal() config.Nodes[nodeID].Ipmi.Interface = node.Ipmi.Interface.GetReal() - config.Nodes[nodeID].Ipmi.Write = node.Ipmi.Write.GetB() + config.Nodes[nodeID].Ipmi.Write = node.Ipmi.Write.GetReal() } config.Nodes[nodeID].RuntimeOverlay = node.RuntimeOverlay.GetRealSlice() config.Nodes[nodeID].SystemOverlay = node.SystemOverlay.GetRealSlice() @@ -185,7 +185,7 @@ func (config *nodeYaml) ProfileUpdate(profile NodeInfo) error { config.NodeProfiles[profileID].Ipmi.UserName = profile.Ipmi.UserName.GetReal() config.NodeProfiles[profileID].Ipmi.Password = profile.Ipmi.Password.GetReal() config.NodeProfiles[profileID].Ipmi.Interface = profile.Ipmi.Interface.GetReal() - config.NodeProfiles[profileID].Ipmi.Write = profile.Ipmi.Interface.GetB() + config.NodeProfiles[profileID].Ipmi.Write = profile.Ipmi.Interface.GetReal() } config.NodeProfiles[profileID].RuntimeOverlay = profile.RuntimeOverlay.GetRealSlice() config.NodeProfiles[profileID].SystemOverlay = profile.SystemOverlay.GetRealSlice() diff --git a/internal/pkg/overlay/overlay.go b/internal/pkg/overlay/overlay.go index 732cbd5e..1c95cbb5 100644 --- a/internal/pkg/overlay/overlay.go +++ b/internal/pkg/overlay/overlay.go @@ -245,7 +245,7 @@ func BuildOverlayIndir(nodeInfo node.NodeInfo, overlayNames []string, outputDir tstruct.Ipmi.UserName = nodeInfo.Ipmi.UserName.Get() tstruct.Ipmi.Password = nodeInfo.Ipmi.Password.Get() tstruct.Ipmi.Interface = nodeInfo.Ipmi.Interface.Get() - tstruct.Ipmi.Write = nodeInfo.Ipmi.Write.GetB() + tstruct.Ipmi.Write = nodeInfo.Ipmi.Write.Get() tstruct.RuntimeOverlay = nodeInfo.RuntimeOverlay.Print() tstruct.SystemOverlay = nodeInfo.SystemOverlay.Print() tstruct.NetDevs = make(map[string]*node.NetDevs)