From 499582e211d58124054a437f888b52c672b26922 Mon Sep 17 00:00:00 2001 From: Gregory Kurtzer Date: Wed, 29 Sep 2021 22:06:46 -0700 Subject: [PATCH] Don't rebuild overlays on overlay commands automatically --- internal/app/wwctl/overlay/chmod/main.go | 34 --------------- internal/app/wwctl/overlay/chmod/root.go | 2 - internal/app/wwctl/overlay/chown/main.go | 34 --------------- internal/app/wwctl/overlay/chown/root.go | 2 - internal/app/wwctl/overlay/create/main.go | 34 --------------- internal/app/wwctl/overlay/create/root.go | 2 - internal/app/wwctl/overlay/delete/main.go | 34 --------------- internal/app/wwctl/overlay/delete/root.go | 6 +-- internal/app/wwctl/overlay/edit/main.go | 52 +---------------------- internal/app/wwctl/overlay/edit/root.go | 8 ++-- internal/app/wwctl/overlay/mkdir/main.go | 37 ---------------- internal/app/wwctl/overlay/mkdir/root.go | 4 +- 12 files changed, 7 insertions(+), 242 deletions(-) diff --git a/internal/app/wwctl/overlay/chmod/main.go b/internal/app/wwctl/overlay/chmod/main.go index 1e95b451..cca88b76 100644 --- a/internal/app/wwctl/overlay/chmod/main.go +++ b/internal/app/wwctl/overlay/chmod/main.go @@ -6,8 +6,6 @@ import ( "strconv" "github.com/hpcng/warewulf/internal/pkg/config" - "github.com/hpcng/warewulf/internal/pkg/node" - "github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/util" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/pkg/errors" @@ -55,37 +53,5 @@ func CobraRunE(cmd *cobra.Command, args []string) error { os.Exit(1) } - if !NoOverlayUpdate { - n, err := node.New() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not open node configuration: %s\n", err) - os.Exit(1) - } - - nodes, err := n.FindAllNodes() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not get node list: %s\n", err) - os.Exit(1) - } - - var updateNodes []node.NodeInfo - - for _, node := range nodes { - if overlayKind == "system" && node.SystemOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } else if overlayKind == "runtime" && node.RuntimeOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } - } - - if overlayKind == "system" { - wwlog.Printf(wwlog.INFO, "Updating System Overlays...\n") - return overlay.BuildSystemOverlay(updateNodes) - } else if overlayKind == "runtime" { - wwlog.Printf(wwlog.INFO, "Updating Runtime Overlays...\n") - return overlay.BuildRuntimeOverlay(updateNodes) - } - } - return nil } diff --git a/internal/app/wwctl/overlay/chmod/root.go b/internal/app/wwctl/overlay/chmod/root.go index 4a7431c3..b9a254d6 100644 --- a/internal/app/wwctl/overlay/chmod/root.go +++ b/internal/app/wwctl/overlay/chmod/root.go @@ -11,11 +11,9 @@ var ( RunE: CobraRunE, Args: cobra.ExactArgs(4), } - NoOverlayUpdate bool ) func init() { - baseCmd.PersistentFlags().BoolVarP(&NoOverlayUpdate, "noupdate", "n", false, "Don't update overlays") } // GetRootCommand returns the root cobra.Command for the application. diff --git a/internal/app/wwctl/overlay/chown/main.go b/internal/app/wwctl/overlay/chown/main.go index 2e3165a6..5f122e2b 100644 --- a/internal/app/wwctl/overlay/chown/main.go +++ b/internal/app/wwctl/overlay/chown/main.go @@ -6,8 +6,6 @@ import ( "strconv" "github.com/hpcng/warewulf/internal/pkg/config" - "github.com/hpcng/warewulf/internal/pkg/node" - "github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/util" "github.com/hpcng/warewulf/internal/pkg/wwlog" @@ -69,37 +67,5 @@ func CobraRunE(cmd *cobra.Command, args []string) error { os.Exit(1) } - if !NoOverlayUpdate { - n, err := node.New() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not open node configuration: %s\n", err) - os.Exit(1) - } - - nodes, err := n.FindAllNodes() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not get node list: %s\n", err) - os.Exit(1) - } - - var updateNodes []node.NodeInfo - - for _, node := range nodes { - if overlayKind == "system" && node.SystemOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } else if overlayKind == "runtime" && node.RuntimeOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } - } - - if overlayKind == "system" { - wwlog.Printf(wwlog.INFO, "Updating System Overlays...\n") - return overlay.BuildSystemOverlay(updateNodes) - } else if overlayKind == "runtime" { - wwlog.Printf(wwlog.INFO, "Updating Runtime Overlays...\n") - return overlay.BuildRuntimeOverlay(updateNodes) - } - } - return nil } diff --git a/internal/app/wwctl/overlay/chown/root.go b/internal/app/wwctl/overlay/chown/root.go index 93218a3a..941328f0 100644 --- a/internal/app/wwctl/overlay/chown/root.go +++ b/internal/app/wwctl/overlay/chown/root.go @@ -11,11 +11,9 @@ var ( RunE: CobraRunE, Args: cobra.RangeArgs(4, 5), } - NoOverlayUpdate bool ) func init() { - baseCmd.PersistentFlags().BoolVarP(&NoOverlayUpdate, "noupdate", "n", false, "Don't update overlays") } // GetRootCommand returns the root cobra.Command for the application. diff --git a/internal/app/wwctl/overlay/create/main.go b/internal/app/wwctl/overlay/create/main.go index a6d91356..97570beb 100644 --- a/internal/app/wwctl/overlay/create/main.go +++ b/internal/app/wwctl/overlay/create/main.go @@ -3,7 +3,6 @@ package create import ( "os" - "github.com/hpcng/warewulf/internal/pkg/node" "github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/pkg/errors" @@ -32,39 +31,6 @@ func CobraRunE(cmd *cobra.Command, args []string) error { wwlog.Printf(wwlog.ERROR, "%s\n", err) os.Exit(1) } - wwlog.Printf(wwlog.INFO, "Created new runtime overlay: %s\n", overlayName) - } - - if !NoOverlayUpdate { - n, err := node.New() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not open node configuration: %s\n", err) - os.Exit(1) - } - - nodes, err := n.FindAllNodes() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not get nodeList: %s\n", err) - os.Exit(1) - } - - var updateNodes []node.NodeInfo - - for _, node := range nodes { - if overlayKind == "system" && node.SystemOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } else if overlayKind == "runtime" && node.RuntimeOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } - } - - if overlayKind == "system" { - wwlog.Printf(wwlog.INFO, "Updating System Overlays...\n") - return overlay.BuildSystemOverlay(updateNodes) - } else if overlayKind == "runtime" { - wwlog.Printf(wwlog.INFO, "Updating Runtime Overlays...\n") - return overlay.BuildRuntimeOverlay(updateNodes) - } } return nil diff --git a/internal/app/wwctl/overlay/create/root.go b/internal/app/wwctl/overlay/create/root.go index 49ff28fa..15242009 100644 --- a/internal/app/wwctl/overlay/create/root.go +++ b/internal/app/wwctl/overlay/create/root.go @@ -12,11 +12,9 @@ var ( RunE: CobraRunE, Args: cobra.ExactArgs(2), } - NoOverlayUpdate bool ) func init() { - baseCmd.PersistentFlags().BoolVarP(&NoOverlayUpdate, "noupdate", "n", false, "Don't update overlays") } // GetRootCommand returns the root cobra.Command for the application. diff --git a/internal/app/wwctl/overlay/delete/main.go b/internal/app/wwctl/overlay/delete/main.go index 8463879b..d1b98eb5 100644 --- a/internal/app/wwctl/overlay/delete/main.go +++ b/internal/app/wwctl/overlay/delete/main.go @@ -7,7 +7,6 @@ import ( "github.com/hpcng/warewulf/internal/pkg/config" "github.com/hpcng/warewulf/internal/pkg/node" - "github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/util" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/pkg/errors" @@ -128,39 +127,6 @@ func CobraRunE(cmd *cobra.Command, args []string) error { i = path.Dir(i) } } - fmt.Printf("Deleted from overlay: %s:%s:%s\n", overlayKind, overlayName, overlayPath) - } - - if !NoOverlayUpdate { - n, err := node.New() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not open node configuration: %s\n", err) - os.Exit(1) - } - - nodes, err := n.FindAllNodes() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not get node list: %s\n", err) - os.Exit(1) - } - - var updateNodes []node.NodeInfo - - for _, node := range nodes { - if overlayKind == "system" && node.SystemOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } else if overlayKind == "runtime" && node.RuntimeOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } - } - - if overlayKind == "system" { - wwlog.Printf(wwlog.INFO, "Updating System Overlays...\n") - return overlay.BuildSystemOverlay(updateNodes) - } else if overlayKind == "runtime" { - wwlog.Printf(wwlog.INFO, "Updating Runtime Overlays...\n") - return overlay.BuildRuntimeOverlay(updateNodes) - } } return nil diff --git a/internal/app/wwctl/overlay/delete/root.go b/internal/app/wwctl/overlay/delete/root.go index d38da801..bfe9299c 100644 --- a/internal/app/wwctl/overlay/delete/root.go +++ b/internal/app/wwctl/overlay/delete/root.go @@ -14,15 +14,13 @@ var ( Args: cobra.RangeArgs(2, 3), Aliases: []string{"rm", "del"}, } - Force bool - Parents bool - NoOverlayUpdate bool + Force bool + Parents bool ) func init() { baseCmd.PersistentFlags().BoolVarP(&Force, "force", "f", false, "Force deletion of a non-empty overlay") baseCmd.PersistentFlags().BoolVarP(&Parents, "parents", "p", false, "Remove empty parent directories") - baseCmd.PersistentFlags().BoolVarP(&NoOverlayUpdate, "noupdate", "n", false, "Don't update overlays") } // GetRootCommand returns the root cobra.Command for the application. diff --git a/internal/app/wwctl/overlay/edit/main.go b/internal/app/wwctl/overlay/edit/main.go index b6fa531b..d5e1dbb3 100644 --- a/internal/app/wwctl/overlay/edit/main.go +++ b/internal/app/wwctl/overlay/edit/main.go @@ -7,8 +7,6 @@ import ( "path/filepath" "github.com/hpcng/warewulf/internal/pkg/config" - "github.com/hpcng/warewulf/internal/pkg/node" - "github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/util" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/pkg/errors" @@ -82,59 +80,11 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fmt.Fprintf(w, "\n") } - shasum1, err := util.ShaSumFile(overlayFile) - if err != nil { - wwlog.Printf(wwlog.WARN, "Could not open overlay file for checksum: %s\n", err) - } - - err = util.ExecInteractive(editor, overlayFile) + err := util.ExecInteractive(editor, overlayFile) if err != nil { wwlog.Printf(wwlog.ERROR, "Editor process existed with non-zero\n") os.Exit(1) } - wwlog.Printf(wwlog.INFO, "Updated: %s:%s:%s\n", overlayKind, overlayName, fileName) - - shasum2, err := util.ShaSumFile(overlayFile) - if err != nil { - wwlog.Printf(wwlog.WARN, "Could not open overlay file for checksum: %s\n", err) - } - - if shasum1 == shasum2 { - wwlog.Printf(wwlog.VERBOSE, "Not updating overlays, no file change\n") - NoOverlayUpdate = true - } - - if !NoOverlayUpdate { - n, err := node.New() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not open node configuration: %s\n", err) - os.Exit(1) - } - - nodes, err := n.FindAllNodes() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not get node list: %s\n", err) - os.Exit(1) - } - - var updateNodes []node.NodeInfo - - for _, node := range nodes { - if overlayKind == "system" && node.SystemOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } else if overlayKind == "runtime" && node.RuntimeOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } - } - - if overlayKind == "system" { - wwlog.Printf(wwlog.INFO, "Updating System Overlays...\n") - return overlay.BuildSystemOverlay(updateNodes) - } else if overlayKind == "runtime" { - wwlog.Printf(wwlog.INFO, "Updating Runtime Overlays...\n") - return overlay.BuildRuntimeOverlay(updateNodes) - } - } return nil } diff --git a/internal/app/wwctl/overlay/edit/root.go b/internal/app/wwctl/overlay/edit/root.go index 64cb7b31..3ec6add2 100644 --- a/internal/app/wwctl/overlay/edit/root.go +++ b/internal/app/wwctl/overlay/edit/root.go @@ -14,17 +14,15 @@ var ( RunE: CobraRunE, Args: cobra.ExactArgs(3), } - ListFiles bool - CreateDirs bool - PermMode int32 - NoOverlayUpdate bool + ListFiles bool + CreateDirs bool + PermMode int32 ) func init() { baseCmd.PersistentFlags().BoolVarP(&ListFiles, "files", "f", false, "List files contained within a given overlay") baseCmd.PersistentFlags().BoolVarP(&CreateDirs, "parents", "p", false, "Create any necessary parent directories") baseCmd.PersistentFlags().Int32VarP(&PermMode, "mode", "m", 0755, "Permission mode for directory") - baseCmd.PersistentFlags().BoolVarP(&NoOverlayUpdate, "noupdate", "n", false, "Don't update overlays") } // GetRootCommand returns the root cobra.Command for the application. diff --git a/internal/app/wwctl/overlay/mkdir/main.go b/internal/app/wwctl/overlay/mkdir/main.go index c072276f..99d30550 100644 --- a/internal/app/wwctl/overlay/mkdir/main.go +++ b/internal/app/wwctl/overlay/mkdir/main.go @@ -1,13 +1,10 @@ package mkdir import ( - "fmt" "os" "path" "github.com/hpcng/warewulf/internal/pkg/config" - "github.com/hpcng/warewulf/internal/pkg/node" - "github.com/hpcng/warewulf/internal/pkg/overlay" "github.com/hpcng/warewulf/internal/pkg/util" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/pkg/errors" @@ -46,39 +43,5 @@ func CobraRunE(cmd *cobra.Command, args []string) error { os.Exit(1) } - fmt.Printf("Created directory within overlay: %s:%s:%s\n", overlayKind, overlayName, overlayDir) - - if !NoOverlayUpdate { - n, err := node.New() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not open node configuration: %s\n", err) - os.Exit(1) - } - - nodes, err := n.FindAllNodes() - if err != nil { - wwlog.Printf(wwlog.ERROR, "Could not get node list: %s\n", err) - os.Exit(1) - } - - var updateNodes []node.NodeInfo - - for _, node := range nodes { - if overlayKind == "system" && node.SystemOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } else if overlayKind == "runtime" && node.RuntimeOverlay.Get() == overlayName { - updateNodes = append(updateNodes, node) - } - } - - if overlayKind == "system" { - wwlog.Printf(wwlog.INFO, "Updating System Overlays...\n") - return overlay.BuildSystemOverlay(updateNodes) - } else if overlayKind == "runtime" { - wwlog.Printf(wwlog.INFO, "Updating Runtime Overlays...\n") - return overlay.BuildRuntimeOverlay(updateNodes) - } - } - return nil } diff --git a/internal/app/wwctl/overlay/mkdir/root.go b/internal/app/wwctl/overlay/mkdir/root.go index 88f385b8..8a557079 100644 --- a/internal/app/wwctl/overlay/mkdir/root.go +++ b/internal/app/wwctl/overlay/mkdir/root.go @@ -12,13 +12,11 @@ var ( RunE: CobraRunE, Args: cobra.MinimumNArgs(3), } - PermMode int32 - NoOverlayUpdate bool + PermMode int32 ) func init() { baseCmd.PersistentFlags().Int32VarP(&PermMode, "mode", "m", 0755, "Permission mode for directory") - baseCmd.PersistentFlags().BoolVarP(&NoOverlayUpdate, "noupdate", "n", false, "Don't update overlays") } // GetRootCommand returns the root cobra.Command for the application.