From cacbcb3a2da3d62c2c3ec9ebef79f79d11bde923 Mon Sep 17 00:00:00 2001 From: Mike Splain Date: Fri, 20 Oct 2017 10:13:29 -0400 Subject: [PATCH] Add a v1.7.0 storage addon resource. Fixes #3298 --- .../storage-aws.addons.k8s.io/v1.7.0.yaml | 23 ++++++ .../storage-gce.addons.k8s.io/v1.7.0.yaml | 13 ++++ .../pkg/fi/cloudup/bootstrapchannelbuilder.go | 76 ++++++++++++++----- .../kopeio-vxlan/manifest.yaml | 13 +++- .../simple/manifest.yaml | 13 +++- .../weave/manifest.yaml | 13 +++- 6 files changed, 127 insertions(+), 24 deletions(-) create mode 100644 upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.7.0.yaml create mode 100644 upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml diff --git a/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.7.0.yaml b/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.7.0.yaml new file mode 100644 index 0000000000000..8e5b256d4b9d5 --- /dev/null +++ b/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.7.0.yaml @@ -0,0 +1,23 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: default + labels: + k8s-addon: storage-aws.addons.k8s.io +provisioner: kubernetes.io/aws-ebs +parameters: + type: gp2 + +--- + +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: gp2 + annotations: + storageclass.beta.kubernetes.io/is-default-class: "true" + labels: + k8s-addon: storage-aws.addons.k8s.io +provisioner: kubernetes.io/aws-ebs +parameters: + type: gp2 diff --git a/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml b/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml new file mode 100644 index 0000000000000..ff05db3cb3b1f --- /dev/null +++ b/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml @@ -0,0 +1,13 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: standard + annotations: + storageclass.beta.kubernetes.io/is-default-class: "true" + labels: + kubernetes.io/cluster-service: "true" + k8s-addon: storage-gce.addons.k8s.io + addonmanager.kubernetes.io/mode: EnsureExists +provisioner: kubernetes.io/gce-pd +parameters: + type: pd-standard diff --git a/upup/pkg/fi/cloudup/bootstrapchannelbuilder.go b/upup/pkg/fi/cloudup/bootstrapchannelbuilder.go index 8ae29007ea121..2ed113dcbfcb5 100644 --- a/upup/pkg/fi/cloudup/bootstrapchannelbuilder.go +++ b/upup/pkg/fi/cloudup/bootstrapchannelbuilder.go @@ -238,32 +238,72 @@ func (b *BootstrapChannelBuilder) buildManifest() (*channelsapi.Addons, map[stri if kops.CloudProviderID(b.cluster.Spec.CloudProvider) == kops.CloudProviderAWS { key := "storage-aws.addons.k8s.io" - version := "1.6.0" + version := "1.7.0" - location := key + "/v" + version + ".yaml" + { + id := "v1.7.0" + location := key + "/" + id + ".yaml" - addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ - Name: fi.String(key), - Version: fi.String(version), - Selector: map[string]string{"k8s-addon": key}, - Manifest: fi.String(location), - }) - manifests[key] = "addons/" + location + addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ + Name: fi.String(key), + Version: fi.String(version), + Selector: map[string]string{"k8s-addon": key}, + Manifest: fi.String(location), + KubernetesVersion: ">=1.7.0", + Id: id, + }) + manifests[key+"-"+id] = "addons/" + location + } + + { + id := "v1.6.0" + location := key + "/" + id + ".yaml" + + addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ + Name: fi.String(key), + Version: fi.String(version), + Selector: map[string]string{"k8s-addon": key}, + Manifest: fi.String(location), + KubernetesVersion: "<1.7.0", + Id: id, + }) + manifests[key+"-"+id] = "addons/" + location + } } if kops.CloudProviderID(b.cluster.Spec.CloudProvider) == kops.CloudProviderGCE { key := "storage-gce.addons.k8s.io" - version := "1.6.0" + version := "1.7.0" - location := key + "/v" + version + ".yaml" + { + id := "v1.6.0" + location := key + "/" + id + ".yaml" - addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ - Name: fi.String(key), - Version: fi.String(version), - Selector: map[string]string{"k8s-addon": key}, - Manifest: fi.String(location), - }) - manifests[key] = "addons/" + location + addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ + Name: fi.String(key), + Version: fi.String(version), + Selector: map[string]string{"k8s-addon": key}, + Manifest: fi.String(location), + KubernetesVersion: "<1.7.0", + Id: id, + }) + manifests[key+"-"+id] = "addons/" + location + } + + { + id := "v1.7.0" + location := key + "/" + id + ".yaml" + + addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ + Name: fi.String(key), + Version: fi.String(version), + Selector: map[string]string{"k8s-addon": key}, + Manifest: fi.String(location), + KubernetesVersion: ">=1.7.0", + Id: id, + }) + manifests[key+"-"+id] = "addons/" + location + } } // The role.kubernetes.io/networking is used to label anything related to a networking addin, diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/kopeio-vxlan/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/kopeio-vxlan/manifest.yaml index ebedbe911ce31..0c601377b8c61 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/kopeio-vxlan/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/kopeio-vxlan/manifest.yaml @@ -42,11 +42,20 @@ spec: selector: k8s-addon: dns-controller.addons.k8s.io version: 1.7.1 - - manifest: storage-aws.addons.k8s.io/v1.6.0.yaml + - id: v1.7.0 + kubernetesVersion: '>=1.7.0' + manifest: storage-aws.addons.k8s.io/v1.7.0.yaml name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io - version: 1.6.0 + version: 1.7.0 + - id: v1.6.0 + kubernetesVersion: <1.7.0 + manifest: storage-aws.addons.k8s.io/v1.6.0.yaml + name: storage-aws.addons.k8s.io + selector: + k8s-addon: storage-aws.addons.k8s.io + version: 1.7.0 - id: pre-k8s-1.6 kubernetesVersion: <1.6.0 manifest: networking.kope.io/pre-k8s-1.6.yaml diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml index 9f965cf67f442..ff5420688115e 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml @@ -42,8 +42,17 @@ spec: selector: k8s-addon: dns-controller.addons.k8s.io version: 1.7.1 - - manifest: storage-aws.addons.k8s.io/v1.6.0.yaml + - id: v1.7.0 + kubernetesVersion: '>=1.7.0' + manifest: storage-aws.addons.k8s.io/v1.7.0.yaml name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io - version: 1.6.0 + version: 1.7.0 + - id: v1.6.0 + kubernetesVersion: <1.7.0 + manifest: storage-aws.addons.k8s.io/v1.6.0.yaml + name: storage-aws.addons.k8s.io + selector: + k8s-addon: storage-aws.addons.k8s.io + version: 1.7.0 diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml index a5418a7de2933..1413bf4ce5827 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml @@ -42,11 +42,20 @@ spec: selector: k8s-addon: dns-controller.addons.k8s.io version: 1.7.1 - - manifest: storage-aws.addons.k8s.io/v1.6.0.yaml + - id: v1.7.0 + kubernetesVersion: '>=1.7.0' + manifest: storage-aws.addons.k8s.io/v1.7.0.yaml + name: storage-aws.addons.k8s.io + selector: + k8s-addon: storage-aws.addons.k8s.io + version: 1.7.0 + - id: v1.6.0 + kubernetesVersion: <1.7.0 + manifest: storage-aws.addons.k8s.io/v1.6.0.yaml name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io - version: 1.6.0 + version: 1.7.0 - id: pre-k8s-1.6 kubernetesVersion: <1.6.0 manifest: networking.weave/pre-k8s-1.6.yaml