Skip to content

Commit 5024fba

Browse files
authored
Merge pull request #17447 from rifelpet/automated-cherry-pick-of-#17441-origin-release-1.32
Automated cherry pick of #17441: GCE: do not reset MIG target size on cluster updates
2 parents 7b75c79 + 09599bd commit 5024fba

File tree

10 files changed

+93
-23
lines changed

10 files changed

+93
-23
lines changed

tests/integration/update_cluster/ha_gce/kubernetes.tf

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,10 @@ resource "google_compute_firewall" "ssh-external-to-node-ipv6-ha-gce-example-com
493493
}
494494

495495
resource "google_compute_instance_group_manager" "a-master-us-test1-a-ha-gce-example-com" {
496-
base_instance_name = "master-us-test1-a"
496+
base_instance_name = "master-us-test1-a"
497+
lifecycle {
498+
ignore_changes = [target_size]
499+
}
497500
list_managed_instances_results = "PAGINATED"
498501
name = "a-master-us-test1-a-ha-gce-example-com"
499502
target_size = 1
@@ -504,7 +507,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-ha-gce-exa
504507
}
505508

506509
resource "google_compute_instance_group_manager" "a-nodes-ha-gce-example-com" {
507-
base_instance_name = "nodes"
510+
base_instance_name = "nodes"
511+
lifecycle {
512+
ignore_changes = [target_size]
513+
}
508514
list_managed_instances_results = "PAGINATED"
509515
name = "a-nodes-ha-gce-example-com"
510516
target_size = 1
@@ -515,7 +521,10 @@ resource "google_compute_instance_group_manager" "a-nodes-ha-gce-example-com" {
515521
}
516522

517523
resource "google_compute_instance_group_manager" "b-master-us-test1-b-ha-gce-example-com" {
518-
base_instance_name = "master-us-test1-b"
524+
base_instance_name = "master-us-test1-b"
525+
lifecycle {
526+
ignore_changes = [target_size]
527+
}
519528
list_managed_instances_results = "PAGINATED"
520529
name = "b-master-us-test1-b-ha-gce-example-com"
521530
target_size = 1
@@ -526,7 +535,10 @@ resource "google_compute_instance_group_manager" "b-master-us-test1-b-ha-gce-exa
526535
}
527536

528537
resource "google_compute_instance_group_manager" "b-nodes-ha-gce-example-com" {
529-
base_instance_name = "nodes"
538+
base_instance_name = "nodes"
539+
lifecycle {
540+
ignore_changes = [target_size]
541+
}
530542
list_managed_instances_results = "PAGINATED"
531543
name = "b-nodes-ha-gce-example-com"
532544
target_size = 1
@@ -537,7 +549,10 @@ resource "google_compute_instance_group_manager" "b-nodes-ha-gce-example-com" {
537549
}
538550

539551
resource "google_compute_instance_group_manager" "c-master-us-test1-c-ha-gce-example-com" {
540-
base_instance_name = "master-us-test1-c"
552+
base_instance_name = "master-us-test1-c"
553+
lifecycle {
554+
ignore_changes = [target_size]
555+
}
541556
list_managed_instances_results = "PAGINATED"
542557
name = "c-master-us-test1-c-ha-gce-example-com"
543558
target_size = 1
@@ -548,7 +563,10 @@ resource "google_compute_instance_group_manager" "c-master-us-test1-c-ha-gce-exa
548563
}
549564

550565
resource "google_compute_instance_group_manager" "c-nodes-ha-gce-example-com" {
551-
base_instance_name = "nodes"
566+
base_instance_name = "nodes"
567+
lifecycle {
568+
ignore_changes = [target_size]
569+
}
552570
list_managed_instances_results = "PAGINATED"
553571
name = "c-nodes-ha-gce-example-com"
554572
target_size = 0

tests/integration/update_cluster/many-addons-gce/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-example-com" {
421421
}
422422

423423
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-example-com" {
424-
base_instance_name = "master-us-test1-a"
424+
base_instance_name = "master-us-test1-a"
425+
lifecycle {
426+
ignore_changes = [target_size]
427+
}
425428
list_managed_instances_results = "PAGINATED"
426429
name = "a-master-us-test1-a-minimal-example-com"
427430
target_size = 1
@@ -432,7 +435,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-ex
432435
}
433436

434437
resource "google_compute_instance_group_manager" "a-nodes-minimal-example-com" {
435-
base_instance_name = "nodes"
438+
base_instance_name = "nodes"
439+
lifecycle {
440+
ignore_changes = [target_size]
441+
}
436442
list_managed_instances_results = "PAGINATED"
437443
name = "a-nodes-minimal-example-com"
438444
target_size = 1

tests/integration/update_cluster/minimal_gce/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-gce-example-com
397397
}
398398

399399
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-example-com" {
400-
base_instance_name = "master-us-test1-a"
400+
base_instance_name = "master-us-test1-a"
401+
lifecycle {
402+
ignore_changes = [target_size]
403+
}
401404
list_managed_instances_results = "PAGINATED"
402405
name = "a-master-us-test1-a-minimal-gce-example-com"
403406
target_size = 1
@@ -408,7 +411,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
408411
}
409412

410413
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-example-com" {
411-
base_instance_name = "nodes"
414+
base_instance_name = "nodes"
415+
lifecycle {
416+
ignore_changes = [target_size]
417+
}
412418
list_managed_instances_results = "PAGINATED"
413419
name = "a-nodes-minimal-gce-example-com"
414420
target_size = 2

tests/integration/update_cluster/minimal_gce_dns-none/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,10 @@ resource "google_compute_forwarding_rule" "kops-controller-us-test1-minimal-gce-
461461
}
462462

463463
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-example-com" {
464-
base_instance_name = "master-us-test1-a"
464+
base_instance_name = "master-us-test1-a"
465+
lifecycle {
466+
ignore_changes = [target_size]
467+
}
465468
list_managed_instances_results = "PAGINATED"
466469
name = "a-master-us-test1-a-minimal-gce-example-com"
467470
target_size = 1
@@ -472,7 +475,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
472475
}
473476

474477
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-example-com" {
475-
base_instance_name = "nodes"
478+
base_instance_name = "nodes"
479+
lifecycle {
480+
ignore_changes = [target_size]
481+
}
476482
list_managed_instances_results = "PAGINATED"
477483
name = "a-nodes-minimal-gce-example-com"
478484
target_size = 2

tests/integration/update_cluster/minimal_gce_ilb/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,10 @@ resource "google_compute_forwarding_rule" "api-us-test1-minimal-gce-ilb-example-
430430
}
431431

432432
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-ilb-example-com" {
433-
base_instance_name = "master-us-test1-a"
433+
base_instance_name = "master-us-test1-a"
434+
lifecycle {
435+
ignore_changes = [target_size]
436+
}
434437
list_managed_instances_results = "PAGINATED"
435438
name = "a-master-us-test1-a-minimal-gce-ilb-example-com"
436439
target_size = 1
@@ -441,7 +444,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
441444
}
442445

443446
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-ilb-example-com" {
444-
base_instance_name = "nodes"
447+
base_instance_name = "nodes"
448+
lifecycle {
449+
ignore_changes = [target_size]
450+
}
445451
list_managed_instances_results = "PAGINATED"
446452
name = "a-nodes-minimal-gce-ilb-example-com"
447453
target_size = 2

tests/integration/update_cluster/minimal_gce_ilb_longclustername/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,10 @@ resource "google_compute_forwarding_rule" "api-us-test1-minimal-gce-with-a-very-
430430
}
431431

432432
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" {
433-
base_instance_name = "master-us-test1-a"
433+
base_instance_name = "master-us-test1-a"
434+
lifecycle {
435+
ignore_changes = [target_size]
436+
}
434437
list_managed_instances_results = "PAGINATED"
435438
name = "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f"
436439
target_size = 1
@@ -441,7 +444,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
441444
}
442445

443446
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" {
444-
base_instance_name = "nodes"
447+
base_instance_name = "nodes"
448+
lifecycle {
449+
ignore_changes = [target_size]
450+
}
445451
list_managed_instances_results = "PAGINATED"
446452
name = "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj"
447453
target_size = 2

tests/integration/update_cluster/minimal_gce_longclustername/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-gce-with-a-very
397397
}
398398

399399
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f" {
400-
base_instance_name = "master-us-test1-a"
400+
base_instance_name = "master-us-test1-a"
401+
lifecycle {
402+
ignore_changes = [target_size]
403+
}
401404
list_managed_instances_results = "PAGINATED"
402405
name = "a-master-us-test1-a-minimal-gce-with-a-very-very-very-ve-j0fh8f"
403406
target_size = 1
@@ -408,7 +411,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
408411
}
409412

410413
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj" {
411-
base_instance_name = "nodes"
414+
base_instance_name = "nodes"
415+
lifecycle {
416+
ignore_changes = [target_size]
417+
}
412418
list_managed_instances_results = "PAGINATED"
413419
name = "a-nodes-minimal-gce-with-a-very-very-very-very-very-long-qk78uj"
414420
target_size = 2

tests/integration/update_cluster/minimal_gce_plb/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,10 @@ resource "google_compute_http_health_check" "api-minimal-gce-plb-example-com" {
453453
}
454454

455455
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-plb-example-com" {
456-
base_instance_name = "master-us-test1-a"
456+
base_instance_name = "master-us-test1-a"
457+
lifecycle {
458+
ignore_changes = [target_size]
459+
}
457460
list_managed_instances_results = "PAGINATED"
458461
name = "a-master-us-test1-a-minimal-gce-plb-example-com"
459462
target_pools = [google_compute_target_pool.api-minimal-gce-plb-example-com.self_link]
@@ -465,7 +468,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
465468
}
466469

467470
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-plb-example-com" {
468-
base_instance_name = "nodes"
471+
base_instance_name = "nodes"
472+
lifecycle {
473+
ignore_changes = [target_size]
474+
}
469475
list_managed_instances_results = "PAGINATED"
470476
name = "a-nodes-minimal-gce-plb-example-com"
471477
target_size = 2

tests/integration/update_cluster/minimal_gce_private/kubernetes.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,10 @@ resource "google_compute_firewall" "ssh-external-to-node-minimal-gce-private-exa
397397
}
398398

399399
resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gce-private-example-com" {
400-
base_instance_name = "master-us-test1-a"
400+
base_instance_name = "master-us-test1-a"
401+
lifecycle {
402+
ignore_changes = [target_size]
403+
}
401404
list_managed_instances_results = "PAGINATED"
402405
name = "a-master-us-test1-a-minimal-gce-private-example-com"
403406
target_size = 1
@@ -408,7 +411,10 @@ resource "google_compute_instance_group_manager" "a-master-us-test1-a-minimal-gc
408411
}
409412

410413
resource "google_compute_instance_group_manager" "a-nodes-minimal-gce-private-example-com" {
411-
base_instance_name = "nodes"
414+
base_instance_name = "nodes"
415+
lifecycle {
416+
ignore_changes = [target_size]
417+
}
412418
list_managed_instances_results = "PAGINATED"
413419
name = "a-nodes-minimal-gce-private-example-com"
414420
target_size = 2

upup/pkg/fi/cloudup/gcetasks/instancegroupmanager.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (e *InstanceGroupManager) Find(c *fi.CloudupContext) (*InstanceGroupManager
6262
actual.Name = &r.Name
6363
actual.Zone = fi.PtrTo(lastComponent(r.Zone))
6464
actual.BaseInstanceName = &r.BaseInstanceName
65-
actual.TargetSize = &r.TargetSize
65+
actual.TargetSize = e.TargetSize
6666
actual.InstanceTemplate = &InstanceTemplate{ID: fi.PtrTo(lastComponent(r.InstanceTemplate))}
6767
actual.ListManagedInstancesResults = r.ListManagedInstancesResults
6868

@@ -175,6 +175,7 @@ func (_ *InstanceGroupManager) RenderGCE(t *gce.GCEAPITarget, a, e, changes *Ins
175175
}
176176

177177
type terraformInstanceGroupManager struct {
178+
Lifecycle *terraform.Lifecycle `cty:"lifecycle"`
178179
Name *string `cty:"name"`
179180
Zone *string `cty:"zone"`
180181
BaseInstanceName *string `cty:"base_instance_name"`
@@ -196,6 +197,9 @@ func (_ *InstanceGroupManager) RenderTerraform(t *terraform.TerraformTarget, a,
196197
TargetSize: e.TargetSize,
197198
ListManagedInstancesResults: e.ListManagedInstancesResults,
198199
}
200+
tf.Lifecycle = &terraform.Lifecycle{
201+
IgnoreChanges: []*terraformWriter.Literal{{String: "target_size"}},
202+
}
199203
tf.Version = &terraformVersion{
200204
InstanceTemplate: e.InstanceTemplate.TerraformLink(),
201205
}

0 commit comments

Comments
 (0)