From 75ca2316932ebd5b4d4f134c479822f8b399c851 Mon Sep 17 00:00:00 2001 From: John Gardiner Myers Date: Sun, 7 Jun 2020 16:56:09 -0700 Subject: [PATCH] Move default machine type to NodeupConfig --- nodeup/pkg/model/kubelet.go | 3 +-- pkg/apis/nodeup/config.go | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/nodeup/pkg/model/kubelet.go b/nodeup/pkg/model/kubelet.go index 88c28db5f3..58b74283e1 100644 --- a/nodeup/pkg/model/kubelet.go +++ b/nodeup/pkg/model/kubelet.go @@ -20,7 +20,6 @@ import ( "fmt" "path" "path/filepath" - "strings" "k8s.io/kops/pkg/model/components" @@ -440,7 +439,7 @@ func (b *KubeletBuilder) buildKubeletConfigSpec() (*kops.KubeletConfigSpec, erro instanceTypeName, err := metadata.GetMetadata("instance-type") if err != nil { // Otherwise, fall back to the Instance Group spec. - instanceTypeName = strings.Split(b.InstanceGroup.Spec.MachineType, ",")[0] + instanceTypeName = *b.NodeupConfig.DefaultMachineType } region, err := awsup.FindRegion(b.Cluster) diff --git a/pkg/apis/nodeup/config.go b/pkg/apis/nodeup/config.go index 924e44cd1a..758bac4dfc 100644 --- a/pkg/apis/nodeup/config.go +++ b/pkg/apis/nodeup/config.go @@ -17,6 +17,8 @@ limitations under the License. package nodeup import ( + "strings" + "k8s.io/kops/pkg/apis/kops" "k8s.io/kops/pkg/nodelabels" "k8s.io/kops/upup/pkg/fi" @@ -51,6 +53,8 @@ type Config struct { // Manifests for running etcd EtcdManifests []string `json:"etcdManifests,omitempty"` + // DefaultMachineType is the first-listed instance machine type, used if querying instance metadata fails. + DefaultMachineType *string `json:",omitempty"` // StaticManifests describes generic static manifests // Using this allows us to keep complex logic out of nodeup StaticManifests []*StaticManifest `json:"staticManifests,omitempty"` @@ -119,5 +123,9 @@ func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) *Config config.KubeletConfig.Taints = append(config.KubeletConfig.Taints, instanceGroup.Spec.Taints...) + if cluster.Spec.Networking != nil && cluster.Spec.Networking.AmazonVPC != nil { + config.DefaultMachineType = fi.String(strings.Split(instanceGroup.Spec.MachineType, ",")[0]) + } + return &config }