diff --git a/examples/k8s-upgrade/README.md b/examples/k8s-upgrade/README.md index 94650191c3..3a4c6e1fd6 100644 --- a/examples/k8s-upgrade/README.md +++ b/examples/k8s-upgrade/README.md @@ -48,6 +48,9 @@ To get the list of all available Kubernetes versions and upgrades, run the *orch }, { "orchestratorVersion": "1.8.7" + }, + { + "orchestratorVersion": "1.8.8" } ] }, @@ -90,6 +93,9 @@ To get the information specific to the cluster, provide its current orchestrator "orchestratorVersion": "1.7.8", "upgrades": [ { + "orchestratorVersion": "1.7.9" + }, + { "orchestratorVersion": "1.7.10" }, { @@ -99,6 +105,9 @@ To get the information specific to the cluster, provide its current orchestrator "orchestratorVersion": "1.8.0" }, { + "orchestratorVersion": "1.8.1" + }, + { "orchestratorVersion": "1.8.2" }, { @@ -109,12 +118,9 @@ To get the information specific to the cluster, provide its current orchestrator }, { "orchestratorVersion": "1.8.7" - } - { - "orchestratorVersion": "1.7.9" }, { - "orchestratorVersion": "1.8.1" + "orchestratorVersion": "1.8.8" } ] } diff --git a/examples/k8s-upgrade/v1.7.9-hybrid.json.env b/examples/k8s-upgrade/v1.7.9-hybrid.json.env index c754c7b76c..4614238e1f 100644 --- a/examples/k8s-upgrade/v1.7.9-hybrid.json.env +++ b/examples/k8s-upgrade/v1.7.9-hybrid.json.env @@ -1,2 +1,2 @@ ACSE_POSTDEPLOY=examples/k8s-upgrade/k8s-upgrade.sh -EXPECTED_ORCHESTRATOR_VERSION=1.8.7 \ No newline at end of file +EXPECTED_ORCHESTRATOR_VERSION=1.8.8 \ No newline at end of file diff --git a/examples/k8s-upgrade/v1.7.9-win.json.env b/examples/k8s-upgrade/v1.7.9-win.json.env index ba835076f8..9caedb77ab 100644 --- a/examples/k8s-upgrade/v1.7.9-win.json.env +++ b/examples/k8s-upgrade/v1.7.9-win.json.env @@ -1,2 +1,2 @@ ACSE_POSTDEPLOY=examples/k8s-upgrade/k8s-upgrade.sh -EXPECTED_ORCHESTRATOR_VERSION=1.8.7 +EXPECTED_ORCHESTRATOR_VERSION=1.8.8 diff --git a/examples/k8s-upgrade/v1.7.9.json.env b/examples/k8s-upgrade/v1.7.9.json.env index ba835076f8..9caedb77ab 100644 --- a/examples/k8s-upgrade/v1.7.9.json.env +++ b/examples/k8s-upgrade/v1.7.9.json.env @@ -1,2 +1,2 @@ ACSE_POSTDEPLOY=examples/k8s-upgrade/k8s-upgrade.sh -EXPECTED_ORCHESTRATOR_VERSION=1.8.7 +EXPECTED_ORCHESTRATOR_VERSION=1.8.8 diff --git a/pkg/acsengine/k8s_versions.go b/pkg/acsengine/k8s_versions.go index 03c8c756b8..50b862e3bd 100644 --- a/pkg/acsengine/k8s_versions.go +++ b/pkg/acsengine/k8s_versions.go @@ -120,6 +120,34 @@ var KubeConfigs = map[string]map[string]string{ "gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold), "gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold), }, + common.KubernetesVersion1Dot8Dot8: { + "hyperkube": "hyperkube-amd64:v1.8.8", + "ccm": "cloud-controller-manager-amd64:v1.8.8", + "dockerEngineVersion": "1.13.*", + DefaultDashboardAddonName: "kubernetes-dashboard-amd64:v1.8.2", + "exechealthz": "exechealthz-amd64:1.2", + "addonresizer": "addon-resizer:1.7", + "heapster": "heapster-amd64:v1.5.0", + "dns": "k8s-dns-kube-dns-amd64:1.14.8", + "addonmanager": "kube-addon-manager-amd64:v6.5", + "dnsmasq": "k8s-dns-dnsmasq-nanny-amd64:1.14.8", + "pause": "pause-amd64:3.1", + DefaultTillerAddonName: DefaultTillerImage, + DefaultReschedulerAddonName: DefaultReschedulerImage, + "windowszip": "v1.8.8-1int.zip", // TODO: update windows zip + "nodestatusfreq": DefaultKubernetesNodeStatusUpdateFrequency, + "nodegraceperiod": DefaultKubernetesCtrlMgrNodeMonitorGracePeriod, + "podeviction": DefaultKubernetesCtrlMgrPodEvictionTimeout, + "routeperiod": DefaultKubernetesCtrlMgrRouteReconciliationPeriod, + "backoffretries": strconv.Itoa(DefaultKubernetesCloudProviderBackoffRetries), + "backoffjitter": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffJitter, 'f', -1, 64), + "backoffduration": strconv.Itoa(DefaultKubernetesCloudProviderBackoffDuration), + "backoffexponent": strconv.FormatFloat(DefaultKubernetesCloudProviderBackoffExponent, 'f', -1, 64), + "ratelimitqps": strconv.FormatFloat(DefaultKubernetesCloudProviderRateLimitQPS, 'f', -1, 64), + "ratelimitbucket": strconv.Itoa(DefaultKubernetesCloudProviderRateLimitBucket), + "gchighthreshold": strconv.Itoa(DefaultKubernetesGCHighThreshold), + "gclowthreshold": strconv.Itoa(DefaultKubernetesGCLowThreshold), + }, common.KubernetesVersion1Dot8Dot7: { "hyperkube": "hyperkube-amd64:v1.8.7", "ccm": "cloud-controller-manager-amd64:v1.8.7", diff --git a/pkg/api/common/const.go b/pkg/api/common/const.go index 30f70a00ce..0342b6dc9a 100644 --- a/pkg/api/common/const.go +++ b/pkg/api/common/const.go @@ -73,6 +73,8 @@ const ( KubernetesVersion1Dot8Dot6 string = "1.8.6" // KubernetesVersion1Dot8Dot7 is the major.minor.patch string for the 1.8.7 version of kubernetes KubernetesVersion1Dot8Dot7 string = "1.8.7" + // KubernetesVersion1Dot8Dot8 is the major.minor.patch string for the 1.8.8 version of kubernetes + KubernetesVersion1Dot8Dot8 string = "1.8.8" // KubernetesVersion1Dot7Dot0 is the major.minor.patch string for the 1.7.0 version of kubernetes KubernetesVersion1Dot7Dot0 string = "1.7.0" // KubernetesVersion1Dot7Dot1 is the major.minor.patch string for the 1.7.1 version of kubernetes @@ -133,6 +135,7 @@ var AllKubernetesSupportedVersions = map[string]bool{ KubernetesVersion1Dot8Dot4: true, KubernetesVersion1Dot8Dot6: true, KubernetesVersion1Dot8Dot7: true, + KubernetesVersion1Dot8Dot8: true, KubernetesVersion1Dot9Dot0: true, KubernetesVersion1Dot9Dot1: true, KubernetesVersion1Dot9Dot2: true, @@ -171,6 +174,7 @@ var AllKubernetesWindowsSupportedVersions = map[string]bool{ KubernetesVersion1Dot8Dot4: true, KubernetesVersion1Dot8Dot6: true, KubernetesVersion1Dot8Dot7: true, + KubernetesVersion1Dot8Dot8: true, KubernetesVersion1Dot9Dot0: true, KubernetesVersion1Dot9Dot1: true, KubernetesVersion1Dot9Dot2: true, diff --git a/pkg/api/orchestrators_test.go b/pkg/api/orchestrators_test.go index 0d20c67e14..56450f9b6b 100644 --- a/pkg/api/orchestrators_test.go +++ b/pkg/api/orchestrators_test.go @@ -77,8 +77,8 @@ func TestOrchestratorUpgradeInfo(t *testing.T) { } orch, e = GetOrchestratorVersionProfile(csOrch) Expect(e).To(BeNil()) - // 1.7.1, 1.7.2, 1.7.4, 1.7.5, 1.7.7, 1.7.9, 1.7.10, 1.7.12, 1.8.0, 1.8.1, 1.8.2, 1.8.4, 1.8.6, 1.8.7 - Expect(len(orch.Upgrades)).To(Equal(14)) + // 1.7.1, 1.7.2, 1.7.4, 1.7.5, 1.7.7, 1.7.9, 1.7.10, 1.7.12, 1.8.0, 1.8.1, 1.8.2, 1.8.4, 1.8.6, 1.8.7, 1.8.8 + Expect(len(orch.Upgrades)).To(Equal(15)) // 1.7.12 is upgradable to 1.8.x csOrch = &OrchestratorProfile{ @@ -87,8 +87,8 @@ func TestOrchestratorUpgradeInfo(t *testing.T) { } orch, e = GetOrchestratorVersionProfile(csOrch) Expect(e).To(BeNil()) - // 1.8.0, 1.8.1, 1.8.2, 1.8.4, 1.8.6, 1.8.7 - Expect(len(orch.Upgrades)).To(Equal(6)) + // 1.8.0, 1.8.1, 1.8.2, 1.8.4, 1.8.6, 1.8.7, 1.8.8 + Expect(len(orch.Upgrades)).To(Equal(7)) // 1.8.4 is upgradable to 1.8.x and 1.9.x csOrch = &OrchestratorProfile{ @@ -97,8 +97,8 @@ func TestOrchestratorUpgradeInfo(t *testing.T) { } orch, e = GetOrchestratorVersionProfile(csOrch) Expect(e).To(BeNil()) - // 1.8.6, 1.8.7, 1.9.0, 1.9.1, 1.9.2, 1.9.3 - Expect(len(orch.Upgrades)).To(Equal(6)) + // 1.8.6, 1.8.7, 1.8.8, 1.9.0, 1.9.1, 1.9.2, 1.9.3 + Expect(len(orch.Upgrades)).To(Equal(7)) // 1.9.3 is not upgradable csOrch = &OrchestratorProfile{ @@ -112,12 +112,12 @@ func TestOrchestratorUpgradeInfo(t *testing.T) { // v20170930 - all orchestrators list, e := GetOrchestratorVersionProfileListV20170930("", "") Expect(e).To(BeNil()) - Expect(len(list.Properties.Orchestrators)).To(Equal(31)) + Expect(len(list.Properties.Orchestrators)).To(Equal(32)) // v20170930 - kubernetes only list, e = GetOrchestratorVersionProfileListV20170930(common.Kubernetes, "") Expect(e).To(BeNil()) - Expect(len(list.Properties.Orchestrators)).To(Equal(26)) + Expect(len(list.Properties.Orchestrators)).To(Equal(27)) } func TestKubernetesInfo(t *testing.T) { diff --git a/pkg/api/vlabs/validate.go b/pkg/api/vlabs/validate.go index a499dcfec6..32af64844c 100644 --- a/pkg/api/vlabs/validate.go +++ b/pkg/api/vlabs/validate.go @@ -510,6 +510,7 @@ func (a *KubernetesConfig) Validate(k8sVersion string) error { common.KubernetesVersion1Dot8Dot4: true, common.KubernetesVersion1Dot8Dot6: true, common.KubernetesVersion1Dot8Dot7: true, + common.KubernetesVersion1Dot8Dot8: true, common.KubernetesVersion1Dot7Dot0: true, common.KubernetesVersion1Dot7Dot1: true, common.KubernetesVersion1Dot7Dot2: true, @@ -664,6 +665,7 @@ func (a *KubernetesConfig) Validate(k8sVersion string) error { common.KubernetesVersion1Dot8Dot4: true, common.KubernetesVersion1Dot8Dot6: true, common.KubernetesVersion1Dot8Dot7: true, + common.KubernetesVersion1Dot8Dot8: true, common.KubernetesVersion1Dot9Dot0: true, common.KubernetesVersion1Dot9Dot1: true, common.KubernetesVersion1Dot9Dot2: true, diff --git a/pkg/api/vlabs/validate_test.go b/pkg/api/vlabs/validate_test.go index 23f6f7fd72..9161a6e521 100644 --- a/pkg/api/vlabs/validate_test.go +++ b/pkg/api/vlabs/validate_test.go @@ -262,7 +262,7 @@ func Test_KubernetesConfig_Validate(t *testing.T) { // Tests that apply to 1.6 and later releases for _, k8sVersion := range []string{common.KubernetesVersion1Dot6Dot11, common.KubernetesVersion1Dot6Dot12, common.KubernetesVersion1Dot6Dot13, common.KubernetesVersion1Dot7Dot7, common.KubernetesVersion1Dot7Dot9, common.KubernetesVersion1Dot7Dot10, common.KubernetesVersion1Dot7Dot12, - common.KubernetesVersion1Dot8Dot1, common.KubernetesVersion1Dot8Dot2, common.KubernetesVersion1Dot8Dot4, common.KubernetesVersion1Dot8Dot6, common.KubernetesVersion1Dot8Dot7, + common.KubernetesVersion1Dot8Dot1, common.KubernetesVersion1Dot8Dot2, common.KubernetesVersion1Dot8Dot4, common.KubernetesVersion1Dot8Dot6, common.KubernetesVersion1Dot8Dot7, common.KubernetesVersion1Dot8Dot8, common.KubernetesVersion1Dot9Dot0, common.KubernetesVersion1Dot9Dot1, common.KubernetesVersion1Dot9Dot2, common.KubernetesVersion1Dot9Dot3} { c := KubernetesConfig{ CloudProviderBackoff: true,