payload: {"action":"opened","issue":{"url":"https://api.github.com/repos/terraform-google-modules/terraform-google-kubernetes-engine/issues/128","repository_url":"https://api.github.com/repos/terraform-google-modules/terraform-google-kubernetes-engine","labels_url":"https://api.github.com/repos/terraform-google-modules/terraform-google-kubernetes-engine/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/terraform-google-modules/terraform-google-kubernetes-engine/issues/128/comments","events_url":"https://api.github.com/repos/terraform-google-modules/terraform-google-kubernetes-engine/issues/128/events","html_url":"https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/issues/128","id":427157590,"node_id":"MDU6SXNzdWU0MjcxNTc1OTA=","number":128,"title":"Node Pool Refactoring and the Limitations of `count`","user":{"login":"trotttrotttrott","id":908409,"node_id":"MDQ6VXNlcjkwODQwOQ==","avatar_url":"https://avatars2.githubusercontent.com/u/908409?v=4","gravatar_id":"","url":"https://api.github.com/users/trotttrotttrott","html_url":"https://github.com/trotttrotttrott","followers_url":"https://api.github.com/users/trotttrotttrott/followers","following_url":"https://api.github.com/users/trotttrotttrott/following{/other_user}","gists_url":"https://api.github.com/users/trotttrotttrott/gists{/gist_id}","starred_url":"https://api.github.com/users/trotttrotttrott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trotttrotttrott/subscriptions","organizations_url":"https://api.github.com/users/trotttrotttrott/orgs","repos_url":"https://api.github.com/users/trotttrotttrott/repos","events_url":"https://api.github.com/users/trotttrotttrott/events{/privacy}","received_events_url":"https://api.github.com/users/trotttrotttrott/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-03-29T20:04:51Z","updated_at":"2019-03-29T20:04:51Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"In the circumstance that a node pool must be replaced and workload transitioned with zero downtime, having all node pools defined in a list and launched with a single [`google_container_node_pool`](https://www.terraform.io/docs/providers/google/r/container_node_pool.html) resource makes it difficult to carry out.\r\n\r\nFor example, if two node pools are defined and node pool 0 must be replaced. It seems like the only safe approach is to temporarily create a third node pool, transition the workload from node pool 0 to the new node pool, change or replace node pool 0, transition the workload back to node pool 0, and finally destroy the temporary node pool so you're back to two. Which is fine, but it's probably more work than necessary.\r\n\r\nAnother consideration is if there are many node pools defined and you need to destroy node pool 0 completely. There is no way to do this without affecting node pool 1 and any other subsequently defined node pools.\r\n\r\nThis adaptability seems to be a limitation of this module. But also perhaps the use of `count` in resources in general. It might be better if users had control over their node pools as independent resources. However, leveraging `count` and a list of node pools is likely the only way to make any GKE module flexible enough for broad adoption given the current limitations of Terraform.\r\n\r\nI'm opening this issue to see if there is a better way. Or if we can come up with a way to improve conditions."}}
other: {"actor":{"display_login":"trotttrotttrott"}}