delete older minikube version preload files on start tup

pull/12752/head
Medya Gh 2021-10-20 15:19:20 -07:00
parent eeab91ba57
commit c8cb7a3c2d
3 changed files with 29 additions and 1 deletions

View File

@ -40,6 +40,7 @@ import (
"k8s.io/minikube/pkg/minikube/constants"
"k8s.io/minikube/pkg/minikube/cruntime"
"k8s.io/minikube/pkg/minikube/delete"
"k8s.io/minikube/pkg/minikube/download"
"k8s.io/minikube/pkg/minikube/driver"
"k8s.io/minikube/pkg/minikube/exit"
"k8s.io/minikube/pkg/minikube/kubeconfig"
@ -151,7 +152,7 @@ func runDelete(cmd *cobra.Command, args []string) {
}
// register.SetEventLogPath(localpath.EventLog(ClusterFlagValue()))
register.Reg.SetStep(register.Deleting)
download.CleanUpOlderPreloads()
validProfiles, invalidProfiles, err := config.ListProfiles()
if err != nil {
klog.Warningf("'error loading profiles in minikube home %q: %v", localpath.MiniPath(), err)

View File

@ -142,6 +142,7 @@ func runStart(cmd *cobra.Command, args []string) {
}
defer pkgtrace.Cleanup()
displayVersion(version.GetVersion())
go download.CleanUpOlderPreloads()
// No need to do the update check if no one is going to see it
if !viper.GetBool(interactive) || !viper.GetBool(dryRun) {

View File

@ -21,9 +21,12 @@ import (
"crypto/md5"
"encoding/hex"
"fmt"
"io/ioutil"
"net/http"
"os"
"path"
"path/filepath"
"strings"
"cloud.google.com/go/storage"
"google.golang.org/api/option"
@ -282,3 +285,26 @@ var ensureChecksumValid = func(k8sVersion, containerRuntime, targetPath string,
return nil
}
// CleanUpOlderPreloads deletes preload files beloning to older minikube versions
// checks the current preload version and then if the saved tar file is belongs to older minikube it will delete it
// in case of failure only logs to the user
func CleanUpOlderPreloads() {
files, err := ioutil.ReadDir(targetDir())
if err != nil {
klog.Warningf("Failed to list prelaod files: %v", err)
}
for _, file := range files {
ver := strings.Split(file.Name(), "-")[3]
if ver != PreloadVersion {
fn := path.Join(targetDir(), file.Name())
klog.Infof("deleting older generation preload %s", fn)
err := os.Remove(fn)
if err != nil {
klog.Warningf("Failed to clean up older preload files, consider running `minikube delete --all --purge`")
}
}
}
}