mirror of https://github.com/kubernetes/kops.git
Merge pull request #7377 from justinsb/download_nodeup_from_mirrors_also
Support mirroring for nodeup also
This commit is contained in:
commit
eeb383826f
|
|
@ -20,6 +20,7 @@ import (
|
|||
"archive/tar"
|
||||
"fmt"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"k8s.io/klog"
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
|
|
@ -170,12 +171,16 @@ func (b *Builder) Build(cluster *kops.Cluster, ig *kops.InstanceGroup) (*Data, e
|
|||
|
||||
bootstrapScript := model.BootstrapScript{}
|
||||
|
||||
nodeupLocation, nodeupHash, err := cloudup.NodeUpLocation(assetBuilder)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
{
|
||||
asset, err := cloudup.NodeUpAsset(assetBuilder)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
bootstrapScript.NodeUpSource = strings.Join(asset.Locations, ",")
|
||||
bootstrapScript.NodeUpSourceHash = asset.Hash.Hex()
|
||||
}
|
||||
bootstrapScript.NodeUpSource = nodeupLocation.String()
|
||||
bootstrapScript.NodeUpSourceHash = nodeupHash.Hex()
|
||||
|
||||
bootstrapScript.NodeUpConfigBuilder = func(ig *kops.InstanceGroup) (*nodeup.Config, error) {
|
||||
return nodeupConfig, err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1bmastersadditionalcidrex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -297,7 +297,7 @@ Resources.AWSAutoScalingLaunchConfigurationnodesadditionalcidrexamplecom.Propert
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1amastersadditionaluserda
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -326,7 +326,7 @@ Resources.AWSAutoScalingLaunchConfigurationnodesadditionaluserdataexamplecom.Pro
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1amastersminimalexampleco
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -297,7 +297,7 @@ Resources.AWSAutoScalingLaunchConfigurationnodesminimalexamplecom.Properties.Use
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ set -o errexit
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.0/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.0/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.0/linux/amd64/nodeup
|
||||
NODEUP_HASH=02185512f78dc9d15a8c10774c4cb11f67e4bc20
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ set -o errexit
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=02185512f78dc9d15a8c10774c4cb11f67e4bc20
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1amastersexternallbexampl
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -317,7 +317,7 @@ Resources.AWSAutoScalingLaunchConfigurationnodesexternallbexamplecom.Properties.
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1amastersminimalexampleco
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -297,7 +297,7 @@ Resources.AWSAutoScalingLaunchConfigurationnodesminimalexamplecom.Properties.Use
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1amastersmixedinstancesex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -318,7 +318,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1bmastersmixedinstancesex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -618,7 +618,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1cmastersmixedinstancesex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -918,7 +918,7 @@ Resources.AWSEC2LaunchTemplatenodesmixedinstancesexamplecom.Properties.LaunchTem
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1amastersmixedinstancesex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -318,7 +318,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1bmastersmixedinstancesex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -618,7 +618,7 @@ Resources.AWSAutoScalingLaunchConfigurationmasterustest1cmastersmixedinstancesex
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
@ -918,7 +918,7 @@ Resources.AWSEC2LaunchTemplatenodesmixedinstancesexamplecom.Properties.LaunchTem
|
|||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
NODEUP_URL=https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_URL=https://github.com/kubernetes/kops/releases/download/1.8.1/linux-amd64-nodeup,https://kubeupv2.s3.amazonaws.com/kops/1.8.1/linux/amd64/nodeup
|
||||
NODEUP_HASH=bb41724c37d15ab7e039e06230e742b9b38d0808
|
||||
|
||||
export AWS_REGION=us-test-1
|
||||
|
|
|
|||
|
|
@ -1191,12 +1191,12 @@ func (c *ApplyClusterCmd) AddFileAssets(assetBuilder *assets.AssetBuilder) error
|
|||
c.Assets = append(c.Assets, BuildMirroredAsset(utilsLocation, hash))
|
||||
}
|
||||
|
||||
n, hash, err := NodeUpLocation(assetBuilder)
|
||||
asset, err := NodeUpAsset(assetBuilder)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
c.NodeUpSource = n.String()
|
||||
c.NodeUpHash = hash.Hex()
|
||||
c.NodeUpSource = strings.Join(asset.Locations, ",")
|
||||
c.NodeUpHash = asset.Hash.Hex()
|
||||
|
||||
// Explicitly add the protokube image,
|
||||
// otherwise when the Target is DryRun this asset is not added
|
||||
|
|
|
|||
|
|
@ -55,11 +55,8 @@ var defaultKopsMirrors = []mirror{
|
|||
|
||||
var kopsBaseUrl *url.URL
|
||||
|
||||
// nodeUpLocation caches the nodeUpLocation url
|
||||
var nodeUpLocation *url.URL
|
||||
|
||||
// nodeUpHash caches the hash for nodeup
|
||||
var nodeUpHash *hashing.Hash
|
||||
// nodeUpAsset caches the nodeup download urls/hash
|
||||
var nodeUpAsset *MirroredAsset
|
||||
|
||||
// protokubeLocation caches the protokubeLocation url
|
||||
var protokubeLocation *url.URL
|
||||
|
|
@ -119,36 +116,42 @@ func SetKopsAssetsLocations(assetsBuilder *assets.AssetBuilder) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// NodeUpLocation returns the URL where nodeup should be downloaded
|
||||
func NodeUpLocation(assetsBuilder *assets.AssetBuilder) (*url.URL, *hashing.Hash, error) {
|
||||
// NodeUpAsset returns the asset for where nodeup should be downloaded
|
||||
func NodeUpAsset(assetsBuilder *assets.AssetBuilder) (*MirroredAsset, error) {
|
||||
// Avoid repeated logging
|
||||
if nodeUpLocation != nil && nodeUpHash != nil {
|
||||
if nodeUpAsset != nil {
|
||||
// Avoid repeated logging
|
||||
klog.V(8).Infof("Using cached nodeup location: %q", nodeUpLocation.String())
|
||||
return nodeUpLocation, nodeUpHash, nil
|
||||
klog.V(8).Infof("Using cached nodeup location: %v", nodeUpAsset.Locations)
|
||||
return nodeUpAsset, nil
|
||||
}
|
||||
env := os.Getenv("NODEUP_URL")
|
||||
var err error
|
||||
var u *url.URL
|
||||
var hash *hashing.Hash
|
||||
if env == "" {
|
||||
nodeUpLocation, nodeUpHash, err = KopsFileUrl("linux/amd64/nodeup", assetsBuilder)
|
||||
u, hash, err = KopsFileUrl("linux/amd64/nodeup", assetsBuilder)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
return nil, err
|
||||
}
|
||||
klog.V(8).Infof("Using default nodeup location: %q", nodeUpLocation.String())
|
||||
klog.V(8).Infof("Using default nodeup location: %q", u.String())
|
||||
} else {
|
||||
nodeUpLocation, err = url.Parse(env)
|
||||
u, err = url.Parse(env)
|
||||
if err != nil {
|
||||
return nil, nil, fmt.Errorf("unable to parse env var NODEUP_URL %q as a url: %v", env, err)
|
||||
return nil, fmt.Errorf("unable to parse env var NODEUP_URL %q as a url: %v", env, err)
|
||||
}
|
||||
|
||||
nodeUpLocation, nodeUpHash, err = assetsBuilder.RemapFileAndSHA(nodeUpLocation)
|
||||
u, hash, err = assetsBuilder.RemapFileAndSHA(u)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
return nil, err
|
||||
}
|
||||
klog.Warningf("Using nodeup location from NODEUP_URL env var: %q", nodeUpLocation.String())
|
||||
klog.Warningf("Using nodeup location from NODEUP_URL env var: %q", u.String())
|
||||
}
|
||||
|
||||
return nodeUpLocation, nodeUpHash, nil
|
||||
asset := BuildMirroredAsset(u, hash)
|
||||
|
||||
nodeUpAsset = asset
|
||||
|
||||
return asset, nil
|
||||
}
|
||||
|
||||
// TODO make this a container when hosted assets
|
||||
|
|
|
|||
Loading…
Reference in New Issue