summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2021-02-08 10:00:12 +0800
committerGitHub <noreply@github.com>2021-02-08 10:00:12 +0800
commit21f560fc4e5ec23545944be1d220e1edf974a7c8 (patch)
tree2ecbdef3c5dae6ca1144bdb9e7b5de1f5c70d444
parentMerge pull request #2563 from hackers365/fix_gc_bug (diff)
parentrefactoring retryDownload (diff)
downloadkubeedge-21f560fc4e5ec23545944be1d220e1edf974a7c8.tar.gz
Merge pull request #2559 from zc2638/feat/kubeedge-checksum
keadm: refactoring retryDownload
-rw-r--r--keadm/cmd/keadm/app/cmd/util/common.go32
1 files changed, 11 insertions, 21 deletions
diff --git a/keadm/cmd/keadm/app/cmd/util/common.go b/keadm/cmd/keadm/app/cmd/util/common.go
index 2a7ac2d52..85ddf75b4 100644
--- a/keadm/cmd/keadm/app/cmd/util/common.go
+++ b/keadm/cmd/keadm/app/cmd/util/common.go
@@ -452,8 +452,8 @@ func checkSum(filename, checksumFilename string, version semver.Version, tarball
}
func retryDownload(filename, checksumFilename string, version semver.Version, tarballPath string) error {
- try := 0
- for ; try < downloadRetryTimes; try++ {
+ filePath := filepath.Join(tarballPath, filename)
+ for try := 0; try < downloadRetryTimes; try++ {
//Download the tar from repo
dwnldURL := fmt.Sprintf("cd %s && wget -k --no-check-certificate --progress=bar:force %s/v%s/%s",
tarballPath, KubeEdgeDownloadURL, version, filename)
@@ -462,30 +462,20 @@ func retryDownload(filename, checksumFilename string, version semver.Version, ta
}
//Verify the tar with checksum
- fmt.Printf("%s checksum: \n", filename)
- getActualCheckSum := NewCommand(fmt.Sprintf("cd %s && sha512sum %s | awk '{split($0,a,\"[ ]\"); print a[1]}'", tarballPath, filename))
- if err := getActualCheckSum.Exec(); err != nil {
+ success, err := checkSum(filename, checksumFilename, version, tarballPath)
+ if err != nil {
return err
}
-
- fmt.Printf("%s content: \n", checksumFilename)
- getDesiredCheckSum := NewCommand(fmt.Sprintf("wget -qO- %s/v%s/%s", KubeEdgeDownloadURL, version, checksumFilename))
- if err := getDesiredCheckSum.Exec(); err != nil {
- return err
+ if success {
+ return nil
}
-
- if getActualCheckSum.GetStdOut() == getDesiredCheckSum.GetStdOut() {
- break
- } else {
- fmt.Printf("Failed to verify the checksum of %s, try to download it again ... \n\n", filename)
- //Cleanup the downloaded files
- return NewCommand(fmt.Sprintf("cd %s && rm -f %s", tarballPath, filename)).Exec()
+ fmt.Printf("Failed to verify the checksum of %s, try to download it again ... \n\n", filename)
+ //Cleanup the downloaded files
+ if err = NewCommand(fmt.Sprintf("rm -f %s", filePath)).Exec(); err != nil {
+ return err
}
}
- if try == downloadRetryTimes {
- return fmt.Errorf("failed to download %s", filename)
- }
- return nil
+ return fmt.Errorf("failed to download %s", filename)
}
// Compressed folders or files