mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Fixing regex for kubernetes version in kubeadm
This commit is contained in:
parent
6c1080b3ca
commit
49884bca30
@ -40,7 +40,7 @@ const (
|
||||
var (
|
||||
kubeReleaseBucketURL = "https://dl.k8s.io"
|
||||
kubeReleaseRegex = regexp.MustCompile(`^v?(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)([-0-9a-zA-Z_\.+]*)?$`)
|
||||
kubeReleaseLabelRegex = regexp.MustCompile(`^[[:lower:]]+(-[-\w_\.]+)?$`)
|
||||
kubeReleaseLabelRegex = regexp.MustCompile(`(k8s-master|((latest|stable)+(-[1-9](\.[1-9]([0-9])?)?)?))\z`)
|
||||
kubeBucketPrefixes = regexp.MustCompile(`^((release|ci|ci-cross)/)?([-\w_\.+]+)$`)
|
||||
)
|
||||
|
||||
@ -61,6 +61,7 @@ var (
|
||||
// latest (latest release, including alpha/beta)
|
||||
// latest-1 (latest release in 1.x, including alpha/beta)
|
||||
// latest-1.0 (and similarly 1.1, 1.2, 1.3, ...)
|
||||
// k8s-master (latest cross build)
|
||||
func KubernetesReleaseVersion(version string) (string, error) {
|
||||
return kubernetesReleaseVersion(version, fetchFromURL)
|
||||
}
|
||||
|
@ -116,14 +116,13 @@ func TestVersionFromNetwork(t *testing.T) {
|
||||
currentVersion := normalizedBuildVersion(constants.CurrentKubernetesVersion.String())
|
||||
|
||||
cases := map[string]T{
|
||||
"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": {"<?xml version='1.0'?><Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message></Error>", currentVersion, true, false},
|
||||
"unknown": {"The requested URL was not found on this server.", currentVersion, true, false},
|
||||
"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},
|
||||
"latest-1.5": {"", currentVersion, true, false}, // fallback to currentVersion on fetcher error
|
||||
"invalid-version": {"", "", false, true}, // invalid version cannot be parsed
|
||||
}
|
||||
|
||||
for k, v := range cases {
|
||||
@ -195,11 +194,10 @@ func TestSplitVersion(t *testing.T) {
|
||||
{"v1.8.0-alpha.2.1231+afabd012389d53a", "https://dl.k8s.io/release", "v1.8.0-alpha.2.1231+afabd012389d53a", true},
|
||||
{"release/v1.7.0", "https://dl.k8s.io/release", "v1.7.0", true},
|
||||
{"release/latest-1.7", "https://dl.k8s.io/release", "latest-1.7", true},
|
||||
// CI builds area, lookup actual builds at ci-cross/*.txt
|
||||
// CI builds area
|
||||
{"ci/latest", "https://dl.k8s.io/ci", "latest", true},
|
||||
{"ci-cross/latest", "https://dl.k8s.io/ci-cross", "latest", true},
|
||||
{"ci/k8s-master", "https://dl.k8s.io/ci", "k8s-master", true},
|
||||
{"ci/latest-1.7", "https://dl.k8s.io/ci", "latest-1.7", true},
|
||||
{"ci-cross/latest-1.7", "https://dl.k8s.io/ci-cross", "latest-1.7", true},
|
||||
// unknown label in default (release) area: splitVersion validate only areas.
|
||||
{"unknown-1", "https://dl.k8s.io/release", "unknown-1", true},
|
||||
// unknown area, not valid input.
|
||||
@ -238,9 +236,8 @@ func TestKubernetesIsCIVersion(t *testing.T) {
|
||||
{"release/v1.0.0", false},
|
||||
// CI builds
|
||||
{"ci/latest-1", true},
|
||||
{"ci-cross/latest", true},
|
||||
{"ci/k8s-master", true},
|
||||
{"ci/v1.9.0-alpha.1.123+acbcbfd53bfa0a", true},
|
||||
{"ci-cross/v1.9.0-alpha.1.123+acbcbfd53bfa0a", true},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
@ -269,9 +266,7 @@ func TestCIBuildVersion(t *testing.T) {
|
||||
{"release/0invalid", "", false},
|
||||
// CI or custom builds
|
||||
{"ci/v1.9.0-alpha.1.123+acbcbfd53bfa0a", "v1.9.0-alpha.1.123+acbcbfd53bfa0a", true},
|
||||
{"ci-cross/v1.9.0-alpha.1.123+acbcbfd53bfa0a", "v1.9.0-alpha.1.123+acbcbfd53bfa0a", true},
|
||||
{"ci/1.9.0-alpha.1.123+acbcbfd53bfa0a", "v1.9.0-alpha.1.123+acbcbfd53bfa0a", true},
|
||||
{"ci-cross/1.9.0-alpha.1.123+acbcbfd53bfa0a", "v1.9.0-alpha.1.123+acbcbfd53bfa0a", true},
|
||||
{"ci/0invalid", "", false},
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user