Merge pull request #2315 from justinsb/use_version_selector_for_critical_pods

Use our new version selection capabilities for kube-dns & dns-controller
This commit is contained in:
Eric Hole 2017-04-09 09:35:26 -04:00 committed by GitHub
commit 6030efc874
5 changed files with 100 additions and 42 deletions

View File

@ -95,25 +95,37 @@ func (b *BootstrapChannelBuilder) buildManifest() (*channelsapi.Addons, map[stri
{ {
key := "kube-dns.addons.k8s.io" key := "kube-dns.addons.k8s.io"
version := "1.6.1-alpha.2"
var version string {
var location string location := key + "/pre-k8s-1.6.yaml"
switch { id := "pre-k8s-1.6"
case kv.Major == 1 && kv.Minor <= 5:
version = "1.5.1"
location = key + "/k8s-1.5.yaml"
default:
version = "1.6.0"
location = key + "/k8s-1.6.yaml"
}
addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{
Name: fi.String(key), Name: fi.String(key),
Version: fi.String(version), Version: fi.String(version),
Selector: map[string]string{"k8s-addon": key}, Selector: map[string]string{"k8s-addon": key},
Manifest: fi.String(location), Manifest: fi.String(location),
KubernetesVersion: "<1.6.0",
Id: id,
}) })
manifests[key] = "addons/" + location manifests[key+"-"+id] = "addons/" + location
}
{
location := key + "/k8s-1.6.yaml"
id := "k8s-1.6"
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.6.0",
Id: id,
})
manifests[key+"-"+id] = "addons/" + location
}
} }
{ {
@ -133,27 +145,37 @@ func (b *BootstrapChannelBuilder) buildManifest() (*channelsapi.Addons, map[stri
{ {
key := "dns-controller.addons.k8s.io" key := "dns-controller.addons.k8s.io"
version := "1.6.1-alpha.2"
var version string {
var location string location := key + "/pre-k8s-1.6.yaml"
switch { id := "pre-k8s-1.6"
case kv.Major == 1 && kv.Minor <= 5:
// This is awkward... we would like to do version 1.6.0,
// but if we do then we won't get the new manifest when we upgrade to 1.6.0
version = "1.5.3"
location = key + "/k8s-1.5.yaml"
default:
version = "1.6.0"
location = key + "/k8s-1.6.yaml"
}
addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{ addons.Spec.Addons = append(addons.Spec.Addons, &channelsapi.AddonSpec{
Name: fi.String(key), Name: fi.String(key),
Version: fi.String(version), Version: fi.String(version),
Selector: map[string]string{"k8s-addon": key}, Selector: map[string]string{"k8s-addon": key},
Manifest: fi.String(location), Manifest: fi.String(location),
KubernetesVersion: "<1.6.0",
Id: id,
}) })
manifests[key] = "addons/" + location manifests[key+"-"+id] = "addons/" + location
}
{
location := key + "/k8s-1.6.yaml"
id := "k8s-1.6"
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.6.0",
Id: id,
})
manifests[key+"-"+id] = "addons/" + location
}
} }
{ {

View File

@ -9,21 +9,39 @@ spec:
selector: selector:
k8s-addon: core.addons.k8s.io k8s-addon: core.addons.k8s.io
version: 1.4.0 version: 1.4.0
- manifest: kube-dns.addons.k8s.io/k8s-1.5.yaml - id: pre-k8s-1.6
kubernetesVersion: <1.6.0
manifest: kube-dns.addons.k8s.io/pre-k8s-1.6.yaml
name: kube-dns.addons.k8s.io name: kube-dns.addons.k8s.io
selector: selector:
k8s-addon: kube-dns.addons.k8s.io k8s-addon: kube-dns.addons.k8s.io
version: 1.5.1 version: 1.6.1-alpha.2
- id: k8s-1.6
kubernetesVersion: '>=1.6.0'
manifest: kube-dns.addons.k8s.io/k8s-1.6.yaml
name: kube-dns.addons.k8s.io
selector:
k8s-addon: kube-dns.addons.k8s.io
version: 1.6.1-alpha.2
- manifest: limit-range.addons.k8s.io/v1.5.0.yaml - manifest: limit-range.addons.k8s.io/v1.5.0.yaml
name: limit-range.addons.k8s.io name: limit-range.addons.k8s.io
selector: selector:
k8s-addon: limit-range.addons.k8s.io k8s-addon: limit-range.addons.k8s.io
version: 1.5.0 version: 1.5.0
- manifest: dns-controller.addons.k8s.io/k8s-1.5.yaml - id: pre-k8s-1.6
kubernetesVersion: <1.6.0
manifest: dns-controller.addons.k8s.io/pre-k8s-1.6.yaml
name: dns-controller.addons.k8s.io name: dns-controller.addons.k8s.io
selector: selector:
k8s-addon: dns-controller.addons.k8s.io k8s-addon: dns-controller.addons.k8s.io
version: 1.5.3 version: 1.6.1-alpha.2
- id: k8s-1.6
kubernetesVersion: '>=1.6.0'
manifest: dns-controller.addons.k8s.io/k8s-1.6.yaml
name: dns-controller.addons.k8s.io
selector:
k8s-addon: dns-controller.addons.k8s.io
version: 1.6.1-alpha.2
- manifest: storage-aws.addons.k8s.io/v1.6.0.yaml - manifest: storage-aws.addons.k8s.io/v1.6.0.yaml
name: storage-aws.addons.k8s.io name: storage-aws.addons.k8s.io
selector: selector:

View File

@ -9,21 +9,39 @@ spec:
selector: selector:
k8s-addon: core.addons.k8s.io k8s-addon: core.addons.k8s.io
version: 1.4.0 version: 1.4.0
- manifest: kube-dns.addons.k8s.io/k8s-1.5.yaml - id: pre-k8s-1.6
kubernetesVersion: <1.6.0
manifest: kube-dns.addons.k8s.io/pre-k8s-1.6.yaml
name: kube-dns.addons.k8s.io name: kube-dns.addons.k8s.io
selector: selector:
k8s-addon: kube-dns.addons.k8s.io k8s-addon: kube-dns.addons.k8s.io
version: 1.5.1 version: 1.6.1-alpha.2
- id: k8s-1.6
kubernetesVersion: '>=1.6.0'
manifest: kube-dns.addons.k8s.io/k8s-1.6.yaml
name: kube-dns.addons.k8s.io
selector:
k8s-addon: kube-dns.addons.k8s.io
version: 1.6.1-alpha.2
- manifest: limit-range.addons.k8s.io/v1.5.0.yaml - manifest: limit-range.addons.k8s.io/v1.5.0.yaml
name: limit-range.addons.k8s.io name: limit-range.addons.k8s.io
selector: selector:
k8s-addon: limit-range.addons.k8s.io k8s-addon: limit-range.addons.k8s.io
version: 1.5.0 version: 1.5.0
- manifest: dns-controller.addons.k8s.io/k8s-1.5.yaml - id: pre-k8s-1.6
kubernetesVersion: <1.6.0
manifest: dns-controller.addons.k8s.io/pre-k8s-1.6.yaml
name: dns-controller.addons.k8s.io name: dns-controller.addons.k8s.io
selector: selector:
k8s-addon: dns-controller.addons.k8s.io k8s-addon: dns-controller.addons.k8s.io
version: 1.5.3 version: 1.6.1-alpha.2
- id: k8s-1.6
kubernetesVersion: '>=1.6.0'
manifest: dns-controller.addons.k8s.io/k8s-1.6.yaml
name: dns-controller.addons.k8s.io
selector:
k8s-addon: dns-controller.addons.k8s.io
version: 1.6.1-alpha.2
- manifest: storage-aws.addons.k8s.io/v1.6.0.yaml - manifest: storage-aws.addons.k8s.io/v1.6.0.yaml
name: storage-aws.addons.k8s.io name: storage-aws.addons.k8s.io
selector: selector: