Merge pull request #11861 from johngmyers/bootstrap-simplify

Don't include irrelevant bootstrap addons
This commit is contained in:
Kubernetes Prow Robot 2021-06-24 22:12:45 -07:00 committed by GitHub
commit 21a3e80ce8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 31 deletions

View File

@ -6,6 +6,7 @@ go_library(
importpath = "k8s.io/kops/channels/pkg/api",
visibility = ["//visibility:public"],
deps = [
"//pkg/values:go_default_library",
"//vendor/github.com/blang/semver/v4:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
],

View File

@ -21,6 +21,7 @@ import (
"github.com/blang/semver/v4"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kops/pkg/values"
)
type Addons struct {
@ -74,7 +75,10 @@ type AddonSpec struct {
func (a *Addons) Verify() error {
for _, addon := range a.Spec.Addons {
if addon != nil && addon.Version != nil && *addon.Version != "" {
if addon == nil {
continue
}
if addon.Version != nil && *addon.Version != "" {
name := a.ObjectMeta.Name
if addon.Name != nil {
name = *addon.Name
@ -85,6 +89,9 @@ func (a *Addons) Verify() error {
return fmt.Errorf("addon %q has unparseable version %q: %v", name, *addon.Version, err)
}
}
if addon.KubernetesVersion != "" {
return fmt.Errorf("bootstrap addon %q has a KubernetesVersion", values.StringValue(addon.Name))
}
}
return nil

View File

@ -622,13 +622,12 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*chann
id := "k8s-1.9"
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.9.0",
Id: id,
NeedsPKI: true,
Name: fi.String(key),
Version: fi.String(version),
Selector: map[string]string{"k8s-addon": key},
Manifest: fi.String(location),
Id: id,
NeedsPKI: true,
})
}
@ -984,7 +983,7 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*chann
if kops.CloudProviderID(b.Cluster.Spec.CloudProvider) == kops.CloudProviderAWS {
if b.Cluster.Spec.ExternalCloudControllerManager != nil {
if b.IsKubernetesGTE("1.18") && b.Cluster.Spec.ExternalCloudControllerManager != nil {
key := "aws-cloud-controller.addons.k8s.io"
// Version refers to the addon configuration. The CCM tag is given by
// the template function AWSCCMTag()
@ -993,12 +992,11 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*chann
id := "k8s-1.18"
location := key + "/" + id + ".yaml"
addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{
Name: fi.String(key),
Version: fi.String(version),
Manifest: fi.String(location),
Selector: map[string]string{"k8s-addon": key},
KubernetesVersion: ">=1.18.0",
Id: id,
Name: fi.String(key),
Version: fi.String(version),
Manifest: fi.String(location),
Selector: map[string]string{"k8s-addon": key},
Id: id,
})
}
}
@ -1010,12 +1008,11 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*chann
id := "k8s-1.17"
location := key + "/" + id + ".yaml"
addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{
Name: fi.String(key),
Version: fi.String(version),
Manifest: fi.String(location),
Selector: map[string]string{"k8s-addon": key},
KubernetesVersion: ">=1.17.0",
Id: id,
Name: fi.String(key),
Version: fi.String(version),
Manifest: fi.String(location),
Selector: map[string]string{"k8s-addon": key},
Id: id,
})
}
@ -1026,7 +1023,7 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*chann
}
}
if b.Cluster.Spec.SnapshotController != nil && fi.BoolValue(b.Cluster.Spec.SnapshotController.Enabled) {
if b.IsKubernetesGTE("1.20") && b.Cluster.Spec.SnapshotController != nil && fi.BoolValue(b.Cluster.Spec.SnapshotController.Enabled) {
key := "snapshot-controller.addons.k8s.io"
version := "4.0.0-kops.1"
@ -1034,13 +1031,12 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*chann
id := "k8s-1.20"
location := key + "/" + id + ".yaml"
addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{
Name: fi.String(key),
Version: fi.String(version),
Manifest: fi.String(location),
Selector: map[string]string{"k8s-addon": key},
KubernetesVersion: ">=1.20.0",
NeedsPKI: true,
Id: id,
Name: fi.String(key),
Version: fi.String(version),
Manifest: fi.String(location),
Selector: map[string]string{"k8s-addon": key},
NeedsPKI: true,
Id: id,
})
}
}

View File

@ -53,7 +53,6 @@ spec:
k8s-addon: storage-aws.addons.k8s.io
version: 1.17.0
- id: k8s-1.18
kubernetesVersion: '>=1.18.0'
manifest: aws-cloud-controller.addons.k8s.io/k8s-1.18.yaml
manifestHash: 802a42830a525a9083c80e2ad58efb72ea34945e
name: aws-cloud-controller.addons.k8s.io
@ -61,7 +60,6 @@ spec:
k8s-addon: aws-cloud-controller.addons.k8s.io
version: 1.18.0-kops.1
- id: k8s-1.17
kubernetesVersion: '>=1.17.0'
manifest: aws-ebs-csi-driver.addons.k8s.io/k8s-1.17.yaml
manifestHash: 59c7723a8a9271558c6a87ccb0f0c61c2e36c6ed
name: aws-ebs-csi-driver.addons.k8s.io