diff --git a/CHANGELOG.md b/CHANGELOG.md index 4918c797..e868e0b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Remove a redundant "Building image" log message after image exec. #1694 - Don't populate NetDevs[].Type or NetDevs[].Netmask during upgrade. #1661 - Prefer parent profile values over child profile values. #1672 +- Don't attempt to back-up an output file that doesn't exist during upgrade. #1671 ## v4.6.0rc1, 2025-01-29 diff --git a/internal/app/wwctl/upgrade/config/cobra.go b/internal/app/wwctl/upgrade/config/cobra.go index 9755424f..f4d62409 100644 --- a/internal/app/wwctl/upgrade/config/cobra.go +++ b/internal/app/wwctl/upgrade/config/cobra.go @@ -54,8 +54,10 @@ func UpgradeNodesConf(cmd *cobra.Command, args []string) error { fmt.Print(string(upgradedYaml)) return nil } else { - if err := util.CopyFile(outputPath, outputPath+"-old"); err != nil { - return err + if util.IsFile(outputPath) { + if err := util.CopyFile(outputPath, outputPath+"-old"); err != nil { + return err + } } return upgraded.PersistToFile(outputPath) } diff --git a/internal/app/wwctl/upgrade/nodes/cobra.go b/internal/app/wwctl/upgrade/nodes/cobra.go index ebfe2fd4..1c243dbc 100644 --- a/internal/app/wwctl/upgrade/nodes/cobra.go +++ b/internal/app/wwctl/upgrade/nodes/cobra.go @@ -81,8 +81,10 @@ func UpgradeNodesConf(cmd *cobra.Command, args []string) error { fmt.Print(string(upgradedYaml)) return nil } else { - if err := util.CopyFile(outputPath, outputPath+"-old"); err != nil { - return err + if util.IsFile(outputPath) { + if err := util.CopyFile(outputPath, outputPath+"-old"); err != nil { + return err + } } return upgraded.PersistToFile(outputPath) }