From 66450a7dcdf9dff09e5c050313d3ae418b010d4d Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Wed, 27 Aug 2025 22:21:16 -0600 Subject: [PATCH] Simpler names for overlay methods Signed-off-by: Jonathon Anderson --- internal/app/wwctl/completions/completions.go | 2 +- internal/app/wwctl/overlay/chmod/main.go | 2 +- internal/app/wwctl/overlay/chown/main.go | 2 +- internal/app/wwctl/overlay/delete/main.go | 2 +- internal/app/wwctl/overlay/edit/main.go | 9 ++-- internal/app/wwctl/overlay/imprt/main.go | 4 +- internal/app/wwctl/overlay/list/main.go | 2 +- internal/app/wwctl/overlay/mkdir/main.go | 2 +- internal/app/wwctl/overlay/show/main.go | 2 +- internal/pkg/configure/hostfile.go | 2 +- internal/pkg/overlay/config.go | 43 ++++++++++--------- internal/pkg/overlay/config_test.go | 2 +- internal/pkg/overlay/overlay.go | 23 +++++----- internal/pkg/overlay/overlay_test.go | 4 +- internal/pkg/warewulfd/api/node.go | 12 +++--- internal/pkg/warewulfd/api/overlay.go | 16 +++---- internal/pkg/warewulfd/api/profile.go | 8 ++-- internal/pkg/warewulfd/nodedb.go | 4 +- internal/pkg/warewulfd/overlay.go | 2 +- internal/pkg/warewulfd/util.go | 4 +- 20 files changed, 72 insertions(+), 75 deletions(-) diff --git a/internal/app/wwctl/completions/completions.go b/internal/app/wwctl/completions/completions.go index fb424378..6fb41855 100644 --- a/internal/app/wwctl/completions/completions.go +++ b/internal/app/wwctl/completions/completions.go @@ -89,7 +89,7 @@ func OverlayList(cmd *cobra.Command, args []string, toComplete string) ([]string } func OverlayFiles(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - myOverlay, _ := overlay.GetOverlay(args[0]) + myOverlay, _ := overlay.Get(args[0]) ret, _ := myOverlay.GetFiles() return ret, cobra.ShellCompDirectiveNoFileComp } diff --git a/internal/app/wwctl/overlay/chmod/main.go b/internal/app/wwctl/overlay/chmod/main.go index 26260025..c40b5d70 100644 --- a/internal/app/wwctl/overlay/chmod/main.go +++ b/internal/app/wwctl/overlay/chmod/main.go @@ -9,7 +9,7 @@ import ( ) func CobraRunE(cmd *cobra.Command, args []string) error { - myOverlay, err := overlay.GetOverlay(args[0]) + myOverlay, err := overlay.Get(args[0]) if err != nil { return err } diff --git a/internal/app/wwctl/overlay/chown/main.go b/internal/app/wwctl/overlay/chown/main.go index ec71a5b5..16af7c92 100644 --- a/internal/app/wwctl/overlay/chown/main.go +++ b/internal/app/wwctl/overlay/chown/main.go @@ -37,7 +37,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { } } - myOverlay, err := overlay.GetOverlay(args[0]) + myOverlay, err := overlay.Get(args[0]) if err != nil { return err } diff --git a/internal/app/wwctl/overlay/delete/main.go b/internal/app/wwctl/overlay/delete/main.go index 3aaa13b0..87608b78 100644 --- a/internal/app/wwctl/overlay/delete/main.go +++ b/internal/app/wwctl/overlay/delete/main.go @@ -12,7 +12,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { fileName = args[1] } - myOverlay, err := overlay.GetOverlay(args[0]) + myOverlay, err := overlay.Get(args[0]) if err != nil { return err } diff --git a/internal/app/wwctl/overlay/edit/main.go b/internal/app/wwctl/overlay/edit/main.go index 72ecbfbf..608d7ed4 100644 --- a/internal/app/wwctl/overlay/edit/main.go +++ b/internal/app/wwctl/overlay/edit/main.go @@ -35,7 +35,7 @@ func CobraRunE(cmd *cobra.Command, args []string) (err error) { overlayName := args[0] fileName := args[1] - myOverlay, err := overlay.GetOverlay(overlayName) + myOverlay, err := overlay.Get(overlayName) if err != nil { return err } @@ -104,14 +104,13 @@ func CobraRunE(cmd *cobra.Command, args []string) (err error) { } if !myOverlay.IsSiteOverlay() { - myOverlay, err = myOverlay.CloneSiteOverlay() + myOverlay, err = myOverlay.CloneToSite() if err != nil { return err } + overlayFile = myOverlay.File(fileName) + overlayFileDir = path.Dir(overlayFile) } - // re-generate because overlay_ may have changed - overlayFile = myOverlay.File(fileName) - overlayFileDir = path.Dir(overlayFile) if CreateDirs { if err := os.MkdirAll(overlayFileDir, 0755); err != nil { diff --git a/internal/app/wwctl/overlay/imprt/main.go b/internal/app/wwctl/overlay/imprt/main.go index 309cb0b1..8049dff7 100644 --- a/internal/app/wwctl/overlay/imprt/main.go +++ b/internal/app/wwctl/overlay/imprt/main.go @@ -22,12 +22,12 @@ func CobraRunE(cmd *cobra.Command, args []string) (err error) { } else { dest = source } - overlay_, err := overlay.GetOverlay(args[0]) + overlay_, err := overlay.Get(args[0]) if err != nil { return err } if !overlay_.IsSiteOverlay() { - overlay_, err = overlay_.CloneSiteOverlay() + overlay_, err = overlay_.CloneToSite() if err != nil { return err } diff --git a/internal/app/wwctl/overlay/list/main.go b/internal/app/wwctl/overlay/list/main.go index 2a325b88..d75da8ee 100644 --- a/internal/app/wwctl/overlay/list/main.go +++ b/internal/app/wwctl/overlay/list/main.go @@ -39,7 +39,7 @@ func CobraRunE(vars *variables) func(cmd *cobra.Command, args []string) error { } for _, name := range overlays { - overlay_, err := overlay.GetOverlay(name) + overlay_, err := overlay.Get(name) if err != nil { wwlog.Error("%s:%s", name, err) diff --git a/internal/app/wwctl/overlay/mkdir/main.go b/internal/app/wwctl/overlay/mkdir/main.go index eaff489d..d06c8d29 100644 --- a/internal/app/wwctl/overlay/mkdir/main.go +++ b/internal/app/wwctl/overlay/mkdir/main.go @@ -7,7 +7,7 @@ import ( func CobraRunE(cmd *cobra.Command, args []string) (err error) { - myOverlay, err := overlay.GetOverlay(args[0]) + myOverlay, err := overlay.Get(args[0]) if err != nil { return err } diff --git a/internal/app/wwctl/overlay/show/main.go b/internal/app/wwctl/overlay/show/main.go index 1ce99c3e..2169beb9 100644 --- a/internal/app/wwctl/overlay/show/main.go +++ b/internal/app/wwctl/overlay/show/main.go @@ -20,7 +20,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error { overlayName := args[0] fileName := args[1] - overlay_, err := overlay.GetOverlay(overlayName) + overlay_, err := overlay.Get(overlayName) if err != nil { return err } diff --git a/internal/pkg/configure/hostfile.go b/internal/pkg/configure/hostfile.go index 3c9e15d4..1e718a6f 100644 --- a/internal/pkg/configure/hostfile.go +++ b/internal/pkg/configure/hostfile.go @@ -14,7 +14,7 @@ import ( Creates '/etc/hosts' from the host template. */ func Hostfile() (err error) { - overlay_, err := overlay.GetOverlay("host") + overlay_, err := overlay.Get("host") if err != nil { return err } diff --git a/internal/pkg/overlay/config.go b/internal/pkg/overlay/config.go index 027225ab..e34f631e 100644 --- a/internal/pkg/overlay/config.go +++ b/internal/pkg/overlay/config.go @@ -14,9 +14,9 @@ import ( "github.com/warewulf/warewulf/internal/pkg/wwlog" ) -// GetOverlay returns the filesystem path of an overlay identified by its name, -func GetOverlay(name string) (overlay Overlay, err error) { - overlay = getSiteOverlayName(name) +// Get returns the filesystem path of an overlay identified by its name, +func Get(name string) (overlay Overlay, err error) { + overlay = getSiteOverlay(name) if overlay.Exists() { return overlay, nil } @@ -31,38 +31,39 @@ func GetOverlay(name string) (overlay Overlay, err error) { // // Returns an error if the overlay already exists or if directory creation fails. func Create(name string) (overlay Overlay, err error) { - overlay = getSiteOverlayName(name) - if util.IsDir(overlay.Path()) { + overlay = getSiteOverlay(name) + if overlay.Exists() { return overlay, fmt.Errorf("overlay already exists: %s", name) } wwlog.Verbose("created site overlay under: %s", overlay.Path()) return overlay, os.MkdirAll(path.Join(overlay.Path(), "rootfs"), 0o755) } -// GetDistributionOverlay returns the filesystem path of a distribution overlay -// identified by the given name. +// GetDistributionOverlay returns a distribution overlay identified by the given +// name. func getDistributionOverlay(name string) Overlay { return Overlay(path.Join(config.Get().Paths.DistributionOverlaydir(), name)) } -// GetSiteOverlay returns the filesystem path of a site-specific overlay -// identified by the given name. -func getSiteOverlayName(name string) (overlay Overlay) { +// getSiteOverlay returns a site-specific overlay identified by the given name. +func getSiteOverlay(name string) (overlay Overlay) { return Overlay(path.Join(config.Get().Paths.SiteOverlaydir(), name)) } -// Creates a site overlay from an existing distribution overlay. +// CloneToSite creates a site overlay from an existing distribution overlay. // // If the distribution overlay doesn't exist, return an error. -func (overlay Overlay) CloneSiteOverlay() (siteOverlay Overlay, err error) { - wwlog.Verbose("Creating site overlay: %s", overlay.Name()) - siteOverlay = getSiteOverlayName(overlay.Name()) - if !util.IsDir(overlay.Path()) { - return siteOverlay, fmt.Errorf("source overlay does not exist: %s", overlay.Name()) - } +func (overlay Overlay) CloneToSite() (siteOverlay Overlay, err error) { + wwlog.Verbose("Cloning to site overlay: %s", overlay.Name()) + siteOverlay = getSiteOverlay(overlay.Name()) if siteOverlay.Exists() { return siteOverlay, nil } + + if !overlay.Exists() { + return siteOverlay, fmt.Errorf("source overlay does not exist: %s", overlay.Name()) + } + if !util.IsDir(filepath.Dir(siteOverlay.Path())) { if err := os.MkdirAll(filepath.Dir(siteOverlay.Path()), 0o755); err != nil { return siteOverlay, err @@ -72,7 +73,7 @@ func (overlay Overlay) CloneSiteOverlay() (siteOverlay Overlay, err error) { return siteOverlay, err } -// OverlayImage returns the full path to an overlay image based on the +// Image returns the full path to an overlay image based on the // context and the overlays contained in it. // // If a context is provided, the image file name is based on that @@ -83,7 +84,7 @@ func (overlay Overlay) CloneSiteOverlay() (siteOverlay Overlay, err error) { // // If the context is empty and no overlays are specified, the empty // string is returned. -func OverlayImage(nodeName string, context string, overlayNames []string) string { +func Image(nodeName string, context string, overlayNames []string) string { var name string if context != "" { if len(overlayNames) > 0 { @@ -101,8 +102,8 @@ func OverlayImage(nodeName string, context string, overlayNames []string) string return path.Join(config.Get().Paths.OverlayProvisiondir(), nodeName, name) } -func ClearOverlayImage(nodeName string, context string, overlayNames []string) error { - imagePath := OverlayImage(nodeName, context, overlayNames) +func RemoveImage(nodeName string, context string, overlayNames []string) error { + imagePath := Image(nodeName, context, overlayNames) if util.IsFile(imagePath) { if err := os.Remove(imagePath); err != nil { return fmt.Errorf("failed to remove overlay image: %w", err) diff --git a/internal/pkg/overlay/config_test.go b/internal/pkg/overlay/config_test.go index e098136a..52cf3fd5 100644 --- a/internal/pkg/overlay/config_test.go +++ b/internal/pkg/overlay/config_test.go @@ -30,7 +30,7 @@ func Test_OverlayImage(t *testing.T) { conf.Paths.WWProvisiondir = "p" for _, tt := range overlayImageTests { t.Run(tt.description, func(t *testing.T) { - out := OverlayImage(tt.node, tt.context, tt.overlays) + out := Image(tt.node, tt.context, tt.overlays) if tt.image != out { t.Errorf("got %q, want %q", out, tt.image) } diff --git a/internal/pkg/overlay/overlay.go b/internal/pkg/overlay/overlay.go index 015e744b..0ce80557 100644 --- a/internal/pkg/overlay/overlay.go +++ b/internal/pkg/overlay/overlay.go @@ -129,17 +129,14 @@ func (overlay Overlay) IsDistributionOverlay() bool { func (overlay Overlay) AddFile(filePath string, content []byte, parents bool, force bool) error { wwlog.Info("Creating file %s in overlay %s, force: %v", filePath, overlay.Name(), force) - if overlay.IsDistributionOverlay() { - siteOverlay, err := overlay.CloneSiteOverlay() + if !overlay.IsSiteOverlay() { + siteOverlay, err := overlay.CloneToSite() if err != nil { return fmt.Errorf("failed to clone distribution overlay '%s' to site overlay: %w", overlay.Name(), err) } // replace the overlay with newly created siteOverlay overlay = siteOverlay } - if !overlay.IsSiteOverlay() { - return fmt.Errorf("cloning of site overlay failed") - } fullPath := overlay.File(filePath) // create necessary parent directories if parents { @@ -192,7 +189,7 @@ func (overlay Overlay) DeleteFile(filePath string, force, cleanup bool) (err err return fmt.Errorf("file %s does not exist in overlay %s", filePath, overlay.Name()) } if overlay.IsDistributionOverlay() { - siteOverlay, err := overlay.CloneSiteOverlay() + siteOverlay, err := overlay.CloneToSite() if err != nil { return fmt.Errorf("failed to clone distribution overlay '%s' to site overlay: %w", overlay.Name(), err) } @@ -230,10 +227,10 @@ func (overlay Overlay) DeleteFile(filePath string, force, cleanup bool) (err err return nil } -// chmod for the given oppath in the overlay +// chmod for the given path in the overlay func (overlay Overlay) Chmod(path string, mode uint64) (err error) { if !overlay.IsSiteOverlay() { - overlay, err = overlay.CloneSiteOverlay() + overlay, err = overlay.CloneToSite() if err != nil { return err } @@ -249,7 +246,7 @@ func (overlay Overlay) Chmod(path string, mode uint64) (err error) { // chown file or dir in overlay func (overlay Overlay) Chown(path string, uid, gid int) (err error) { if !overlay.IsSiteOverlay() { - overlay, err = overlay.CloneSiteOverlay() + overlay, err = overlay.CloneToSite() if err != nil { return err } @@ -263,7 +260,7 @@ func (overlay Overlay) Chown(path string, uid, gid int) (err error) { func (overlay Overlay) Mkdir(path string, mode int32) (err error) { if !overlay.IsSiteOverlay() { - overlay, err = overlay.CloneSiteOverlay() + overlay, err = overlay.CloneToSite() if err != nil { return err } @@ -364,7 +361,7 @@ func BuildHostOverlay() error { hostname, _ := os.Hostname() hostData := node.NewNode(hostname) wwlog.Info("Building overlay for %s: host", hostname) - hostdir, err := GetOverlay("host") + hostdir, err := Get("host") if err != nil { return err } @@ -430,7 +427,7 @@ func BuildOverlay(nodeConf node.Node, allNodes []node.Node, context string, over } else { name = fmt.Sprintf("%s overlay/%v", nodeConf.Id(), overlayNames) } - overlayImage := OverlayImage(nodeConf.Id(), context, overlayNames) + overlayImage := Image(nodeConf.Id(), context, overlayNames) overlayImageDir := path.Dir(overlayImage) err := os.MkdirAll(overlayImageDir, 0o750) @@ -494,7 +491,7 @@ func BuildOverlayIndir(nodeData node.Node, allNodes []node.Node, overlayNames [] wwlog.Verbose("Processing node/overlays: %s/%s", nodeData.Id(), strings.Join(overlayNames, ",")) for _, overlayName := range overlayNames { wwlog.Verbose("Building overlay %s for node %s in %s", overlayName, nodeData.Id(), outputDir) - overlayRootfs, err := GetOverlay(overlayName) + overlayRootfs, err := Get(overlayName) if err != nil { return err } diff --git a/internal/pkg/overlay/overlay_test.go b/internal/pkg/overlay/overlay_test.go index ccc34fbf..14ba0301 100644 --- a/internal/pkg/overlay/overlay_test.go +++ b/internal/pkg/overlay/overlay_test.go @@ -139,7 +139,7 @@ func Test_OverlayMethods(t *testing.T) { for name, tt := range tests { t.Run(name, func(t *testing.T) { - overlay, err := GetOverlay(tt.name) + overlay, err := Get(tt.name) if tt.exists { assert.NoError(t, err) assert.Equal(t, tt.name, overlay.Name()) @@ -734,7 +734,7 @@ func Test_CreateOverlayFile(t *testing.T) { conf.Paths.Datadir = "/dev/null" for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - newOverlay, err := GetOverlay(tt.overlayName) + newOverlay, err := Get(tt.overlayName) if err != nil { newOverlay, err = Create(tt.overlayName) } diff --git a/internal/pkg/warewulfd/api/node.go b/internal/pkg/warewulfd/api/node.go index 26e58439..53caf03b 100644 --- a/internal/pkg/warewulfd/api/node.go +++ b/internal/pkg/warewulfd/api/node.go @@ -70,13 +70,13 @@ func getNodeOverlayInfo() usecase.Interactor { Overlays: node_.RuntimeOverlay, }, } - sysImagePath := overlay.OverlayImage(input.ID, "system", node_.SystemOverlay) + sysImagePath := overlay.Image(input.ID, "system", node_.SystemOverlay) if sysImageStat, err := os.Stat(sysImagePath); err == nil { mtime := sysImageStat.ModTime() out.SystemOverlay.MTime = &mtime } - runtimeImagePath := overlay.OverlayImage(input.ID, "runtime", node_.RuntimeOverlay) + runtimeImagePath := overlay.Image(input.ID, "runtime", node_.RuntimeOverlay) if runtimeImageStat, err := os.Stat(runtimeImagePath); err == nil { mtime := runtimeImageStat.ModTime() out.RuntimeOverlay.MTime = &mtime @@ -194,12 +194,12 @@ func addNode() usecase.Interactor { return status.Wrap(fmt.Errorf("image '%s' does not exist", input.Node.ImageName), status.InvalidArgument) } for _, overlay_ := range input.Node.SystemOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } for _, overlay_ := range input.Node.RuntimeOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } @@ -269,12 +269,12 @@ func updateNode() usecase.Interactor { return status.Wrap(fmt.Errorf("image '%s' does not exist", input.Node.ImageName), status.InvalidArgument) } for _, overlay_ := range input.Node.SystemOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } for _, overlay_ := range input.Node.RuntimeOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } diff --git a/internal/pkg/warewulfd/api/overlay.go b/internal/pkg/warewulfd/api/overlay.go index 09d3bf85..a850cb82 100644 --- a/internal/pkg/warewulfd/api/overlay.go +++ b/internal/pkg/warewulfd/api/overlay.go @@ -24,7 +24,7 @@ type OverlayResponse struct { func NewOverlayResponse(name string) *OverlayResponse { o := new(OverlayResponse) o.Files = []string{} - myOverlay, err := overlay.GetOverlay(name) + myOverlay, err := overlay.Get(name) if err == nil { if files, err := myOverlay.GetFiles(); err == nil { o.Files = files @@ -58,7 +58,7 @@ func getOverlayByName() usecase.Interactor { u := usecase.NewInteractor(func(ctx context.Context, input getOverlayByNameInput, output *OverlayResponse) error { wwlog.Debug("api.getOverlayByName(Name:%v)", input.Name) - if _, err := overlay.GetOverlay(input.Name); err != nil { + if _, err := overlay.Get(input.Name); err != nil { return status.Wrap(fmt.Errorf("overlay not found: %v", input.Name), status.NotFound) } else { *output = *NewOverlayResponse(input.Name) @@ -82,7 +82,7 @@ type OverlayFile struct { } func (of *OverlayFile) FullPath() string { - if myOverlay, err := overlay.GetOverlay(of.Overlay); err != nil { + if myOverlay, err := overlay.Get(of.Overlay); err != nil { return "" } else { return myOverlay.File(of.Path) @@ -90,7 +90,7 @@ func (of *OverlayFile) FullPath() string { } func (of *OverlayFile) Exists() bool { - if myOverlay, err := overlay.GetOverlay(of.Overlay); err != nil { + if myOverlay, err := overlay.Get(of.Overlay); err != nil { return false } else { return myOverlay.Exists() && util.IsFile(of.FullPath()) @@ -213,7 +213,7 @@ func createOverlay() usecase.Interactor { u := usecase.NewInteractor(func(ctx context.Context, input createOverlayInput, output *OverlayResponse) error { wwlog.Debug("api.createOverlay(Name:%v)", input.Name) - newOverlay, err := overlay.GetOverlay(input.Name) + newOverlay, err := overlay.Get(input.Name) if err != nil { newOverlay, err = overlay.Create(input.Name) if err != nil { @@ -237,7 +237,7 @@ func deleteOverlay() usecase.Interactor { u := usecase.NewInteractor(func(ctx context.Context, input deleteOverlayInput, output *OverlayResponse) error { wwlog.Debug("api.deleteOverlay(Name:%v, Force:%v)", input.Name, input.Force) - overlay_, err := overlay.GetOverlay(input.Name) + overlay_, err := overlay.Get(input.Name) if err != nil { return err } @@ -289,7 +289,7 @@ func deleteOverlayFile() usecase.Interactor { if relPath, err := url.QueryUnescape(input.Path); err != nil { return fmt.Errorf("failed to decode path: %v: %w", input.Path, err) } else { - if overlay_, err := overlay.GetOverlay(input.Name); err != nil { + if overlay_, err := overlay.Get(input.Name); err != nil { return err } else { if err := overlay_.DeleteFile(relPath, input.Force, input.Cleanup); err != nil { @@ -322,7 +322,7 @@ func addOverlayFile() usecase.Interactor { if relPath, err := url.QueryUnescape(input.Path); err != nil { return fmt.Errorf("failed to decode path: %v: %w", input.Path, err) } else { - overlay_, err := overlay.GetOverlay(input.Name) + overlay_, err := overlay.Get(input.Name) if err != nil { if _, err := overlay.Create(input.Name); err != nil { return err diff --git a/internal/pkg/warewulfd/api/profile.go b/internal/pkg/warewulfd/api/profile.go index 9b835f9c..a77c80ff 100644 --- a/internal/pkg/warewulfd/api/profile.go +++ b/internal/pkg/warewulfd/api/profile.go @@ -81,12 +81,12 @@ func addProfile() usecase.Interactor { return status.Wrap(fmt.Errorf("image '%s' does not exist", input.Profile.ImageName), status.InvalidArgument) } for _, overlay_ := range input.Profile.SystemOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } for _, overlay_ := range input.Profile.RuntimeOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } @@ -126,12 +126,12 @@ func updateProfile() usecase.Interactor { return status.Wrap(fmt.Errorf("image '%s' does not exist", input.Profile.ImageName), status.InvalidArgument) } for _, overlay_ := range input.Profile.SystemOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } for _, overlay_ := range input.Profile.RuntimeOverlay { - if _, err = overlay.GetOverlay(overlay_); err != nil { + if _, err = overlay.Get(overlay_); err != nil { return status.Wrap(fmt.Errorf("overlay '%s' does not exist", overlay_), status.InvalidArgument) } } diff --git a/internal/pkg/warewulfd/nodedb.go b/internal/pkg/warewulfd/nodedb.go index bdf58541..c8557628 100644 --- a/internal/pkg/warewulfd/nodedb.go +++ b/internal/pkg/warewulfd/nodedb.go @@ -99,10 +99,10 @@ func GetNodeOrSetDiscoverable(hwaddr string, autobuildOverlays bool) (node.Node, return nodeFound, fmt.Errorf("%s (failed to reload configuration) %w", hwaddr, err) } if autobuildOverlays { - if err := overlay.ClearOverlayImage(nodeFound.Id(), "system", []string{}); err != nil { + if err := overlay.RemoveImage(nodeFound.Id(), "system", []string{}); err != nil { wwlog.Warn("Failed to clear system overlay image: %s: %s", nodeFound.Id(), err) } - if err := overlay.ClearOverlayImage(nodeFound.Id(), "runtime", []string{}); err != nil { + if err := overlay.RemoveImage(nodeFound.Id(), "runtime", []string{}); err != nil { wwlog.Warn("Failed to clear runtime overlay image: %s: %s", nodeFound.Id(), err) } } diff --git a/internal/pkg/warewulfd/overlay.go b/internal/pkg/warewulfd/overlay.go index 9b95f202..4db3f1dc 100644 --- a/internal/pkg/warewulfd/overlay.go +++ b/internal/pkg/warewulfd/overlay.go @@ -25,7 +25,7 @@ func OverlaySend(w http.ResponseWriter, req *http.Request) { return } - myOverlay, err := overlay.GetOverlay(rinfo.overlay) + myOverlay, err := overlay.Get(rinfo.overlay) if err != nil { message := "overlay not found: %s" wwlog.Error(message, rinfo.overlay) diff --git a/internal/pkg/warewulfd/util.go b/internal/pkg/warewulfd/util.go index 48f6b1c9..ea6b0964 100644 --- a/internal/pkg/warewulfd/util.go +++ b/internal/pkg/warewulfd/util.go @@ -45,14 +45,14 @@ func sendFile( } func getOverlayFile(n node.Node, context string, stage_overlays []string, autobuild bool) (stage_file string, err error) { - stage_file = overlay.OverlayImage(n.Id(), context, stage_overlays) + stage_file = overlay.Image(n.Id(), context, stage_overlays) build := !util.IsFile(stage_file) wwlog.Verbose("stage file: %s", stage_file) if !build && autobuild { build = util.PathIsNewer(stage_file, config.Get().Paths.NodesConf()) for _, overlayname := range stage_overlays { - if myOverlay, err := overlay.GetOverlay(overlayname); err == nil { + if myOverlay, err := overlay.Get(overlayname); err == nil { build = build || util.PathIsNewer(stage_file, myOverlay.Rootfs()) } }