提交 cc1a6f11 编写于 作者: P Priya Wadhwa

Delete volume if it isn't extracted properly so future runs don't try to use it

上级 c99bf76e
......@@ -106,6 +106,10 @@ func CreatePreloadedImagesVolume(k8sVersion, baseImage, profile string) (string,
tarballPath := preload.TarballFilepath(k8sVersion)
if err := extractTarballToVolume(tarballPath, volumeName, baseImage); err != nil {
// If the extraction didn't work, delete the corrupt docker volume
if err := deleteDockerVolume(volumeName); err != nil {
glog.Warningf("Corrupt docker volume %s was not deleted successfully. You may need to delete it manually via `docker volume rm %s` for minikube to continue to work.", volumeName, volumeName)
}
return "", errors.Wrap(err, "extracting tarball to volume")
}
return volumeName, nil
......@@ -156,3 +160,15 @@ func createDockerVolume(name string) error {
}
return nil
}
// deleteDockerVolume deletes a docker volume with the given name
func deleteDockerVolume(name string) error {
if err := PointToHostDockerDaemon(); err != nil {
return errors.Wrap(err, "point host docker-daemon")
}
cmd := exec.Command(Docker, "volume", "rm", name)
if out, err := cmd.CombinedOutput(); err != nil {
return errors.Wrapf(err, "output %s", string(out))
}
return nil
}
......@@ -85,7 +85,6 @@ func CacheTarball(k8sVersion string) error {
}
out.T(out.FileDownload, "Downloading preloaded images tarball for k8s {{.version}}:", out.V{"version": k8sVersion})
os.Remove(targetFilepath)
client := &getter.Client{
Src: url,
Dst: targetFilepath,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册