diff --git a/internal/app/wwctl/kernel/delete/main.go b/internal/app/wwctl/kernel/delete/main.go index ab2efe70..d79adbf7 100644 --- a/internal/app/wwctl/kernel/delete/main.go +++ b/internal/app/wwctl/kernel/delete/main.go @@ -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 } diff --git a/internal/app/wwctl/kernel/imprt/main.go b/internal/app/wwctl/kernel/imprt/main.go index d9513eff..f37df3d7 100644 --- a/internal/app/wwctl/kernel/imprt/main.go +++ b/internal/app/wwctl/kernel/imprt/main.go @@ -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") diff --git a/internal/app/wwctl/kernel/list/main.go b/internal/app/wwctl/kernel/list/main.go index 628a63b3..8a97cfe3 100644 --- a/internal/app/wwctl/kernel/list/main.go +++ b/internal/app/wwctl/kernel/list/main.go @@ -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") diff --git a/internal/app/wwctl/node/console/power.go b/internal/app/wwctl/node/console/power.go index aa9fcfa7..af36e188 100644 --- a/internal/app/wwctl/node/console/power.go +++ b/internal/app/wwctl/node/console/power.go @@ -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() diff --git a/internal/app/wwctl/node/list/main.go b/internal/app/wwctl/node/list/main.go index bb661b4e..0d4ca49f 100644 --- a/internal/app/wwctl/node/list/main.go +++ b/internal/app/wwctl/node/list/main.go @@ -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 { diff --git a/internal/app/wwctl/node/sensors/power.go b/internal/app/wwctl/node/sensors/power.go index a2c0766e..4c29331d 100644 --- a/internal/app/wwctl/node/sensors/power.go +++ b/internal/app/wwctl/node/sensors/power.go @@ -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", } diff --git a/internal/app/wwctl/node/set/main.go b/internal/app/wwctl/node/set/main.go index cdd0a360..1ded9259 100644 --- a/internal/app/wwctl/node/set/main.go +++ b/internal/app/wwctl/node/set/main.go @@ -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 { diff --git a/internal/app/wwctl/power/cycle/power.go b/internal/app/wwctl/power/cycle/power.go index 728548f8..2792cf69 100644 --- a/internal/app/wwctl/power/cycle/power.go +++ b/internal/app/wwctl/power/cycle/power.go @@ -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", } diff --git a/internal/app/wwctl/power/off/power.go b/internal/app/wwctl/power/off/power.go index 2afe8276..ad0ffd19 100644 --- a/internal/app/wwctl/power/off/power.go +++ b/internal/app/wwctl/power/off/power.go @@ -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", } diff --git a/internal/app/wwctl/power/on/power.go b/internal/app/wwctl/power/on/power.go index a92bf50b..35e77551 100644 --- a/internal/app/wwctl/power/on/power.go +++ b/internal/app/wwctl/power/on/power.go @@ -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", } diff --git a/internal/app/wwctl/power/reset/power.go b/internal/app/wwctl/power/reset/power.go index 3126a301..ef68bf2d 100644 --- a/internal/app/wwctl/power/reset/power.go +++ b/internal/app/wwctl/power/reset/power.go @@ -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", } diff --git a/internal/app/wwctl/power/soft/power.go b/internal/app/wwctl/power/soft/power.go index 7771cbab..6f19cc7a 100644 --- a/internal/app/wwctl/power/soft/power.go +++ b/internal/app/wwctl/power/soft/power.go @@ -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", } diff --git a/internal/app/wwctl/power/status/power.go b/internal/app/wwctl/power/status/power.go index 9d67cd17..d97d1b25 100644 --- a/internal/app/wwctl/power/status/power.go +++ b/internal/app/wwctl/power/status/power.go @@ -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", } diff --git a/internal/app/wwctl/profile/list/main.go b/internal/app/wwctl/profile/list/main.go index 03219706..b013ae01 100644 --- a/internal/app/wwctl/profile/list/main.go +++ b/internal/app/wwctl/profile/list/main.go @@ -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()) diff --git a/internal/app/wwctl/profile/set/main.go b/internal/app/wwctl/profile/set/main.go index 13abf286..347d9b6f 100644 --- a/internal/app/wwctl/profile/set/main.go +++ b/internal/app/wwctl/profile/set/main.go @@ -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 { diff --git a/internal/pkg/overlay/datastructure.go b/internal/pkg/overlay/datastructure.go index a8bfb276..59523760 100644 --- a/internal/pkg/overlay/datastructure.go +++ b/internal/pkg/overlay/datastructure.go @@ -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 diff --git a/internal/pkg/overlay/overlay.go b/internal/pkg/overlay/overlay.go index 9bddc23f..0cee8f04 100644 --- a/internal/pkg/overlay/overlay.go +++ b/internal/pkg/overlay/overlay.go @@ -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) diff --git a/internal/pkg/warewulfd/ipxe.go b/internal/pkg/warewulfd/ipxe.go index e3fe9419..9ceac517 100644 --- a/internal/pkg/warewulfd/ipxe.go +++ b/internal/pkg/warewulfd/ipxe.go @@ -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 { diff --git a/internal/pkg/warewulfd/kernel.go b/internal/pkg/warewulfd/kernel.go index f386852d..1c78bdff 100644 --- a/internal/pkg/warewulfd/kernel.go +++ b/internal/pkg/warewulfd/kernel.go @@ -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()) diff --git a/internal/pkg/warewulfd/kmods.go b/internal/pkg/warewulfd/kmods.go index a8378699..e02fe661 100644 --- a/internal/pkg/warewulfd/kmods.go +++ b/internal/pkg/warewulfd/kmods.go @@ -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 {