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 Cloud regional workers and improvements #49

Merged
merged 4 commits into from
Nov 4, 2017
Merged

Conversation

dghubble
Copy link
Member

@dghubble dghubble commented Nov 4, 2017

  • Change Google Cloud module to require the region variable (CHANGE)
  • Worker managed instance group creates workers across zones in a region.
    • Example: region: us-central1 means a worker may go in us-central1-c, us-central1-f, us-central1-a, etc.
    • Tolerate Google Cloud zone failures or capacity problems
    • Tradeoff: Changing user-data will no longer automatically roll workers. You can delete old instances and they'll be replaced by new instances. Worthwhile tradeoff since mutating user-data should only be needed in special cases. See Add new resource region_instance_group_manager hashicorp/terraform-provider-google#394
  • Improvement/Note for Preemptible VMs:
    • If worker preemption is enabled, replacement instances can now be drawn from any zone in the region, which should avoid scheduling issues that were possible before if a single zone aggressively preempted instances (presumably due to Google Cloud capacity).

Cleanups:

  • Fix typo in internal template variable name: ssh_authorized_keys should be ssh_authorized_key to match the user facing variable which only allows a single SSH authorized key
  • Remove controller_preemptible option: Controller preemption is not safe or covered in documentation. Delete the option, the variable is a holdover from old experiments (BREAKING)
  • Require google provider plugin 1.1 or higher which includes fix: terraform plan always finds a disk device_name diff hashicorp/terraform-provider-google#574. Allows us to remove the static persistent disk name workaround (CHANGE)

* Change Google Cloud module to require the `region` variable
* Workers are created in random zones within the given region
* Tolerate Google Cloud zone failures or capacity issues
* If workers are preempted (if enabled), replacement instances can
be drawn from any zone in the region, which should avoid scheduling
issues that were possible before if a single zone aggressively
preempts instances (presumably due to Google Cloud capacity)
* ssh_authorized_keys should be ssh_authorized_key to match the user
facing variable which only allows a single SSH authorized key
* Controller preemption is not safe or covered in documentation. Delete
the option, the variable is a holdover from old experiments
* Note, worker_preemeptible is still a great feature that's supported
* Require google provider plugin 1.1 or higher which includes fix:
hashicorp/terraform-provider-google#574
* Remove workaround which statically set the persistent disk name
* Original reasons for workaround in a97df83 or GH #34
@dghubble dghubble merged commit a48dd9e into master Nov 4, 2017
@dghubble dghubble deleted the regional-workers branch November 5, 2017 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

terraform plan always finds a disk device_name diff
1 participant