From fe173d6d5d03b73fa4e9b8d196c90fbb99e2c10a Mon Sep 17 00:00:00 2001 From: Josh Branham Date: Thu, 11 Jun 2020 13:00:26 -0400 Subject: [PATCH 1/3] Explicitly set default storageclass to support upgrades --- .../resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml b/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml index 48838ec17a..68386b89ab 100644 --- a/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml +++ b/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml @@ -14,6 +14,8 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gp2 + annotations: + storageclass.beta.kubernetes.io/is-default-class: "false" labels: k8s-addon: storage-aws.addons.k8s.io provisioner: kubernetes.io/aws-ebs From 997f32122d0d5bde5d561c922c62fc6484a25750 Mon Sep 17 00:00:00 2001 From: Josh Branham Date: Thu, 11 Jun 2020 13:12:03 -0400 Subject: [PATCH 2/3] Update expected --- upup/models/bindata.go | 2 ++ .../tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml | 2 +- .../cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml | 2 +- .../cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml | 2 +- .../cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/upup/models/bindata.go b/upup/models/bindata.go index 4cc8d987d2..17709174a7 100644 --- a/upup/models/bindata.go +++ b/upup/models/bindata.go @@ -15604,6 +15604,8 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gp2 + annotations: + storageclass.beta.kubernetes.io/is-default-class: "false" labels: k8s-addon: storage-aws.addons.k8s.io provisioner: kubernetes.io/aws-ebs diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml index d3205a5e60..403ee9a0d0 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml @@ -73,7 +73,7 @@ spec: - id: v1.15.0 kubernetesVersion: '>=1.15.0' manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: 5e829e8981470696bef2ed5e96839ea83cb36d24 + manifestHash: 00cf6e46e25b736b2da93c6025ce482474d83904 name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml index 6deef0ca25..03fb5e0ddf 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml @@ -73,7 +73,7 @@ spec: - id: v1.15.0 kubernetesVersion: '>=1.15.0' manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: 5e829e8981470696bef2ed5e96839ea83cb36d24 + manifestHash: 00cf6e46e25b736b2da93c6025ce482474d83904 name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml index a6e8975649..8a07c8d5ff 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml @@ -73,7 +73,7 @@ spec: - id: v1.15.0 kubernetesVersion: '>=1.15.0' manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: 5e829e8981470696bef2ed5e96839ea83cb36d24 + manifestHash: 00cf6e46e25b736b2da93c6025ce482474d83904 name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml index ffe7b56594..6d852452ab 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml @@ -73,7 +73,7 @@ spec: - id: v1.15.0 kubernetesVersion: '>=1.15.0' manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: 5e829e8981470696bef2ed5e96839ea83cb36d24 + manifestHash: 00cf6e46e25b736b2da93c6025ce482474d83904 name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io From 2a9181e7b276f972f519969391a9e4cbcb25b534 Mon Sep 17 00:00:00 2001 From: Josh Branham Date: Sat, 13 Jun 2020 10:27:17 -0400 Subject: [PATCH 3/3] Add to release notes --- docs/releases/1.17-NOTES.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/releases/1.17-NOTES.md b/docs/releases/1.17-NOTES.md index 22fe3749c0..62b94f2a1d 100644 --- a/docs/releases/1.17-NOTES.md +++ b/docs/releases/1.17-NOTES.md @@ -71,6 +71,8 @@ * Support for the "Legacy" etcd provider has been deprecated. It will not be supported for Kubernetes 1.18 or later. To migrate to the default "Manager" etcd provider see the [etcd migration documentation](../etcd3-migration.md). +* The default StorageClass `gp2` prior to Kops 1.17.0 is no longer the default, replaced by StorageClass `kops-ssd-1-17`. + # Known Issues * Kops 1.17.0-beta.1 included an update for AWS IAM Authenticator to 0.5.0. @@ -79,6 +81,11 @@ The workaround is to specify the old 0.4.0 image with `spec.authentication.aws.image=602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-iam-authenticator:v0.4.0`. For the 1.17.0 release, this change was rolled back, and the AWS IAM authenticator defaults to version 0.4.0 +* Kops 1.17.0 includes a new StorageClass `kops-ssd-1-17` which is set as the default via the annotation `"storageclass.beta.kubernetes.io/is-default-class":"true"`. + If you have modified the previous `gp2` StorageClass, it could conflict with the defaulting behavior. + To resolve, patch the `gp2` StorageClass to have the annotation `"storageclass.beta.kubernetes.io/is-default-class":"false"`, which aligns with a patch to Kops 1.17.1 as well. + `kubectl patch storageclass.storage.k8s.io/gp2 --patch '{"metadata": {"annotations": {"storageclass.beta.kubernetes.io/is-default-class": "false"}}}'` + # Full change list since 1.16.0 release ## 1.16.0-alpha.1 to 1.17.0-alpha.1