mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
Drop version-parsing from pkg/version
pkg/version is now just version constants, etc, not version parsing
This commit is contained in:
parent
d95181fa1e
commit
f369372dad
@ -52,8 +52,8 @@ go_library(
|
||||
"//pkg/util/sets:go_default_library",
|
||||
"//pkg/util/strategicpatch:go_default_library",
|
||||
"//pkg/util/strings:go_default_library",
|
||||
"//pkg/util/version:go_default_library",
|
||||
"//pkg/util/wsstream:go_default_library",
|
||||
"//pkg/version:go_default_library",
|
||||
"//pkg/watch:go_default_library",
|
||||
"//pkg/watch/versioned:go_default_library",
|
||||
"//vendor:bitbucket.org/ww/goautoneg",
|
||||
|
@ -43,8 +43,8 @@ import (
|
||||
"k8s.io/kubernetes/pkg/util/flushwriter"
|
||||
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/sets"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/util/wsstream"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
|
||||
"github.com/emicklei/go-restful"
|
||||
"github.com/golang/glog"
|
||||
@ -358,11 +358,11 @@ func isOldKubectl(userAgent string) bool {
|
||||
if len(subs) != 2 {
|
||||
return false
|
||||
}
|
||||
kubectlVersion, versionErr := version.Parse(subs[1])
|
||||
kubectlVersion, versionErr := utilversion.ParseSemantic(subs[1])
|
||||
if versionErr != nil {
|
||||
return false
|
||||
}
|
||||
return kubectlVersion.LT(version.MustParse("v1.5.0"))
|
||||
return kubectlVersion.LessThan(utilversion.MustParseSemantic("v1.5.0"))
|
||||
}
|
||||
|
||||
// TODO: Remove in 1.6. This is for backward compatibility with 1.4 kubectl.
|
||||
|
@ -42,8 +42,8 @@ go_library(
|
||||
"//pkg/util/runtime:go_default_library",
|
||||
"//pkg/util/sets:go_default_library",
|
||||
"//pkg/util/system:go_default_library",
|
||||
"//pkg/util/version:go_default_library",
|
||||
"//pkg/util/wait:go_default_library",
|
||||
"//pkg/version:go_default_library",
|
||||
"//vendor:github.com/golang/glog",
|
||||
"//vendor:github.com/prometheus/client_golang/prometheus",
|
||||
],
|
||||
|
@ -33,7 +33,7 @@ import (
|
||||
utilerrors "k8s.io/kubernetes/pkg/util/errors"
|
||||
"k8s.io/kubernetes/pkg/util/node"
|
||||
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
@ -178,13 +178,13 @@ func (nc *NodeController) maybeDeleteTerminatingPod(obj interface{}) {
|
||||
// guarantee backwards compatibility of master API to kubelets with
|
||||
// versions less than 1.1.0
|
||||
node := nodeObj.(*v1.Node)
|
||||
v, err := version.Parse(node.Status.NodeInfo.KubeletVersion)
|
||||
v, err := utilversion.ParseSemantic(node.Status.NodeInfo.KubeletVersion)
|
||||
if err != nil {
|
||||
glog.V(0).Infof("couldn't parse verions %q of minion: %v", node.Status.NodeInfo.KubeletVersion, err)
|
||||
utilruntime.HandleError(nc.forcefullyDeletePod(pod))
|
||||
return
|
||||
}
|
||||
if gracefulDeletionVersion.GT(v) {
|
||||
if v.LessThan(gracefulDeletionVersion) {
|
||||
utilruntime.HandleError(nc.forcefullyDeletePod(pod))
|
||||
return
|
||||
}
|
||||
@ -239,12 +239,12 @@ func markAllPodsNotReady(kubeClient clientset.Interface, node *v1.Node) error {
|
||||
// Older versions were inflexible and modifying pod.Status directly through
|
||||
// the apiserver would result in unexpected outcomes.
|
||||
func nodeRunningOutdatedKubelet(node *v1.Node) bool {
|
||||
v, err := version.Parse(node.Status.NodeInfo.KubeletVersion)
|
||||
v, err := utilversion.ParseSemantic(node.Status.NodeInfo.KubeletVersion)
|
||||
if err != nil {
|
||||
glog.Errorf("couldn't parse version %q of node %v", node.Status.NodeInfo.KubeletVersion, err)
|
||||
return true
|
||||
}
|
||||
if podStatusReconciliationVersion.GT(v) {
|
||||
if v.LessThan(podStatusReconciliationVersion) {
|
||||
glog.Infof("Node %v running kubelet at (%v) which is less than the minimum version that allows nodecontroller to mark pods NotReady (%v).", node.Name, v, podStatusReconciliationVersion)
|
||||
return true
|
||||
}
|
||||
|
@ -41,8 +41,8 @@ import (
|
||||
utilnode "k8s.io/kubernetes/pkg/util/node"
|
||||
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/system"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@ -52,11 +52,11 @@ func init() {
|
||||
|
||||
var (
|
||||
ErrCloudInstance = errors.New("cloud provider doesn't support instances.")
|
||||
gracefulDeletionVersion = version.MustParse("v1.1.0")
|
||||
gracefulDeletionVersion = utilversion.MustParseSemantic("v1.1.0")
|
||||
|
||||
// The minimum kubelet version for which the nodecontroller
|
||||
// can safely flip pod.Status to NotReady.
|
||||
podStatusReconciliationVersion = version.MustParse("v1.2.0")
|
||||
podStatusReconciliationVersion = utilversion.MustParseSemantic("v1.2.0")
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -37,7 +37,7 @@ go_library(
|
||||
"//pkg/storage/storagebackend/factory:go_default_library",
|
||||
"//pkg/util/runtime:go_default_library",
|
||||
"//pkg/util/validation/field:go_default_library",
|
||||
"//pkg/version:go_default_library",
|
||||
"//pkg/util/version:go_default_library",
|
||||
"//pkg/watch:go_default_library",
|
||||
"//vendor:github.com/golang/glog",
|
||||
"//vendor:golang.org/x/net/context",
|
||||
|
@ -39,7 +39,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/storage"
|
||||
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
||||
"k8s.io/kubernetes/pkg/util/validation/field"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
|
||||
"github.com/golang/glog"
|
||||
@ -235,11 +235,11 @@ func isOldKubectl(userAgent string) bool {
|
||||
if len(subs) != 2 {
|
||||
return false
|
||||
}
|
||||
kubectlVersion, versionErr := version.Parse(subs[1])
|
||||
kubectlVersion, versionErr := utilversion.ParseSemantic(subs[1])
|
||||
if versionErr != nil {
|
||||
return false
|
||||
}
|
||||
return kubectlVersion.LT(version.MustParse("v1.4.0"))
|
||||
return kubectlVersion.LessThan(utilversion.MustParseSemantic("v1.4.0"))
|
||||
}
|
||||
|
||||
// Create inserts a new item according to the unique key from the object.
|
||||
|
@ -5,7 +5,6 @@ licenses(["notice"])
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_library",
|
||||
"go_test",
|
||||
)
|
||||
|
||||
go_library(
|
||||
@ -13,20 +12,7 @@ go_library(
|
||||
srcs = [
|
||||
"base.go",
|
||||
"doc.go",
|
||||
"semver.go",
|
||||
"version.go",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//vendor:github.com/blang/semver",
|
||||
"//vendor:github.com/golang/glog",
|
||||
],
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["semver_test.go"],
|
||||
library = "go_default_library",
|
||||
tags = ["automanaged"],
|
||||
deps = [],
|
||||
)
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
Copyright 2015 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package version
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"unicode"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
|
||||
func Parse(gitversion string) (semver.Version, error) {
|
||||
// optionally trim leading spaces then one v
|
||||
var seen bool
|
||||
gitversion = strings.TrimLeftFunc(gitversion, func(ch rune) bool {
|
||||
if seen {
|
||||
return false
|
||||
}
|
||||
if ch == 'v' {
|
||||
seen = true
|
||||
return true
|
||||
}
|
||||
return unicode.IsSpace(ch)
|
||||
})
|
||||
|
||||
return semver.Make(gitversion)
|
||||
}
|
||||
|
||||
func MustParse(gitversion string) semver.Version {
|
||||
v, err := Parse(gitversion)
|
||||
if err != nil {
|
||||
glog.Fatalf("failed to parse semver from gitversion %q: %v", gitversion, err)
|
||||
}
|
||||
return v
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
Copyright 2015 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package version
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseVersion(t *testing.T) {
|
||||
cases := []struct {
|
||||
version string
|
||||
expectErr bool
|
||||
}{
|
||||
{version: "v1.0.1-alpha"},
|
||||
{version: "v0.19.3"},
|
||||
{version: "0.19.3"},
|
||||
{version: "v1.2.0-alpha.3.1264+0655e65b435106-dirty"},
|
||||
{version: "1.2.0-alpha.3.1264+0655e65b435106-dirty"},
|
||||
{version: "1.2.0-alpha.3.1264+0655e65b435106-dirty"},
|
||||
{version: "1.0.0"},
|
||||
{version: "\t v1.0.0"},
|
||||
{version: "vv1.0.0", expectErr: true},
|
||||
{version: "blah1.0.0", expectErr: true},
|
||||
}
|
||||
|
||||
for i, c := range cases {
|
||||
_, err := Parse(c.version)
|
||||
if err != nil && !c.expectErr {
|
||||
t.Errorf("[%v]unexpected error: %v", i, err)
|
||||
}
|
||||
if err == nil && c.expectErr {
|
||||
t.Errorf("[%v]expected error for %s", i, c.version)
|
||||
}
|
||||
}
|
||||
}
|
@ -175,10 +175,10 @@ go_library(
|
||||
"//pkg/util/sets:go_default_library",
|
||||
"//pkg/util/system:go_default_library",
|
||||
"//pkg/util/uuid:go_default_library",
|
||||
"//pkg/util/version:go_default_library",
|
||||
"//pkg/util/wait:go_default_library",
|
||||
"//pkg/util/workqueue:go_default_library",
|
||||
"//pkg/util/yaml:go_default_library",
|
||||
"//pkg/version:go_default_library",
|
||||
"//pkg/volume/util/volumehelper:go_default_library",
|
||||
"//pkg/watch:go_default_library",
|
||||
"//plugin/pkg/admission/serviceaccount:go_default_library",
|
||||
|
@ -79,14 +79,13 @@ go_library(
|
||||
"//pkg/util/system:go_default_library",
|
||||
"//pkg/util/uuid:go_default_library",
|
||||
"//pkg/util/validation:go_default_library",
|
||||
"//pkg/util/version:go_default_library",
|
||||
"//pkg/util/wait:go_default_library",
|
||||
"//pkg/version:go_default_library",
|
||||
"//pkg/watch:go_default_library",
|
||||
"//plugin/pkg/scheduler/algorithm/predicates:go_default_library",
|
||||
"//plugin/pkg/scheduler/schedulercache:go_default_library",
|
||||
"//test/e2e/perftype:go_default_library",
|
||||
"//test/utils:go_default_library",
|
||||
"//vendor:github.com/blang/semver",
|
||||
"//vendor:github.com/golang/glog",
|
||||
"//vendor:github.com/google/cadvisor/info/v1",
|
||||
"//vendor:github.com/onsi/ginkgo",
|
||||
|
@ -40,7 +40,6 @@ import (
|
||||
"text/tabwriter"
|
||||
"time"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/golang/glog"
|
||||
"golang.org/x/crypto/ssh"
|
||||
"golang.org/x/net/websocket"
|
||||
@ -86,8 +85,8 @@ import (
|
||||
"k8s.io/kubernetes/pkg/util/sets"
|
||||
"k8s.io/kubernetes/pkg/util/system"
|
||||
"k8s.io/kubernetes/pkg/util/uuid"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
"k8s.io/kubernetes/pkg/watch"
|
||||
"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates"
|
||||
"k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache"
|
||||
@ -233,8 +232,8 @@ func GetPauseImageNameForHostArch() string {
|
||||
//
|
||||
// TODO(ihmccreery): remove once we don't care about v1.0 anymore, (tentatively
|
||||
// in v1.3).
|
||||
var SubResourcePodProxyVersion = version.MustParse("v1.1.0")
|
||||
var subResourceServiceAndNodeProxyVersion = version.MustParse("v1.2.0")
|
||||
var SubResourcePodProxyVersion = utilversion.MustParseSemantic("v1.1.0")
|
||||
var subResourceServiceAndNodeProxyVersion = utilversion.MustParseSemantic("v1.2.0")
|
||||
|
||||
func GetServicesProxyRequest(c clientset.Interface, request *restclient.Request) (*restclient.Request, error) {
|
||||
subResourceProxyAvailable, err := ServerVersionGTE(subResourceServiceAndNodeProxyVersion, c.Discovery())
|
||||
@ -349,7 +348,7 @@ func NodeOSDistroIs(supportedNodeOsDistros ...string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func SkipUnlessServerVersionGTE(v semver.Version, c discovery.ServerVersionInterface) {
|
||||
func SkipUnlessServerVersionGTE(v *utilversion.Version, c discovery.ServerVersionInterface) {
|
||||
gte, err := ServerVersionGTE(v, c)
|
||||
if err != nil {
|
||||
Failf("Failed to get server version: %v", err)
|
||||
@ -500,7 +499,7 @@ func WaitForPodsSuccess(c clientset.Interface, ns string, successPodLabels map[s
|
||||
return nil
|
||||
}
|
||||
|
||||
var ReadyReplicaVersion = version.MustParse("v1.4.0")
|
||||
var ReadyReplicaVersion = utilversion.MustParseSemantic("v1.4.0")
|
||||
|
||||
// WaitForPodsRunningReady waits up to timeout to ensure that all pods in
|
||||
// namespace ns are either running and ready, or failed but controlled by a
|
||||
@ -1623,19 +1622,19 @@ func (r podProxyResponseChecker) CheckAllResponses() (done bool, err error) {
|
||||
// version.
|
||||
//
|
||||
// TODO(18726): This should be incorporated into client.VersionInterface.
|
||||
func ServerVersionGTE(v semver.Version, c discovery.ServerVersionInterface) (bool, error) {
|
||||
func ServerVersionGTE(v *utilversion.Version, c discovery.ServerVersionInterface) (bool, error) {
|
||||
serverVersion, err := c.ServerVersion()
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("Unable to get server version: %v", err)
|
||||
}
|
||||
sv, err := version.Parse(serverVersion.GitVersion)
|
||||
sv, err := utilversion.ParseSemantic(serverVersion.GitVersion)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("Unable to parse server version %q: %v", serverVersion.GitVersion, err)
|
||||
}
|
||||
return sv.GTE(v), nil
|
||||
return sv.AtLeast(v), nil
|
||||
}
|
||||
|
||||
func SkipUnlessKubectlVersionGTE(v semver.Version) {
|
||||
func SkipUnlessKubectlVersionGTE(v *utilversion.Version) {
|
||||
gte, err := KubectlVersionGTE(v)
|
||||
if err != nil {
|
||||
Failf("Failed to get kubectl version: %v", err)
|
||||
@ -1647,25 +1646,25 @@ func SkipUnlessKubectlVersionGTE(v semver.Version) {
|
||||
|
||||
// KubectlVersionGTE returns true if the kubectl version is greater than or
|
||||
// equal to v.
|
||||
func KubectlVersionGTE(v semver.Version) (bool, error) {
|
||||
func KubectlVersionGTE(v *utilversion.Version) (bool, error) {
|
||||
kv, err := KubectlVersion()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return kv.GTE(v), nil
|
||||
return kv.AtLeast(v), nil
|
||||
}
|
||||
|
||||
// KubectlVersion gets the version of kubectl that's currently being used (see
|
||||
// --kubectl-path in e2e.go to use an alternate kubectl).
|
||||
func KubectlVersion() (semver.Version, error) {
|
||||
func KubectlVersion() (*utilversion.Version, error) {
|
||||
output := RunKubectlOrDie("version", "--client")
|
||||
matches := gitVersionRegexp.FindStringSubmatch(output)
|
||||
if len(matches) != 2 {
|
||||
return semver.Version{}, fmt.Errorf("Could not find kubectl version in output %v", output)
|
||||
return nil, fmt.Errorf("Could not find kubectl version in output %v", output)
|
||||
}
|
||||
// Don't use the full match, as it contains "GitVersion:\"" and a
|
||||
// trailing "\"". Just use the submatch.
|
||||
return version.Parse(matches[1])
|
||||
return utilversion.ParseSemantic(matches[1])
|
||||
}
|
||||
|
||||
func PodsResponding(c clientset.Interface, ns, name string, wantName bool, pods *v1.PodList) error {
|
||||
|
@ -54,8 +54,8 @@ import (
|
||||
uexec "k8s.io/kubernetes/pkg/util/exec"
|
||||
utilnet "k8s.io/kubernetes/pkg/util/net"
|
||||
"k8s.io/kubernetes/pkg/util/uuid"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
"k8s.io/kubernetes/test/e2e/generated"
|
||||
testutils "k8s.io/kubernetes/test/utils"
|
||||
@ -101,39 +101,39 @@ var (
|
||||
// that rely on extended pod logging options to work on clusters before that.
|
||||
//
|
||||
// TODO(ihmccreery): remove once we don't care about v1.0 anymore, (tentatively in v1.3).
|
||||
extendedPodLogFilterVersion = version.MustParse("v1.1.0")
|
||||
extendedPodLogFilterVersion = utilversion.MustParseSemantic("v1.1.0")
|
||||
|
||||
// NodePorts were made optional in #12831 (v1.1.0) so we don't expect tests that used to
|
||||
// require NodePorts but no longer include them to work on clusters before that.
|
||||
//
|
||||
// TODO(ihmccreery): remove once we don't care about v1.0 anymore, (tentatively in v1.3).
|
||||
nodePortsOptionalVersion = version.MustParse("v1.1.0")
|
||||
nodePortsOptionalVersion = utilversion.MustParseSemantic("v1.1.0")
|
||||
|
||||
// Jobs were introduced in v1.1, so we don't expect tests that rely on jobs to work on
|
||||
// clusters before that.
|
||||
//
|
||||
// TODO(ihmccreery): remove once we don't care about v1.0 anymore, (tentatively in v1.3).
|
||||
jobsVersion = version.MustParse("v1.1.0")
|
||||
jobsVersion = utilversion.MustParseSemantic("v1.1.0")
|
||||
|
||||
// Deployments were introduced by default in v1.2, so we don't expect tests that rely on
|
||||
// deployments to work on clusters before that.
|
||||
//
|
||||
// TODO(ihmccreery): remove once we don't care about v1.1 anymore, (tentatively in v1.4).
|
||||
deploymentsVersion = version.MustParse("v1.2.0-alpha.7.726")
|
||||
deploymentsVersion = utilversion.MustParseSemantic("v1.2.0-alpha.7.726")
|
||||
|
||||
// Pod probe parameters were introduced in #15967 (v1.2) so we don't expect tests that use
|
||||
// these probe parameters to work on clusters before that.
|
||||
//
|
||||
// TODO(ihmccreery): remove once we don't care about v1.1 anymore, (tentatively in v1.4).
|
||||
podProbeParametersVersion = version.MustParse("v1.2.0-alpha.4")
|
||||
podProbeParametersVersion = utilversion.MustParseSemantic("v1.2.0-alpha.4")
|
||||
|
||||
// 'kubectl create quota' was introduced in #28351 (v1.4) so we don't expect tests that use
|
||||
// 'kubectl create quota' to work on kubectl clients before that.
|
||||
kubectlCreateQuotaVersion = version.MustParse("v1.4.0-alpha.2")
|
||||
kubectlCreateQuotaVersion = utilversion.MustParseSemantic("v1.4.0-alpha.2")
|
||||
|
||||
// Returning container command exit codes in kubectl run/exec was introduced in #26541 (v1.4)
|
||||
// so we don't expect tests that verifies return code to work on kubectl clients before that.
|
||||
kubectlContainerExitCodeVersion = version.MustParse("v1.4.0-alpha.3")
|
||||
kubectlContainerExitCodeVersion = utilversion.MustParseSemantic("v1.4.0-alpha.3")
|
||||
)
|
||||
|
||||
// Stops everything from filePath from namespace ns and checks if everything matching selectors from the given namespace is correctly stopped.
|
||||
|
@ -29,8 +29,8 @@ import (
|
||||
"time"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
testutils "k8s.io/kubernetes/test/utils"
|
||||
|
||||
@ -44,7 +44,7 @@ const (
|
||||
// TODO support other ports besides 80
|
||||
var (
|
||||
portForwardRegexp = regexp.MustCompile("Forwarding from 127.0.0.1:([0-9]+) -> 80")
|
||||
portForwardPortToStdOutV = version.MustParse("v1.3.0-alpha.4")
|
||||
portForwardPortToStdOutV = utilversion.MustParseSemantic("v1.3.0-alpha.4")
|
||||
)
|
||||
|
||||
func pfPod(expectedClientData, chunks, chunkSize, chunkIntervalMillis string) *v1.Pod {
|
||||
|
@ -24,8 +24,8 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
|
||||
"k8s.io/kubernetes/pkg/util/uuid"
|
||||
utilversion "k8s.io/kubernetes/pkg/util/version"
|
||||
"k8s.io/kubernetes/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/version"
|
||||
"k8s.io/kubernetes/plugin/pkg/admission/serviceaccount"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
|
||||
@ -33,7 +33,7 @@ import (
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var serviceAccountTokenNamespaceVersion = version.MustParse("v1.2.0")
|
||||
var serviceAccountTokenNamespaceVersion = utilversion.MustParseSemantic("v1.2.0")
|
||||
|
||||
var _ = framework.KubeDescribe("ServiceAccounts", func() {
|
||||
f := framework.NewDefaultFramework("svcaccounts")
|
||||
|
@ -877,7 +877,6 @@ k8s.io/kubernetes/pkg/util/wait,Q-Lee,1
|
||||
k8s.io/kubernetes/pkg/util/workqueue,mtaufen,1
|
||||
k8s.io/kubernetes/pkg/util/wsstream,timothysc,1
|
||||
k8s.io/kubernetes/pkg/util/yaml,rmmh,1
|
||||
k8s.io/kubernetes/pkg/version,spxtr,1
|
||||
k8s.io/kubernetes/pkg/volume,saad-ali,0
|
||||
k8s.io/kubernetes/pkg/volume/aws_ebs,caesarxuchao,1
|
||||
k8s.io/kubernetes/pkg/volume/azure_dd,bgrant0607,1
|
||||
|
|
Loading…
Reference in New Issue
Block a user