diff --git a/cmd/kubeadm/app/util/version.go b/cmd/kubeadm/app/util/version.go
index 1e0c512f3c6..80e75d5a7d4 100644
--- a/cmd/kubeadm/app/util/version.go
+++ b/cmd/kubeadm/app/util/version.go
@@ -96,10 +96,6 @@ func kubernetesReleaseVersion(version string, fetcher func(string, time.Duration
url := fmt.Sprintf("%s/%s.txt", bucketURL, versionLabel)
body, err := fetcher(url, getReleaseVersionTimeout)
if err != nil {
- // If the network operaton was successful but the server did not reply with StatusOK
- if body != "" {
- return "", err
- }
if clientVersionErr == nil {
// Handle air-gapped environments by falling back to the client version.
klog.Warningf("could not fetch a Kubernetes version from the internet: %v", err)
diff --git a/cmd/kubeadm/app/util/version_test.go b/cmd/kubeadm/app/util/version_test.go
index 48dfd02ec45..7029d1d802b 100644
--- a/cmd/kubeadm/app/util/version_test.go
+++ b/cmd/kubeadm/app/util/version_test.go
@@ -19,6 +19,7 @@ package util
import (
"errors"
"fmt"
+ "k8s.io/kubernetes/cmd/kubeadm/app/constants"
"path"
"strings"
"testing"
@@ -106,19 +107,23 @@ func TestValidConvenientForUserVersion(t *testing.T) {
func TestVersionFromNetwork(t *testing.T) {
type T struct {
- Content string
- Expected string
- ErrorExpected bool
+ Content string
+ Expected string
+ FetcherErrorExpected bool
+ ErrorExpected bool
}
+
+ currentVersion := normalizedBuildVersion(constants.CurrentKubernetesVersion.String())
+
cases := map[string]T{
- "stable": {"stable-1", "v1.4.6", false}, // recursive pointer to stable-1
- "stable-1": {"v1.4.6", "v1.4.6", false},
- "stable-1.3": {"v1.3.10", "v1.3.10", false},
- "latest": {"v1.6.0-alpha.0", "v1.6.0-alpha.0", false},
- "latest-1.3": {"v1.3.11-beta.0", "v1.3.11-beta.0", false},
- "empty": {"", "", true},
- "garbage": {"NoSuchKey
The specified key does not exist.", "", true},
- "unknown": {"The requested URL was not found on this server.", "", true},
+ "stable": {"stable-1", "v1.4.6", false, false}, // recursive pointer to stable-1
+ "stable-1": {"v1.4.6", "v1.4.6", false, false},
+ "stable-1.3": {"v1.3.10", "v1.3.10", false, false},
+ "latest": {"v1.6.0-alpha.0", "v1.6.0-alpha.0", false, false},
+ "latest-1.3": {"v1.3.11-beta.0", "v1.3.11-beta.0", false, false},
+ "empty": {"", currentVersion, true, false},
+ "garbage": {"NoSuchKey
The specified key does not exist.", currentVersion, true, false},
+ "unknown": {"The requested URL was not found on this server.", currentVersion, true, false},
}
for k, v := range cases {
@@ -128,7 +133,7 @@ func TestVersionFromNetwork(t *testing.T) {
key := strings.TrimSuffix(path.Base(url), ".txt")
res, found := cases[key]
if found {
- if v.ErrorExpected {
+ if v.FetcherErrorExpected {
return "error", errors.New("expected error")
}
return res.Content, nil