Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

google_gke_hub_membership fails to import properly #11628

Closed
morgante opened this issue May 3, 2022 · 3 comments
Closed

google_gke_hub_membership fails to import properly #11628

morgante opened this issue May 3, 2022 · 3 comments

Comments

@morgante
Copy link

morgante commented May 3, 2022

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request.
  • Please do not leave +1 or me too comments, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.
  • If an issue is assigned to the modular-magician user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If an issue is assigned to a user, that user is claiming responsibility for the issue. If an issue is assigned to hashibot, a community member has claimed the issue already.

Terraform Version

Terraform v1.0.7
on darwin_amd64
+ provider registry.terraform.io/hashicorp/external v2.2.2
+ provider registry.terraform.io/hashicorp/google v4.20.0
+ provider registry.terraform.io/hashicorp/google-beta v4.20.0
+ provider registry.terraform.io/hashicorp/kubernetes v2.11.0
+ provider registry.terraform.io/hashicorp/null v3.1.1
+ provider registry.terraform.io/hashicorp/random v3.1.3

Affected Resource(s)

  • google_gke_hub_membership

Terraform Configuration Files

resource "google_gke_hub_membership" "primary" {
  count    = var.enable_fleet_registration ? 1 : 0
  provider = google-beta

  project       = local.hub_project_id
  membership_id = "gke-hub-membership"
  labels = {}

  endpoint {
    gke_cluster {
      resource_link = "//container.googleapis.com/${data.google_container_cluster.primary.id}"
    }
  }
  authority {
    issuer = "https://container.googleapis.com/v1/${data.google_container_cluster.primary.id}"
  }

  depends_on = [
    var.module_depends_on
  ]
}

Debug Output

https://gist.github.com/morgante/4c2a52b342da5d6b36bb22ed9f134be6

Expected Behavior

After importing an existing membership, it should be used by Terraform without attempting to recreate.

Actual Behavior

Despite supposedly successfully importing the membership, Terraform says the (required) field membership_id is unset and attempts to recreate the resource:

  # module.register.google_gke_hub_membership.primary[0] must be replaced
-/+ resource "google_gke_hub_membership" "primary" {
      ~ id            = "projects/clf-acm-bp-dev/locations/global/memberships/gke-hub-membership" -> (known after apply)
      - labels        = {} -> null
      + membership_id = "gke-hub-membership" # forces replacement
      ~ name          = "projects/clf-acm-bp-dev/locations/global/memberships/gke-hub-membership" -> (known after apply)
        # (1 unchanged attribute hidden)

      + authority {
          + issuer = "https://container.googleapis.com/v1/projects/clf-acm-bp-dev/locations/us-central1-a/clusters/simple-zonal-cluster"
        }


      - timeouts {}
        # (1 unchanged block hidden)
    }

Plan: 1 to add, 0 to change, 1 to destroy.

Steps to Reproduce

  1. Register a cluster (outside Terraform), ex. using gcloud fleet memberships register
  2. Import via Terraform: `terraform import 'module.register.google_gke_hub_membership.primary[0]' 'projects/clf-acm-bp-dev/locations/global/memberships/gke-hub-membership'
  3. Run terraform plan and observe it wants to recreate the resource

References

b/272782466

@sahsagar-google
Copy link

sahsagar-google commented Oct 9, 2023

@morgante Do you face still face this issue? This might have been resolved by now.
I am trying to reproduce it.

@sahsagar-google
Copy link

I could not reproduce the issue. This suggests that this has been fixed already. Please open it again if you find this is incorrect.

...:~/learn-terraform-gcp$ terraform import google_gke_hub_membership.default tf-fleet-test/us-central1/gke-hub-membership google_gke_hub_membership.default: Importing from ID "tf-fleet-test/us-central1/gke-hub-membership"... google_gke_hub_membership.default: Import prepared! Prepared google_gke_hub_membership for import google_gke_hub_membership.default: Refreshing state... [id=projects/tf-fleet-test/locations/us-central1/memberships/gke-hub-membership]

Copy link

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants