From 1098771c830134f4503f2990c0349df3b3c3bc3f Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Fri, 11 Mar 2022 15:03:15 +0100 Subject: [PATCH] allow the build of specific overlays --- internal/app/wwctl/overlay/build/main.go | 12 ++++++++++-- internal/app/wwctl/overlay/build/root.go | 7 +++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/internal/app/wwctl/overlay/build/main.go b/internal/app/wwctl/overlay/build/main.go index 916b4226..2c348479 100644 --- a/internal/app/wwctl/overlay/build/main.go +++ b/internal/app/wwctl/overlay/build/main.go @@ -33,9 +33,17 @@ func CobraRunE(cmd *cobra.Command, args []string) error { if len(args) > 0 { args = hostlist.Expand(args) - err = overlay.BuildAllOverlays(node.FilterByName(nodes, args)) + if OverlayName != "" { + err = overlay.BuildSpecificOverlays(node.FilterByName(nodes, args), OverlayName) + } else { + err = overlay.BuildAllOverlays(node.FilterByName(nodes, args)) + } } else { - err = overlay.BuildAllOverlays(nodes) + if OverlayName != "" { + err = overlay.BuildSpecificOverlays(nodes, OverlayName) + } else { + err = overlay.BuildAllOverlays(nodes) + } } if err != nil { diff --git a/internal/app/wwctl/overlay/build/root.go b/internal/app/wwctl/overlay/build/root.go index 148aa731..c549a25b 100644 --- a/internal/app/wwctl/overlay/build/root.go +++ b/internal/app/wwctl/overlay/build/root.go @@ -10,13 +10,16 @@ var ( Long: "This command builds overlays for given nodes.", RunE: CobraRunE, } - BuildHost bool - BuildNodes bool + BuildHost bool + BuildNodes bool + OverlayName string ) func init() { baseCmd.PersistentFlags().BoolVarP(&BuildHost, "host", "H", false, "Build overlays only for the host") baseCmd.PersistentFlags().BoolVarP(&BuildNodes, "nodes", "N", false, "Build overlays only for the nodes") + baseCmd.PersistentFlags().StringVarP(&OverlayName, "overlay", "o", "", "Build only specific overlay") + } // GetRootCommand returns the root cobra.Command for the application.