From b0f17c2918fe0d099fc59f17788ca60202a5ae1a Mon Sep 17 00:00:00 2001 From: Stephen Augustus Date: Sat, 18 Apr 2020 04:37:22 -0400 Subject: [PATCH] apiserver/pkg/apis/config/validation: Add invalidURLErrFmt In go1.14, the following change to 'net/url' was made: "When parsing of a URL fails (for example by Parse or ParseRequestURI), the resulting Error message will now quote the unparsable URL. This provides clearer structure and consistency with other parsing errors." Here we add a new const, 'invalidURLErrFmt' to properly handle the now quoted string in validation_test.go. ref: https://golang.org/doc/go1.14#net/url Signed-off-by: Stephen Augustus --- .../k8s.io/apiserver/pkg/apis/config/validation/validation.go | 1 + .../apiserver/pkg/apis/config/validation/validation_test.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation.go b/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation.go index d911d05972c..966ff1f0d15 100644 --- a/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation.go +++ b/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation.go @@ -31,6 +31,7 @@ const ( keyLenErrFmt = "secret is not of the expected length, got %d, expected one of %v" unsupportedSchemeErrFmt = "unsupported scheme %q for KMS provider, only unix is supported" atLeastOneRequiredErrFmt = "at least one %s is required" + invalidURLErrFmt = "invalid endpoint for kms provider, error: parse %s: net/url: invalid control character in URL" mandatoryFieldErrFmt = "%s is a mandatory field for a %s" base64EncodingErr = "secrets must be base64 encoded" zeroOrNegativeErrFmt = "%s should be a positive value" diff --git a/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation_test.go b/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation_test.go index 03192c83731..2c018016961 100644 --- a/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation_test.go +++ b/staging/src/k8s.io/apiserver/pkg/apis/config/validation/validation_test.go @@ -296,7 +296,7 @@ func TestKMSEndpoint(t *testing.T) { desc: "invalid url", in: &config.KMSConfiguration{Endpoint: "unix:///foo\n.socket"}, want: field.ErrorList{ - field.Invalid(endpointField, "unix:///foo\n.socket", "invalid endpoint for kms provider, error: parse unix:///foo\n.socket: net/url: invalid control character in URL"), + field.Invalid(endpointField, "unix:///foo\n.socket", fmt.Sprintf(invalidURLErrFmt, `"unix:///foo\n.socket"`)), }, }, }