use structured preload storage

pull/13353/head
Steven Powell 2022-01-14 16:32:10 -08:00
parent da3b57c728
commit 08c6981144
3 changed files with 6 additions and 5 deletions

View File

@ -146,7 +146,7 @@ func makePreload(cfg preloadCfg) error {
fmt.Printf("skip upload of %q\n", tf) fmt.Printf("skip upload of %q\n", tf)
return nil return nil
} }
if err := uploadTarball(tf); err != nil { if err := uploadTarball(tf, kv); err != nil {
return errors.Wrap(err, fmt.Sprintf("uploading tarball for k8s version %s with %s", kv, cr)) return errors.Wrap(err, fmt.Sprintf("uploading tarball for k8s version %s with %s", kv, cr))
} }
return nil return nil

View File

@ -25,10 +25,10 @@ import (
"k8s.io/minikube/pkg/minikube/download" "k8s.io/minikube/pkg/minikube/download"
) )
func uploadTarball(tarballFilename string) error { func uploadTarball(tarballFilename, k8sVer string) error {
// Upload tarball to GCS // Upload tarball to GCS
hostPath := path.Join("out/", tarballFilename) hostPath := path.Join("out/", tarballFilename)
gcsDest := fmt.Sprintf("gs://%s", download.PreloadBucket) gcsDest := fmt.Sprintf("gs://%s/%s/%s", download.PreloadBucket, download.PreloadVersion, k8sVer)
cmd := exec.Command("gsutil", "cp", hostPath, gcsDest) cmd := exec.Command("gsutil", "cp", hostPath, gcsDest)
fmt.Printf("Running: %v\n", cmd.Args) fmt.Printf("Running: %v\n", cmd.Args)
if output, err := cmd.CombinedOutput(); err != nil { if output, err := cmd.CombinedOutput(); err != nil {

View File

@ -90,7 +90,7 @@ func TarballPath(k8sVersion, containerRuntime string) string {
// remoteTarballURL returns the URL for the remote tarball in GCS // remoteTarballURL returns the URL for the remote tarball in GCS
func remoteTarballURL(k8sVersion, containerRuntime string) string { func remoteTarballURL(k8sVersion, containerRuntime string) string {
return fmt.Sprintf("https://%s/%s/%s", downloadHost, PreloadBucket, TarballName(k8sVersion, containerRuntime)) return fmt.Sprintf("https://%s/%s/%s/%s/%s", downloadHost, PreloadBucket, PreloadVersion, k8sVersion, TarballName(k8sVersion, containerRuntime))
} }
func setPreloadState(k8sVersion, containerRuntime string, value bool) { func setPreloadState(k8sVersion, containerRuntime string, value bool) {
@ -236,7 +236,8 @@ func getStorageAttrs(name string) (*storage.ObjectAttrs, error) {
// getChecksum returns the MD5 checksum of the preload tarball // getChecksum returns the MD5 checksum of the preload tarball
var getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { var getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) {
klog.Infof("getting checksum for %s ...", TarballName(k8sVersion, containerRuntime)) klog.Infof("getting checksum for %s ...", TarballName(k8sVersion, containerRuntime))
attrs, err := getStorageAttrs(TarballName(k8sVersion, containerRuntime)) filename := fmt.Sprintf("%s/%s/%s", PreloadVersion, k8sVersion, TarballName(k8sVersion, containerRuntime))
attrs, err := getStorageAttrs(filename)
if err != nil { if err != nil {
return nil, err return nil, err
} }