Merge pull request #372 from mslacken/more-mem-fixes

more mem fixes
This commit is contained in:
Christian Goll
2022-04-08 17:37:10 +02:00
committed by GitHub
4 changed files with 33 additions and 18 deletions

View File

@@ -153,6 +153,9 @@ func (config *nodeYaml) DelProfile(profileID string) error {
return nil
}
/*
Update the the config for the given profile so that it can unmarshalled.
*/
func (config *nodeYaml) ProfileUpdate(profile NodeInfo) error {
profileID := profile.Id.Get()
@@ -164,16 +167,24 @@ func (config *nodeYaml) ProfileUpdate(profile NodeInfo) error {
config.NodeProfiles[profileID].Ipxe = profile.Ipxe.GetReal()
config.NodeProfiles[profileID].Init = profile.Init.GetReal()
config.NodeProfiles[profileID].ClusterName = profile.ClusterName.GetReal()
config.NodeProfiles[profileID].Kernel.Override = profile.Kernel.Override.GetReal()
config.NodeProfiles[profileID].Kernel.Args = profile.Kernel.Args.GetReal()
config.NodeProfiles[profileID].Ipmi.Ipaddr = profile.Ipmi.Ipaddr.GetReal()
config.NodeProfiles[profileID].Ipmi.Netmask = profile.Ipmi.Netmask.GetReal()
config.NodeProfiles[profileID].Ipmi.Port = profile.Ipmi.Port.GetReal()
config.NodeProfiles[profileID].Ipmi.Gateway = profile.Ipmi.Gateway.GetReal()
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()
if profile.Kernel.Override.GotReal() || profile.Kernel.Args.GotReal() {
config.NodeProfiles[profileID].Kernel = new(KernelConf)
config.NodeProfiles[profileID].Kernel.Override = profile.Kernel.Override.GetReal()
config.NodeProfiles[profileID].Kernel.Args = profile.Kernel.Args.GetReal()
}
if profile.Ipmi.Ipaddr.GotReal() || profile.Ipmi.Netmask.GotReal() ||
profile.Ipmi.Port.GotReal() || profile.Ipmi.Gateway.GotReal() || profile.Ipmi.UserName.GotReal() ||
profile.Ipmi.Password.GotReal() || profile.Ipmi.Interface.GotReal() || profile.Ipmi.Write.GotReal() {
config.NodeProfiles[profileID].Ipmi = new(IpmiConf)
config.NodeProfiles[profileID].Ipmi.Ipaddr = profile.Ipmi.Ipaddr.GetReal()
config.NodeProfiles[profileID].Ipmi.Netmask = profile.Ipmi.Netmask.GetReal()
config.NodeProfiles[profileID].Ipmi.Port = profile.Ipmi.Port.GetReal()
config.NodeProfiles[profileID].Ipmi.Gateway = profile.Ipmi.Gateway.GetReal()
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].RuntimeOverlay = profile.RuntimeOverlay.GetRealSlice()
config.NodeProfiles[profileID].SystemOverlay = profile.SystemOverlay.GetRealSlice()
config.NodeProfiles[profileID].Root = profile.Root.GetReal()

View File

@@ -87,6 +87,8 @@ Build overlay for the host, so no argument needs to be given
*/
func BuildHostOverlay() error {
var host node.NodeInfo
host.Kernel = new(node.KernelEntry)
host.Ipmi = new(node.IpmiEntry)
var idEntry node.Entry
hostname, _ := os.Hostname()
wwlog.Printf(wwlog.INFO, "Building overlay for %s: host\n", hostname)
@@ -220,6 +222,8 @@ func BuildOverlayIndir(nodeInfo node.NodeInfo, overlayNames []string, outputDir
}
wwlog.Printf(wwlog.VERBOSE, "Processing node/overlay: %s/%s\n", nodeInfo.Id.Get(), strings.Join(overlayNames, "-"))
var tstruct TemplateStruct
tstruct.Kernel = new(node.KernelConf)
tstruct.Ipmi = new(node.IpmiConf)
tstruct.Id = nodeInfo.Id.Get()
tstruct.Hostname = nodeInfo.Id.Get()
tstruct.Id = nodeInfo.Id.Get()

View File

@@ -1,7 +1,7 @@
Warewulf Node: {{.Id}}
Container: {{.Container}}
Kernel: {{.KernelVersion}}
Kernelargs: {{.KernelArgs}}
Kernel: {{.Kernel.Version}}
Kernelargs: {{.Kernel.Args}}
Network:
{{- range $devname, $netdev := .NetDevs}}

View File

@@ -2,9 +2,9 @@ WWCONTAINER={{$.Container}}
WWHOSTNAME={{$.Id}}
WWROOT={{$.Root}}
WWINIT={{$.Init}}
WWIPMI_IPADDR="{{$.IpmiIpaddr}}"
WWIPMI_NETMASK="{{$.IpmiNetmask}}"
WWIPMI_GATEWAY="{{$.IpmiGateway}}"
WWIPMI_USER="{{$.IpmiUserName}}"
WWIPMI_PASSWORD="{{$.IpmiPassword}}"
WWIPMI_WRITE="{{$.IpmiWrite}}"
WWIPMI_IPADDR="{{$.Ipmi.Ipaddr}}"
WWIPMI_NETMASK="{{$.Ipmi.Netmask}}"
WWIPMI_GATEWAY="{{$.Ipmi.Gateway}}"
WWIPMI_USER="{{$.Ipmi.UserName}}"
WWIPMI_PASSWORD="{{$.Ipmi.Password}}"
WWIPMI_WRITE="{{$.Ipmi.Write}}"