wwctl commands without NodeInfo
mostly remove Get and calls for the id Signed-off-by: Christian Goll <cgoll@suse.com>
This commit is contained in:
committed by
Jonathon Anderson
parent
28a7b9fe84
commit
457c7c16b1
@@ -7,6 +7,7 @@ import (
|
||||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/cobra"
|
||||
warewulfconf "github.com/warewulf/warewulf/internal/pkg/config"
|
||||
"github.com/warewulf/warewulf/internal/pkg/hostlist"
|
||||
@@ -19,22 +20,20 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
controller := warewulfconf.Get()
|
||||
nodeDB, err := node.New()
|
||||
if err != nil {
|
||||
wwlog.Error("Could not open node configuration: %s", err)
|
||||
os.Exit(1)
|
||||
return errors.Wrap(err, "couldn't open node configuration")
|
||||
}
|
||||
|
||||
nodes, err := nodeDB.FindAllNodes()
|
||||
db, err := nodeDB.FindAllNodes()
|
||||
if err != nil {
|
||||
wwlog.Error("Could not get node list: %s", err)
|
||||
os.Exit(1)
|
||||
return errors.Wrap(err, "could not get node list")
|
||||
}
|
||||
|
||||
if len(args) > 0 {
|
||||
args = hostlist.Expand(args)
|
||||
nodes = node.FilterByName(nodes, args)
|
||||
db = node.FilterByName(db, args)
|
||||
|
||||
if len(nodes) < len(args) {
|
||||
return errors.New("Failed to find nodes")
|
||||
if len(db) < len(args) {
|
||||
return errors.New("failed to find nodes")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,26 +50,23 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
if len(OverlayNames) == 0 {
|
||||
// TODO: should this behave the same as OverlayDir == "", and build default
|
||||
// set to overlays?
|
||||
return errors.New("Must specify overlay(s) to build")
|
||||
return errors.New("must specify overlay(s) to build")
|
||||
}
|
||||
|
||||
if len(args) > 0 {
|
||||
if len(nodes) != 1 {
|
||||
return errors.New("Must specify one node to build overlay")
|
||||
if len(db) != 1 {
|
||||
return errors.New("nust specify one node to build overlay")
|
||||
}
|
||||
|
||||
for _, node := range nodes {
|
||||
for _, node := range db {
|
||||
return overlay.BuildOverlayIndir(node, OverlayNames, OverlayDir)
|
||||
}
|
||||
} else {
|
||||
// TODO this seems different than what is set in BuildHostOverlay
|
||||
var host node.NodeInfo
|
||||
var idEntry node.Entry
|
||||
hostname, _ := os.Hostname()
|
||||
wwlog.Info("Building overlay for host: %s", hostname)
|
||||
idEntry.Set(hostname)
|
||||
host.Id = idEntry
|
||||
return overlay.BuildOverlayIndir(host, OverlayNames, OverlayDir)
|
||||
node := node.NewNode(hostname)
|
||||
wwlog.Info("building overlay for host: %s", hostname)
|
||||
return overlay.BuildOverlayIndir(node, OverlayNames, OverlayDir)
|
||||
|
||||
}
|
||||
|
||||
@@ -88,9 +84,9 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
|
||||
defer syscall.Umask(oldMask)
|
||||
|
||||
if len(OverlayNames) > 0 {
|
||||
err = overlay.BuildSpecificOverlays(nodes, OverlayNames)
|
||||
err = overlay.BuildSpecificOverlays(db, OverlayNames)
|
||||
} else {
|
||||
err = overlay.BuildAllOverlays(nodes)
|
||||
err = overlay.BuildAllOverlays(db)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user