From 7692babd764b5ffe6f51be60fd2447228486b6ee Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Sun, 15 Sep 2024 01:41:26 +0200 Subject: [PATCH 1/2] Return error code if overlay build fails Signed-off-by: Tobias Ribizel --- CHANGELOG.md | 1 + internal/app/wwctl/overlay/build/main.go | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 408f3383..914d78d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). `/sys/firmware/devicetree/base/serial-number` - Replace slice in templates with sprig substr. #1093 - Fix an invalid format issue for the GitHub nightly build action. #1258 +- Return non-zero exit code on overlay build failure #1393 ## v4.5.7, 2024-09-11 diff --git a/internal/app/wwctl/overlay/build/main.go b/internal/app/wwctl/overlay/build/main.go index 6c2a7bcd..5141586a 100644 --- a/internal/app/wwctl/overlay/build/main.go +++ b/internal/app/wwctl/overlay/build/main.go @@ -2,6 +2,7 @@ package build import ( "errors" + "fmt" "os" "strings" @@ -77,7 +78,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { if BuildHost && controller.Warewulf.EnableHostOverlay { err := overlay.BuildHostOverlay() if err != nil { - wwlog.Warn("host overlay could not be built: %s", err) + return errors.New(fmt.Sprintf("host overlay could not be built: %s", err)) } } @@ -89,7 +90,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if err != nil { - wwlog.Warn("Some overlays failed to be generated: %s", err) + return errors.New(fmt.Sprintf("Some overlays failed to be generated: %s", err)) } } return nil From c6b6caeb0bff4f64bf179e6a846e24ec90933cf0 Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Mon, 16 Sep 2024 12:55:27 +0200 Subject: [PATCH 2/2] fix lint warnings Signed-off-by: Tobias Ribizel --- internal/app/wwctl/overlay/build/main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/app/wwctl/overlay/build/main.go b/internal/app/wwctl/overlay/build/main.go index 5141586a..c44b30ef 100644 --- a/internal/app/wwctl/overlay/build/main.go +++ b/internal/app/wwctl/overlay/build/main.go @@ -78,7 +78,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { if BuildHost && controller.Warewulf.EnableHostOverlay { err := overlay.BuildHostOverlay() if err != nil { - return errors.New(fmt.Sprintf("host overlay could not be built: %s", err)) + return fmt.Errorf("host overlay could not be built: %s", err) } } @@ -90,7 +90,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } if err != nil { - return errors.New(fmt.Sprintf("Some overlays failed to be generated: %s", err)) + return fmt.Errorf("Some overlays failed to be generated: %s", err) } } return nil