diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2021-02-08 10:00:12 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-08 10:00:12 +0800 |
| commit | 21f560fc4e5ec23545944be1d220e1edf974a7c8 (patch) | |
| tree | 2ecbdef3c5dae6ca1144bdb9e7b5de1f5c70d444 | |
| parent | Merge pull request #2563 from hackers365/fix_gc_bug (diff) | |
| parent | refactoring retryDownload (diff) | |
| download | kubeedge-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.go | 32 |
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 |
