Skip to content

Commit 0b9e382

Browse files
fix: remove GKE enable logic (#2000)
1 parent e617600 commit 0b9e382

5 files changed

Lines changed: 30 additions & 55 deletions

File tree

aspell_custom.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,6 @@ IPv4
2929
IPv6
3030
json
3131
backport
32+
GKE
3233
PDB
3334
PC

rancher2/config.go

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1002,55 +1002,6 @@ func (c *Config) GetUserIDByName(name string) (string, error) {
10021002
return user.ID, nil
10031003
}
10041004

1005-
func (c *Config) activateDriver(id string, interval time.Duration) error {
1006-
if id == googleConfigDriver {
1007-
return c.activateKontainerDriver(id, interval)
1008-
}
1009-
1010-
return c.activateNodeDriver(id, interval)
1011-
}
1012-
1013-
func (c *Config) activateKontainerDriver(id string, interval time.Duration) error {
1014-
if id == "" {
1015-
return fmt.Errorf("[ERROR] Node Driver id is nil")
1016-
}
1017-
1018-
client, err := c.ManagementClient()
1019-
if err != nil {
1020-
return err
1021-
}
1022-
1023-
ctx, cancel := context.WithTimeout(context.Background(), interval)
1024-
defer cancel()
1025-
for updated := false; ; {
1026-
driver, err := client.KontainerDriver.ByID(id)
1027-
if err != nil && !IsServerError(err) && !IsUnknownSchemaType(err) && !IsNotFound(err) && !IsForbidden(err) {
1028-
return fmt.Errorf("[ERROR] Getting Node Driver %s: %v", id, err)
1029-
}
1030-
if driver != nil {
1031-
if driver.State == "active" {
1032-
return nil
1033-
}
1034-
1035-
if !updated {
1036-
err = client.KontainerDriver.ActionActivate(driver)
1037-
if err == nil {
1038-
updated = true
1039-
continue
1040-
}
1041-
if !IsServerError(err) && !IsUnknownSchemaType(err) {
1042-
return fmt.Errorf("[ERROR] Activating Node Driver %s: %v", id, err)
1043-
}
1044-
}
1045-
}
1046-
select {
1047-
case <-time.After(rancher2RetriesWait * time.Second):
1048-
case <-ctx.Done():
1049-
return fmt.Errorf("Timeout activating Node Driver %s: %v", id, err)
1050-
}
1051-
}
1052-
}
1053-
10541005
func (c *Config) activateNodeDriver(id string, interval time.Duration) error {
10551006
if id == "" {
10561007
return fmt.Errorf("[ERROR] Node Driver id is nil")

rancher2/resource_rancher2_cloud_credential.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func resourceRancher2CloudCredentialCreate(d *schema.ResourceData, meta interfac
5050
}
5151

5252
if nodeDriver, ok := d.Get("driver").(string); ok && nodeDriver != s3ConfigDriver {
53-
err = meta.(*Config).activateDriver(nodeDriver, d.Timeout(schema.TimeoutCreate))
53+
err = meta.(*Config).activateNodeDriver(nodeDriver, d.Timeout(schema.TimeoutCreate))
5454
if err != nil {
5555
return err
5656
}
@@ -127,14 +127,21 @@ func resourceRancher2CloudCredentialUpdate(d *schema.ResourceData, meta interfac
127127
"labels": toMapString(d.Get("labels").(map[string]interface{})),
128128
}
129129

130-
switch driver := d.Get("driver").(string); driver {
130+
driver := d.Get("driver").(string)
131+
// migrate google cloud credential to node driver format, not GKE.
132+
if driver == oldGoogleConfigKontainerDriver {
133+
driver = googleConfigNodeDriver
134+
d.Set("driver", driver)
135+
}
136+
137+
switch driver {
131138
case amazonec2ConfigDriver:
132139
update["amazonec2credentialConfig"] = expandCloudCredentialAmazonec2(d.Get("amazonec2_credential_config").([]interface{}))
133140
case azureConfigDriver:
134141
update["azurecredentialConfig"] = expandCloudCredentialAzure(d.Get("azure_credential_config").([]interface{}))
135142
case digitaloceanConfigDriver:
136143
update["digitaloceancredentialConfig"] = expandCloudCredentialDigitalocean(d.Get("digitalocean_credential_config").([]interface{}))
137-
case googleConfigDriver:
144+
case googleConfigNodeDriver:
138145
update["googlecredentialConfig"] = expandCloudCredentialGoogle(d.Get("google_credential_config").([]interface{}))
139146
case harvesterConfigDriver:
140147
update["harvestercredentialConfig"] = expandCloudCredentialHarvester(d.Get("harvester_credential_config").([]interface{}))

rancher2/schema_cloud_credential_google.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,17 @@ import (
77
)
88

99
const (
10-
googleConfigDriver = "googlekubernetesengine"
10+
// Before Rancher v2.12 only the GKE Kontainer driver was supported,
11+
// and the provider would automatically enable that driver when
12+
// a google cloud credential was created. Rancher v2.13 dropped support
13+
// for automatically enabling kontainer drivers, so we should migrate existing
14+
// google cloud credentials to use the google node driver instead.
15+
//
16+
// This is done to ensure that terraform state files have a uniform driver value
17+
// across all google cloud credentials, both old and new.
18+
19+
oldGoogleConfigKontainerDriver = "googlekubernetesengine"
20+
googleConfigNodeDriver = "google"
1121
)
1222

1323
//Types

rancher2/structure_cloud_credential.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ func flattenCloudCredential(d *schema.ResourceData, in *CloudCredential) error {
2020
}
2121

2222
driver := d.Get("driver").(string)
23+
// migrate google cloud credential to node driver format, not GKE.
24+
if driver == oldGoogleConfigKontainerDriver {
25+
driver = googleConfigNodeDriver
26+
d.Set("driver", driver)
27+
}
28+
2329
switch driver {
2430
case amazonec2ConfigDriver:
2531
v, ok := d.Get("amazonec2_credential_config").([]interface{})
@@ -48,7 +54,7 @@ func flattenCloudCredential(d *schema.ResourceData, in *CloudCredential) error {
4854
if err != nil {
4955
return err
5056
}
51-
case googleConfigDriver:
57+
case googleConfigNodeDriver:
5258
v, ok := d.Get("google_credential_config").([]interface{})
5359
if !ok {
5460
v = []interface{}{}
@@ -157,7 +163,7 @@ func expandCloudCredential(in *schema.ResourceData) *CloudCredential {
157163

158164
if v, ok := in.Get("google_credential_config").([]interface{}); ok && len(v) > 0 {
159165
obj.GoogleCredentialConfig = expandCloudCredentialGoogle(v)
160-
in.Set("driver", googleConfigDriver)
166+
in.Set("driver", googleConfigNodeDriver)
161167
}
162168

163169
if v, ok := in.Get("harvester_credential_config").([]interface{}); ok && len(v) > 0 {

0 commit comments

Comments
 (0)