From 99c8c4b8fcb57ef7047ae7400c943947a0643695 Mon Sep 17 00:00:00 2001 From: John Gardiner Myers Date: Fri, 19 Jun 2020 23:51:41 -0700 Subject: [PATCH] Move apply logic down into pkg for import use --- cmd/kops/update_cluster.go | 26 +------------------------- upup/pkg/fi/cloudup/apply_cluster.go | 13 +++++++++++++ 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/cmd/kops/update_cluster.go b/cmd/kops/update_cluster.go index 0fcfa7921c..564ba79784 100644 --- a/cmd/kops/update_cluster.go +++ b/cmd/kops/update_cluster.go @@ -27,7 +27,6 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/tools/clientcmd" "k8s.io/klog" "k8s.io/kops/cmd/kops/util" @@ -236,33 +235,10 @@ func RunUpdateCluster(ctx context.Context, f *util.Factory, clusterName string, lifecycleOverrideMap[taskName] = lifecycleOverride } - var instanceGroups []*kops.InstanceGroup - { - list, err := clientset.InstanceGroupsFor(cluster).List(ctx, metav1.ListOptions{}) - if err != nil { - return nil, err - } - for i := range list.Items { - instanceGroups = append(instanceGroups, &list.Items[i]) - - // Try to guess the path for additional third party volume plugins in Flatcar - image := strings.ToLower(list.Items[i].Spec.Image) - if strings.Contains(image, "flatcar") { - if cluster.Spec.Kubelet == nil { - cluster.Spec.Kubelet = &kops.KubeletConfigSpec{} - } - if cluster.Spec.Kubelet.VolumePluginDirectory == "" { - cluster.Spec.Kubelet.VolumePluginDirectory = "/var/lib/kubelet/volumeplugins/" - } - } - } - } - applyCmd := &cloudup.ApplyClusterCmd{ Clientset: clientset, Cluster: cluster, DryRun: isDryrun, - InstanceGroups: instanceGroups, RunTasksOptions: &c.RunTasksOptions, Models: strings.Split(c.Models, ","), OutDir: c.OutDir, @@ -360,7 +336,7 @@ func RunUpdateCluster(ctx context.Context, f *util.Factory, clusterName string, fmt.Fprintf(sb, "Suggestions:\n") fmt.Fprintf(sb, " * validate cluster: kops validate cluster --wait 10m\n") fmt.Fprintf(sb, " * list nodes: kubectl get nodes --show-labels\n") - if !usesBastion(instanceGroups) { + if !usesBastion(applyCmd.InstanceGroups) { fmt.Fprintf(sb, " * ssh to the master: ssh -i ~/.ssh/id_rsa ubuntu@%s\n", cluster.Spec.MasterPublicName) } else { bastionPublicName := findBastionPublicName(cluster) diff --git a/upup/pkg/fi/cloudup/apply_cluster.go b/upup/pkg/fi/cloudup/apply_cluster.go index d4671c2096..13140191cd 100644 --- a/upup/pkg/fi/cloudup/apply_cluster.go +++ b/upup/pkg/fi/cloudup/apply_cluster.go @@ -155,6 +155,19 @@ func (c *ApplyClusterCmd) Run(ctx context.Context) error { c.InstanceGroups = instanceGroups } + for _, ig := range c.InstanceGroups { + // Try to guess the path for additional third party volume plugins in Flatcar + image := strings.ToLower(ig.Spec.Image) + if strings.Contains(image, "flatcar") { + if c.Cluster.Spec.Kubelet == nil { + c.Cluster.Spec.Kubelet = &kops.KubeletConfigSpec{} + } + if c.Cluster.Spec.Kubelet.VolumePluginDirectory == "" { + c.Cluster.Spec.Kubelet.VolumePluginDirectory = "/var/lib/kubelet/volumeplugins/" + } + } + } + if c.Models == nil { c.Models = CloudupModels }