diff --git a/CHANGELOG.md b/CHANGELOG.md index 115f9456..ab09f7b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix excessive line spacing issue when listing nodes. #1241 - Return non-zero exit code on node sub-commands #1421 - Fix panic when getting a long container list before building the container. #1391 +- Return non-zero exit code on power sub-commands #1439 ## v4.5.8, unreleased diff --git a/internal/app/wwctl/power/cycle/power.go b/internal/app/wwctl/power/cycle/main.go similarity index 89% rename from internal/app/wwctl/power/cycle/power.go rename to internal/app/wwctl/power/cycle/main.go index fe38abb2..16633f49 100644 --- a/internal/app/wwctl/power/cycle/power.go +++ b/internal/app/wwctl/power/cycle/main.go @@ -1,4 +1,4 @@ -package powercycle +package cycle import ( "fmt" @@ -17,14 +17,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error { nodeDB, err := node.New() if err != nil { - wwlog.Error("Could not open node configuration: %s", err) - os.Exit(1) + return fmt.Errorf("could not open node configuration: %s", err) } nodes, err := nodeDB.FindAllNodes() if err != nil { - wwlog.Error("Could not get node list: %s", err) - os.Exit(1) + return fmt.Errorf("could not get node list: %s", err) } if len(args) > 0 { @@ -36,8 +34,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if len(nodes) == 0 { - fmt.Printf("No nodes found\n") - os.Exit(1) + return fmt.Errorf("no nodes found") } batchpool := batch.New(50) diff --git a/internal/app/wwctl/power/cycle/root.go b/internal/app/wwctl/power/cycle/root.go index fa4a77c8..803ba0da 100644 --- a/internal/app/wwctl/power/cycle/root.go +++ b/internal/app/wwctl/power/cycle/root.go @@ -1,4 +1,4 @@ -package powercycle +package cycle import ( "github.com/spf13/cobra" diff --git a/internal/app/wwctl/power/off/power.go b/internal/app/wwctl/power/off/main.go similarity index 89% rename from internal/app/wwctl/power/off/power.go rename to internal/app/wwctl/power/off/main.go index cb78d5c2..e9e62e95 100644 --- a/internal/app/wwctl/power/off/power.go +++ b/internal/app/wwctl/power/off/main.go @@ -1,4 +1,4 @@ -package poweroff +package off import ( "fmt" @@ -17,14 +17,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error { nodeDB, err := node.New() if err != nil { - wwlog.Error("Could not open node configuration: %s", err) - os.Exit(1) + return fmt.Errorf("could not open node configuration: %s", err) } nodes, err := nodeDB.FindAllNodes() if err != nil { - wwlog.Error("Could not get node list: %s", err) - os.Exit(1) + return fmt.Errorf("could not get node list: %s", err) } if len(args) > 0 { @@ -36,8 +34,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if len(nodes) == 0 { - fmt.Printf("No nodes found\n") - os.Exit(1) + return fmt.Errorf("no nodes found") } batchpool := batch.New(50) diff --git a/internal/app/wwctl/power/off/root.go b/internal/app/wwctl/power/off/root.go index 997c7294..de51baff 100644 --- a/internal/app/wwctl/power/off/root.go +++ b/internal/app/wwctl/power/off/root.go @@ -1,4 +1,4 @@ -package poweroff +package off import ( "github.com/spf13/cobra" diff --git a/internal/app/wwctl/power/on/power.go b/internal/app/wwctl/power/on/main.go similarity index 89% rename from internal/app/wwctl/power/on/power.go rename to internal/app/wwctl/power/on/main.go index 571fa07c..a8f2d0f6 100644 --- a/internal/app/wwctl/power/on/power.go +++ b/internal/app/wwctl/power/on/main.go @@ -1,4 +1,4 @@ -package poweron +package on import ( "fmt" @@ -17,14 +17,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error { nodeDB, err := node.New() if err != nil { - wwlog.Error("Could not open node configuration: %s", err) - os.Exit(1) + return fmt.Errorf("could not open node configuration: %s", err) } nodes, err := nodeDB.FindAllNodes() if err != nil { - wwlog.Error("Could not get node list: %s", err) - os.Exit(1) + return fmt.Errorf("could not get node list: %s", err) } if len(args) > 0 { @@ -36,8 +34,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if len(nodes) == 0 { - fmt.Printf("No nodes found\n") - os.Exit(1) + return fmt.Errorf("no nodes found") } batchpool := batch.New(50) diff --git a/internal/app/wwctl/power/on/root.go b/internal/app/wwctl/power/on/root.go index b8f8f3c4..0b1a686f 100644 --- a/internal/app/wwctl/power/on/root.go +++ b/internal/app/wwctl/power/on/root.go @@ -1,4 +1,4 @@ -package poweron +package on import ( "github.com/spf13/cobra" diff --git a/internal/app/wwctl/power/reset/power.go b/internal/app/wwctl/power/reset/main.go similarity index 89% rename from internal/app/wwctl/power/reset/power.go rename to internal/app/wwctl/power/reset/main.go index 05b65ae6..b92f4c9a 100644 --- a/internal/app/wwctl/power/reset/power.go +++ b/internal/app/wwctl/power/reset/main.go @@ -1,4 +1,4 @@ -package powerreset +package reset import ( "fmt" @@ -17,14 +17,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error { nodeDB, err := node.New() if err != nil { - wwlog.Error("Could not open node configuration: %s", err) - os.Exit(1) + return fmt.Errorf("could not open node configuration: %s", err) } nodes, err := nodeDB.FindAllNodes() if err != nil { - wwlog.Error("Cloud not get nodeList: %s", err) - os.Exit(1) + return fmt.Errorf("cloud not get nodeList: %s", err) } if len(args) > 0 { @@ -36,8 +34,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if len(nodes) == 0 { - fmt.Printf("No nodes found\n") - os.Exit(1) + return fmt.Errorf("no nodes found") } batchpool := batch.New(50) diff --git a/internal/app/wwctl/power/reset/root.go b/internal/app/wwctl/power/reset/root.go index a9d3b948..20d2907c 100644 --- a/internal/app/wwctl/power/reset/root.go +++ b/internal/app/wwctl/power/reset/root.go @@ -1,4 +1,4 @@ -package powerreset +package reset import ( "github.com/spf13/cobra" diff --git a/internal/app/wwctl/power/soft/power.go b/internal/app/wwctl/power/soft/main.go similarity index 89% rename from internal/app/wwctl/power/soft/power.go rename to internal/app/wwctl/power/soft/main.go index 6b4fb3c1..eca97565 100644 --- a/internal/app/wwctl/power/soft/power.go +++ b/internal/app/wwctl/power/soft/main.go @@ -1,4 +1,4 @@ -package powersoft +package soft import ( "fmt" @@ -17,14 +17,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error { nodeDB, err := node.New() if err != nil { - wwlog.Error("Could not open node configuration: %s", err) - os.Exit(1) + return fmt.Errorf("could not open node configuration: %s", err) } nodes, err := nodeDB.FindAllNodes() if err != nil { - wwlog.Error("Cloud not get nodeList: %s", err) - os.Exit(1) + return fmt.Errorf("could not get nodeList: %s", err) } if len(args) > 0 { @@ -36,8 +34,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if len(nodes) == 0 { - fmt.Printf("No nodes found\n") - os.Exit(1) + return fmt.Errorf("no nodes found") } batchpool := batch.New(50) diff --git a/internal/app/wwctl/power/soft/root.go b/internal/app/wwctl/power/soft/root.go index 119b5d1a..c06ae6db 100644 --- a/internal/app/wwctl/power/soft/root.go +++ b/internal/app/wwctl/power/soft/root.go @@ -1,4 +1,4 @@ -package powersoft +package soft import ( "github.com/spf13/cobra" diff --git a/internal/app/wwctl/power/status/power.go b/internal/app/wwctl/power/status/main.go similarity index 89% rename from internal/app/wwctl/power/status/power.go rename to internal/app/wwctl/power/status/main.go index a0179800..4e72da18 100644 --- a/internal/app/wwctl/power/status/power.go +++ b/internal/app/wwctl/power/status/main.go @@ -1,4 +1,4 @@ -package powerstatus +package status import ( "fmt" @@ -17,14 +17,12 @@ func CobraRunE(cmd *cobra.Command, args []string) error { nodeDB, err := node.New() if err != nil { - wwlog.Error("Could not open node configuration: %s", err) - os.Exit(1) + return fmt.Errorf("could not open node configuration: %s", err) } nodes, err := nodeDB.FindAllNodes() if err != nil { - wwlog.Error("Could not get node list: %s", err) - os.Exit(1) + return fmt.Errorf("could not get node list: %s", err) } if len(args) > 0 { @@ -36,8 +34,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if len(nodes) == 0 { - fmt.Printf("No nodes found\n") - os.Exit(1) + return fmt.Errorf("no nodes found") } batchpool := batch.New(50) diff --git a/internal/app/wwctl/power/status/root.go b/internal/app/wwctl/power/status/root.go index ce0fb23f..ef66a388 100644 --- a/internal/app/wwctl/power/status/root.go +++ b/internal/app/wwctl/power/status/root.go @@ -1,4 +1,4 @@ -package powerstatus +package status import ( "github.com/spf13/cobra"