diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 8a978029..45425ce6 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -572,7 +572,7 @@ }, { "ImportPath": "k8s.io/api", - "Rev": "8490c30bbf50" + "Rev": "2ca06ba83edf" }, { "ImportPath": "k8s.io/apimachinery", @@ -592,7 +592,7 @@ }, { "ImportPath": "k8s.io/component-base", - "Rev": "8582c5203e4b" + "Rev": "c7033cd69c96" }, { "ImportPath": "k8s.io/gengo", diff --git a/go.mod b/go.mod index 30d8e7f4..25d29a50 100644 --- a/go.mod +++ b/go.mod @@ -34,11 +34,11 @@ require ( github.com/xlab/handysort v0.0.0-20150421192137-fb3537ed64a1 // indirect golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd gopkg.in/yaml.v2 v2.2.8 - k8s.io/api v0.0.0-20200418061343-8490c30bbf50 + k8s.io/api v0.0.0-20200421221621-2ca06ba83edf k8s.io/apimachinery v0.0.0-20200418021153-ec2e4e97fca4 k8s.io/cli-runtime v0.0.0-20200415183333-5b13bc8b32e2 k8s.io/client-go v0.0.0-20200419061629-ede92e0fe62d - k8s.io/component-base v0.0.0-20200410024425-8582c5203e4b + k8s.io/component-base v0.0.0-20200421141809-c7033cd69c96 k8s.io/klog v1.0.0 k8s.io/kube-openapi v0.0.0-20200403204345-e1beb1bd0f35 k8s.io/metrics v0.0.0-20200410031643-1542edda33c0 @@ -51,11 +51,11 @@ require ( replace ( golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13 golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13 - k8s.io/api => k8s.io/api v0.0.0-20200418061343-8490c30bbf50 + k8s.io/api => k8s.io/api v0.0.0-20200421221621-2ca06ba83edf k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20200418021153-ec2e4e97fca4 k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20200415183333-5b13bc8b32e2 k8s.io/client-go => k8s.io/client-go v0.0.0-20200419061629-ede92e0fe62d k8s.io/code-generator => k8s.io/code-generator v0.0.0-20200418020935-461d14f5d1b5 - k8s.io/component-base => k8s.io/component-base v0.0.0-20200410024425-8582c5203e4b + k8s.io/component-base => k8s.io/component-base v0.0.0-20200421141809-c7033cd69c96 k8s.io/metrics => k8s.io/metrics v0.0.0-20200410031643-1542edda33c0 ) diff --git a/go.sum b/go.sum index 0403c02b..236f204a 100644 --- a/go.sum +++ b/go.sum @@ -325,12 +325,12 @@ gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81 gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.0.0-20200418061343-8490c30bbf50/go.mod h1:ulbB/6H6vVXAkqfLv6nAqwp3OAksqUGzbqvrQ8uWFCs= +k8s.io/api v0.0.0-20200421221621-2ca06ba83edf/go.mod h1:ulbB/6H6vVXAkqfLv6nAqwp3OAksqUGzbqvrQ8uWFCs= k8s.io/apimachinery v0.0.0-20200418021153-ec2e4e97fca4/go.mod h1:imoz42hIYwpLTRWXU8pdJ9IE8DbxUsnU9lyVN8Y1SNo= k8s.io/cli-runtime v0.0.0-20200415183333-5b13bc8b32e2/go.mod h1:if8I7E6TpO/p/o/qgW+hlE1SiBfK4wJB59roqSaO1gQ= k8s.io/client-go v0.0.0-20200419061629-ede92e0fe62d/go.mod h1:MfZqc6x+OyzDrOdkgL/RYZ5ymCNuAHRZE5kZKxY7dRc= k8s.io/code-generator v0.0.0-20200418020935-461d14f5d1b5/go.mod h1:921XK/cUtrTpn/F0nAhNaFjo8I7Kue1BIEtdxsYFt9I= -k8s.io/component-base v0.0.0-20200410024425-8582c5203e4b/go.mod h1:grU+F0MqA5eYgNvtft1YM+zHsU4YH2WW18+1G97EZYQ= +k8s.io/component-base v0.0.0-20200421141809-c7033cd69c96/go.mod h1:Oy1vNndAYVfSxhqiwZjXewh3892JpXigIluVU11U1XA= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200205140755-e0e292d8aa12/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= diff --git a/pkg/generate/versioned/service_basic.go b/pkg/generate/versioned/service_basic.go index f366c3ed..b0b584ab 100644 --- a/pkg/generate/versioned/service_basic.go +++ b/pkg/generate/versioned/service_basic.go @@ -27,6 +27,7 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubectl/pkg/generate" + utilsnet "k8s.io/utils/net" ) type ServiceCommonGeneratorV1 struct { @@ -86,15 +87,11 @@ func (ServiceExternalNameGeneratorV1) ParamNames() []generate.GeneratorParam { func parsePorts(portString string) (int32, intstr.IntOrString, error) { portStringSlice := strings.Split(portString, ":") - port, err := strconv.Atoi(portStringSlice[0]) + port, err := utilsnet.ParsePort(portStringSlice[0], true) if err != nil { return 0, intstr.FromInt(0), err } - if errs := validation.IsValidPortNum(port); len(errs) != 0 { - return 0, intstr.FromInt(0), fmt.Errorf(strings.Join(errs, ",")) - } - if len(portStringSlice) == 1 { return int32(port), intstr.FromInt(int(port)), nil } diff --git a/pkg/generate/versioned/service_basic_test.go b/pkg/generate/versioned/service_basic_test.go index 5857eecf..a7044afd 100644 --- a/pkg/generate/versioned/service_basic_test.go +++ b/pkg/generate/versioned/service_basic_test.go @@ -175,7 +175,12 @@ func TestParsePorts(t *testing.T) { portString: "-5:1234", expectPort: 0, expectTargetPort: intstr.IntOrString{Type: intstr.Int, IntVal: 0}, - expectErr: "must be between 1 and 65535, inclusive", + expectErr: "parsing \"-5\": invalid syntax", + }, + { + portString: "0:1234", + expectPort: 0, + expectTargetPort: intstr.IntOrString{Type: intstr.Int, IntVal: 1234}, }, { portString: "5:65536",