From 6e337da7f0ca790c0491b2fc01603427fba2ba5f Mon Sep 17 00:00:00 2001 From: Peter Rifel Date: Wed, 20 Dec 2023 20:05:48 -0600 Subject: [PATCH 1/2] Always set the paginated instance group field --- pkg/model/gcemodel/autoscalinggroup.go | 13 +++--- .../cloudup/gcetasks/instancegroupmanager.go | 43 +++++++++++-------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/pkg/model/gcemodel/autoscalinggroup.go b/pkg/model/gcemodel/autoscalinggroup.go index 1f6df93632..9512ada922 100644 --- a/pkg/model/gcemodel/autoscalinggroup.go +++ b/pkg/model/gcemodel/autoscalinggroup.go @@ -301,12 +301,13 @@ func (b *AutoscalingGroupModelBuilder) Build(c *fi.CloudupModelBuilderContext) e name := gce.NameForInstanceGroupManager(b.Cluster.ObjectMeta.Name, ig.ObjectMeta.Name, zone) t := &gcetasks.InstanceGroupManager{ - Name: s(name), - Lifecycle: b.Lifecycle, - Zone: s(zone), - TargetSize: fi.PtrTo(int64(targetSize)), - BaseInstanceName: s(ig.ObjectMeta.Name), - InstanceTemplate: instanceTemplate, + Name: s(name), + Lifecycle: b.Lifecycle, + Zone: s(zone), + TargetSize: fi.PtrTo(int64(targetSize)), + BaseInstanceName: s(ig.ObjectMeta.Name), + InstanceTemplate: instanceTemplate, + ListManagedInstancesResults: "PAGINATED", } // Attach masters to load balancer if we're using one diff --git a/upup/pkg/fi/cloudup/gcetasks/instancegroupmanager.go b/upup/pkg/fi/cloudup/gcetasks/instancegroupmanager.go index c83bd60f1d..8788992a2e 100644 --- a/upup/pkg/fi/cloudup/gcetasks/instancegroupmanager.go +++ b/upup/pkg/fi/cloudup/gcetasks/instancegroupmanager.go @@ -32,10 +32,11 @@ type InstanceGroupManager struct { Name *string Lifecycle fi.Lifecycle - Zone *string - BaseInstanceName *string - InstanceTemplate *InstanceTemplate - TargetSize *int64 + Zone *string + BaseInstanceName *string + InstanceTemplate *InstanceTemplate + ListManagedInstancesResults string + TargetSize *int64 TargetPools []*TargetPool } @@ -63,6 +64,7 @@ func (e *InstanceGroupManager) Find(c *fi.CloudupContext) (*InstanceGroupManager actual.BaseInstanceName = &r.BaseInstanceName actual.TargetSize = &r.TargetSize actual.InstanceTemplate = &InstanceTemplate{ID: fi.PtrTo(lastComponent(r.InstanceTemplate))} + actual.ListManagedInstancesResults = r.ListManagedInstancesResults for _, targetPool := range r.TargetPools { actual.TargetPools = append(actual.TargetPools, &TargetPool{ @@ -94,11 +96,12 @@ func (_ *InstanceGroupManager) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Ins } i := &compute.InstanceGroupManager{ - Name: *e.Name, - Zone: *e.Zone, - BaseInstanceName: *e.BaseInstanceName, - TargetSize: *e.TargetSize, - InstanceTemplate: instanceTemplateURL, + Name: *e.Name, + Zone: *e.Zone, + BaseInstanceName: *e.BaseInstanceName, + TargetSize: *e.TargetSize, + InstanceTemplate: instanceTemplateURL, + ListManagedInstancesResults: e.ListManagedInstancesResults, } for _, targetPool := range e.TargetPools { @@ -172,12 +175,13 @@ func (_ *InstanceGroupManager) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Ins } type terraformInstanceGroupManager struct { - Name *string `cty:"name"` - Zone *string `cty:"zone"` - BaseInstanceName *string `cty:"base_instance_name"` - Version *terraformVersion `cty:"version"` - TargetSize *int64 `cty:"target_size"` - TargetPools []*terraformWriter.Literal `cty:"target_pools"` + Name *string `cty:"name"` + Zone *string `cty:"zone"` + BaseInstanceName *string `cty:"base_instance_name"` + ListManagedInstancesResults string `cty:"list_managed_instances_results"` + Version *terraformVersion `cty:"version"` + TargetSize *int64 `cty:"target_size"` + TargetPools []*terraformWriter.Literal `cty:"target_pools"` } type terraformVersion struct { @@ -186,10 +190,11 @@ type terraformVersion struct { func (_ *InstanceGroupManager) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *InstanceGroupManager) error { tf := &terraformInstanceGroupManager{ - Name: e.Name, - Zone: e.Zone, - BaseInstanceName: e.BaseInstanceName, - TargetSize: e.TargetSize, + Name: e.Name, + Zone: e.Zone, + BaseInstanceName: e.BaseInstanceName, + TargetSize: e.TargetSize, + ListManagedInstancesResults: e.ListManagedInstancesResults, } tf.Version = &terraformVersion{ InstanceTemplate: e.InstanceTemplate.TerraformLink(), From 62fcb00f8c6ff3f86adbbaddf9cfe0dbf79c4498 Mon Sep 17 00:00:00 2001 From: Peter Rifel Date: Wed, 20 Dec 2023 20:06:13 -0600 Subject: [PATCH 2/2] ./hack/update-expected.sh --- .../update_cluster/ha_gce/kubernetes.tf | 42 +++++++++++-------- .../many-addons-gce/kubernetes.tf | 14 ++++--- .../update_cluster/minimal_gce/kubernetes.tf | 14 ++++--- .../minimal_gce_dns-none/kubernetes.tf | 14 ++++--- .../minimal_gce_ilb/kubernetes.tf | 14 ++++--- .../kubernetes.tf | 14 ++++--- .../minimal_gce_longclustername/kubernetes.tf | 14 ++++--- .../minimal_gce_plb/kubernetes.tf | 16 +++---- .../minimal_gce_private/kubernetes.tf | 14 ++++--- 9 files changed, 89 insertions(+), 67 deletions(-) diff --git a/tests/integration/update_cluster/ha_gce/kubernetes.tf b/tests/integration/update_cluster/ha_gce/kubernetes.tf index 1409893b51..962dabbd0d 100644 --- a/tests/integration/update_cluster/ha_gce/kubernetes.tf +++ b/tests/integration/update_cluster/ha_gce/kubernetes.tf @@ -501,9 +501,10 @@ resource "google_compute_firewall" "ssh-external-to-node-ipv6-ha-gce-example-com } resource "google_compute_instance_group_manager" "a-master-us-test1-a-ha-gce-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-ha-gce-example-com" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-ha-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-ha-gce-example-com.self_link } @@ -511,9 +512,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-ha-gce-exa } resource "google_compute_instance_group_manager" "a-nodes-ha-gce-example-com" { - base_instance_name = "nodes" - name = "a-nodes-ha-gce-example-com" - target_size = 1 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-ha-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.nodes-ha-gce-example-com.self_link } @@ -521,9 +523,10 @@ resource "google_compute_instance_group_manager" "a-nodes-ha-gce-example-com" { } resource "google_compute_instance_group_manager" "b-master-us-test1-b-ha-gce-example-com" { - base_instance_name = "master-us-test1-b" - name = "b-master-us-test1-b-ha-gce-example-com" - target_size = 1 + base_instance_name = "master-us-test1-b" + list_managed_instances_results = "PAGINATED" + name = "b-master-us-test1-b-ha-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-b-ha-gce-example-com.self_link } @@ -531,9 +534,10 @@ resource "google_compute_instance_group_manager" "b-master-us-test1-b-ha-gce-exa } resource "google_compute_instance_group_manager" "b-nodes-ha-gce-example-com" { - base_instance_name = "nodes" - name = "b-nodes-ha-gce-example-com" - target_size = 1 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "b-nodes-ha-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.nodes-ha-gce-example-com.self_link } @@ -541,9 +545,10 @@ resource "google_compute_instance_group_manager" "b-nodes-ha-gce-example-com" { } resource "google_compute_instance_group_manager" "c-master-us-test1-c-ha-gce-example-com" { - base_instance_name = "master-us-test1-c" - name = "c-master-us-test1-c-ha-gce-example-com" - target_size = 1 + base_instance_name = "master-us-test1-c" + list_managed_instances_results = "PAGINATED" + name = "c-master-us-test1-c-ha-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-c-ha-gce-example-com.self_link } @@ -551,9 +556,10 @@ resource "google_compute_instance_group_manager" "c-master-us-test1-c-ha-gce-exa } resource "google_compute_instance_group_manager" "c-nodes-ha-gce-example-com" { - base_instance_name = "nodes" - name = "c-nodes-ha-gce-example-com" - target_size = 0 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "c-nodes-ha-gce-example-com" + target_size = 0 version { instance_template = google_compute_instance_template.nodes-ha-gce-example-com.self_link } diff --git a/tests/integration/update_cluster/many-addons-gce/kubernetes.tf b/tests/integration/update_cluster/many-addons-gce/kubernetes.tf index b4fc78ca3e..736e8d80a3 100644 --- a/tests/integration/update_cluster/many-addons-gce/kubernetes.tf +++ b/tests/integration/update_cluster/many-addons-gce/kubernetes.tf @@ -429,9 +429,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-example-com" { } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-example-com" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-example-com.self_link } @@ -439,9 +440,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-ex } resource "google_compute_instance_group_manager" "a-nodes-minimal-example-com" { - base_instance_name = "nodes" - name = "a-nodes-minimal-example-com" - target_size = 1 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.nodes-minimal-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce/kubernetes.tf b/tests/integration/update_cluster/minimal_gce/kubernetes.tf index fd8cd178fd..ec264a1b04 100644 --- a/tests/integration/update_cluster/minimal_gce/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce/kubernetes.tf @@ -405,9 +405,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-gce-example-com } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-example-com" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-example-com.self_link } @@ -415,9 +416,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-example-com" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-example-com" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-example-com" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce_dns-none/kubernetes.tf b/tests/integration/update_cluster/minimal_gce_dns-none/kubernetes.tf index 39ec7da327..f79d5ad0e3 100644 --- a/tests/integration/update_cluster/minimal_gce_dns-none/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce_dns-none/kubernetes.tf @@ -486,9 +486,10 @@ resource "google_compute_health_check" "api-minimal-gce-example-com" { } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-example-com" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-example-com.self_link } @@ -496,9 +497,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-example-com" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-example-com" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-example-com" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce_ilb/kubernetes.tf b/tests/integration/update_cluster/minimal_gce_ilb/kubernetes.tf index 59027b3f2f..6255a7d983 100644 --- a/tests/integration/update_cluster/minimal_gce_ilb/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce_ilb/kubernetes.tf @@ -455,9 +455,10 @@ resource "google_compute_health_check" "api-minimal-gce-ilb-example-com" { } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-ilb-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-ilb-example-com" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-ilb-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-ilb-example-com.self_link } @@ -465,9 +466,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-ilb-example-com" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-ilb-example-com" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-ilb-example-com" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-ilb-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce_ilb_longclustername/kubernetes.tf b/tests/integration/update_cluster/minimal_gce_ilb_longclustername/kubernetes.tf index 540d504212..04a4c34db7 100644 --- a/tests/integration/update_cluster/minimal_gce_ilb_longclustername/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce_ilb_longclustername/kubernetes.tf @@ -455,9 +455,10 @@ resource "google_compute_health_check" "api-minimal-gce-with-a-very-very-very-ve } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com.self_link } @@ -465,9 +466,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce_longclustername/kubernetes.tf b/tests/integration/update_cluster/minimal_gce_longclustername/kubernetes.tf index eeab9dfb3a..5ce5d30844 100644 --- a/tests/integration/update_cluster/minimal_gce_longclustername/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce_longclustername/kubernetes.tf @@ -405,9 +405,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-gce-with-a-very } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com.self_link } @@ -415,9 +416,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce_plb/kubernetes.tf b/tests/integration/update_cluster/minimal_gce_plb/kubernetes.tf index 6918c75f4a..694265796e 100644 --- a/tests/integration/update_cluster/minimal_gce_plb/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce_plb/kubernetes.tf @@ -439,10 +439,11 @@ resource "google_compute_http_health_check" "api-minimal-gce-plb-example-com" { } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-plb-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-plb-example-com" - target_pools = [google_compute_target_pool.api-minimal-gce-plb-example-com.self_link] - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-plb-example-com" + target_pools = [google_compute_target_pool.api-minimal-gce-plb-example-com.self_link] + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-plb-example-com.self_link } @@ -450,9 +451,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-plb-example-com" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-plb-example-com" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-plb-example-com" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-plb-example-com.self_link } diff --git a/tests/integration/update_cluster/minimal_gce_private/kubernetes.tf b/tests/integration/update_cluster/minimal_gce_private/kubernetes.tf index f31b7753e7..e656a11cc7 100644 --- a/tests/integration/update_cluster/minimal_gce_private/kubernetes.tf +++ b/tests/integration/update_cluster/minimal_gce_private/kubernetes.tf @@ -405,9 +405,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-gce-private-exa } resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-private-example-com" { - base_instance_name = "master-us-test1-a" - name = "a-master-us-test1-a-minimal-gce-private-example-com" - target_size = 1 + base_instance_name = "master-us-test1-a" + list_managed_instances_results = "PAGINATED" + name = "a-master-us-test1-a-minimal-gce-private-example-com" + target_size = 1 version { instance_template = google_compute_instance_template.master-us-test1-a-minimal-gce-private-example-com.self_link } @@ -415,9 +416,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc } resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-private-example-com" { - base_instance_name = "nodes" - name = "a-nodes-minimal-gce-private-example-com" - target_size = 2 + base_instance_name = "nodes" + list_managed_instances_results = "PAGINATED" + name = "a-nodes-minimal-gce-private-example-com" + target_size = 2 version { instance_template = google_compute_instance_template.nodes-minimal-gce-private-example-com.self_link }