From 6338b7fda0ef0bdf8ea35efc5fec71d2caffd264 Mon Sep 17 00:00:00 2001 From: Alexander Kanevskiy Date: Wed, 30 Nov 2016 17:57:28 +0200 Subject: [PATCH] Fallback to known good stable version in case of network errors. Hardcoded known stable version will be returned if user didn't request specific version and kubeadm for some reason not able to fetch latest stable information from release servers. For now, fallback version is v1.4.6 --- cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go | 11 ++++++----- cmd/kubeadm/app/cmd/init.go | 6 +++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go index c269d3c2356..6dfa9614331 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go @@ -21,11 +21,12 @@ import ( ) const ( - DefaultServiceDNSDomain = "cluster.local" - DefaultServicesSubnet = "10.96.0.0/12" - DefaultKubernetesVersion = "stable" - DefaultAPIBindPort = 6443 - DefaultDiscoveryBindPort = 9898 + DefaultServiceDNSDomain = "cluster.local" + DefaultServicesSubnet = "10.96.0.0/12" + DefaultKubernetesVersion = "stable" + DefaultKubernetesFallbackVersion = "v1.4.6" + DefaultAPIBindPort = 6443 + DefaultDiscoveryBindPort = 9898 ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/cmd/kubeadm/app/cmd/init.go b/cmd/kubeadm/app/cmd/init.go index 8e0f053e5f7..aa889816701 100644 --- a/cmd/kubeadm/app/cmd/init.go +++ b/cmd/kubeadm/app/cmd/init.go @@ -196,7 +196,11 @@ func NewInit(cfgPath string, cfg *kubeadmapi.MasterConfiguration, skipPreFlight // validate version argument ver, err := kubeadmutil.KubernetesReleaseVersion(cfg.KubernetesVersion) if err != nil { - return nil, err + if cfg.KubernetesVersion != kubeadmapiext.DefaultKubernetesVersion { + return nil, err + } else { + ver = kubeadmapiext.DefaultKubernetesFallbackVersion + } } cfg.KubernetesVersion = ver fmt.Println("Using Kubernetes version:", ver)