Merge pull request #354 from jcsiadal/hostyaml

YAML file update
This commit is contained in:
Christian Goll
2022-04-06 21:27:38 +02:00
committed by GitHub
28 changed files with 246 additions and 232 deletions

View File

@@ -1,3 +1,4 @@
WW_INTERNAL: 43
nodeprofiles:
default:
comment: This profile is automatically included for each node

View File

@@ -1,3 +1,4 @@
WW_INTERNAL: 43
ipaddr: 192.168.200.1
netmask: 255.255.255.0
warewulf:

View File

@@ -23,7 +23,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
ARG_LOOP:
for _, arg := range args {
for _, n := range nodes {
if n.KernelOverride.Get() == arg {
if n.Kernel.Override.Get() == arg {
wwlog.Printf(wwlog.ERROR, "Kernel is configured for nodes, skipping: %s\n", arg)
continue ARG_LOOP
}

View File

@@ -70,7 +70,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
wwlog.Printf(wwlog.DEBUG, "Looking for profile default: %s\n", profile.Id.Get())
if profile.Id.Get() == "default" {
wwlog.Printf(wwlog.DEBUG, "Found profile default, setting kernel version to: %s\n", args[0])
profile.KernelOverride.Set(args[0])
profile.Kernel.Override.Set(args[0])
err := nodeDB.ProfileUpdate(profile)
if err != nil {
return errors.Wrap(err, "failed to update node profile")

View File

@@ -23,7 +23,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
nodemap := make(map[string]int)
for _, n := range nodes {
nodemap[n.KernelOverride.Get()]++
nodemap[n.Kernel.Override.Get()]++
}
fmt.Printf("%-35s %-25s %-6s\n", "KERNEL NAME", "KERNEL VERSION", "NODES")

View File

@@ -43,19 +43,19 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
Port: node.IpmiPort.Get(),
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: node.Ipmi.Port.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
AuthType: "MD5",
Interface: node.IpmiInterface.Get(),
Interface: node.Ipmi.Interface.Get(),
}
err := ipmiCmd.Console()

View File

@@ -41,8 +41,8 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
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(), "Container", node.ContainerName.Source(), node.ContainerName.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "KernelOverride", node.KernelOverride.Source(), node.KernelOverride.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "KernelArgs", node.KernelArgs.Source(), node.KernelArgs.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "KernelOverride", node.Kernel.Override.Source(), node.Kernel.Override.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "KernelArgs", node.Kernel.Args.Source(), node.Kernel.Args.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "SystemOverlay", node.SystemOverlay.Source(), node.SystemOverlay.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "RuntimeOverlay", node.RuntimeOverlay.Source(), node.RuntimeOverlay.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Ipxe", node.Ipxe.Source(), node.Ipxe.Print())
@@ -50,12 +50,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Root", node.Root.Source(), node.Root.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "AssetKey", node.AssetKey.Source(), node.AssetKey.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiIpaddr", node.IpmiIpaddr.Source(), node.IpmiIpaddr.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiNetmask", node.IpmiNetmask.Source(), node.IpmiNetmask.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiPort", node.IpmiPort.Source(), node.IpmiPort.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiGateway", node.IpmiGateway.Source(), node.IpmiGateway.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiUserName", node.IpmiUserName.Source(), node.IpmiUserName.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiInterface", node.IpmiInterface.Source(), node.IpmiInterface.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiIpaddr", node.Ipmi.Ipaddr.Source(), node.Ipmi.Ipaddr.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiNetmask", node.Ipmi.Netmask.Source(), node.Ipmi.Netmask.Print())
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "IpmiPort", node.Ipmi.Port.Source(), node.Ipmi.Port.Print())
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())
for keyname, key := range node.Tags {
fmt.Printf("%-20s %-18s %-12s %s\n", node.Id.Get(), "Tag["+keyname+"]", key.Source(), key.Print())
@@ -95,7 +95,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
fmt.Println(strings.Repeat("=", 108))
for _, node := range node.FilterByName(nodes, args) {
fmt.Printf("%-22s %-16s %-10s %-20s %-20s %-14s\n", node.Id.Get(), node.IpmiIpaddr.Print(), node.IpmiPort.Print(), node.IpmiUserName.Print(), node.IpmiPassword.Print(), node.IpmiInterface.Print())
fmt.Printf("%-22s %-16s %-10s %-20s %-20s %-14s\n", node.Id.Get(), node.Ipmi.Ipaddr.Print(), node.Ipmi.Port.Print(), node.Ipmi.UserName.Print(), node.Ipmi.Password.Print(), node.Ipmi.Interface.Print())
}
} else if ShowLong {
@@ -103,7 +103,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
fmt.Println(strings.Repeat("=", 120))
for _, node := range node.FilterByName(nodes, args) {
fmt.Printf("%-22s %-26s %-35s %s\n", node.Id.Get(), node.KernelOverride.Print(), node.ContainerName.Print(), node.SystemOverlay.Print()+"/"+node.RuntimeOverlay.Print())
fmt.Printf("%-22s %-26s %-35s %s\n", node.Id.Get(), node.Kernel.Override.Print(), node.ContainerName.Print(), node.SystemOverlay.Print()+"/"+node.RuntimeOverlay.Print())
}
} else {

View File

@@ -47,24 +47,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
results := make(chan power.IPMI, jobcount)
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -72,12 +72,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if SetKernelOverride != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting kernel override to: %s\n", n.Id.Get(), SetKernelOverride)
n.KernelOverride.Set(SetKernelOverride)
n.Kernel.Override.Set(SetKernelOverride)
}
if SetKernelArgs != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting kernel args to: %s\n", n.Id.Get(), SetKernelArgs)
n.KernelArgs.Set(SetKernelArgs)
n.Kernel.Args.Set(SetKernelArgs)
}
if SetClusterName != "" {
@@ -103,45 +103,45 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if SetIpmiIpaddr != "" {
NewIpaddr := util.IncrementIPv4(SetIpmiIpaddr, count)
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI IP address to: %s\n", n.Id.Get(), NewIpaddr)
n.IpmiIpaddr.Set(NewIpaddr)
n.Ipmi.Ipaddr.Set(NewIpaddr)
}
if SetIpmiNetmask != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI netmask to: %s\n", n.Id.Get(), SetIpmiNetmask)
n.IpmiNetmask.Set(SetIpmiNetmask)
n.Ipmi.Netmask.Set(SetIpmiNetmask)
}
if SetIpmiPort != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI port to: %s\n", n.Id.Get(), SetIpmiPort)
n.IpmiPort.Set(SetIpmiPort)
n.Ipmi.Port.Set(SetIpmiPort)
}
if SetIpmiGateway != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI gateway to: %s\n", n.Id.Get(), SetIpmiGateway)
n.IpmiGateway.Set(SetIpmiGateway)
n.Ipmi.Gateway.Set(SetIpmiGateway)
}
if SetIpmiUsername != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI IP username to: %s\n", n.Id.Get(), SetIpmiUsername)
n.IpmiUserName.Set(SetIpmiUsername)
n.Ipmi.UserName.Set(SetIpmiUsername)
}
if SetIpmiPassword != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI IP password to: %s\n", n.Id.Get(), SetIpmiPassword)
n.IpmiPassword.Set(SetIpmiPassword)
n.Ipmi.Password.Set(SetIpmiPassword)
}
if SetIpmiInterface != "" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting IPMI IP interface to: %s\n", n.Id.Get(), SetIpmiInterface)
n.IpmiInterface.Set(SetIpmiInterface)
n.Ipmi.Interface.Set(SetIpmiInterface)
}
if SetIpmiWrite == "yes" || SetNetOnBoot == "y" || SetNetOnBoot == "1" || SetNetOnBoot == "true" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting Ipmiwrite to %s\n", n.Id.Get(), SetIpmiWrite)
n.IpmiWrite.SetB(true)
n.Ipmi.Write.SetB(true)
} else {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting Ipmiwrite to %s\n", n.Id.Get(), SetIpmiWrite)
n.IpmiWrite.SetB(false)
n.Ipmi.Write.SetB(false)
}
if SetDiscoverable {

View File

@@ -46,24 +46,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -46,24 +46,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -46,24 +46,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -46,24 +46,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -46,24 +46,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -46,24 +46,24 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
for _, node := range nodes {
if node.IpmiIpaddr.Get() == "" {
if node.Ipmi.Ipaddr.Get() == "" {
wwlog.Printf(wwlog.ERROR, "%s: No IPMI IP address\n", node.Id.Get())
continue
}
var ipmiInterface = "lan"
if node.IpmiInterface.Get() != "" {
ipmiInterface = node.IpmiInterface.Get()
if node.Ipmi.Interface.Get() != "" {
ipmiInterface = node.Ipmi.Interface.Get()
}
var ipmiPort = "623"
if node.IpmiPort.Get() != "" {
ipmiPort = node.IpmiPort.Get()
if node.Ipmi.Port.Get() != "" {
ipmiPort = node.Ipmi.Port.Get()
}
ipmiCmd := power.IPMI{
NodeName: node.Id.Get(),
HostName: node.IpmiIpaddr.Get(),
HostName: node.Ipmi.Ipaddr.Get(),
Port: ipmiPort,
User: node.IpmiUserName.Get(),
Password: node.IpmiPassword.Get(),
User: node.Ipmi.UserName.Get(),
Password: node.Ipmi.Password.Get(),
Interface: ipmiInterface,
AuthType: "MD5",
}

View File

@@ -33,8 +33,8 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Cluster", profile.ClusterName.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Container", profile.ContainerName.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "KernelOverride", profile.KernelOverride.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "KernelArgs", profile.KernelArgs.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "KernelOverride", profile.Kernel.Override.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "KernelArgs", profile.Kernel.Args.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Init", profile.Init.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Root", profile.Root.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "AssetKey", profile.AssetKey.Print())
@@ -42,11 +42,11 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "SystemOverlay", profile.SystemOverlay.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "RuntimeOverlay", profile.RuntimeOverlay.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Ipxe", profile.Ipxe.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiNetmask", profile.IpmiNetmask.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiPort", profile.IpmiPort.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiGateway", profile.IpmiGateway.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiUserName", profile.IpmiUserName.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiInterface", profile.IpmiInterface.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiNetmask", profile.Ipmi.Netmask.Print())
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "IpmiPort", profile.Ipmi.Port.Print())
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())
for keyname, key := range profile.Tags {
fmt.Printf("%-20s %-18s %s\n", profile.Id.Get(), "Tag["+keyname+"]", key.Print())

View File

@@ -77,12 +77,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if SetKernelOverride != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting Kernel override version to: %s\n", p.Id.Get(), SetKernelOverride)
p.KernelOverride.Set(SetKernelOverride)
p.Kernel.Override.Set(SetKernelOverride)
}
if SetKernelArgs != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting Kernel args to: %s\n", p.Id.Get(), SetKernelArgs)
p.KernelArgs.Set(SetKernelArgs)
p.Kernel.Args.Set(SetKernelArgs)
}
if SetIpxe != "" {
@@ -102,40 +102,40 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
if SetIpmiNetmask != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting IPMI netmask to: %s\n", p.Id.Get(), SetIpmiNetmask)
p.IpmiNetmask.Set(SetIpmiNetmask)
p.Ipmi.Netmask.Set(SetIpmiNetmask)
}
if SetIpmiPort != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting IPMI port to: %s\n", p.Id.Get(), SetIpmiPort)
p.IpmiPort.Set(SetIpmiPort)
p.Ipmi.Port.Set(SetIpmiPort)
}
if SetIpmiGateway != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting IPMI gateway to: %s\n", p.Id.Get(), SetIpmiGateway)
p.IpmiGateway.Set(SetIpmiGateway)
p.Ipmi.Gateway.Set(SetIpmiGateway)
}
if SetIpmiUsername != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting IPMI username to: %s\n", p.Id.Get(), SetIpmiUsername)
p.IpmiUserName.Set(SetIpmiUsername)
p.Ipmi.UserName.Set(SetIpmiUsername)
}
if SetIpmiPassword != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting IPMI password to: %s\n", p.Id.Get(), SetIpmiPassword)
p.IpmiPassword.Set(SetIpmiPassword)
p.Ipmi.Password.Set(SetIpmiPassword)
}
if SetIpmiInterface != "" {
wwlog.Printf(wwlog.VERBOSE, "Profile: %s, Setting IPMI interface to: %s\n", p.Id.Get(), SetIpmiInterface)
p.IpmiInterface.Set(SetIpmiInterface)
p.Ipmi.Interface.Set(SetIpmiInterface)
}
if SetIpmiWrite == "yes" || SetNetOnBoot == "y" || SetNetOnBoot == "1" || SetNetOnBoot == "true" {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting Ipmiwrite to %s\n", p.Id.Get(), SetIpmiWrite)
p.IpmiWrite.SetB(true)
p.Ipmi.Write.SetB(true)
} else {
wwlog.Printf(wwlog.VERBOSE, "Node: %s, Setting Ipmiwrite to %s\n", p.Id.Get(), SetIpmiWrite)
p.IpmiWrite.SetB(false)
p.Ipmi.Write.SetB(false)
}
if SetDiscoverable {

View File

@@ -2,6 +2,8 @@ package buildconfig
import "github.com/hpcng/warewulf/internal/pkg/wwlog"
const WWVer = 43
var (
bindir string = "UNDEF"
sysconfdir string = "UNDEF"

View File

@@ -67,7 +67,7 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
n.Ipxe.SetDefault("default")
n.Init.SetDefault("/sbin/init")
n.Root.SetDefault("initramfs")
n.KernelArgs.SetDefault("quiet crashkernel=no vga=791")
n.Kernel.Args.SetDefault("quiet crashkernel=no vga=791")
fullname := strings.SplitN(nodename, ".", 2)
if len(fullname) > 1 {
@@ -83,28 +83,28 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
n.Id.Set(nodename)
n.Comment.Set(node.Comment)
n.ContainerName.Set(node.ContainerName)
n.KernelArgs.Set(node.KernelArgs)
n.Kernel.Args.Set(node.Kernel.Args)
n.ClusterName.Set(node.ClusterName)
n.Ipxe.Set(node.Ipxe)
n.Init.Set(node.Init)
n.IpmiIpaddr.Set(node.IpmiIpaddr)
n.IpmiNetmask.Set(node.IpmiNetmask)
n.IpmiPort.Set(node.IpmiPort)
n.IpmiGateway.Set(node.IpmiGateway)
n.IpmiUserName.Set(node.IpmiUserName)
n.IpmiPassword.Set(node.IpmiPassword)
n.IpmiInterface.Set(node.IpmiInterface)
n.IpmiWrite.SetB(node.IpmiWrite)
n.Ipmi.Ipaddr.Set(node.Ipmi.Ipaddr)
n.Ipmi.Netmask.Set(node.Ipmi.Netmask)
n.Ipmi.Port.Set(node.Ipmi.Port)
n.Ipmi.Gateway.Set(node.Ipmi.Gateway)
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.SystemOverlay.SetSlice(node.SystemOverlay)
n.RuntimeOverlay.SetSlice(node.RuntimeOverlay)
n.Root.Set(node.Root)
n.AssetKey.Set(node.AssetKey)
n.Discoverable.Set(node.Discoverable)
if node.KernelOverride != "" {
n.KernelOverride.Set(node.KernelOverride)
} else if node.KernelVersion != "" {
n.KernelOverride.Set(node.KernelVersion)
if node.Kernel.Override != "" {
n.Kernel.Override.Set(node.Kernel.Override)
} else if node.Kernel.Version != "" {
n.Kernel.Override.Set(node.Kernel.Version)
}
for devname, netdev := range node.NetDevs {
@@ -170,27 +170,27 @@ func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
n.Comment.SetAlt(config.NodeProfiles[p].Comment, p)
n.ClusterName.SetAlt(config.NodeProfiles[p].ClusterName, p)
n.ContainerName.SetAlt(config.NodeProfiles[p].ContainerName, p)
n.KernelArgs.SetAlt(config.NodeProfiles[p].KernelArgs, p)
n.Kernel.Args.SetAlt(config.NodeProfiles[p].Kernel.Args, p)
n.Ipxe.SetAlt(config.NodeProfiles[p].Ipxe, p)
n.Init.SetAlt(config.NodeProfiles[p].Init, p)
n.IpmiIpaddr.SetAlt(config.NodeProfiles[p].IpmiIpaddr, p)
n.IpmiNetmask.SetAlt(config.NodeProfiles[p].IpmiNetmask, p)
n.IpmiPort.SetAlt(config.NodeProfiles[p].IpmiPort, p)
n.IpmiGateway.SetAlt(config.NodeProfiles[p].IpmiGateway, p)
n.IpmiUserName.SetAlt(config.NodeProfiles[p].IpmiUserName, p)
n.IpmiPassword.SetAlt(config.NodeProfiles[p].IpmiPassword, p)
n.IpmiInterface.SetAlt(config.NodeProfiles[p].IpmiInterface, p)
n.IpmiWrite.SetB(config.NodeProfiles[p].IpmiWrite)
n.Ipmi.Ipaddr.SetAlt(config.NodeProfiles[p].Ipmi.Ipaddr, p)
n.Ipmi.Netmask.SetAlt(config.NodeProfiles[p].Ipmi.Netmask, p)
n.Ipmi.Port.SetAlt(config.NodeProfiles[p].Ipmi.Port, p)
n.Ipmi.Gateway.SetAlt(config.NodeProfiles[p].Ipmi.Gateway, p)
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.SystemOverlay.SetAltSlice(config.NodeProfiles[p].SystemOverlay, p)
n.RuntimeOverlay.SetAltSlice(config.NodeProfiles[p].RuntimeOverlay, p)
n.Root.SetAlt(config.NodeProfiles[p].Root, p)
n.AssetKey.SetAlt(config.NodeProfiles[p].AssetKey, p)
n.Discoverable.SetAlt(config.NodeProfiles[p].Discoverable, p)
if config.NodeProfiles[p].KernelOverride != "" {
n.KernelOverride.SetAlt(config.NodeProfiles[p].KernelOverride, p)
} else if config.NodeProfiles[p].KernelVersion != "" {
n.KernelOverride.SetAlt(config.NodeProfiles[p].KernelVersion, p)
if config.NodeProfiles[p].Kernel.Override != "" {
n.Kernel.Override.SetAlt(config.NodeProfiles[p].Kernel.Override, p)
} else if config.NodeProfiles[p].Kernel.Version != "" {
n.Kernel.Override.SetAlt(config.NodeProfiles[p].Kernel.Version, p)
}
for devname, netdev := range config.NodeProfiles[p].NetDevs {
@@ -260,24 +260,24 @@ func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) {
p.ContainerName.Set(profile.ContainerName)
p.Ipxe.Set(profile.Ipxe)
p.Init.Set(profile.Init)
p.KernelArgs.Set(profile.KernelArgs)
p.IpmiNetmask.Set(profile.IpmiNetmask)
p.IpmiPort.Set(profile.IpmiPort)
p.IpmiGateway.Set(profile.IpmiGateway)
p.IpmiUserName.Set(profile.IpmiUserName)
p.IpmiPassword.Set(profile.IpmiPassword)
p.IpmiInterface.Set(profile.IpmiInterface)
p.IpmiWrite.SetB(profile.IpmiWrite)
p.Kernel.Args.Set(profile.Kernel.Args)
p.Ipmi.Netmask.Set(profile.Ipmi.Netmask)
p.Ipmi.Port.Set(profile.Ipmi.Port)
p.Ipmi.Gateway.Set(profile.Ipmi.Gateway)
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.RuntimeOverlay.SetSlice(profile.RuntimeOverlay)
p.SystemOverlay.SetSlice(profile.SystemOverlay)
p.Root.Set(profile.Root)
p.AssetKey.Set(profile.AssetKey)
p.Discoverable.Set(profile.Discoverable)
if profile.KernelOverride != "" {
p.KernelOverride.Set(profile.KernelOverride)
} else if profile.KernelVersion != "" {
p.KernelOverride.Set(profile.KernelVersion)
if profile.Kernel.Override != "" {
p.Kernel.Override.Set(profile.Kernel.Override)
} else if profile.Kernel.Version != "" {
p.Kernel.Override.Set(profile.Kernel.Version)
}
for devname, netdev := range profile.NetDevs {

View File

@@ -10,6 +10,7 @@ import (
******/
type nodeYaml struct {
WWInternal int `yaml:"WW_INTERNAL"`
NodeProfiles map[string]*NodeConf
Nodes map[string]*NodeConf
}
@@ -19,19 +20,10 @@ 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"`
Ipmi *IpmiConf `yaml:"ipmi,omitempty"`
Init string `yaml:"init,omitempty"`
Root string `yaml:"root,omitempty"`
AssetKey string `yaml:"asset key,omitempty"`
@@ -42,6 +34,22 @@ type NodeConf struct {
Keys map[string]string `yaml:"keys,omitempty"` // Reverse compatibility
}
type IpmiConf struct {
UserName string `yaml:"username,omitempty"`
Password string `yaml:"password,omitempty"`
Ipaddr string `yaml:"ipaddr,omitempty"`
Netmask string `yaml:"netmask,omitempty"`
Port string `yaml:"port,omitempty"`
Gateway string `yaml:"gateway,omitempty"`
Interface string `yaml:"interface,omitempty"`
Write bool `yaml:"write,omitempty"`
}
type KernelConf struct {
Version string `yaml:"version,omitempty"`
Override string `yaml:"override,omitempty"`
Args string `yaml:"args,omitempty"`
}
type NetDevs struct {
Type string `yaml:"type,omitempty"`
OnBoot string `yaml:"onboot,omitempty"`
@@ -78,28 +86,37 @@ type NodeInfo struct {
ClusterName Entry
ContainerName Entry
Ipxe Entry
KernelOverride Entry
KernelArgs Entry
IpmiIpaddr Entry
IpmiNetmask Entry
IpmiPort Entry
IpmiGateway Entry
IpmiUserName Entry
IpmiPassword Entry
IpmiInterface Entry
IpmiWrite Entry
RuntimeOverlay Entry
SystemOverlay Entry
Root Entry
Discoverable Entry
Init Entry //TODO: Finish adding this...
AssetKey Entry
Kernel *KernelEntry
Ipmi *IpmiEntry
Profiles []string
GroupProfiles []string
NetDevs map[string]*NetDevEntry
Tags map[string]*Entry
}
type IpmiEntry struct {
Ipaddr Entry
Netmask Entry
Port Entry
Gateway Entry
UserName Entry
Password Entry
Interface Entry
Write Entry
}
type KernelEntry struct {
Version Entry
Override Entry
Args Entry
}
type NetDevEntry struct {
Type Entry
OnBoot Entry

View File

@@ -60,16 +60,16 @@ func (config *nodeYaml) NodeUpdate(node NodeInfo) error {
config.Nodes[nodeID].ClusterName = node.ClusterName.GetReal()
config.Nodes[nodeID].Ipxe = node.Ipxe.GetReal()
config.Nodes[nodeID].Init = node.Init.GetReal()
config.Nodes[nodeID].KernelOverride = node.KernelOverride.GetReal()
config.Nodes[nodeID].KernelArgs = node.KernelArgs.GetReal()
config.Nodes[nodeID].IpmiIpaddr = node.IpmiIpaddr.GetReal()
config.Nodes[nodeID].IpmiNetmask = node.IpmiNetmask.GetReal()
config.Nodes[nodeID].IpmiPort = node.IpmiPort.GetReal()
config.Nodes[nodeID].IpmiGateway = node.IpmiGateway.GetReal()
config.Nodes[nodeID].IpmiUserName = node.IpmiUserName.GetReal()
config.Nodes[nodeID].IpmiPassword = node.IpmiPassword.GetReal()
config.Nodes[nodeID].IpmiInterface = node.IpmiInterface.GetReal()
config.Nodes[nodeID].IpmiWrite = node.IpmiWrite.GetB()
config.Nodes[nodeID].Kernel.Override = node.Kernel.Override.GetReal()
config.Nodes[nodeID].Kernel.Args = node.Kernel.Args.GetReal()
config.Nodes[nodeID].Ipmi.Ipaddr = node.Ipmi.Ipaddr.GetReal()
config.Nodes[nodeID].Ipmi.Netmask = node.Ipmi.Netmask.GetReal()
config.Nodes[nodeID].Ipmi.Port = node.Ipmi.Port.GetReal()
config.Nodes[nodeID].Ipmi.Gateway = node.Ipmi.Gateway.GetReal()
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].RuntimeOverlay = node.RuntimeOverlay.GetRealSlice()
config.Nodes[nodeID].SystemOverlay = node.SystemOverlay.GetRealSlice()
config.Nodes[nodeID].Root = node.Root.GetReal()
@@ -149,16 +149,16 @@ 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].KernelOverride = profile.KernelOverride.GetReal()
config.NodeProfiles[profileID].KernelArgs = profile.KernelArgs.GetReal()
config.NodeProfiles[profileID].IpmiIpaddr = profile.IpmiIpaddr.GetReal()
config.NodeProfiles[profileID].IpmiNetmask = profile.IpmiNetmask.GetReal()
config.NodeProfiles[profileID].IpmiPort = profile.IpmiPort.GetReal()
config.NodeProfiles[profileID].IpmiGateway = profile.IpmiGateway.GetReal()
config.NodeProfiles[profileID].IpmiUserName = profile.IpmiUserName.GetReal()
config.NodeProfiles[profileID].IpmiPassword = profile.IpmiPassword.GetReal()
config.NodeProfiles[profileID].IpmiInterface = profile.IpmiInterface.GetReal()
config.NodeProfiles[profileID].IpmiWrite = profile.IpmiInterface.GetB()
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()
config.NodeProfiles[profileID].RuntimeOverlay = profile.RuntimeOverlay.GetRealSlice()
config.NodeProfiles[profileID].SystemOverlay = profile.SystemOverlay.GetRealSlice()
config.NodeProfiles[profileID].Root = profile.Root.GetReal()

View File

@@ -14,19 +14,10 @@ type TemplateStruct struct {
Hostname string
ClusterName string
Container string
KernelVersion string
KernelOverride string
KernelArgs string
Kernel *node.KernelConf
Init string
Root string
IpmiIpaddr string
IpmiNetmask string
IpmiPort string
IpmiGateway string
IpmiUserName string
IpmiPassword string
IpmiInterface string
IpmiWrite string
Ipmi *node.IpmiConf
RuntimeOverlay string
SystemOverlay string
NetDevs map[string]*node.NetDevs

View File

@@ -218,19 +218,19 @@ func BuildOverlayIndir(nodeInfo node.NodeInfo, overlayNames []string, outputDir
tstruct.Hostname = nodeInfo.Id.Get()
tstruct.ClusterName = nodeInfo.ClusterName.Get()
tstruct.Container = nodeInfo.ContainerName.Get()
tstruct.KernelVersion = nodeInfo.KernelOverride.Get()
tstruct.KernelOverride = nodeInfo.KernelOverride.Get()
tstruct.KernelArgs = nodeInfo.KernelArgs.Get()
tstruct.Kernel.Version = nodeInfo.Kernel.Override.Get()
tstruct.Kernel.Override = nodeInfo.Kernel.Override.Get()
tstruct.Kernel.Args = nodeInfo.Kernel.Args.Get()
tstruct.Init = nodeInfo.Init.Get()
tstruct.Root = nodeInfo.Root.Get()
tstruct.IpmiIpaddr = nodeInfo.IpmiIpaddr.Get()
tstruct.IpmiNetmask = nodeInfo.IpmiNetmask.Get()
tstruct.IpmiPort = nodeInfo.IpmiPort.Get()
tstruct.IpmiGateway = nodeInfo.IpmiGateway.Get()
tstruct.IpmiUserName = nodeInfo.IpmiUserName.Get()
tstruct.IpmiPassword = nodeInfo.IpmiPassword.Get()
tstruct.IpmiInterface = nodeInfo.IpmiInterface.Get()
tstruct.IpmiWrite = nodeInfo.IpmiWrite.Get()
tstruct.Ipmi.Ipaddr = nodeInfo.Ipmi.Ipaddr.Get()
tstruct.Ipmi.Netmask = nodeInfo.Ipmi.Netmask.Get()
tstruct.Ipmi.Port = nodeInfo.Ipmi.Port.Get()
tstruct.Ipmi.Gateway = nodeInfo.Ipmi.Gateway.Get()
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.RuntimeOverlay = nodeInfo.RuntimeOverlay.Print()
tstruct.SystemOverlay = nodeInfo.SystemOverlay.Print()
tstruct.NetDevs = make(map[string]*node.NetDevs)

View File

@@ -7,18 +7,19 @@ import (
)
type ControllerConf struct {
Comment string `yaml:"comment,omitempty"`
Ipaddr string `yaml:"ipaddr"`
Ipaddr6 string `yaml:"ipaddr6,omitempty"`
Netmask string `yaml:"netmask"`
Network string `yaml:"network,omitempty"`
Ipv6net string `yaml:"ipv6net,omitempty"`
Fqdn string `yaml:"fqdn,omitempty"`
Warewulf *WarewulfConf `yaml:"warewulf"`
Dhcp *DhcpConf `yaml:"dhcp"`
Tftp *TftpConf `yaml:"tftp"`
Nfs *NfsConf `yaml:"nfs"`
current bool
WWInternal int `yaml:"WW_INTERNAL"`
Comment string `yaml:"comment,omitempty"`
Ipaddr string `yaml:"ipaddr"`
Ipaddr6 string `yaml:"ipaddr6,omitempty"`
Netmask string `yaml:"netmask"`
Network string `yaml:"network,omitempty"`
Ipv6net string `yaml:"ipv6net,omitempty"`
Fqdn string `yaml:"fqdn,omitempty"`
Warewulf *WarewulfConf `yaml:"warewulf"`
Dhcp *DhcpConf `yaml:"dhcp"`
Tftp *TftpConf `yaml:"tftp"`
Nfs *NfsConf `yaml:"nfs"`
current bool
}
type WarewulfConf struct {

View File

@@ -1,8 +1,8 @@
package warewulfconf
const defaultPort int = 9983
import "github.com/hpcng/warewulf/internal/pkg/buildconfig"
var defaultDataStore string = "/var/lib/warewulf"
const defaultPort int = 9983
func defaultConfig() *ControllerConf {
Warewulf := &WarewulfConf{
@@ -12,7 +12,7 @@ func defaultConfig() *ControllerConf {
AutobuildOverlays: true,
EnableHostOverlay: true,
Syslog: false,
DataStore: defaultDataStore,
DataStore: buildconfig.LOCALSTATEDIR(),
}
Dhcp := &DhcpConf{
Enabled: true,
@@ -23,14 +23,15 @@ func defaultConfig() *ControllerConf {
}
Tftp := &TftpConf{
Enabled: true,
TftpRoot: "/var/lib/tftpboot",
TftpRoot: buildconfig.TFTPDIR(),
SystemdName: "tftp",
}
return &ControllerConf{
Warewulf: Warewulf,
Dhcp: Dhcp,
Tftp: Tftp,
current: false,
WWInternal: buildconfig.WWVer,
Warewulf: Warewulf,
Dhcp: Dhcp,
Tftp: Tftp,
current: false,
}
}

View File

@@ -139,8 +139,8 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
replace.Hostname = node.Id.Get()
replace.Hwaddr = rinfo.hwaddr
replace.ContainerName = node.ContainerName.Get()
replace.KernelArgs = node.KernelArgs.Get()
replace.KernelOverride = node.KernelOverride.Get()
replace.KernelArgs = node.Kernel.Args.Get()
replace.KernelOverride = node.Kernel.Override.Get()
err = tmpl.Execute(w, replace)
if err != nil {

View File

@@ -31,8 +31,8 @@ func KernelSend(w http.ResponseWriter, req *http.Request) {
}
var fileName string
if node.KernelOverride.Defined() {
fileName = kernel.KernelImage(node.KernelOverride.Get())
if node.Kernel.Override.Defined() {
fileName = kernel.KernelImage(node.Kernel.Override.Get())
} else if node.ContainerName.Defined() {
fileName = container.KernelFind(node.ContainerName.Get())

View File

@@ -28,10 +28,10 @@ func KmodsSend(w http.ResponseWriter, req *http.Request) {
return
}
if node.KernelOverride.Defined() {
fileName := kernel.KmodsImage(node.KernelOverride.Get())
if node.Kernel.Override.Defined() {
fileName := kernel.KmodsImage(node.Kernel.Override.Get())
updateStatus(node.Id.Get(), "KMODS_OVERLAY", node.KernelOverride.Get()+".img", strings.Split(req.RemoteAddr, ":")[0])
updateStatus(node.Id.Get(), "KMODS_OVERLAY", node.Kernel.Override.Get()+".img", strings.Split(req.RemoteAddr, ":")[0])
err := sendFile(w, fileName, node.Id.Get())
if err != nil {