Remove Haswell minimum CPU platform requirement

* Google Cloud API implements `min_cpu_platform` to mean
"use exactly this CPU"
* Fix error creating clusters in newer regions lacking Haswell
platform (e.g. europe-west2) (#438)
* Reverts #405, added in v1.13.4
* Original goal of ignoring old Ivy/Sandy bridge CPUs in older regions
will be achieved shortly anyway. Google Cloud is deprecating those CPUs
in April 2019
* https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#how_selecting_a_minimum_cpu_platform_works
This commit is contained in:
Dalton Hubble 2019-03-27 19:45:10 -07:00
parent 5a1bc423a1
commit 46196af500
6 changed files with 20 additions and 18 deletions

View File

@ -4,6 +4,12 @@ Notable changes between versions.
## Latest ## Latest
#### Google Cloud
* Remove Haswell minimum CPU platform requirement ([#439](https://github.com/poseidon/typhoon/pull/439))
* Google Cloud API implements `min_cpu_platform` to mean "use exactly this CPU". Revert [#405](https://github.com/poseidon/typhoon/pull/405) added in v1.13.4.
* Fix error creating clusters in new regions without Haswell (e.g. europe-west2) ([#438](https://github.com/poseidon/typhoon/issues/438))
## v1.13.5 ## v1.13.5
* Kubernetes [v1.13.5](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.13.md#v1135) * Kubernetes [v1.13.5](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.13.md#v1135)

View File

@ -119,8 +119,8 @@ variable "cluster_domain_suffix" {
} }
variable "download_protocol" { variable "download_protocol" {
type = "string" type = "string"
default = "https" default = "https"
description = "Protocol iPXE should use to download the kernel and initrd. Defaults to https, which requires iPXE compiled with crypto support. Unused if cached_install is true." description = "Protocol iPXE should use to download the kernel and initrd. Defaults to https, which requires iPXE compiled with crypto support. Unused if cached_install is true."
} }

View File

@ -31,10 +31,9 @@ locals {
resource "google_compute_instance" "controllers" { resource "google_compute_instance" "controllers" {
count = "${var.controller_count}" count = "${var.controller_count}"
name = "${var.cluster_name}-controller-${count.index}" name = "${var.cluster_name}-controller-${count.index}"
zone = "${element(local.zones, count.index)}" zone = "${element(local.zones, count.index)}"
machine_type = "${var.controller_type}" machine_type = "${var.controller_type}"
min_cpu_platform = "Intel Haswell"
metadata = { metadata = {
user-data = "${element(data.ct_config.controller-ignitions.*.rendered, count.index)}" user-data = "${element(data.ct_config.controller-ignitions.*.rendered, count.index)}"

View File

@ -23,10 +23,9 @@ resource "google_compute_region_instance_group_manager" "workers" {
# Worker instance template # Worker instance template
resource "google_compute_instance_template" "worker" { resource "google_compute_instance_template" "worker" {
name_prefix = "${var.name}-worker-" name_prefix = "${var.name}-worker-"
description = "Worker Instance template" description = "Worker Instance template"
machine_type = "${var.machine_type}" machine_type = "${var.machine_type}"
min_cpu_platform = "Intel Haswell"
metadata = { metadata = {
user-data = "${data.ct_config.worker-ignition.rendered}" user-data = "${data.ct_config.worker-ignition.rendered}"

View File

@ -31,10 +31,9 @@ locals {
resource "google_compute_instance" "controllers" { resource "google_compute_instance" "controllers" {
count = "${var.controller_count}" count = "${var.controller_count}"
name = "${var.cluster_name}-controller-${count.index}" name = "${var.cluster_name}-controller-${count.index}"
zone = "${element(local.zones, count.index)}" zone = "${element(local.zones, count.index)}"
machine_type = "${var.controller_type}" machine_type = "${var.controller_type}"
min_cpu_platform = "Intel Haswell"
metadata = { metadata = {
user-data = "${element(data.template_file.controller-cloudinit.*.rendered, count.index)}" user-data = "${element(data.template_file.controller-cloudinit.*.rendered, count.index)}"

View File

@ -23,10 +23,9 @@ resource "google_compute_region_instance_group_manager" "workers" {
# Worker instance template # Worker instance template
resource "google_compute_instance_template" "worker" { resource "google_compute_instance_template" "worker" {
name_prefix = "${var.name}-worker-" name_prefix = "${var.name}-worker-"
description = "Worker Instance template" description = "Worker Instance template"
machine_type = "${var.machine_type}" machine_type = "${var.machine_type}"
min_cpu_platform = "Intel Haswell"
metadata = { metadata = {
user-data = "${data.template_file.worker-cloudinit.rendered}" user-data = "${data.template_file.worker-cloudinit.rendered}"