diff --git a/upup/pkg/fi/cloudup/apply_cluster.go b/upup/pkg/fi/cloudup/apply_cluster.go index 6fd257cb09f6c..b0bfd85d88e6e 100644 --- a/upup/pkg/fi/cloudup/apply_cluster.go +++ b/upup/pkg/fi/cloudup/apply_cluster.go @@ -216,7 +216,7 @@ func (c *ApplyClusterCmd) Run() error { } if err := c.applyFileAssets(assetBuilder); err != nil { - return err + return fmt.Errorf("error getting assets: %v", err) } checkExisting := true @@ -938,18 +938,12 @@ func (c *ApplyClusterCmd) applyFileAssets(assetBuilder *assets.AssetBuilder) err c.Cluster.Spec.KubernetesVersion = versionWithoutV } - var baseURL *url.URL + var baseURL string var err error if components.IsBaseURL(c.Cluster.Spec.KubernetesVersion) { - baseURL, err = url.Parse(c.Cluster.Spec.KubernetesVersion) - if err != nil { - return err - } + baseURL = c.Cluster.Spec.KubernetesVersion } else { - baseURL, err = url.Parse("https://storage.googleapis.com/kubernetes-release/release/v" + c.Cluster.Spec.KubernetesVersion) - if err != nil { - return err - } + baseURL = "https://storage.googleapis.com/kubernetes-release/release/v" + c.Cluster.Spec.KubernetesVersion } k8sAssetsNames := []string{ @@ -961,8 +955,12 @@ func (c *ApplyClusterCmd) applyFileAssets(assetBuilder *assets.AssetBuilder) err } for _, a := range k8sAssetsNames { - k := &url.URL { } - k.Path = path.Join(baseURL.Path, a) + // TODO how do I parse this URL once? + k, err := url.Parse(baseURL) + if err != nil { + return err + } + k.Path = path.Join(k.Path, a) u := k.String() sha := fmt.Sprintf("%s.sha", u)