diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index fe4f4c88743..ea388d9ae7a 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -35560,8 +35560,16 @@ } }, "v1.Time": { - "type": "string", - "format": "date-time" + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "required": [ + "Time" + ], + "properties": { + "Time": { + "type": "string", + "format": "date-time" + } + } }, "v1.Volume": { "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", diff --git a/cmd/cloud-controller-manager/app/BUILD b/cmd/cloud-controller-manager/app/BUILD index 7a82f210144..ddb913b70c2 100644 --- a/cmd/cloud-controller-manager/app/BUILD +++ b/cmd/cloud-controller-manager/app/BUILD @@ -28,11 +28,11 @@ go_library( "//pkg/controller/route:go_default_library", "//pkg/controller/service:go_default_library", "//pkg/util/configz:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/prometheus/client_golang/prometheus", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/healthz", ], ) diff --git a/cmd/cloud-controller-manager/app/controllermanager.go b/cmd/cloud-controller-manager/app/controllermanager.go index 07609db3e2a..1cb46214393 100644 --- a/cmd/cloud-controller-manager/app/controllermanager.go +++ b/cmd/cloud-controller-manager/app/controllermanager.go @@ -25,6 +25,7 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/cmd/cloud-controller-manager/app/options" "k8s.io/kubernetes/pkg/api/v1" @@ -42,7 +43,6 @@ import ( routecontroller "k8s.io/kubernetes/pkg/controller/route" servicecontroller "k8s.io/kubernetes/pkg/controller/service" "k8s.io/kubernetes/pkg/util/configz" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" diff --git a/cmd/cloud-controller-manager/app/options/BUILD b/cmd/cloud-controller-manager/app/options/BUILD index b4b4d63beea..15416dab713 100644 --- a/cmd/cloud-controller-manager/app/options/BUILD +++ b/cmd/cloud-controller-manager/app/options/BUILD @@ -13,11 +13,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/leaderelection:go_default_library", "//pkg/master/ports:go_default_library", "//pkg/util/config:go_default_library", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/cmd/cloud-controller-manager/app/options/options.go b/cmd/cloud-controller-manager/app/options/options.go index b1db26ae7b9..4c93aaaf5a6 100644 --- a/cmd/cloud-controller-manager/app/options/options.go +++ b/cmd/cloud-controller-manager/app/options/options.go @@ -19,8 +19,8 @@ package options import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/leaderelection" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/util/config" diff --git a/cmd/genswaggertypedocs/BUILD b/cmd/genswaggertypedocs/BUILD index 72a691d38cd..e6f064cd8bc 100644 --- a/cmd/genswaggertypedocs/BUILD +++ b/cmd/genswaggertypedocs/BUILD @@ -19,9 +19,9 @@ go_library( srcs = ["swagger_type_docs.go"], tags = ["automanaged"], deps = [ - "//pkg/runtime:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/cmd/genswaggertypedocs/swagger_type_docs.go b/cmd/genswaggertypedocs/swagger_type_docs.go index 0d3f8cbba25..8916d42ae81 100644 --- a/cmd/genswaggertypedocs/swagger_type_docs.go +++ b/cmd/genswaggertypedocs/swagger_type_docs.go @@ -21,7 +21,7 @@ import ( "io" "os" - kruntime "k8s.io/kubernetes/pkg/runtime" + kruntime "k8s.io/apimachinery/pkg/runtime" "github.com/golang/glog" flag "github.com/spf13/pflag" diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/BUILD b/cmd/kube-aggregator/pkg/apis/apiregistration/BUILD index defc2e56bf5..26a8f5394df 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/BUILD +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/BUILD @@ -19,10 +19,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/install/BUILD b/cmd/kube-aggregator/pkg/apis/apiregistration/install/BUILD index 30fe8a312b5..63246ac0f84 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/install/BUILD +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/install/BUILD @@ -15,7 +15,7 @@ go_library( "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", "//cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1:go_default_library", "//pkg/apimachinery/announced:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/install/install.go b/cmd/kube-aggregator/pkg/apis/apiregistration/install/install.go index 574e8d6b001..ac1d7bb35de 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/install/install.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/install/install.go @@ -17,10 +17,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" "k8s.io/kubernetes/pkg/apimachinery/announced" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/register.go b/cmd/kube-aggregator/pkg/apis/apiregistration/register.go index d0c66ff16e4..28ef491ffab 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/register.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/register.go @@ -17,10 +17,10 @@ limitations under the License. package apiregistration import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" kapi "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "apiregistration.k8s.io" diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/types.go b/cmd/kube-aggregator/pkg/apis/apiregistration/types.go index 9162f2cafbf..4a540a7cf45 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/types.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/types.go @@ -17,8 +17,8 @@ limitations under the License. package apiregistration import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kapi "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // APIServiceList is a list of APIService objects. diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/BUILD b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/BUILD index 3b891b7b9bf..cda8bc318fd 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/BUILD +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/BUILD @@ -21,12 +21,12 @@ go_library( deps = [ "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go index 1c7d0e93aeb..6e3d7118556 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "apiregistration.k8s.io" diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.generated.go b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.generated.go index 84abadcb177..fa52094ac12 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.generated.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.go b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.go index 48d519d5d93..3bbc47b58d5 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kapi "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // APIServiceList is a list of APIService objects. diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.conversion.go b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.conversion.go index 3b1f0a60bca..27c9a97fae6 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.conversion.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.deepcopy.go b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.deepcopy.go index 02160d5e81a..9ed7285ce4c 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.deepcopy.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/validation/BUILD b/cmd/kube-aggregator/pkg/apis/apiregistration/validation/BUILD index e23c1ca4dde..ee14ac9e415 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/validation/BUILD +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/validation/BUILD @@ -15,8 +15,8 @@ go_library( "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/validation/validation.go b/cmd/kube-aggregator/pkg/apis/apiregistration/validation/validation.go index cd63d355e11..a951eebe3c9 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/validation/validation.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/validation/validation.go @@ -19,10 +19,10 @@ package validation import ( "fmt" + utilvalidation "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/api/validation/path" - utilvalidation "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" discoveryapi "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" ) diff --git a/cmd/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go b/cmd/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go index f2cbc7409f0..3b7c610f772 100644 --- a/cmd/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go +++ b/cmd/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package apiregistration import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/cmd/kube-aggregator/pkg/apiserver/BUILD b/cmd/kube-aggregator/pkg/apiserver/BUILD index a943fc6a6cd..9e7e482f465 100644 --- a/cmd/kube-aggregator/pkg/apiserver/BUILD +++ b/cmd/kube-aggregator/pkg/apiserver/BUILD @@ -29,7 +29,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/auth/handlers:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -43,16 +42,17 @@ go_library( "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/genericapiserver/filters:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/rest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/httpstream/spdy:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -69,13 +69,13 @@ go_test( "//cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/listers/core/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/cmd/kube-aggregator/pkg/apiserver/apiserver.go b/cmd/kube-aggregator/pkg/apiserver/apiserver.go index e8c1cf639d7..9c63986c575 100644 --- a/cmd/kube-aggregator/pkg/apiserver/apiserver.go +++ b/cmd/kube-aggregator/pkg/apiserver/apiserver.go @@ -21,6 +21,7 @@ import ( "os" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/rest" authhandlers "k8s.io/kubernetes/pkg/auth/handlers" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -31,7 +32,6 @@ import ( genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" genericfilters "k8s.io/kubernetes/pkg/genericapiserver/filters" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" diff --git a/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go b/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go index 7a1afd76349..415d5dbe14e 100644 --- a/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go +++ b/cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go @@ -22,11 +22,11 @@ import ( "github.com/golang/glog" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" diff --git a/cmd/kube-aggregator/pkg/apiserver/handler_apis.go b/cmd/kube-aggregator/pkg/apiserver/handler_apis.go index 1b2c674b6f0..4d6beb22438 100644 --- a/cmd/kube-aggregator/pkg/apiserver/handler_apis.go +++ b/cmd/kube-aggregator/pkg/apiserver/handler_apis.go @@ -20,13 +20,13 @@ import ( "net/http" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1listers "k8s.io/kubernetes/pkg/client/listers/core/v1" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" apiregistrationapi "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" apiregistrationv1alpha1api "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" diff --git a/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go b/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go index 53293a5cbca..12d16d7efb7 100644 --- a/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go +++ b/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go @@ -23,13 +23,13 @@ import ( "net/http/httputil" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" corev1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" v1listers "k8s.io/kubernetes/pkg/client/listers/core/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" listers "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion" diff --git a/cmd/kube-aggregator/pkg/apiserver/handler_proxy.go b/cmd/kube-aggregator/pkg/apiserver/handler_proxy.go index 398e068a972..a6387443d91 100644 --- a/cmd/kube-aggregator/pkg/apiserver/handler_proxy.go +++ b/cmd/kube-aggregator/pkg/apiserver/handler_proxy.go @@ -21,12 +21,12 @@ import ( "net/url" "sync" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/transport" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/httpstream/spdy" apiregistrationapi "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" diff --git a/cmd/kube-aggregator/pkg/apiserver/handler_proxy_test.go b/cmd/kube-aggregator/pkg/apiserver/handler_proxy_test.go index 89892023005..2122091155b 100644 --- a/cmd/kube-aggregator/pkg/apiserver/handler_proxy_test.go +++ b/cmd/kube-aggregator/pkg/apiserver/handler_proxy_test.go @@ -25,10 +25,10 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/kubernetes/pkg/api" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/BUILD b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/BUILD index 3e877ae5bb8..879c208f077 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/BUILD +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1:go_default_library", "//cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/clientset_generated.go b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/clientset_generated.go index db0280fdefd..5764479e7c5 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/clientset_generated.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/fake/clientset_generated.go @@ -17,16 +17,16 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" v1alpha1apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1" fakev1alpha1apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/BUILD b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/BUILD index 61547ea7159..5239ca78f9d 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/BUILD +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/BUILD @@ -20,12 +20,12 @@ go_library( "//cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiregistration_client.go b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiregistration_client.go index b88c2903e7f..a1cb0482736 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiregistration_client.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiregistration_client.go @@ -18,11 +18,11 @@ package v1alpha1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type ApiregistrationV1alpha1Interface interface { @@ -30,7 +30,7 @@ type ApiregistrationV1alpha1Interface interface { APIServicesGetter } -// ApiregistrationV1alpha1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// ApiregistrationV1alpha1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type ApiregistrationV1alpha1Client struct { restClient restclient.Interface } diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiservice.go b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiservice.go index 4eaee958e88..3c31fcb48f7 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/apiservice.go @@ -17,12 +17,12 @@ limitations under the License. package v1alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // APIServicesGetter has a method to return a APIServiceInterface. diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/BUILD b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/BUILD index e8c00a6a46e..9b37f5f42e4 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/BUILD +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/BUILD @@ -20,12 +20,12 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiservice.go b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiservice.go index 8f1f1c591a7..e759a576792 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiservice.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1alpha1/fake/fake_apiservice.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeAPIServices implements APIServiceInterface diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/BUILD b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/BUILD index b14dea15d80..bab12ed3b3c 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/BUILD +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion:go_default_library", "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go index 9b44346c006..a0278c7c756 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go @@ -17,16 +17,16 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" internalversionapiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion" fakeinternalversionapiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/BUILD b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/BUILD index 61b128d21ce..6b772364ee1 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/BUILD +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/BUILD @@ -19,10 +19,10 @@ go_library( deps = [ "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiregistration_client.go b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiregistration_client.go index b4ce5b6a513..60b14f32b2f 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiregistration_client.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiregistration_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type ApiregistrationInterface interface { APIServicesGetter } -// ApiregistrationClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// ApiregistrationClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type ApiregistrationClient struct { restClient restclient.Interface } diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiservice.go b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiservice.go index 20e85d97285..6392e7ce546 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/apiservice.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // APIServicesGetter has a method to return a APIServiceInterface. diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/BUILD b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/BUILD index a6b4d91a461..db33eeac810 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/BUILD +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//cmd/kube-aggregator/pkg/apis/apiregistration:go_default_library", "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiservice.go b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiservice.go index 0707f7815c1..af9daf55741 100644 --- a/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiservice.go +++ b/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion/fake/fake_apiservice.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeAPIServices implements APIServiceInterface diff --git a/cmd/kube-aggregator/pkg/client/informers/BUILD b/cmd/kube-aggregator/pkg/client/informers/BUILD index a1f9fb12d0e..35715a92d43 100644 --- a/cmd/kube-aggregator/pkg/client/informers/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/BUILD @@ -22,8 +22,8 @@ go_library( "//cmd/kube-aggregator/pkg/client/informers/apiregistration:go_default_library", "//cmd/kube-aggregator/pkg/client/informers/internalinterfaces:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD index 062f02adfae..884bf8fc48b 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go index b3b6ad3cc7c..5cbea4ef619 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/internalversion/apiservice.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" internalclientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces" @@ -26,8 +28,6 @@ import ( api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD index 006bc0fa667..62c012ce6ba 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/BUILD @@ -21,8 +21,8 @@ go_library( "//cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go index 0a9a9e01326..ca3ddf73be1 100644 --- a/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/informers/apiregistration/v1alpha1/apiservice.go @@ -19,14 +19,14 @@ limitations under the License. package v1alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" apiregistration_v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/cmd/kube-aggregator/pkg/client/informers/factory.go b/cmd/kube-aggregator/pkg/client/informers/factory.go index a1ac46b12b9..a75006aeeda 100644 --- a/cmd/kube-aggregator/pkg/client/informers/factory.go +++ b/cmd/kube-aggregator/pkg/client/informers/factory.go @@ -19,12 +19,12 @@ limitations under the License. package informers import ( + runtime "k8s.io/apimachinery/pkg/runtime" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/apiregistration" internalinterfaces "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/informers/internalinterfaces" cache "k8s.io/kubernetes/pkg/client/cache" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" sync "sync" time "time" diff --git a/cmd/kube-aggregator/pkg/client/informers/generic.go b/cmd/kube-aggregator/pkg/client/informers/generic.go index 8a654502b26..a18750a3d8f 100644 --- a/cmd/kube-aggregator/pkg/client/informers/generic.go +++ b/cmd/kube-aggregator/pkg/client/informers/generic.go @@ -20,10 +20,10 @@ package informers import ( "fmt" + schema "k8s.io/apimachinery/pkg/runtime/schema" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" cache "k8s.io/kubernetes/pkg/client/cache" - schema "k8s.io/kubernetes/pkg/runtime/schema" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other diff --git a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD index 1e01f39fa8f..054cfab4e19 100644 --- a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD +++ b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/BUILD @@ -15,7 +15,7 @@ go_library( "//cmd/kube-aggregator/pkg/client/clientset_generated/clientset:go_default_library", "//cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go index 40fec1c2db2..c62b9922277 100644 --- a/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go +++ b/cmd/kube-aggregator/pkg/client/informers/internalinterfaces/internal_interfaces.go @@ -19,10 +19,10 @@ limitations under the License. package internalinterfaces import ( + runtime "k8s.io/apimachinery/pkg/runtime" clientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/cmd/kube-aggregator/pkg/client/clientset_generated/internalclientset" cache "k8s.io/kubernetes/pkg/client/cache" - runtime "k8s.io/kubernetes/pkg/runtime" time "time" ) diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD index 5b362c2f81f..30d33e1e925 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go index 1e2eb2ed660..0bd2fef7723 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/internalversion/apiservice.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // APIServiceLister helps list APIServices. diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD index be8e4bbc3ff..58fdd6929f6 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go index ac257dc6dc1..f2d13c1d570 100644 --- a/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go +++ b/cmd/kube-aggregator/pkg/client/listers/apiregistration/v1alpha1/apiservice.go @@ -19,12 +19,12 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" apiregistration "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" v1alpha1 "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // APIServiceLister helps list APIServices. diff --git a/cmd/kube-aggregator/pkg/cmd/server/BUILD b/cmd/kube-aggregator/pkg/cmd/server/BUILD index 4fe2992ecda..eab2da5d708 100644 --- a/cmd/kube-aggregator/pkg/cmd/server/BUILD +++ b/cmd/kube-aggregator/pkg/cmd/server/BUILD @@ -24,12 +24,12 @@ go_library( "//pkg/kubectl/cmd/util:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/pborman/uuid", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/cmd/kube-aggregator/pkg/cmd/server/start.go b/cmd/kube-aggregator/pkg/cmd/server/start.go index 77b43f5ebfc..e8bfe229727 100644 --- a/cmd/kube-aggregator/pkg/cmd/server/start.go +++ b/cmd/kube-aggregator/pkg/cmd/server/start.go @@ -24,6 +24,9 @@ import ( "github.com/pborman/uuid" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apiserver" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy" "k8s.io/kubernetes/pkg/api" @@ -35,10 +38,7 @@ import ( cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/v1alpha1" ) diff --git a/cmd/kube-aggregator/pkg/legacy/BUILD b/cmd/kube-aggregator/pkg/legacy/BUILD index ae94c2926f9..3851b64b304 100644 --- a/cmd/kube-aggregator/pkg/legacy/BUILD +++ b/cmd/kube-aggregator/pkg/legacy/BUILD @@ -16,7 +16,7 @@ go_library( tags = ["automanaged"], deps = [ "//cmd/kube-aggregator/pkg/legacy/apis/config/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/cmd/kube-aggregator/pkg/legacy/discoverysummarizer.go b/cmd/kube-aggregator/pkg/legacy/discoverysummarizer.go index 8fc9dda2634..432b826af76 100644 --- a/cmd/kube-aggregator/pkg/legacy/discoverysummarizer.go +++ b/cmd/kube-aggregator/pkg/legacy/discoverysummarizer.go @@ -22,8 +22,8 @@ import ( "io/ioutil" "net/http" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" config "k8s.io/kubernetes/cmd/kube-aggregator/pkg/legacy/apis/config/v1alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) type DiscoverySummarizer interface { diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/BUILD b/cmd/kube-aggregator/pkg/registry/apiservice/BUILD index eeeba4365a8..1cab833f3b7 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/BUILD +++ b/cmd/kube-aggregator/pkg/registry/apiservice/BUILD @@ -17,11 +17,11 @@ go_library( "//pkg/api:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/etcd/BUILD b/cmd/kube-aggregator/pkg/registry/apiservice/etcd/BUILD index 6f8b3a3e0d3..c6ebc9641a9 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/etcd/BUILD +++ b/cmd/kube-aggregator/pkg/registry/apiservice/etcd/BUILD @@ -16,7 +16,7 @@ go_library( "//cmd/kube-aggregator/pkg/registry/apiservice:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go b/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go index 89e6e54bb7f..0002ce3b163 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go +++ b/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/registry/apiservice" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // rest implements a RESTStorage for API services against etcd diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go b/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go index 89ec975efa4..e4a5ba28806 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go +++ b/cmd/kube-aggregator/pkg/registry/apiservice/strategy.go @@ -19,14 +19,14 @@ package apiservice import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" kapi "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration" "k8s.io/kubernetes/cmd/kube-aggregator/pkg/apis/apiregistration/validation" diff --git a/cmd/kube-apiserver/app/BUILD b/cmd/kube-apiserver/app/BUILD index 3f5bba773ed..e634942ef86 100644 --- a/cmd/kube-apiserver/app/BUILD +++ b/cmd/kube-apiserver/app/BUILD @@ -34,11 +34,6 @@ go_library( "//pkg/kubeapiserver/authenticator:go_default_library", "//pkg/master:go_default_library", "//pkg/registry/cachesize:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//plugin/pkg/admission/admit:go_default_library", "//plugin/pkg/admission/alwayspullimages:go_default_library", @@ -63,6 +58,11 @@ go_library( "//vendor:github.com/pborman/uuid", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/cmd/kube-apiserver/app/options/BUILD b/cmd/kube-apiserver/app/options/BUILD index 15bbd5b62e8..8818816eb76 100644 --- a/cmd/kube-apiserver/app/options/BUILD +++ b/cmd/kube-apiserver/app/options/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/kubeapiserver/options:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/master/ports:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/cmd/kube-apiserver/app/options/options.go b/cmd/kube-apiserver/app/options/options.go index 291f25a8643..aa4a01bed20 100644 --- a/cmd/kube-apiserver/app/options/options.go +++ b/cmd/kube-apiserver/app/options/options.go @@ -21,13 +21,13 @@ import ( "net" "time" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" genericoptions "k8s.io/kubernetes/pkg/genericapiserver/options" kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master/ports" - utilnet "k8s.io/kubernetes/pkg/util/net" "github.com/spf13/pflag" ) diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 90e6d5f966a..d732bd44c42 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -35,6 +35,11 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/cmd/kube-apiserver/app/options" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" @@ -53,11 +58,6 @@ import ( kubeauthenticator "k8s.io/kubernetes/pkg/kubeapiserver/authenticator" "k8s.io/kubernetes/pkg/master" "k8s.io/kubernetes/pkg/registry/cachesize" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" ) diff --git a/cmd/kube-controller-manager/app/BUILD b/cmd/kube-controller-manager/app/BUILD index e988b053b82..d2023b59266 100644 --- a/cmd/kube-controller-manager/app/BUILD +++ b/cmd/kube-controller-manager/app/BUILD @@ -25,11 +25,9 @@ go_library( "//cmd/kube-controller-manager/app/options:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/componentconfig:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/leaderelection:go_default_library", @@ -73,14 +71,11 @@ go_library( "//pkg/controller/volume/attachdetach:go_default_library", "//pkg/controller/volume/persistentvolume:go_default_library", "//pkg/quota/install:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/configz:go_default_library", "//pkg/util/io:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/aws_ebs:go_default_library", "//pkg/volume/azure_dd:go_default_library", @@ -99,6 +94,11 @@ go_library( "//vendor:github.com/prometheus/client_golang/prometheus", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/healthz", ], ) diff --git a/cmd/kube-controller-manager/app/apps.go b/cmd/kube-controller-manager/app/apps.go index 74f7bdfcbc8..d95ea4c81b5 100644 --- a/cmd/kube-controller-manager/app/apps.go +++ b/cmd/kube-controller-manager/app/apps.go @@ -21,8 +21,8 @@ limitations under the License. package app import ( + "k8s.io/apimachinery/pkg/runtime/schema" petset "k8s.io/kubernetes/pkg/controller/petset" - "k8s.io/kubernetes/pkg/runtime/schema" ) func startStatefulSetController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-controller-manager/app/autoscaling.go b/cmd/kube-controller-manager/app/autoscaling.go index 6fd279add49..106db7f99fd 100644 --- a/cmd/kube-controller-manager/app/autoscaling.go +++ b/cmd/kube-controller-manager/app/autoscaling.go @@ -21,9 +21,9 @@ limitations under the License. package app import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/controller/podautoscaler" "k8s.io/kubernetes/pkg/controller/podautoscaler/metrics" - "k8s.io/kubernetes/pkg/runtime/schema" ) func startHPAController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-controller-manager/app/batch.go b/cmd/kube-controller-manager/app/batch.go index 7a877bd3c46..c43267fb270 100644 --- a/cmd/kube-controller-manager/app/batch.go +++ b/cmd/kube-controller-manager/app/batch.go @@ -21,11 +21,11 @@ limitations under the License. package app import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/batch" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/cronjob" "k8s.io/kubernetes/pkg/controller/job" - "k8s.io/kubernetes/pkg/runtime/schema" ) func startJobController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-controller-manager/app/certificates.go b/cmd/kube-controller-manager/app/certificates.go index c0588b872cc..fb8631e128f 100644 --- a/cmd/kube-controller-manager/app/certificates.go +++ b/cmd/kube-controller-manager/app/certificates.go @@ -23,8 +23,8 @@ package app import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime/schema" certcontroller "k8s.io/kubernetes/pkg/controller/certificates" - "k8s.io/kubernetes/pkg/runtime/schema" ) func startCSRController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index f4f0dfc962c..119cadeb5dc 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -31,6 +31,8 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/cmd/kube-controller-manager/app/options" "k8s.io/kubernetes/pkg/api/v1" @@ -51,11 +53,9 @@ import ( serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount" "k8s.io/kubernetes/pkg/controller/volume/attachdetach" persistentvolumecontroller "k8s.io/kubernetes/pkg/controller/volume/persistentvolume" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" certutil "k8s.io/kubernetes/pkg/util/cert" "k8s.io/kubernetes/pkg/util/configz" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" diff --git a/cmd/kube-controller-manager/app/core.go b/cmd/kube-controller-manager/app/core.go index 295a6fbf967..150693720f9 100644 --- a/cmd/kube-controller-manager/app/core.go +++ b/cmd/kube-controller-manager/app/core.go @@ -23,11 +23,13 @@ package app import ( "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller" @@ -40,8 +42,6 @@ import ( resourcequotacontroller "k8s.io/kubernetes/pkg/controller/resourcequota" serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount" quotainstall "k8s.io/kubernetes/pkg/quota/install" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" ) func startEndpointController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-controller-manager/app/extensions.go b/cmd/kube-controller-manager/app/extensions.go index 374799625b3..c7ac8f88f30 100644 --- a/cmd/kube-controller-manager/app/extensions.go +++ b/cmd/kube-controller-manager/app/extensions.go @@ -21,10 +21,10 @@ limitations under the License. package app import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/controller/daemon" "k8s.io/kubernetes/pkg/controller/deployment" replicaset "k8s.io/kubernetes/pkg/controller/replicaset" - "k8s.io/kubernetes/pkg/runtime/schema" ) func startDaemonSetController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-controller-manager/app/options/BUILD b/cmd/kube-controller-manager/app/options/BUILD index b4b4d63beea..15416dab713 100644 --- a/cmd/kube-controller-manager/app/options/BUILD +++ b/cmd/kube-controller-manager/app/options/BUILD @@ -13,11 +13,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/leaderelection:go_default_library", "//pkg/master/ports:go_default_library", "//pkg/util/config:go_default_library", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/cmd/kube-controller-manager/app/options/options.go b/cmd/kube-controller-manager/app/options/options.go index 1c1f07a60e4..7cb0535ee59 100644 --- a/cmd/kube-controller-manager/app/options/options.go +++ b/cmd/kube-controller-manager/app/options/options.go @@ -21,8 +21,8 @@ package options import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/leaderelection" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/util/config" diff --git a/cmd/kube-controller-manager/app/policy.go b/cmd/kube-controller-manager/app/policy.go index 119106f643f..a9a11437fad 100644 --- a/cmd/kube-controller-manager/app/policy.go +++ b/cmd/kube-controller-manager/app/policy.go @@ -21,8 +21,8 @@ limitations under the License. package app import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/controller/disruption" - "k8s.io/kubernetes/pkg/runtime/schema" ) func startDisruptionController(ctx ControllerContext) (bool, error) { diff --git a/cmd/kube-proxy/app/BUILD b/cmd/kube-proxy/app/BUILD index fb83ff76d21..cdba4d2d0d2 100644 --- a/cmd/kube-proxy/app/BUILD +++ b/cmd/kube-proxy/app/BUILD @@ -19,7 +19,6 @@ go_library( "//cmd/kube-proxy/app/options:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/client/record:go_default_library", @@ -30,22 +29,23 @@ go_library( "//pkg/proxy/iptables:go_default_library", "//pkg/proxy/userspace:go_default_library", "//pkg/proxy/winuserspace:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/configz:go_default_library", "//pkg/util/dbus:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/iptables:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/netsh:go_default_library", "//pkg/util/node:go_default_library", "//pkg/util/oom:go_default_library", "//pkg/util/resourcecontainer:go_default_library", "//pkg/util/sysctl:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -58,9 +58,9 @@ go_test( "//cmd/kube-proxy/app/options:go_default_library", "//pkg/api:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/util/iptables:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/cmd/kube-proxy/app/server.go b/cmd/kube-proxy/app/server.go index eb5dda6bb1e..4cf5b29502e 100644 --- a/cmd/kube-proxy/app/server.go +++ b/cmd/kube-proxy/app/server.go @@ -28,10 +28,13 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/cmd/kube-proxy/app/options" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" unversionedcore "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/record" @@ -42,18 +45,15 @@ import ( "k8s.io/kubernetes/pkg/proxy/iptables" "k8s.io/kubernetes/pkg/proxy/userspace" "k8s.io/kubernetes/pkg/proxy/winuserspace" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/configz" utildbus "k8s.io/kubernetes/pkg/util/dbus" "k8s.io/kubernetes/pkg/util/exec" utiliptables "k8s.io/kubernetes/pkg/util/iptables" - utilnet "k8s.io/kubernetes/pkg/util/net" utilnetsh "k8s.io/kubernetes/pkg/util/netsh" nodeutil "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/resourcecontainer" utilsysctl "k8s.io/kubernetes/pkg/util/sysctl" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/spf13/cobra" diff --git a/cmd/kube-proxy/app/server_test.go b/cmd/kube-proxy/app/server_test.go index 2f55566299c..dfda84a3469 100644 --- a/cmd/kube-proxy/app/server_test.go +++ b/cmd/kube-proxy/app/server_test.go @@ -24,10 +24,10 @@ import ( "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/cmd/kube-proxy/app/options" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/iptables" ) diff --git a/cmd/kubeadm/app/apis/kubeadm/BUILD b/cmd/kubeadm/app/apis/kubeadm/BUILD index 44123cd7f40..6bb73d96872 100644 --- a/cmd/kubeadm/app/apis/kubeadm/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/BUILD @@ -18,9 +18,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/cmd/kubeadm/app/apis/kubeadm/register.go b/cmd/kubeadm/app/apis/kubeadm/register.go index 453c79fc15d..40f71023aed 100644 --- a/cmd/kubeadm/app/apis/kubeadm/register.go +++ b/cmd/kubeadm/app/apis/kubeadm/register.go @@ -17,10 +17,10 @@ limitations under the License. package kubeadm import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/cmd/kubeadm/app/apis/kubeadm/types.go b/cmd/kubeadm/app/apis/kubeadm/types.go index 2c3dac03686..f922bf0e4ed 100644 --- a/cmd/kubeadm/app/apis/kubeadm/types.go +++ b/cmd/kubeadm/app/apis/kubeadm/types.go @@ -17,7 +17,7 @@ limitations under the License. package kubeadm import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) type EnvParams struct { diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD index d22e80a093e..245a85a353c 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/BUILD @@ -19,9 +19,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go index fedc75a8c8d..f676020eff6 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) const ( diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go index a6f49f66551..95ebf6d6120 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/types.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/types.go index e1ae49bdb08..cc26c3de9bf 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/types.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/types.go @@ -17,7 +17,7 @@ limitations under the License. package v1alpha1 import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) type MasterConfiguration struct { diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.defaults.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.defaults.go index 8ae05da1a7e..808521b9d31 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.defaults.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1alpha1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/cmd/kubeadm/app/apis/kubeadm/validation/BUILD b/cmd/kubeadm/app/apis/kubeadm/validation/BUILD index 51812119d17..bbf096babf8 100644 --- a/cmd/kubeadm/app/apis/kubeadm/validation/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/validation/BUILD @@ -13,7 +13,7 @@ go_library( tags = ["automanaged"], deps = [ "//cmd/kubeadm/app/apis/kubeadm:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/cmd/kubeadm/app/apis/kubeadm/validation/validation.go b/cmd/kubeadm/app/apis/kubeadm/validation/validation.go index 260fde5e291..3de5a0c0aa5 100644 --- a/cmd/kubeadm/app/apis/kubeadm/validation/validation.go +++ b/cmd/kubeadm/app/apis/kubeadm/validation/validation.go @@ -17,8 +17,8 @@ limitations under the License. package validation import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - "k8s.io/kubernetes/pkg/util/validation/field" ) func ValidateMasterConfiguration(c *kubeadm.MasterConfiguration) field.ErrorList { diff --git a/cmd/kubeadm/app/cmd/BUILD b/cmd/kubeadm/app/cmd/BUILD index 3b024aadbfc..84fd2dc7183 100644 --- a/cmd/kubeadm/app/cmd/BUILD +++ b/cmd/kubeadm/app/cmd/BUILD @@ -36,13 +36,13 @@ go_library( "//pkg/fields:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/flag:go_default_library", "//pkg/util/initsystem:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/renstrom/dedent", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/cmd/kubeadm/app/cmd/init.go b/cmd/kubeadm/app/cmd/init.go index f5177e8e505..4da7d36b277 100644 --- a/cmd/kubeadm/app/cmd/init.go +++ b/cmd/kubeadm/app/cmd/init.go @@ -35,11 +35,11 @@ import ( certphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs" kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" + "k8s.io/apimachinery/pkg/runtime" + netutil "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/cmd/kubeadm/app/preflight" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - netutil "k8s.io/kubernetes/pkg/util/net" ) var ( diff --git a/cmd/kubeadm/app/cmd/join.go b/cmd/kubeadm/app/cmd/join.go index c53614fffcd..22545b11efd 100644 --- a/cmd/kubeadm/app/cmd/join.go +++ b/cmd/kubeadm/app/cmd/join.go @@ -25,6 +25,7 @@ import ( "github.com/renstrom/dedent" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/runtime" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapiext "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" @@ -34,7 +35,6 @@ import ( "k8s.io/kubernetes/cmd/kubeadm/app/preflight" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) var ( diff --git a/cmd/kubeadm/app/master/BUILD b/cmd/kubeadm/app/master/BUILD index 8b3d90cacfd..f380b3d191d 100644 --- a/cmd/kubeadm/app/master/BUILD +++ b/cmd/kubeadm/app/master/BUILD @@ -28,7 +28,6 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", @@ -36,10 +35,11 @@ go_library( "//pkg/registry/core/service/ipallocator:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/blang/semver", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/cmd/kubeadm/app/master/apiclient.go b/cmd/kubeadm/app/master/apiclient.go index ef8204ef59c..65aff001a83 100644 --- a/cmd/kubeadm/app/master/apiclient.go +++ b/cmd/kubeadm/app/master/apiclient.go @@ -22,16 +22,16 @@ import ( "runtime" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/cmd/kubeadm/app/images" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/util/wait" ) const apiCallRetryInterval = 500 * time.Millisecond diff --git a/cmd/kubeadm/app/master/discovery.go b/cmd/kubeadm/app/master/discovery.go index c85249de569..7938d6600f2 100644 --- a/cmd/kubeadm/app/master/discovery.go +++ b/cmd/kubeadm/app/master/discovery.go @@ -22,16 +22,16 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapiext "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" certutil "k8s.io/kubernetes/pkg/util/cert" - "k8s.io/kubernetes/pkg/util/wait" ) type kubeDiscovery struct { diff --git a/cmd/kubeadm/app/master/manifests.go b/cmd/kubeadm/app/master/manifests.go index c6ab8f63dc5..1bf3fe35bc9 100644 --- a/cmd/kubeadm/app/master/manifests.go +++ b/cmd/kubeadm/app/master/manifests.go @@ -24,11 +24,11 @@ import ( "path" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/images" "k8s.io/kubernetes/pkg/api/resource" api "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/util/intstr" diff --git a/cmd/kubeadm/app/master/tokens.go b/cmd/kubeadm/app/master/tokens.go index f4e0bf9f4a6..b651c32e6e1 100644 --- a/cmd/kubeadm/app/master/tokens.go +++ b/cmd/kubeadm/app/master/tokens.go @@ -23,11 +23,11 @@ import ( "path" "strconv" + netutil "k8s.io/apimachinery/pkg/util/net" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapiext "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - netutil "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/uuid" ) diff --git a/cmd/kubeadm/app/node/BUILD b/cmd/kubeadm/app/node/BUILD index f021b851a44..749e63f1740 100644 --- a/cmd/kubeadm/app/node/BUILD +++ b/cmd/kubeadm/app/node/BUILD @@ -26,10 +26,10 @@ go_library( "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/kubelet/util/csr:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/cert:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/square/go-jose", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -43,11 +43,11 @@ go_test( tags = ["automanaged"], deps = [ "//cmd/kubeadm/app/apis/kubeadm:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/version:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/cmd/kubeadm/app/node/bootstrap.go b/cmd/kubeadm/app/node/bootstrap.go index 721a04036f3..c40fc16cc47 100644 --- a/cmd/kubeadm/app/node/bootstrap.go +++ b/cmd/kubeadm/app/node/bootstrap.go @@ -22,6 +22,8 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" @@ -30,8 +32,6 @@ import ( "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" ) // retryTimeout between the subsequent attempts to connect diff --git a/cmd/kubeadm/app/node/bootstrap_test.go b/cmd/kubeadm/app/node/bootstrap_test.go index 069b79a0a0b..ac73975b3dd 100644 --- a/cmd/kubeadm/app/node/bootstrap_test.go +++ b/cmd/kubeadm/app/node/bootstrap_test.go @@ -22,8 +22,8 @@ import ( "net/http/httptest" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" diff --git a/cmd/kubeadm/app/node/csr.go b/cmd/kubeadm/app/node/csr.go index e165bad6953..aaee8643e7c 100644 --- a/cmd/kubeadm/app/node/csr.go +++ b/cmd/kubeadm/app/node/csr.go @@ -20,11 +20,11 @@ import ( "fmt" "os" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/kubelet/util/csr" - "k8s.io/kubernetes/pkg/types" certutil "k8s.io/kubernetes/pkg/util/cert" ) diff --git a/cmd/kubeadm/app/node/discovery.go b/cmd/kubeadm/app/node/discovery.go index 38b0cb29cc1..b9713276261 100644 --- a/cmd/kubeadm/app/node/discovery.go +++ b/cmd/kubeadm/app/node/discovery.go @@ -25,8 +25,8 @@ import ( "time" jose "github.com/square/go-jose" + "k8s.io/apimachinery/pkg/util/wait" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - "k8s.io/kubernetes/pkg/util/wait" ) // the amount of time to wait between each request to the discovery API diff --git a/cmd/kubeadm/app/preflight/BUILD b/cmd/kubeadm/app/preflight/BUILD index 738756e4ca7..d714bc5de99 100644 --- a/cmd/kubeadm/app/preflight/BUILD +++ b/cmd/kubeadm/app/preflight/BUILD @@ -15,10 +15,10 @@ go_library( deps = [ "//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/initsystem:go_default_library", "//pkg/util/node:go_default_library", "//test/e2e_node/system:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/cmd/kubeadm/app/preflight/checks.go b/cmd/kubeadm/app/preflight/checks.go index 9cefc0a419d..ba6f484adb2 100644 --- a/cmd/kubeadm/app/preflight/checks.go +++ b/cmd/kubeadm/app/preflight/checks.go @@ -27,9 +27,9 @@ import ( "os/exec" "path" + utilerrors "k8s.io/apimachinery/pkg/util/errors" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/pkg/api/validation" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/initsystem" "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/test/e2e_node/system" diff --git a/cmd/kubeadm/app/util/BUILD b/cmd/kubeadm/app/util/BUILD index df403d64020..46ed58ebf33 100644 --- a/cmd/kubeadm/app/util/BUILD +++ b/cmd/kubeadm/app/util/BUILD @@ -23,8 +23,8 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/cmd/kubeadm/app/util/tokens.go b/cmd/kubeadm/app/util/tokens.go index 9c8e8c43e55..62fefd7676d 100644 --- a/cmd/kubeadm/app/util/tokens.go +++ b/cmd/kubeadm/app/util/tokens.go @@ -25,12 +25,12 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapiext "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" ) diff --git a/cmd/kubelet/app/BUILD b/cmd/kubelet/app/BUILD index 2b3d3d12de3..38c9650670f 100644 --- a/cmd/kubelet/app/BUILD +++ b/cmd/kubelet/app/BUILD @@ -20,7 +20,7 @@ go_test( "//pkg/client/restclient:go_default_library", "//pkg/kubelet:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) @@ -41,7 +41,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", "//pkg/apis/componentconfig/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/capabilities:go_default_library", "//pkg/client/chaosclient:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -72,8 +71,6 @@ go_library( "//pkg/kubelet/server:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/csr:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/configz:go_default_library", @@ -83,8 +80,6 @@ go_library( "//pkg/util/node:go_default_library", "//pkg/util/oom:go_default_library", "//pkg/util/rlimit:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/aws_ebs:go_default_library", @@ -113,6 +108,11 @@ go_library( "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", "//vendor:golang.org/x/exp/inotify", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", "//vendor:k8s.io/apiserver/pkg/healthz", diff --git a/cmd/kubelet/app/auth.go b/cmd/kubelet/app/auth.go index 6fb13e4e8bd..8c9fab4a648 100644 --- a/cmd/kubelet/app/auth.go +++ b/cmd/kubelet/app/auth.go @@ -27,12 +27,12 @@ import ( authenticationclient "k8s.io/client-go/kubernetes/typed/authentication/v1beta1" authorizationclient "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/apis/componentconfig" apiserverauthenticator "k8s.io/kubernetes/pkg/genericapiserver/authenticator" alwaysallowauthorizer "k8s.io/kubernetes/pkg/genericapiserver/authorizer" apiserverauthorizer "k8s.io/kubernetes/pkg/genericapiserver/authorizer" "k8s.io/kubernetes/pkg/kubelet/server" - "k8s.io/kubernetes/pkg/types" ) func buildAuth(nodeName types.NodeName, client clientset.Interface, config componentconfig.KubeletConfiguration) (server.AuthInterface, error) { diff --git a/cmd/kubelet/app/bootstrap.go b/cmd/kubelet/app/bootstrap.go index b2307a74b76..8915b5f7273 100644 --- a/cmd/kubelet/app/bootstrap.go +++ b/cmd/kubelet/app/bootstrap.go @@ -25,12 +25,12 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" unversionedcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/kubelet/util/csr" - "k8s.io/kubernetes/pkg/types" certutil "k8s.io/kubernetes/pkg/util/cert" ) diff --git a/cmd/kubelet/app/bootstrap_test.go b/cmd/kubelet/app/bootstrap_test.go index 174f29ffa91..6e827ab462f 100644 --- a/cmd/kubelet/app/bootstrap_test.go +++ b/cmd/kubelet/app/bootstrap_test.go @@ -22,8 +22,8 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/diff" ) func TestLoadRESTClientConfig(t *testing.T) { diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index c438a2b3afb..1d763c22651 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -39,12 +39,16 @@ import ( "k8s.io/apiserver/pkg/healthz" clientgoclientset "k8s.io/client-go/kubernetes" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/cmd/kubelet/app/options" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" componentconfigv1alpha1 "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/client/chaosclient" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -64,8 +68,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/dockertools" "k8s.io/kubernetes/pkg/kubelet/server" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/cert" certutil "k8s.io/kubernetes/pkg/util/cert" utilconfig "k8s.io/kubernetes/pkg/util/config" @@ -76,8 +78,6 @@ import ( nodeutil "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/rlimit" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" ) diff --git a/cmd/kubemark/BUILD b/cmd/kubemark/BUILD index d6b1fee19ef..287d3d70473 100644 --- a/cmd/kubemark/BUILD +++ b/cmd/kubemark/BUILD @@ -33,10 +33,10 @@ go_library( "//pkg/proxy/config:go_default_library", "//pkg/util/flag:go_default_library", "//pkg/util/iptables/testing:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/version/prometheus:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/cmd/kubemark/hollow-node.go b/cmd/kubemark/hollow-node.go index c7a32c3b7d6..fae7d4092aa 100644 --- a/cmd/kubemark/hollow-node.go +++ b/cmd/kubemark/hollow-node.go @@ -19,6 +19,7 @@ package main import ( "fmt" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -33,7 +34,6 @@ import ( proxyconfig "k8s.io/kubernetes/pkg/proxy/config" "k8s.io/kubernetes/pkg/util/flag" fakeiptables "k8s.io/kubernetes/pkg/util/iptables/testing" - "k8s.io/kubernetes/pkg/util/sets" _ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration "github.com/golang/glog" diff --git a/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_clientset.go b/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_clientset.go index dd16c10e603..6b40c5be00a 100644 --- a/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_clientset.go +++ b/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_clientset.go @@ -70,12 +70,12 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) { // imports for the code in commonTemplate imports = append(imports, "k8s.io/kubernetes/pkg/api", - "k8s.io/kubernetes/pkg/apimachinery/registered", + "k8s.io/apimachinery/pkg/apimachinery/registered", "k8s.io/kubernetes/pkg/client/testing/core", "k8s.io/kubernetes/pkg/client/typed/discovery", "fakediscovery \"k8s.io/kubernetes/pkg/client/typed/discovery/fake\"", - "k8s.io/kubernetes/pkg/runtime", - "k8s.io/kubernetes/pkg/watch", + "k8s.io/apimachinery/pkg/runtime", + "k8s.io/apimachinery/pkg/watch", ) return diff --git a/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go b/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go index 66fd31cef97..5a7d0052bab 100644 --- a/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go +++ b/cmd/libs/go2idl/client-gen/generators/fake/generator_fake_for_type.go @@ -115,10 +115,10 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. "group": canonicalGroup, "groupName": groupName, "version": g.version, - "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/watch", Name: "Interface"}), - "GroupVersionResource": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/runtime/schema", Name: "GroupVersionResource"}), + "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"}), + "GroupVersionResource": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersionResource"}), "PatchType": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "PatchType"}), - "Everything": c.Universe.Function(types.Name{Package: "k8s.io/kubernetes/pkg/labels", Name: "Everything"}), + "Everything": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/labels", Name: "Everything"}), "NewRootListAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewRootListAction"}), "NewListAction": c.Universe.Function(types.Name{Package: pkgTestingCore, Name: "NewListAction"}), @@ -150,7 +150,7 @@ func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io. m["DeleteOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api/v1", Name: "DeleteOptions"}) m["ListOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api/v1", Name: "ListOptions"}) } - m["GetOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/apis/meta/v1", Name: "GetOptions"}) + m["GetOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GetOptions"}) noMethods := extractBoolTagOrDie("noMethods", t.SecondClosestCommentLines) == true diff --git a/cmd/libs/go2idl/client-gen/generators/generator_for_group.go b/cmd/libs/go2idl/client-gen/generators/generator_for_group.go index e37f9a2afa4..703a9ecea3d 100644 --- a/cmd/libs/go2idl/client-gen/generators/generator_for_group.go +++ b/cmd/libs/go2idl/client-gen/generators/generator_for_group.go @@ -58,11 +58,11 @@ func (g *genGroup) Imports(c *generator.Context) (imports []string) { func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { sw := generator.NewSnippetWriter(w, c, "$", "$") const pkgRESTClient = "k8s.io/kubernetes/pkg/client/restclient" - const pkgRegistered = "k8s.io/kubernetes/pkg/apimachinery/registered" + const pkgRegistered = "k8s.io/apimachinery/pkg/apimachinery/registered" const pkgAPI = "k8s.io/kubernetes/pkg/api" - const pkgSerializer = "k8s.io/kubernetes/pkg/runtime/serializer" + const pkgSerializer = "k8s.io/apimachinery/pkg/runtime/serializer" const pkgUnversioned = "k8s.io/kubernetes/pkg/api/unversioned" - const pkgSchema = "k8s.io/kubernetes/pkg/runtime/schema" + const pkgSchema = "k8s.io/apimachinery/pkg/runtime/schema" apiPath := func(group string) string { if len(g.apiPath) > 0 { diff --git a/cmd/libs/go2idl/client-gen/generators/generator_for_type.go b/cmd/libs/go2idl/client-gen/generators/generator_for_type.go index bfcc63d820d..e5ed252d989 100644 --- a/cmd/libs/go2idl/client-gen/generators/generator_for_type.go +++ b/cmd/libs/go2idl/client-gen/generators/generator_for_type.go @@ -83,7 +83,7 @@ func (g *genClientForType) GenerateType(c *generator.Context, t *types.Type, w i "Package": namer.IC(pkg), "Group": namer.IC(g.group), "GroupVersion": namer.IC(g.group) + namer.IC(g.version), - "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/watch", Name: "Interface"}), + "watchInterface": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"}), "RESTClientInterface": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/client/restclient", Name: "Interface"}), "apiParameterCodec": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "ParameterCodec"}), "PatchType": c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "PatchType"}), @@ -97,7 +97,7 @@ func (g *genClientForType) GenerateType(c *generator.Context, t *types.Type, w i m["DeleteOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api/v1", Name: "DeleteOptions"}) m["ListOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/api/v1", Name: "ListOptions"}) } - m["GetOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/kubernetes/pkg/apis/meta/v1", Name: "GetOptions"}) + m["GetOptions"] = c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GetOptions"}) sw.Do(getterComment, m) if namespaced { diff --git a/cmd/libs/go2idl/client-gen/main.go b/cmd/libs/go2idl/client-gen/main.go index de157773cbd..accdaff8505 100644 --- a/cmd/libs/go2idl/client-gen/main.go +++ b/cmd/libs/go2idl/client-gen/main.go @@ -161,9 +161,9 @@ func main() { dependencies := []string{ "k8s.io/kubernetes/pkg/fields", - "k8s.io/kubernetes/pkg/labels", - "k8s.io/kubernetes/pkg/watch", - "k8s.io/kubernetes/pkg/apimachinery/registered", + "k8s.io/apimachinery/pkg/labels", + "k8s.io/apimachinery/pkg/watch", + "k8s.io/apimachinery/pkg/apimachinery/registered", } if *test { diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD b/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD index 14047a6bf7c..e5e53a18134 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/BUILD @@ -17,9 +17,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD index e36f436c79d..91f354647da 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/BUILD @@ -15,13 +15,13 @@ go_library( "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", "//cmd/libs/go2idl/client-gen/test_apis/testgroup/v1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go index 5bb1c4ece00..086e5155e43 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/install/install.go @@ -23,15 +23,15 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) const importPrefix = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go index cda8acff25c..bf9d93285be 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/register.go @@ -17,9 +17,9 @@ limitations under the License. package testgroup import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) var SchemeGroupVersion = schema.GroupVersion{Group: "testgroup.k8s.io", Version: runtime.APIVersionInternal} diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/types.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/types.go index 7df04bbff4d..0e8d8743ed6 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/types.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/types.go @@ -17,8 +17,8 @@ limitations under the License. package testgroup import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD index 26851e877c5..6dfe859bdbd 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go index 1e5cb87b97b..65230b6c805 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) var SchemeGroupVersion = schema.GroupVersion{Group: "testgroup.k8s.io", Version: "v1"} diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.generated.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.generated.go index 840b02d23d0..212862b6787 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.generated.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.go b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.go index 8d9c9411e57..39fddeea4e2 100644 --- a/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.go +++ b/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/BUILD b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/BUILD index 61bbcc582d3..8e0c003a87b 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/BUILD +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion:go_default_library", "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/clientset_generated.go b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/clientset_generated.go index 2d90ac5b362..a57e571ecf7 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/clientset_generated.go +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/fake/clientset_generated.go @@ -17,16 +17,16 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" clientset "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset" internalversiontestgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion" fakeinternalversiontestgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/BUILD b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/BUILD index 52e33467113..a819f05229f 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/BUILD +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/BUILD @@ -19,10 +19,10 @@ go_library( deps = [ "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD index ecc278128d0..3e8b32f8f52 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//cmd/libs/go2idl/client-gen/test_apis/testgroup:go_default_library", "//cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go index 0df839c9a45..3768ac36f4b 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/fake/fake_testtype.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeTestTypes implements TestTypeInterface diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testgroup_client.go b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testgroup_client.go index 72c8d8b04e0..57f8f58abc2 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testgroup_client.go +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testgroup_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type TestgroupInterface interface { TestTypesGetter } -// TestgroupClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// TestgroupClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type TestgroupClient struct { restClient restclient.Interface } diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testtype.go b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testtype.go index f1f2a062212..3f70d5fe6ad 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testtype.go +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/internalversion/testtype.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // TestTypesGetter has a method to return a TestTypeInterface. diff --git a/cmd/libs/go2idl/conversion-gen/generators/BUILD b/cmd/libs/go2idl/conversion-gen/generators/BUILD index 272edd1315f..442d4d96580 100644 --- a/cmd/libs/go2idl/conversion-gen/generators/BUILD +++ b/cmd/libs/go2idl/conversion-gen/generators/BUILD @@ -12,8 +12,8 @@ go_library( srcs = ["conversion.go"], tags = ["automanaged"], deps = [ - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/gengo/args", "//vendor:k8s.io/gengo/generator", "//vendor:k8s.io/gengo/namer", diff --git a/cmd/libs/go2idl/conversion-gen/generators/conversion.go b/cmd/libs/go2idl/conversion-gen/generators/conversion.go index 59f9eb75a10..6d0ab3c19f0 100644 --- a/cmd/libs/go2idl/conversion-gen/generators/conversion.go +++ b/cmd/libs/go2idl/conversion-gen/generators/conversion.go @@ -24,11 +24,11 @@ import ( "sort" "strings" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/gengo/args" "k8s.io/gengo/generator" "k8s.io/gengo/namer" "k8s.io/gengo/types" - "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" ) @@ -342,8 +342,8 @@ func unwrapAlias(in *types.Type) *types.Type { } const ( - runtimePackagePath = "k8s.io/kubernetes/pkg/runtime" - conversionPackagePath = "k8s.io/kubernetes/pkg/conversion" + runtimePackagePath = "k8s.io/apimachinery/pkg/runtime" + conversionPackagePath = "k8s.io/apimachinery/pkg/conversion" ) type noEquality struct{} diff --git a/cmd/libs/go2idl/conversion-gen/main.go b/cmd/libs/go2idl/conversion-gen/main.go index fe5b86e5c77..77cd7e52760 100644 --- a/cmd/libs/go2idl/conversion-gen/main.go +++ b/cmd/libs/go2idl/conversion-gen/main.go @@ -56,9 +56,9 @@ func main() { ExtraPeerDirs: []string{ "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/api/v1", - "k8s.io/kubernetes/pkg/apis/meta/v1", - "k8s.io/kubernetes/pkg/conversion", - "k8s.io/kubernetes/pkg/runtime", + "k8s.io/apimachinery/pkg/apis/meta/v1", + "k8s.io/apimachinery/pkg/conversion", + "k8s.io/apimachinery/pkg/runtime", }, SkipUnsafe: false, } diff --git a/cmd/libs/go2idl/go-to-protobuf/protobuf/BUILD b/cmd/libs/go2idl/go-to-protobuf/protobuf/BUILD index a45420145a6..f984b63b60f 100644 --- a/cmd/libs/go2idl/go-to-protobuf/protobuf/BUILD +++ b/cmd/libs/go2idl/go-to-protobuf/protobuf/BUILD @@ -21,9 +21,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//third_party/forked/golang/reflect:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/third_party/forked/golang/reflect", "//vendor:k8s.io/gengo/args", "//vendor:k8s.io/gengo/generator", "//vendor:k8s.io/gengo/namer", diff --git a/cmd/libs/go2idl/go-to-protobuf/protobuf/parser.go b/cmd/libs/go2idl/go-to-protobuf/protobuf/parser.go index 282108f5d55..c8c01cdff6b 100644 --- a/cmd/libs/go2idl/go-to-protobuf/protobuf/parser.go +++ b/cmd/libs/go2idl/go-to-protobuf/protobuf/parser.go @@ -30,7 +30,7 @@ import ( "reflect" "strings" - customreflect "k8s.io/kubernetes/third_party/forked/golang/reflect" + customreflect "k8s.io/apimachinery/third_party/forked/golang/reflect" ) func rewriteFile(name string, header []byte, rewriteFn func(*token.FileSet, *ast.File) error) error { diff --git a/cmd/libs/go2idl/informer-gen/generators/types.go b/cmd/libs/go2idl/informer-gen/generators/types.go index be22e231c72..06d2fac8a99 100644 --- a/cmd/libs/go2idl/informer-gen/generators/types.go +++ b/cmd/libs/go2idl/informer-gen/generators/types.go @@ -31,12 +31,12 @@ var ( cacheSharedIndexInformer = types.Name{Package: "k8s.io/kubernetes/pkg/client/cache", Name: "SharedIndexInformer"} listOptions = types.Name{Package: "k8s.io/kubernetes/pkg/api", Name: "ListOptions"} reflectType = types.Name{Package: "reflect", Name: "Type"} - runtimeObject = types.Name{Package: "k8s.io/kubernetes/pkg/runtime", Name: "Object"} - schemaGroupResource = types.Name{Package: "k8s.io/kubernetes/pkg/runtime/schema", Name: "GroupResource"} - schemaGroupVersionResource = types.Name{Package: "k8s.io/kubernetes/pkg/runtime/schema", Name: "GroupVersionResource"} + runtimeObject = types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Object"} + schemaGroupResource = types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupResource"} + schemaGroupVersionResource = types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersionResource"} syncMutex = types.Name{Package: "sync", Name: "Mutex"} timeDuration = types.Name{Package: "time", Name: "Duration"} v1ListOptions = types.Name{Package: "k8s.io/kubernetes/pkg/api/v1", Name: "ListOptions"} v1NamespaceAll = types.Name{Package: "k8s.io/kubernetes/pkg/api/v1", Name: "NamespaceAll"} - watchInterface = types.Name{Package: "k8s.io/kubernetes/pkg/watch", Name: "Interface"} + watchInterface = types.Name{Package: "k8s.io/apimachinery/pkg/watch", Name: "Interface"} ) diff --git a/cmd/libs/go2idl/lister-gen/generators/lister.go b/cmd/libs/go2idl/lister-gen/generators/lister.go index 1685094dbf6..32bce18d890 100644 --- a/cmd/libs/go2idl/lister-gen/generators/lister.go +++ b/cmd/libs/go2idl/lister-gen/generators/lister.go @@ -217,7 +217,7 @@ func (g *listerGenerator) Namers(c *generator.Context) namer.NameSystems { func (g *listerGenerator) Imports(c *generator.Context) (imports []string) { imports = append(imports, g.imports.ImportLines()...) imports = append(imports, "k8s.io/kubernetes/pkg/api/errors") - imports = append(imports, "k8s.io/kubernetes/pkg/labels") + imports = append(imports, "k8s.io/apimachinery/pkg/labels") // for Indexer imports = append(imports, "k8s.io/kubernetes/pkg/client/cache") return diff --git a/cmd/libs/go2idl/openapi-gen/generators/BUILD b/cmd/libs/go2idl/openapi-gen/generators/BUILD index 5f488d28722..e54702851a7 100644 --- a/cmd/libs/go2idl/openapi-gen/generators/BUILD +++ b/cmd/libs/go2idl/openapi-gen/generators/BUILD @@ -13,8 +13,8 @@ go_library( srcs = ["openapi.go"], tags = ["automanaged"], deps = [ - "//pkg/genericapiserver/openapi/common:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", "//vendor:k8s.io/gengo/args", "//vendor:k8s.io/gengo/generator", "//vendor:k8s.io/gengo/namer", diff --git a/cmd/libs/go2idl/openapi-gen/generators/openapi.go b/cmd/libs/go2idl/openapi-gen/generators/openapi.go index ca90c993ff4..83f24fe2750 100644 --- a/cmd/libs/go2idl/openapi-gen/generators/openapi.go +++ b/cmd/libs/go2idl/openapi-gen/generators/openapi.go @@ -25,11 +25,11 @@ import ( "sort" "strings" + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" "k8s.io/gengo/args" "k8s.io/gengo/generator" "k8s.io/gengo/namer" "k8s.io/gengo/types" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" "github.com/golang/glog" ) @@ -127,7 +127,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat const ( specPackagePath = "github.com/go-openapi/spec" - openAPICommonPackagePath = "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" + openAPICommonPackagePath = "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" ) // openApiGen produces a file with auto-generated OpenAPI functions. diff --git a/examples/BUILD b/examples/BUILD index f98d41d2e5d..46bb96cc22e 100644 --- a/examples/BUILD +++ b/examples/BUILD @@ -47,13 +47,13 @@ go_test( "//pkg/apis/extensions/validation:go_default_library", "//pkg/capabilities:go_default_library", "//pkg/registry/batch/job:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/yaml:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/api/latest:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) diff --git a/examples/apiserver/BUILD b/examples/apiserver/BUILD index f88ff6ffd05..dbbf1fef7da 100644 --- a/examples/apiserver/BUILD +++ b/examples/apiserver/BUILD @@ -17,16 +17,16 @@ go_library( "//examples/apiserver/rest:go_default_library", "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/genericapiserver:go_default_library", "//pkg/genericapiserver/authorizer:go_default_library", "//pkg/genericapiserver/options:go_default_library", "//pkg/kubeapiserver/options:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", - "//pkg/util/errors:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/examples/apiserver/apiserver.go b/examples/apiserver/apiserver.go index 57cc5bb9069..7bcf2318250 100644 --- a/examples/apiserver/apiserver.go +++ b/examples/apiserver/apiserver.go @@ -19,19 +19,19 @@ package apiserver import ( "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1" testgroupetcd "k8s.io/kubernetes/examples/apiserver/rest" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/genericapiserver" "k8s.io/kubernetes/pkg/genericapiserver/authorizer" genericoptions "k8s.io/kubernetes/pkg/genericapiserver/options" kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" - utilerrors "k8s.io/kubernetes/pkg/util/errors" // Install the testgroup API _ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/install" diff --git a/examples/apiserver/rest/BUILD b/examples/apiserver/rest/BUILD index ddec17be4e2..707edde6b83 100644 --- a/examples/apiserver/rest/BUILD +++ b/examples/apiserver/rest/BUILD @@ -16,12 +16,12 @@ go_library( "//pkg/api:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/examples/apiserver/rest/reststorage.go b/examples/apiserver/rest/reststorage.go index 412695d5f0b..7eeec545d95 100644 --- a/examples/apiserver/rest/reststorage.go +++ b/examples/apiserver/rest/reststorage.go @@ -19,16 +19,16 @@ package rest import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) type REST struct { diff --git a/examples/apiserver/server/BUILD b/examples/apiserver/server/BUILD index 3ad9cec5ff9..2dc1209d6e2 100644 --- a/examples/apiserver/server/BUILD +++ b/examples/apiserver/server/BUILD @@ -21,9 +21,9 @@ go_library( deps = [ "//examples/apiserver:go_default_library", "//pkg/util/flag:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/examples/apiserver/server/main.go b/examples/apiserver/server/main.go index 6dd94f3006b..7b164ff7853 100644 --- a/examples/apiserver/server/main.go +++ b/examples/apiserver/server/main.go @@ -17,9 +17,9 @@ limitations under the License. package main import ( + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/examples/apiserver" "k8s.io/kubernetes/pkg/util/flag" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/spf13/pflag" diff --git a/examples/examples_test.go b/examples/examples_test.go index 04b856c6749..1d970ce6b14 100644 --- a/examples/examples_test.go +++ b/examples/examples_test.go @@ -26,6 +26,10 @@ import ( "testing" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/validation" @@ -36,10 +40,6 @@ import ( expvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/registry/batch/job" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/util/yaml" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" schedulerapilatest "k8s.io/kubernetes/plugin/pkg/scheduler/api/latest" ) diff --git a/examples/https-nginx/BUILD b/examples/https-nginx/BUILD index 5e5d0472e60..f36203090cc 100644 --- a/examples/https-nginx/BUILD +++ b/examples/https-nginx/BUILD @@ -21,8 +21,8 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/examples/https-nginx/make_secret.go b/examples/https-nginx/make_secret.go index 1d1d4e14382..364bd1a2b6e 100644 --- a/examples/https-nginx/make_secret.go +++ b/examples/https-nginx/make_secret.go @@ -26,9 +26,9 @@ import ( "io/ioutil" "log" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" // This installs the legacy v1 API _ "k8s.io/kubernetes/pkg/api/install" diff --git a/examples/sharing-clusters/BUILD b/examples/sharing-clusters/BUILD index 80af259f26f..5db87ff9792 100644 --- a/examples/sharing-clusters/BUILD +++ b/examples/sharing-clusters/BUILD @@ -20,8 +20,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/examples/sharing-clusters/make_secret.go b/examples/sharing-clusters/make_secret.go index 25456d5f118..edce84fad3a 100644 --- a/examples/sharing-clusters/make_secret.go +++ b/examples/sharing-clusters/make_secret.go @@ -23,9 +23,9 @@ import ( "io/ioutil" "log" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" ) // TODO: diff --git a/federation/apis/core/BUILD b/federation/apis/core/BUILD index 705b5bb6044..3a022c047ea 100644 --- a/federation/apis/core/BUILD +++ b/federation/apis/core/BUILD @@ -17,12 +17,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", ], ) diff --git a/federation/apis/core/conversion.go b/federation/apis/core/conversion.go index 3ef48516977..96b77e9d7f9 100644 --- a/federation/apis/core/conversion.go +++ b/federation/apis/core/conversion.go @@ -17,8 +17,8 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/federation/apis/core/defaults.go b/federation/apis/core/defaults.go index 03a610f2c30..a66093fac68 100644 --- a/federation/apis/core/defaults.go +++ b/federation/apis/core/defaults.go @@ -17,10 +17,10 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/federation/apis/core/install/BUILD b/federation/apis/core/install/BUILD index eaf9a5041e3..51a990c6591 100644 --- a/federation/apis/core/install/BUILD +++ b/federation/apis/core/install/BUILD @@ -15,13 +15,13 @@ go_library( "//federation/apis/core:go_default_library", "//federation/apis/core/v1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/federation/apis/core/install/install.go b/federation/apis/core/install/install.go index 307f66a6808..23ee0bfd183 100644 --- a/federation/apis/core/install/install.go +++ b/federation/apis/core/install/install.go @@ -21,15 +21,15 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" core "k8s.io/kubernetes/federation/apis/core" core_v1 "k8s.io/kubernetes/federation/apis/core/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) const importPrefix = "k8s.io/kubernetes/pkg/api" diff --git a/federation/apis/core/register.go b/federation/apis/core/register.go index 25b8a993216..c75e7e5b76c 100644 --- a/federation/apis/core/register.go +++ b/federation/apis/core/register.go @@ -17,11 +17,11 @@ limitations under the License. package core import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" ) // Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered. diff --git a/federation/apis/core/v1/BUILD b/federation/apis/core/v1/BUILD index d20d68f712c..cf2b0da281e 100644 --- a/federation/apis/core/v1/BUILD +++ b/federation/apis/core/v1/BUILD @@ -19,9 +19,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/federation/apis/core/v1/conversion.go b/federation/apis/core/v1/conversion.go index d242980a466..8ce8f3a55ac 100644 --- a/federation/apis/core/v1/conversion.go +++ b/federation/apis/core/v1/conversion.go @@ -19,8 +19,8 @@ package v1 import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/federation/apis/core/v1/defaults.go b/federation/apis/core/v1/defaults.go index 4101dd5e77a..3f6d81af528 100644 --- a/federation/apis/core/v1/defaults.go +++ b/federation/apis/core/v1/defaults.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/federation/apis/core/v1/register.go b/federation/apis/core/v1/register.go index 0ced6c328fb..60ffe080804 100644 --- a/federation/apis/core/v1/register.go +++ b/federation/apis/core/v1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/federation/apis/core/v1/zz_generated.conversion.go b/federation/apis/core/v1/zz_generated.conversion.go index 9aec3d5157a..aafdc1cf810 100644 --- a/federation/apis/core/v1/zz_generated.conversion.go +++ b/federation/apis/core/v1/zz_generated.conversion.go @@ -21,7 +21,7 @@ limitations under the License. package v1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) func init() { diff --git a/federation/apis/federation/BUILD b/federation/apis/federation/BUILD index 6397c4a3b3c..d41ecbfafde 100644 --- a/federation/apis/federation/BUILD +++ b/federation/apis/federation/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/federation/apis/federation/install/BUILD b/federation/apis/federation/install/BUILD index d217acf7b4b..e04cef33a2d 100644 --- a/federation/apis/federation/install/BUILD +++ b/federation/apis/federation/install/BUILD @@ -16,13 +16,13 @@ go_library( "//federation/apis/federation:go_default_library", "//federation/apis/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -35,9 +35,9 @@ go_test( "//federation/apis/federation:go_default_library", "//federation/apis/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/federation/apis/federation/install/install.go b/federation/apis/federation/install/install.go index 7e82f690491..9c0eda9fda0 100644 --- a/federation/apis/federation/install/install.go +++ b/federation/apis/federation/install/install.go @@ -21,15 +21,15 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) const importPrefix = "k8s.io/kubernetes/federation/apis/federation" diff --git a/federation/apis/federation/install/install_test.go b/federation/apis/federation/install/install_test.go index f9121406e50..2076f8e05af 100644 --- a/federation/apis/federation/install/install_test.go +++ b/federation/apis/federation/install/install_test.go @@ -20,12 +20,12 @@ import ( "encoding/json" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) func TestResourceVersioner(t *testing.T) { diff --git a/federation/apis/federation/register.go b/federation/apis/federation/register.go index a0733fcbd8d..a99744cefc2 100644 --- a/federation/apis/federation/register.go +++ b/federation/apis/federation/register.go @@ -17,9 +17,9 @@ limitations under the License. package federation import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/federation/apis/federation/types.go b/federation/apis/federation/types.go index 8c1d948d56d..fdd32fa15f1 100644 --- a/federation/apis/federation/types.go +++ b/federation/apis/federation/types.go @@ -17,8 +17,8 @@ limitations under the License. package federation import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. diff --git a/federation/apis/federation/v1beta1/BUILD b/federation/apis/federation/v1beta1/BUILD index 90d124fc71d..48ca69bfd66 100644 --- a/federation/apis/federation/v1beta1/BUILD +++ b/federation/apis/federation/v1beta1/BUILD @@ -27,13 +27,13 @@ go_library( "//federation/apis/federation:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/federation/apis/federation/v1beta1/conversion.go b/federation/apis/federation/v1beta1/conversion.go index 5881109c6a7..a6a8a867e8e 100644 --- a/federation/apis/federation/v1beta1/conversion.go +++ b/federation/apis/federation/v1beta1/conversion.go @@ -19,7 +19,7 @@ package v1beta1 import ( "fmt" - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/federation/apis/federation/v1beta1/defaults.go b/federation/apis/federation/v1beta1/defaults.go index 57047120484..61533aed60c 100644 --- a/federation/apis/federation/v1beta1/defaults.go +++ b/federation/apis/federation/v1beta1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/federation/apis/federation/v1beta1/generated.pb.go b/federation/apis/federation/v1beta1/generated.pb.go index 11ee294240f..a56fb1c8755 100644 --- a/federation/apis/federation/v1beta1/generated.pb.go +++ b/federation/apis/federation/v1beta1/generated.pb.go @@ -127,6 +127,14 @@ func (m *Cluster) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -156,19 +164,19 @@ func (m *ClusterCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - n4, err := m.LastProbeTime.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n4 - data[i] = 0x22 - i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n5, err := m.LastTransitionTime.MarshalTo(data[i:]) + n5, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n5 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n6, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -198,11 +206,11 @@ func (m *ClusterList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n6, err := m.ListMeta.MarshalTo(data[i:]) + n7, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -215,6 +223,14 @@ func (m *ClusterList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n8, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n8 return i, nil } @@ -249,11 +265,11 @@ func (m *ClusterSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n7, err := m.SecretRef.MarshalTo(data[i:]) + n9, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n9 } return i, nil } @@ -369,6 +385,8 @@ func (m *Cluster) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -401,6 +419,8 @@ func (m *ClusterList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -471,6 +491,7 @@ func (this *Cluster) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ClusterSpec", "ClusterSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ClusterStatus", "ClusterStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -482,8 +503,8 @@ func (this *ClusterCondition) String() string { s := strings.Join([]string{`&ClusterCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -495,8 +516,9 @@ func (this *ClusterList) String() string { return "nil" } s := strings.Join([]string{`&ClusterList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Cluster", "Cluster", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -662,6 +684,36 @@ func (m *Cluster) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -999,6 +1051,36 @@ func (m *ClusterList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1487,55 +1569,58 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 787 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xcb, 0x6a, 0xf3, 0x46, - 0x14, 0xb6, 0x7c, 0x8d, 0x27, 0x75, 0x1b, 0x86, 0x16, 0x5c, 0x2f, 0xe4, 0x60, 0x4a, 0x71, 0x20, - 0x91, 0xb0, 0xc9, 0x22, 0x50, 0x5a, 0x88, 0x1c, 0x0a, 0x01, 0x87, 0x94, 0x49, 0x28, 0x25, 0x9b, - 0x22, 0xcb, 0xc7, 0x8a, 0x6a, 0x5b, 0x12, 0x33, 0x23, 0x43, 0xb2, 0xea, 0x03, 0x74, 0xd1, 0x87, - 0xe8, 0x1b, 0x94, 0xbe, 0x43, 0x36, 0x85, 0x2c, 0xb2, 0xe8, 0xca, 0x34, 0xee, 0x5b, 0x64, 0x55, - 0x66, 0x34, 0x96, 0xad, 0xf8, 0xc2, 0xff, 0x27, 0x3b, 0x9d, 0xa3, 0x73, 0xbe, 0xef, 0x9b, 0x73, - 0x43, 0x67, 0xc3, 0x13, 0x66, 0x78, 0x81, 0x39, 0x8c, 0x7a, 0x40, 0x7d, 0xe0, 0xc0, 0xcc, 0x01, - 0xf4, 0x81, 0xda, 0xdc, 0x0b, 0x7c, 0xd3, 0x0e, 0xbd, 0x94, 0x3d, 0x69, 0xf5, 0x80, 0xdb, 0x2d, - 0xd3, 0x05, 0x5f, 0xb8, 0xa0, 0x6f, 0x84, 0x34, 0xe0, 0x01, 0x3e, 0x8e, 0x51, 0x8c, 0x05, 0x8a, - 0xb1, 0xc8, 0x32, 0x04, 0xca, 0xb2, 0xad, 0x50, 0x6a, 0x47, 0xae, 0xc7, 0x6f, 0xa3, 0x9e, 0xe1, - 0x04, 0x63, 0xd3, 0x0d, 0xdc, 0xc0, 0x94, 0x60, 0xbd, 0x68, 0x20, 0x2d, 0x69, 0xc8, 0xaf, 0x98, - 0xa4, 0xd6, 0x5e, 0x95, 0x1a, 0x0e, 0x5d, 0xa1, 0xd1, 0xa4, 0xc0, 0x82, 0x88, 0x3a, 0xf0, 0x5a, - 0x58, 0xed, 0x70, 0x73, 0xce, 0x64, 0xe5, 0x19, 0x5b, 0x18, 0x98, 0x39, 0x06, 0x6e, 0xaf, 0xcb, - 0x39, 0x5a, 0x9f, 0x43, 0x23, 0x9f, 0x7b, 0xe3, 0x55, 0x41, 0xc7, 0xdb, 0xc3, 0x99, 0x73, 0x0b, - 0x63, 0x7b, 0x25, 0xab, 0xb5, 0x3e, 0x2b, 0xe2, 0xde, 0xc8, 0xf4, 0x7c, 0xce, 0x38, 0x7d, 0x9d, - 0xd2, 0xf8, 0x2b, 0x8b, 0x4a, 0x9d, 0x51, 0xc4, 0x38, 0x50, 0xfc, 0x13, 0xda, 0x11, 0xf2, 0xfb, - 0x36, 0xb7, 0xab, 0xda, 0xbe, 0xd6, 0xdc, 0x6d, 0x37, 0x8d, 0xd5, 0x8e, 0x85, 0x43, 0x57, 0xb4, - 0xca, 0x98, 0xb4, 0x8c, 0xcb, 0xde, 0x2f, 0xe0, 0xf0, 0x0b, 0xe0, 0xb6, 0x85, 0x1f, 0xa6, 0xf5, - 0xcc, 0x6c, 0x5a, 0x47, 0x0b, 0x1f, 0x49, 0xd0, 0xb0, 0x83, 0xf2, 0x2c, 0x04, 0xa7, 0x9a, 0x95, - 0xa8, 0xa7, 0xc6, 0x5b, 0xe6, 0xc0, 0x50, 0x32, 0xaf, 0x42, 0x70, 0xac, 0x4f, 0x14, 0x5d, 0x5e, - 0x58, 0x44, 0x82, 0xe3, 0x21, 0x2a, 0x32, 0x6e, 0xf3, 0x88, 0x55, 0x73, 0x92, 0xa6, 0xf3, 0x3e, - 0x1a, 0x09, 0x65, 0x7d, 0xaa, 0x88, 0x8a, 0xb1, 0x4d, 0x14, 0x45, 0xe3, 0x29, 0x87, 0xf6, 0x54, - 0x64, 0x27, 0xf0, 0xfb, 0x9e, 0x80, 0xc0, 0x27, 0x28, 0xcf, 0xef, 0x42, 0x90, 0xc5, 0x2b, 0x5b, - 0x5f, 0xcd, 0x35, 0x5e, 0xdf, 0x85, 0xf0, 0x32, 0xad, 0x7f, 0xfe, 0x3a, 0x5e, 0xf8, 0x89, 0xcc, - 0xc0, 0x3f, 0x26, 0xda, 0xb3, 0x32, 0xf7, 0xbb, 0x34, 0xed, 0xcb, 0xb4, 0xbe, 0x75, 0x44, 0x8d, - 0x04, 0x33, 0x2d, 0x13, 0x03, 0xaa, 0x8c, 0x6c, 0xc6, 0x7f, 0xa0, 0x41, 0x0f, 0xae, 0xbd, 0x31, - 0xa8, 0xd2, 0x6c, 0xe9, 0x2b, 0x33, 0x44, 0xd7, 0x44, 0x77, 0x45, 0xbc, 0xf5, 0x85, 0x12, 0x52, - 0xe9, 0x2e, 0xc3, 0x90, 0x34, 0x2a, 0xe6, 0x08, 0x0b, 0xc7, 0x35, 0xb5, 0x7d, 0x16, 0x3f, 0x4d, - 0x70, 0xe5, 0x3f, 0x92, 0xab, 0xa6, 0xb8, 0x70, 0x77, 0x05, 0x8b, 0xac, 0xc1, 0xc7, 0x5f, 0xa3, - 0x22, 0x05, 0x9b, 0x05, 0x7e, 0xb5, 0x20, 0x8b, 0x96, 0xf4, 0x8a, 0x48, 0x2f, 0x51, 0x7f, 0xf1, - 0x01, 0x2a, 0x8d, 0x81, 0x31, 0xdb, 0x85, 0x6a, 0x51, 0x06, 0x7e, 0xa6, 0x02, 0x4b, 0x17, 0xb1, - 0x9b, 0xcc, 0xff, 0x37, 0xfe, 0xd6, 0xd0, 0xae, 0x6a, 0x53, 0xd7, 0x63, 0x1c, 0xdf, 0xac, 0xac, - 0xc4, 0xe1, 0x87, 0x3c, 0x47, 0xe4, 0xca, 0xb5, 0xd8, 0x53, 0x4c, 0x3b, 0x73, 0xcf, 0xd2, 0x52, - 0xf4, 0x50, 0xc1, 0xe3, 0x30, 0x16, 0x2d, 0xcf, 0x35, 0x77, 0xdb, 0xdf, 0xbe, 0x6b, 0x5c, 0xad, - 0x8a, 0x62, 0x2a, 0x9c, 0x0b, 0x4c, 0x12, 0x43, 0x37, 0xfe, 0xc8, 0x26, 0xef, 0x11, 0x9b, 0x82, - 0xff, 0xd4, 0x50, 0x8d, 0x01, 0x9d, 0x00, 0x3d, 0xed, 0xf7, 0x29, 0x30, 0x66, 0xdd, 0x75, 0x46, - 0x1e, 0xf8, 0xbc, 0x73, 0x7e, 0x46, 0x58, 0x55, 0x93, 0x4a, 0x2e, 0xdf, 0xa6, 0xe4, 0x6a, 0x13, - 0xae, 0xd5, 0x50, 0xda, 0x6a, 0x1b, 0x43, 0x18, 0xd9, 0x22, 0x0b, 0xff, 0x8c, 0xca, 0x0c, 0x1c, - 0x0a, 0x9c, 0xc0, 0x40, 0xdd, 0x90, 0xf6, 0xf6, 0xcb, 0xd4, 0x0d, 0x1c, 0x7b, 0x14, 0x9f, 0x22, - 0x02, 0x03, 0xa0, 0xe0, 0x3b, 0x60, 0x55, 0x66, 0xd3, 0x7a, 0xf9, 0x6a, 0x0e, 0x44, 0x16, 0x98, - 0x8d, 0x27, 0x0d, 0x55, 0x52, 0x7b, 0x8f, 0xef, 0x11, 0x72, 0xe6, 0x3b, 0x35, 0xaf, 0xcb, 0xf7, - 0xef, 0xea, 0x50, 0xb2, 0xa2, 0x8b, 0x5b, 0x99, 0xb8, 0x18, 0x59, 0x62, 0xc3, 0x75, 0x54, 0xb8, - 0x0f, 0x7c, 0x60, 0xd5, 0xc2, 0x7e, 0xae, 0x59, 0xb6, 0xca, 0xa2, 0xab, 0x37, 0xc2, 0x41, 0x62, - 0x7f, 0x3c, 0xf8, 0xae, 0x17, 0xf8, 0x6a, 0x9e, 0x97, 0x06, 0x5f, 0x78, 0x89, 0xfa, 0xdb, 0xf8, - 0x4d, 0x43, 0x5f, 0x6e, 0x2c, 0x39, 0x6e, 0x23, 0xe4, 0x24, 0x96, 0xba, 0x59, 0x0b, 0x69, 0xc9, - 0x1f, 0xb2, 0x14, 0x85, 0xbf, 0x41, 0x95, 0x54, 0x9f, 0xd4, 0xb9, 0x4a, 0xae, 0x44, 0x8a, 0x8d, - 0xa4, 0x63, 0xad, 0x83, 0x87, 0x67, 0x3d, 0xf3, 0xf8, 0xac, 0x67, 0xfe, 0x79, 0xd6, 0x33, 0xbf, - 0xce, 0x74, 0xed, 0x61, 0xa6, 0x6b, 0x8f, 0x33, 0x5d, 0xfb, 0x77, 0xa6, 0x6b, 0xbf, 0xff, 0xa7, - 0x67, 0x6e, 0x4a, 0xaa, 0x66, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x63, 0x94, 0x8a, 0xdf, 0x70, - 0x08, 0x00, 0x00, + // 833 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x6a, 0xeb, 0x46, + 0x14, 0xb6, 0xe2, 0xbf, 0x78, 0x52, 0xb7, 0x97, 0xa1, 0x05, 0xd5, 0x0b, 0xf9, 0x62, 0x4a, 0xf1, + 0x2d, 0xad, 0x84, 0x4d, 0x29, 0x81, 0xd2, 0x42, 0xe4, 0x50, 0x08, 0x38, 0xa4, 0x4c, 0x42, 0x29, + 0xa1, 0x50, 0x64, 0xf9, 0x58, 0x51, 0x6d, 0x49, 0x66, 0x66, 0x64, 0x48, 0x56, 0x7d, 0x80, 0x2e, + 0x0a, 0x7d, 0x85, 0x6e, 0xbb, 0xea, 0x4b, 0x64, 0x99, 0x45, 0x17, 0x59, 0x99, 0xc6, 0x7d, 0x8b, + 0xac, 0xca, 0x8c, 0x46, 0xb2, 0x65, 0xc7, 0x69, 0x9a, 0xdc, 0x9d, 0xce, 0xd1, 0x39, 0xdf, 0x77, + 0xe6, 0x3b, 0x3f, 0xe8, 0x70, 0xbc, 0xcf, 0x4c, 0x3f, 0xb2, 0xc6, 0xf1, 0x00, 0x68, 0x08, 0x1c, + 0x98, 0x35, 0x82, 0x21, 0x50, 0x87, 0xfb, 0x51, 0x68, 0x39, 0x53, 0x3f, 0x67, 0xcf, 0x3a, 0x03, + 0xe0, 0x4e, 0xc7, 0xf2, 0x20, 0x14, 0x2e, 0x18, 0x9a, 0x53, 0x1a, 0xf1, 0x08, 0x7f, 0x9e, 0xa0, + 0x98, 0x4b, 0x14, 0x73, 0x99, 0x65, 0x0a, 0x94, 0x55, 0x5b, 0xa1, 0x34, 0x3e, 0xf3, 0x7c, 0x7e, + 0x11, 0x0f, 0x4c, 0x37, 0x0a, 0x2c, 0x2f, 0xf2, 0x22, 0x4b, 0x82, 0x0d, 0xe2, 0x91, 0xb4, 0xa4, + 0x21, 0xbf, 0x12, 0x92, 0x86, 0x22, 0x11, 0x45, 0x05, 0x8e, 0x7b, 0xe1, 0x87, 0x40, 0x2f, 0xad, + 0xe9, 0xd8, 0x4b, 0xaa, 0x0c, 0x80, 0x3b, 0xd6, 0x6c, 0xa3, 0xb4, 0x86, 0xb5, 0x2d, 0x8b, 0xc6, + 0x21, 0xf7, 0x03, 0xd8, 0x48, 0xf8, 0xe2, 0xbf, 0x12, 0x98, 0x7b, 0x01, 0x81, 0xb3, 0x91, 0xd7, + 0xdd, 0x54, 0x52, 0x15, 0x67, 0x51, 0x60, 0x51, 0x4c, 0xdd, 0x4d, 0xae, 0x4f, 0xb7, 0xe7, 0x3c, + 0xf0, 0x94, 0xce, 0xc3, 0xd1, 0x31, 0xf7, 0x27, 0x96, 0x1f, 0x72, 0xc6, 0xe9, 0x7a, 0x4a, 0xeb, + 0xb7, 0x22, 0xaa, 0xf6, 0x26, 0x31, 0xe3, 0x40, 0xf1, 0xf7, 0x68, 0x57, 0x88, 0x34, 0x74, 0xb8, + 0xa3, 0x6b, 0xaf, 0xb5, 0xf6, 0x5e, 0xb7, 0x6d, 0x6e, 0xf6, 0x6d, 0x3a, 0xf6, 0x44, 0xc3, 0xcc, + 0x59, 0xc7, 0x3c, 0x19, 0xfc, 0x04, 0x2e, 0x3f, 0x06, 0xee, 0xd8, 0xf8, 0x7a, 0xde, 0x2c, 0x2c, + 0xe6, 0x4d, 0xb4, 0xf4, 0x91, 0x0c, 0x0d, 0xbb, 0xa8, 0xc4, 0xa6, 0xe0, 0xea, 0x3b, 0x12, 0xf5, + 0xc0, 0x7c, 0xce, 0x34, 0x98, 0xaa, 0xcc, 0xd3, 0x29, 0xb8, 0xf6, 0x3b, 0x8a, 0xae, 0x24, 0x2c, + 0x22, 0xc1, 0xf1, 0x18, 0x55, 0x18, 0x77, 0x78, 0xcc, 0xf4, 0xa2, 0xa4, 0xe9, 0xbd, 0x8c, 0x46, + 0x42, 0xd9, 0xef, 0x2a, 0xa2, 0x4a, 0x62, 0x13, 0x45, 0x81, 0x7f, 0x40, 0xbb, 0xfc, 0x72, 0x0a, + 0xe2, 0x9d, 0x7a, 0x49, 0xd2, 0x99, 0x29, 0xdd, 0xea, 0x5c, 0xa4, 0x6a, 0x31, 0x53, 0x68, 0x21, + 0x34, 0x3b, 0x53, 0x59, 0xf6, 0x2b, 0x85, 0xbc, 0x9b, 0x7a, 0x48, 0x86, 0xd8, 0xba, 0x2d, 0xa2, + 0x57, 0xaa, 0x8e, 0x5e, 0x14, 0x0e, 0x7d, 0x51, 0x20, 0xde, 0x47, 0x25, 0x11, 0x20, 0x5b, 0x53, + 0xb3, 0x3f, 0x4a, 0x15, 0x10, 0xe9, 0xf7, 0xf3, 0xe6, 0xfb, 0xeb, 0xf1, 0xc2, 0x4f, 0x64, 0x06, + 0xfe, 0x2e, 0x53, 0x66, 0x47, 0xe6, 0x7e, 0x9d, 0x7f, 0xd4, 0xfd, 0xbc, 0xf9, 0xe8, 0x9c, 0x99, + 0x19, 0xe6, 0x9a, 0x08, 0x1e, 0xaa, 0x4f, 0x1c, 0xc6, 0xbf, 0xa5, 0xd1, 0x00, 0xce, 0xfc, 0x00, + 0x94, 0xf0, 0x9f, 0x3c, 0x51, 0x09, 0x3f, 0x00, 0xfb, 0x03, 0x55, 0x4a, 0xbd, 0xbf, 0x0a, 0x44, + 0xf2, 0xb8, 0x78, 0x86, 0xb0, 0x70, 0x9c, 0x51, 0x27, 0x64, 0xc9, 0xe3, 0x04, 0x5b, 0xe9, 0x7f, + 0xb3, 0x35, 0x14, 0x1b, 0xee, 0x6f, 0xa0, 0x91, 0x07, 0x18, 0xf0, 0xc7, 0xa8, 0x42, 0xc1, 0x61, + 0x51, 0xa8, 0x97, 0xa5, 0x70, 0xd9, 0x34, 0x10, 0xe9, 0x25, 0xea, 0x2f, 0x7e, 0x83, 0xaa, 0x01, + 0x30, 0xe6, 0x78, 0xa0, 0x57, 0x64, 0xe0, 0x7b, 0x2a, 0xb0, 0x7a, 0x9c, 0xb8, 0x49, 0xfa, 0xbf, + 0xf5, 0xc7, 0x0e, 0xda, 0x53, 0xad, 0xea, 0xfb, 0x8c, 0x8b, 0x41, 0x5a, 0x5b, 0xba, 0x27, 0x0e, + 0x92, 0xc8, 0xce, 0x0f, 0x52, 0xea, 0x59, 0x59, 0xbc, 0x01, 0x2a, 0xfb, 0x1c, 0x02, 0xd1, 0xf8, + 0x62, 0x7b, 0xaf, 0xfb, 0xd5, 0x8b, 0x56, 0xc2, 0xae, 0x2b, 0xa6, 0xf2, 0x91, 0xc0, 0x24, 0x09, + 0x74, 0x6e, 0x15, 0x8a, 0x6f, 0x7d, 0x15, 0x7e, 0x5f, 0xea, 0x25, 0x76, 0x1d, 0xff, 0xa9, 0xa1, + 0x06, 0x03, 0x3a, 0x03, 0x7a, 0x30, 0x1c, 0x52, 0x60, 0xcc, 0xbe, 0xec, 0x4d, 0x7c, 0x08, 0x79, + 0xef, 0xe8, 0x90, 0x30, 0x5d, 0x93, 0xef, 0x3c, 0x79, 0xde, 0x3b, 0x4f, 0xb7, 0xe1, 0xda, 0x2d, + 0x55, 0x61, 0x63, 0x6b, 0x08, 0x23, 0x8f, 0x94, 0x85, 0x7f, 0x44, 0x35, 0x06, 0x2e, 0x05, 0x4e, + 0x60, 0xa4, 0xae, 0x60, 0xf7, 0xf1, 0xdb, 0xda, 0x8f, 0x5c, 0x67, 0x92, 0x1c, 0x53, 0x02, 0x23, + 0xa0, 0x10, 0xba, 0x60, 0xd7, 0x17, 0xf3, 0x66, 0xed, 0x34, 0x05, 0x22, 0x4b, 0xcc, 0xd6, 0x5f, + 0x1a, 0xaa, 0xe7, 0x2e, 0x17, 0xbe, 0x42, 0xc8, 0x4d, 0xf7, 0x36, 0xd5, 0xe5, 0x9b, 0x17, 0xf5, + 0x3f, 0x3b, 0x03, 0xcb, 0x6b, 0x9f, 0xb9, 0x18, 0x59, 0x61, 0xc3, 0x4d, 0x54, 0xbe, 0x8a, 0x42, + 0x60, 0x7a, 0xf9, 0x75, 0xb1, 0x5d, 0xb3, 0x6b, 0x62, 0x66, 0xce, 0x85, 0x83, 0x24, 0xfe, 0x64, + 0xb1, 0x3c, 0x3f, 0x0a, 0xd5, 0xbe, 0xac, 0x2c, 0x96, 0xf0, 0x12, 0xf5, 0xb7, 0xf5, 0x8b, 0x86, + 0x3e, 0xdc, 0x2a, 0x39, 0xee, 0x22, 0xe4, 0x66, 0x96, 0xba, 0x8b, 0xcb, 0xd2, 0xb2, 0x3f, 0x64, + 0x25, 0x0a, 0x7f, 0x89, 0xea, 0xb9, 0x3e, 0xa9, 0x93, 0x98, 0xdd, 0xa1, 0x1c, 0x1b, 0xc9, 0xc7, + 0xda, 0x6f, 0xae, 0xef, 0x8c, 0xc2, 0xcd, 0x9d, 0x51, 0xb8, 0xbd, 0x33, 0x0a, 0x3f, 0x2f, 0x0c, + 0xed, 0x7a, 0x61, 0x68, 0x37, 0x0b, 0x43, 0xfb, 0x7b, 0x61, 0x68, 0xbf, 0xfe, 0x63, 0x14, 0xce, + 0xab, 0x4a, 0xb3, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbe, 0x25, 0xcc, 0x27, 0x38, 0x09, 0x00, + 0x00, } diff --git a/federation/apis/federation/v1beta1/generated.proto b/federation/apis/federation/v1beta1/generated.proto index 1a41b7585d0..d06edb98254 100644 --- a/federation/apis/federation/v1beta1/generated.proto +++ b/federation/apis/federation/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.federation.apis.federation.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -33,6 +33,8 @@ option go_package = "v1beta1"; // Information about a registered cluster in a federated kubernetes setup. Clusters are not namespaced and have unique names in the federation. message Cluster { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -57,11 +59,11 @@ message ClusterCondition { // Last time the condition was checked. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transit from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // (brief) reason for the condition's last transition. // +optional @@ -74,10 +76,12 @@ message ClusterCondition { // A list of all the kubernetes clusters registered to the federation message ClusterList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of Cluster objects. repeated Cluster items = 2; diff --git a/federation/apis/federation/v1beta1/register.go b/federation/apis/federation/v1beta1/register.go index b8dfafd0f59..b1c9eda5330 100644 --- a/federation/apis/federation/v1beta1/register.go +++ b/federation/apis/federation/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/federation/apis/federation/v1beta1/types.generated.go b/federation/apis/federation/v1beta1/types.generated.go index 693b588c94e..f01ea518c3a 100644 --- a/federation/apis/federation/v1beta1/types.generated.go +++ b/federation/apis/federation/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg1_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg2_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg1_v1.LocalObjectReference - var v1 pkg2_v1.Time - var v2 pkg3_types.UID + var v0 pkg2_v1.Time + var v1 pkg3_types.UID + var v2 pkg1_v1.LocalObjectReference var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/federation/apis/federation/v1beta1/types.go b/federation/apis/federation/v1beta1/types.go index 74a2f485560..82ecf59577b 100644 --- a/federation/apis/federation/v1beta1/types.go +++ b/federation/apis/federation/v1beta1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. diff --git a/federation/apis/federation/v1beta1/zz_generated.conversion.go b/federation/apis/federation/v1beta1/zz_generated.conversion.go index 6625707db11..ee57a6a9960 100644 --- a/federation/apis/federation/v1beta1/zz_generated.conversion.go +++ b/federation/apis/federation/v1beta1/zz_generated.conversion.go @@ -21,11 +21,11 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" federation "k8s.io/kubernetes/federation/apis/federation" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/federation/apis/federation/v1beta1/zz_generated.deepcopy.go b/federation/apis/federation/v1beta1/zz_generated.deepcopy.go index 6b35908d2f8..111d0be1ac8 100644 --- a/federation/apis/federation/v1beta1/zz_generated.deepcopy.go +++ b/federation/apis/federation/v1beta1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/federation/apis/federation/v1beta1/zz_generated.defaults.go b/federation/apis/federation/v1beta1/zz_generated.defaults.go index 7cd6967ccf1..e24e70be38b 100644 --- a/federation/apis/federation/v1beta1/zz_generated.defaults.go +++ b/federation/apis/federation/v1beta1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1beta1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/federation/apis/federation/validation/BUILD b/federation/apis/federation/validation/BUILD index 28dde241a12..1678c5d59c0 100644 --- a/federation/apis/federation/validation/BUILD +++ b/federation/apis/federation/validation/BUILD @@ -15,7 +15,7 @@ go_library( deps = [ "//federation/apis/federation:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/federation/apis/federation/validation/validation.go b/federation/apis/federation/validation/validation.go index be936f567fc..a9ff0ebadb9 100644 --- a/federation/apis/federation/validation/validation.go +++ b/federation/apis/federation/validation/validation.go @@ -17,9 +17,9 @@ limitations under the License. package validation import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) func ValidateClusterSpec(spec *federation.ClusterSpec, fieldPath *field.Path) field.ErrorList { diff --git a/federation/apis/federation/zz_generated.deepcopy.go b/federation/apis/federation/zz_generated.deepcopy.go index 16f4ba90cc8..9a05d2e3f2e 100644 --- a/federation/apis/federation/zz_generated.deepcopy.go +++ b/federation/apis/federation/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package federation import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/federation/apis/openapi-spec/swagger.json b/federation/apis/openapi-spec/swagger.json index a1640bdb99c..d735ab02e02 100644 --- a/federation/apis/openapi-spec/swagger.json +++ b/federation/apis/openapi-spec/swagger.json @@ -11953,8 +11953,16 @@ } }, "v1.Time": { - "type": "string", - "format": "date-time" + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "required": [ + "Time" + ], + "properties": { + "Time": { + "type": "string", + "format": "date-time" + } + } }, "v1.Volume": { "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", diff --git a/federation/client/clientset_generated/federation_clientset/fake/BUILD b/federation/client/clientset_generated/federation_clientset/fake/BUILD index 607990730fa..2024904298a 100644 --- a/federation/client/clientset_generated/federation_clientset/fake/BUILD +++ b/federation/client/clientset_generated/federation_clientset/fake/BUILD @@ -25,12 +25,12 @@ go_library( "//federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1:go_default_library", "//federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/fake/clientset_generated.go b/federation/client/clientset_generated/federation_clientset/fake/clientset_generated.go index 092381edb9e..502d1588e76 100644 --- a/federation/client/clientset_generated/federation_clientset/fake/clientset_generated.go +++ b/federation/client/clientset_generated/federation_clientset/fake/clientset_generated.go @@ -17,6 +17,9 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" v1batch "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1" fakev1batch "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake" @@ -27,12 +30,9 @@ import ( v1beta1federation "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1" fakev1beta1federation "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/BUILD b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/BUILD index 21f107d9ff0..c5c63d0e347 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/batch_client.go b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/batch_client.go index b7ce920da3f..414c87a8579 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/batch_client.go +++ b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/batch_client.go @@ -18,11 +18,11 @@ package v1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type BatchV1Interface interface { @@ -30,7 +30,7 @@ type BatchV1Interface interface { JobsGetter } -// BatchV1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// BatchV1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type BatchV1Client struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/BUILD b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/BUILD index dbb8a6868ca..13b6e1d553d 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/BUILD @@ -20,12 +20,12 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/fake_job.go b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/fake_job.go index c1f39ea56f9..87d4e73b24b 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/fake_job.go +++ b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/fake/fake_job.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeJobs implements JobInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/job.go b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/job.go index d7a87e108fe..85a42fb81aa 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/batch/v1/job.go +++ b/federation/client/clientset_generated/federation_clientset/typed/batch/v1/job.go @@ -17,12 +17,12 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // JobsGetter has a method to return a JobInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/BUILD b/federation/client/clientset_generated/federation_clientset/typed/core/v1/BUILD index 2cccac138d0..e5a72c5d6e4 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/BUILD @@ -24,12 +24,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/configmap.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/configmap.go index d367999eedb..ccd1a9feda6 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/configmap.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/configmap.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ConfigMapsGetter has a method to return a ConfigMapInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/core_client.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/core_client.go index a46889eec4f..a87f83a5b02 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/core_client.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/core_client.go @@ -18,11 +18,11 @@ package v1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type CoreV1Interface interface { @@ -34,7 +34,7 @@ type CoreV1Interface interface { ServicesGetter } -// CoreV1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// CoreV1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type CoreV1Client struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/event.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/event.go index 4f18717720d..9f029cf5e3f 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/event.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/event.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // EventsGetter has a method to return a EventInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/BUILD b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/BUILD index ca02a647e5f..7cbda764c4a 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/BUILD @@ -24,12 +24,12 @@ go_library( "//federation/client/clientset_generated/federation_clientset/typed/core/v1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_configmap.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_configmap.go index 9c45041d73c..450d4303321 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_configmap.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_configmap.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeConfigMaps implements ConfigMapInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_event.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_event.go index 460b1e2b5c8..dafa4623343 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_event.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_event.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeEvents implements EventInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_namespace.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_namespace.go index 54161149796..d52b73cfa3d 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_namespace.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_namespace.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNamespaces implements NamespaceInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_secret.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_secret.go index 6b62e72d78b..969cb75ed74 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_secret.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_secret.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeSecrets implements SecretInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_service.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_service.go index 41856b1c0b0..422748c55cd 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_service.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/fake/fake_service.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeServices implements ServiceInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/namespace.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/namespace.go index e234f85a841..857c958c002 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/namespace.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/namespace.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NamespacesGetter has a method to return a NamespaceInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/secret.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/secret.go index bc73c4fabec..ff24378df3a 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/secret.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/secret.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // SecretsGetter has a method to return a SecretInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/core/v1/service.go b/federation/client/clientset_generated/federation_clientset/typed/core/v1/service.go index ffa6dd62428..f1e8f733516 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/core/v1/service.go +++ b/federation/client/clientset_generated/federation_clientset/typed/core/v1/service.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ServicesGetter has a method to return a ServiceInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/BUILD b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/BUILD index 30bbe6ad0fd..dd48a71411c 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/BUILD @@ -23,13 +23,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/daemonset.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/daemonset.go index e9b4b8acdca..a777b86f653 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/daemonset.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/daemonset.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DaemonSetsGetter has a method to return a DaemonSetInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/deployment.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/deployment.go index 3f03aeef611..37397b38546 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/deployment.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/deployment.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DeploymentsGetter has a method to return a DeploymentInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/extensions_client.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/extensions_client.go index 083e75b3360..2384c6ab3a4 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/extensions_client.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/extensions_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type ExtensionsV1beta1Interface interface { @@ -33,7 +33,7 @@ type ExtensionsV1beta1Interface interface { ReplicaSetsGetter } -// ExtensionsV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// ExtensionsV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type ExtensionsV1beta1Client struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/BUILD b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/BUILD index 4cf80999560..9413216a1bc 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/BUILD @@ -24,12 +24,12 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_daemonset.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_daemonset.go index bed19a8bc57..0ec6bd3d0e0 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_daemonset.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_daemonset.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDaemonSets implements DaemonSetInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_deployment.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_deployment.go index 770df462b46..910073247a5 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_deployment.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_deployment.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDeployments implements DeploymentInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_ingress.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_ingress.go index c1654f74812..27858fe869b 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_ingress.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_ingress.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeIngresses implements IngressInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_replicaset.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_replicaset.go index 71ce3fd1e32..b0fce2a8402 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_replicaset.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/fake/fake_replicaset.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeReplicaSets implements ReplicaSetInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/ingress.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/ingress.go index b52fe16cfba..53812326a1f 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/ingress.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/ingress.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // IngressesGetter has a method to return a IngressInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/replicaset.go b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/replicaset.go index ac0de9f77c7..e0a493bc332 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/replicaset.go +++ b/federation/client/clientset_generated/federation_clientset/typed/extensions/v1beta1/replicaset.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ReplicaSetsGetter has a method to return a ReplicaSetInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/BUILD b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/BUILD index 2c9f23eac1d..4c487e270dd 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/BUILD @@ -20,12 +20,12 @@ go_library( "//federation/apis/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/cluster.go b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/cluster.go index 064733c2a54..1d8aed358c8 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/cluster.go +++ b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/cluster.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ClustersGetter has a method to return a ClusterInterface. diff --git a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/BUILD b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/BUILD index f2350ae2052..188ce8363ce 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/BUILD +++ b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/BUILD @@ -20,12 +20,12 @@ go_library( "//federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/fake_cluster.go b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/fake_cluster.go index f813ab3ad5c..603e2199221 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/fake_cluster.go +++ b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/fake/fake_cluster.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeClusters implements ClusterInterface diff --git a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/federation_client.go b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/federation_client.go index b983b2c3b3d..d78137971b8 100644 --- a/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/federation_client.go +++ b/federation/client/clientset_generated/federation_clientset/typed/federation/v1beta1/federation_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type FederationV1beta1Interface interface { @@ -30,7 +30,7 @@ type FederationV1beta1Interface interface { ClustersGetter } -// FederationV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// FederationV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type FederationV1beta1Client struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_internalclientset/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/fake/BUILD index edec5a2c77c..f261f6b4d40 100644 --- a/federation/client/clientset_generated/federation_internalclientset/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/fake/BUILD @@ -25,12 +25,12 @@ go_library( "//federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/fake/clientset_generated.go b/federation/client/clientset_generated/federation_internalclientset/fake/clientset_generated.go index 148840f4e59..297ee700bd0 100644 --- a/federation/client/clientset_generated/federation_internalclientset/fake/clientset_generated.go +++ b/federation/client/clientset_generated/federation_internalclientset/fake/clientset_generated.go @@ -17,6 +17,9 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" internalversionbatch "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion" fakeinternalversionbatch "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake" @@ -27,12 +30,9 @@ import ( internalversionfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion" fakeinternalversionfederation "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/BUILD index a94243f1cb6..18c29ccf0e8 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/batch_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/batch_client.go index e19a87d5403..37a55bf8c88 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/batch_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/batch_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type BatchInterface interface { JobsGetter } -// BatchClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// BatchClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type BatchClient struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/BUILD index 0a630070fd2..969699f669c 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion:go_default_library", "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/fake_job.go b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/fake_job.go index dabd92b5568..46283e3dfde 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/fake_job.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/fake/fake_job.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeJobs implements JobInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/job.go b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/job.go index 0f13e865f8e..46c58b1f3fd 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/job.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/batch/internalversion/job.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // JobsGetter has a method to return a JobInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/BUILD index b15044b7f3c..aa9d187f2f7 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/BUILD @@ -23,10 +23,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/configmap.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/configmap.go index 5fb0083fae2..9dcd3a938ae 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/configmap.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/configmap.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ConfigMapsGetter has a method to return a ConfigMapInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/core_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/core_client.go index f8c94569bac..fa7b1c54777 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/core_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/core_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -31,7 +31,7 @@ type CoreInterface interface { ServicesGetter } -// CoreClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// CoreClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type CoreClient struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/event.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/event.go index 40a93ac5f23..3dcd0f75fbf 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/event.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/event.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // EventsGetter has a method to return a EventInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD index 1b690071472..d2571b3dd0c 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/BUILD @@ -23,12 +23,12 @@ go_library( deps = [ "//federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go index a31a04be8fe..ca7da8b8b69 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_configmap.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeConfigMaps implements ConfigMapInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go index 0a51c1241ab..f0bfbe938cc 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_event.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeEvents implements EventInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go index 26353a5e6e8..9a6cf610ff1 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_namespace.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNamespaces implements NamespaceInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go index b19e7e571ac..6451df68a76 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_secret.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeSecrets implements SecretInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go index 406d306444d..5cc5c2d6783 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/fake/fake_service.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeServices implements ServiceInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/namespace.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/namespace.go index 83e9daada1b..40b6e54ec34 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/namespace.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/namespace.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NamespacesGetter has a method to return a NamespaceInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/secret.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/secret.go index e3945d1bf90..632636f194d 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/secret.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/secret.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // SecretsGetter has a method to return a SecretInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/service.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/service.go index 368399fc752..4aff717fd21 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/service.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/internalversion/service.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ServicesGetter has a method to return a ServiceInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/BUILD index e5191549a85..73f1cae77d9 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/daemonset.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/daemonset.go index a8b3a41a6ab..9e9dcee2133 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/daemonset.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/daemonset.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DaemonSetsGetter has a method to return a DaemonSetInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/deployment.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/deployment.go index 19304743379..949f30e2f2a 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/deployment.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/deployment.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DeploymentsGetter has a method to return a DeploymentInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/extensions_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/extensions_client.go index c0663116df5..ec6455bb65e 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/extensions_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/extensions_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -30,7 +30,7 @@ type ExtensionsInterface interface { ReplicaSetsGetter } -// ExtensionsClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// ExtensionsClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type ExtensionsClient struct { restClient restclient.Interface } diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD index c4184900775..6f283c59bae 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/BUILD @@ -22,12 +22,12 @@ go_library( "//federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion:go_default_library", "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go index 274f2128a30..86c9ce4bf27 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDaemonSets implements DaemonSetInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go index 5a3f0c762a9..a9a9f629e9d 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_deployment.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDeployments implements DeploymentInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go index 24ec803aabc..50a748e0925 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_ingress.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeIngresses implements IngressInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go index 52385b9e3fd..2dad6fec4df 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeReplicaSets implements ReplicaSetInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/ingress.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/ingress.go index 5eba98d10d3..a72a901d3c9 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/ingress.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/ingress.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // IngressesGetter has a method to return a IngressInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/replicaset.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/replicaset.go index 3a6daa36fd5..249c9c6020e 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/replicaset.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/internalversion/replicaset.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ReplicaSetsGetter has a method to return a ReplicaSetInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/BUILD index 1c3f7505837..298a67e35e4 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/BUILD @@ -19,10 +19,10 @@ go_library( deps = [ "//federation/apis/federation:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/cluster.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/cluster.go index 0fd42ceb45b..cd1c134db08 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/cluster.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/cluster.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" federation "k8s.io/kubernetes/federation/apis/federation" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ClustersGetter has a method to return a ClusterInterface. diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD index a39e6f533bd..628e1d4eb93 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/BUILD @@ -19,12 +19,12 @@ go_library( "//federation/apis/federation:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go index 10f6135fddc..a19ad8e0caf 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/fake/fake_cluster.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" federation "k8s.io/kubernetes/federation/apis/federation" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeClusters implements ClusterInterface diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/federation_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/federation_client.go index da9fc00b9f7..c8f8fa87460 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/federation_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/internalversion/federation_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type FederationInterface interface { ClustersGetter } -// FederationClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// FederationClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type FederationClient struct { restClient restclient.Interface } diff --git a/federation/cmd/federation-apiserver/app/BUILD b/federation/cmd/federation-apiserver/app/BUILD index f12b1295787..8bfa8eb4bea 100644 --- a/federation/cmd/federation-apiserver/app/BUILD +++ b/federation/cmd/federation-apiserver/app/BUILD @@ -30,7 +30,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/install:go_default_library", "//pkg/apis/extensions:go_default_library", @@ -56,10 +55,6 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/routes:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//plugin/pkg/admission/admit:go_default_library", "//plugin/pkg/admission/deny:go_default_library", @@ -69,6 +64,11 @@ go_library( "//vendor:github.com/pborman/uuid", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/cmd/federation-apiserver/app/batch.go b/federation/cmd/federation-apiserver/app/batch.go index 3b0c3c22f97..8679dd6ebe4 100644 --- a/federation/cmd/federation-apiserver/app/batch.go +++ b/federation/cmd/federation-apiserver/app/batch.go @@ -18,9 +18,9 @@ package app import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/batch" _ "k8s.io/kubernetes/pkg/apis/batch/install" "k8s.io/kubernetes/pkg/genericapiserver" diff --git a/federation/cmd/federation-apiserver/app/core.go b/federation/cmd/federation-apiserver/app/core.go index 4a9a5db2517..3a2f9b017df 100644 --- a/federation/cmd/federation-apiserver/app/core.go +++ b/federation/cmd/federation-apiserver/app/core.go @@ -26,12 +26,12 @@ import ( // TODO(nikhiljindal): Fix this by ensuring that pkg/api/install and federation/apis/core/install do not conflict with each other. _ "k8s.io/kubernetes/pkg/api/install" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/federation/apis/core" _ "k8s.io/kubernetes/federation/apis/core/install" "k8s.io/kubernetes/federation/apis/core/v1" "k8s.io/kubernetes/federation/cmd/federation-apiserver/app/options" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/genericapiserver" configmapetcd "k8s.io/kubernetes/pkg/registry/core/configmap/etcd" eventetcd "k8s.io/kubernetes/pkg/registry/core/event/etcd" diff --git a/federation/cmd/federation-apiserver/app/extensions.go b/federation/cmd/federation-apiserver/app/extensions.go index 896ff2447dd..45238e36099 100644 --- a/federation/cmd/federation-apiserver/app/extensions.go +++ b/federation/cmd/federation-apiserver/app/extensions.go @@ -18,9 +18,9 @@ package app import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" _ "k8s.io/kubernetes/pkg/apis/extensions/install" "k8s.io/kubernetes/pkg/genericapiserver" diff --git a/federation/cmd/federation-apiserver/app/federation.go b/federation/cmd/federation-apiserver/app/federation.go index 2856ef48e90..120578f1773 100644 --- a/federation/cmd/federation-apiserver/app/federation.go +++ b/federation/cmd/federation-apiserver/app/federation.go @@ -19,10 +19,10 @@ package app import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/genericapiserver" "k8s.io/kubernetes/pkg/registry/generic" diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index dc21337d9c8..82fa791a761 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -29,6 +29,10 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/federation/cmd/federation-apiserver/app/options" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" @@ -42,10 +46,6 @@ import ( "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/routes" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" ) diff --git a/federation/cmd/federation-controller-manager/app/BUILD b/federation/cmd/federation-controller-manager/app/BUILD index eed677fa3e8..71dfaaeee68 100644 --- a/federation/cmd/federation-controller-manager/app/BUILD +++ b/federation/cmd/federation-controller-manager/app/BUILD @@ -32,19 +32,19 @@ go_library( "//federation/pkg/federation-controller/secret:go_default_library", "//federation/pkg/federation-controller/service:go_default_library", "//federation/pkg/federation-controller/util:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/configz: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", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/healthz", ], ) @@ -56,9 +56,9 @@ go_test( tags = ["automanaged"], deps = [ "//federation/pkg/federation-controller/ingress:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/federation/cmd/federation-controller-manager/app/controllermanager.go b/federation/cmd/federation-controller-manager/app/controllermanager.go index 19c5e103450..41a4806aa8d 100644 --- a/federation/cmd/federation-controller-manager/app/controllermanager.go +++ b/federation/cmd/federation-controller-manager/app/controllermanager.go @@ -26,6 +26,8 @@ import ( "net/http/pprof" "strconv" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/healthz" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/cmd/federation-controller-manager/app/options" @@ -40,19 +42,17 @@ import ( secretcontroller "k8s.io/kubernetes/federation/pkg/federation-controller/secret" servicecontroller "k8s.io/kubernetes/federation/pkg/federation-controller/service" "k8s.io/kubernetes/federation/pkg/federation-controller/util" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" "k8s.io/kubernetes/pkg/util/configz" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" "github.com/spf13/cobra" "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/client/typed/discovery" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/config" ) diff --git a/federation/cmd/federation-controller-manager/app/controllermanager_test.go b/federation/cmd/federation-controller-manager/app/controllermanager_test.go index e229a430b2c..6522efb047e 100644 --- a/federation/cmd/federation-controller-manager/app/controllermanager_test.go +++ b/federation/cmd/federation-controller-manager/app/controllermanager_test.go @@ -17,9 +17,9 @@ limitations under the License. package app import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" ingresscontroller "k8s.io/kubernetes/federation/pkg/federation-controller/ingress" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/config" "testing" ) diff --git a/federation/cmd/federation-controller-manager/app/options/BUILD b/federation/cmd/federation-controller-manager/app/options/BUILD index ad468b1dd86..c7318bb9769 100644 --- a/federation/cmd/federation-controller-manager/app/options/BUILD +++ b/federation/cmd/federation-controller-manager/app/options/BUILD @@ -14,10 +14,10 @@ go_library( deps = [ "//federation/pkg/dnsprovider:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/leaderelection:go_default_library", "//pkg/util/config:go_default_library", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/federation/cmd/federation-controller-manager/app/options/options.go b/federation/cmd/federation-controller-manager/app/options/options.go index eb7882452b8..1d81c5c79d4 100644 --- a/federation/cmd/federation-controller-manager/app/options/options.go +++ b/federation/cmd/federation-controller-manager/app/options/options.go @@ -24,9 +24,9 @@ import ( "github.com/spf13/pflag" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/federation/pkg/dnsprovider" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/leaderelection" "k8s.io/kubernetes/pkg/util/config" ) diff --git a/federation/pkg/federation-controller/cluster/BUILD b/federation/pkg/federation-controller/cluster/BUILD index 0f477018e90..c8e1980dc15 100644 --- a/federation/pkg/federation-controller/cluster/BUILD +++ b/federation/pkg/federation-controller/cluster/BUILD @@ -23,18 +23,18 @@ go_library( "//federation/pkg/federation-controller/util:go_default_library", "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -49,11 +49,11 @@ go_test( "//federation/pkg/federation-controller/util:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/util/uuid:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/federation/pkg/federation-controller/cluster/cluster_client.go b/federation/pkg/federation-controller/cluster/cluster_client.go index 88ae73f185a..9a338453fea 100644 --- a/federation/pkg/federation-controller/cluster/cluster_client.go +++ b/federation/pkg/federation-controller/cluster/cluster_client.go @@ -21,15 +21,15 @@ import ( "strings" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" federation_v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/federation/pkg/federation-controller/cluster/clustercontroller.go b/federation/pkg/federation-controller/cluster/clustercontroller.go index 88d5ce09569..65c12d091cd 100644 --- a/federation/pkg/federation-controller/cluster/clustercontroller.go +++ b/federation/pkg/federation-controller/cluster/clustercontroller.go @@ -21,17 +21,17 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" federationv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" clustercache "k8s.io/kubernetes/federation/client/cache" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) type ClusterController struct { diff --git a/federation/pkg/federation-controller/cluster/clustercontroller_test.go b/federation/pkg/federation-controller/cluster/clustercontroller_test.go index eec7eead7aa..76190b1f94c 100644 --- a/federation/pkg/federation-controller/cluster/clustercontroller_test.go +++ b/federation/pkg/federation-controller/cluster/clustercontroller_test.go @@ -23,12 +23,12 @@ import ( "net/http/httptest" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" federationv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" controllerutil "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" diff --git a/federation/pkg/federation-controller/configmap/BUILD b/federation/pkg/federation-controller/configmap/BUILD index 46acde74417..a236e7f975e 100644 --- a/federation/pkg/federation-controller/configmap/BUILD +++ b/federation/pkg/federation-controller/configmap/BUILD @@ -23,11 +23,11 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -44,10 +44,10 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/pkg/federation-controller/configmap/configmap_controller.go b/federation/pkg/federation-controller/configmap/configmap_controller.go index 455d036bd2a..4676dbb908a 100644 --- a/federation/pkg/federation-controller/configmap/configmap_controller.go +++ b/federation/pkg/federation-controller/configmap/configmap_controller.go @@ -19,6 +19,9 @@ package configmap import ( "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -29,10 +32,7 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/configmap/configmap_controller_test.go b/federation/pkg/federation-controller/configmap/configmap_controller_test.go index 460b3cc07ca..57e45543970 100644 --- a/federation/pkg/federation-controller/configmap/configmap_controller_test.go +++ b/federation/pkg/federation-controller/configmap/configmap_controller_test.go @@ -21,6 +21,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -28,9 +31,6 @@ import ( apiv1 "k8s.io/kubernetes/pkg/api/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/daemonset/BUILD b/federation/pkg/federation-controller/daemonset/BUILD index eef79f14b8b..3ee5a6c006f 100644 --- a/federation/pkg/federation-controller/daemonset/BUILD +++ b/federation/pkg/federation-controller/daemonset/BUILD @@ -26,11 +26,11 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -47,12 +47,12 @@ go_test( "//federation/pkg/federation-controller/util/test:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/pkg/federation-controller/daemonset/daemonset_controller.go b/federation/pkg/federation-controller/daemonset/daemonset_controller.go index aa7ec383b1a..f35361a89c4 100644 --- a/federation/pkg/federation-controller/daemonset/daemonset_controller.go +++ b/federation/pkg/federation-controller/daemonset/daemonset_controller.go @@ -21,6 +21,9 @@ import ( "reflect" "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -34,10 +37,7 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/daemonset/daemonset_controller_test.go b/federation/pkg/federation-controller/daemonset/daemonset_controller_test.go index 6280f0f4e13..d5cc707c7a6 100644 --- a/federation/pkg/federation-controller/daemonset/daemonset_controller_test.go +++ b/federation/pkg/federation-controller/daemonset/daemonset_controller_test.go @@ -22,6 +22,9 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -29,11 +32,8 @@ import ( . "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/deployment/BUILD b/federation/pkg/federation-controller/deployment/BUILD index e9ff8570b1d..4131484916f 100644 --- a/federation/pkg/federation-controller/deployment/BUILD +++ b/federation/pkg/federation-controller/deployment/BUILD @@ -29,12 +29,12 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -47,15 +47,15 @@ go_test( "//federation/apis/federation/v1beta1:go_default_library", "//federation/client/clientset_generated/federation_clientset/fake:go_default_library", "//federation/pkg/federation-controller/util/test:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/pkg/federation-controller/deployment/deploymentcontroller.go b/federation/pkg/federation-controller/deployment/deploymentcontroller.go index cc820263009..e044b9402e2 100644 --- a/federation/pkg/federation-controller/deployment/deploymentcontroller.go +++ b/federation/pkg/federation-controller/deployment/deploymentcontroller.go @@ -25,6 +25,9 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" fed "k8s.io/kubernetes/federation/apis/federation" fedv1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -41,11 +44,8 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/federation/pkg/federation-controller/deployment/deploymentcontroller_test.go b/federation/pkg/federation-controller/deployment/deploymentcontroller_test.go index 7482a889f75..ed544e5ba42 100644 --- a/federation/pkg/federation-controller/deployment/deploymentcontroller_test.go +++ b/federation/pkg/federation-controller/deployment/deploymentcontroller_test.go @@ -22,17 +22,17 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" fedv1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" . "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" - "k8s.io/kubernetes/pkg/api/meta" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/ingress/BUILD b/federation/pkg/federation-controller/ingress/BUILD index 8a1cb4e05fd..83024713c7f 100644 --- a/federation/pkg/federation-controller/ingress/BUILD +++ b/federation/pkg/federation-controller/ingress/BUILD @@ -26,12 +26,12 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -52,11 +52,11 @@ go_test( "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/pkg/federation-controller/ingress/ingress_controller.go b/federation/pkg/federation-controller/ingress/ingress_controller.go index c8243ddd8e6..1ee178b86b4 100644 --- a/federation/pkg/federation-controller/ingress/ingress_controller.go +++ b/federation/pkg/federation-controller/ingress/ingress_controller.go @@ -21,6 +21,10 @@ import ( "sync" "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -34,11 +38,7 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/ingress/ingress_controller_test.go b/federation/pkg/federation-controller/ingress/ingress_controller_test.go index 9c164a3dba8..966b1687b33 100644 --- a/federation/pkg/federation-controller/ingress/ingress_controller_test.go +++ b/federation/pkg/federation-controller/ingress/ingress_controller_test.go @@ -22,6 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -33,9 +36,6 @@ import ( "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/stretchr/testify/assert" diff --git a/federation/pkg/federation-controller/namespace/BUILD b/federation/pkg/federation-controller/namespace/BUILD index aa3b3d21e68..f6c7b61afaa 100644 --- a/federation/pkg/federation-controller/namespace/BUILD +++ b/federation/pkg/federation-controller/namespace/BUILD @@ -25,10 +25,10 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -45,13 +45,13 @@ go_test( "//federation/pkg/federation-controller/util/test:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/pkg/federation-controller/namespace/namespace_controller.go b/federation/pkg/federation-controller/namespace/namespace_controller.go index b6994e77a3b..756daee328f 100644 --- a/federation/pkg/federation-controller/namespace/namespace_controller.go +++ b/federation/pkg/federation-controller/namespace/namespace_controller.go @@ -20,6 +20,8 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -32,9 +34,7 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/namespace/namespace_controller_test.go b/federation/pkg/federation-controller/namespace/namespace_controller_test.go index f374a8c46e0..e959931435f 100644 --- a/federation/pkg/federation-controller/namespace/namespace_controller_test.go +++ b/federation/pkg/federation-controller/namespace/namespace_controller_test.go @@ -21,6 +21,9 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -28,12 +31,9 @@ import ( . "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/replicaset/BUILD b/federation/pkg/federation-controller/replicaset/BUILD index 62439993f05..1e088b8de19 100644 --- a/federation/pkg/federation-controller/replicaset/BUILD +++ b/federation/pkg/federation-controller/replicaset/BUILD @@ -29,12 +29,12 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -47,15 +47,15 @@ go_test( "//federation/apis/federation/v1beta1:go_default_library", "//federation/client/clientset_generated/federation_clientset/fake:go_default_library", "//federation/pkg/federation-controller/util/test:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/pkg/federation-controller/replicaset/replicasetcontroller.go b/federation/pkg/federation-controller/replicaset/replicasetcontroller.go index 259eaa23bb8..a31b16fb141 100644 --- a/federation/pkg/federation-controller/replicaset/replicasetcontroller.go +++ b/federation/pkg/federation-controller/replicaset/replicasetcontroller.go @@ -25,6 +25,9 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" fed "k8s.io/kubernetes/federation/apis/federation" fedv1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -41,11 +44,8 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/federation/pkg/federation-controller/replicaset/replicasetcontroller_test.go b/federation/pkg/federation-controller/replicaset/replicasetcontroller_test.go index a2b9b436c6f..007aa3cd3a0 100644 --- a/federation/pkg/federation-controller/replicaset/replicasetcontroller_test.go +++ b/federation/pkg/federation-controller/replicaset/replicasetcontroller_test.go @@ -22,17 +22,17 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" fedv1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" fedclientfake "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" - "k8s.io/kubernetes/pkg/api/meta" apiv1 "k8s.io/kubernetes/pkg/api/v1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" kubeclientfake "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/watch" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/secret/BUILD b/federation/pkg/federation-controller/secret/BUILD index 3d6de3eb1cc..ac67977e087 100644 --- a/federation/pkg/federation-controller/secret/BUILD +++ b/federation/pkg/federation-controller/secret/BUILD @@ -25,11 +25,11 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -47,11 +47,11 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/federation/pkg/federation-controller/secret/secret_controller.go b/federation/pkg/federation-controller/secret/secret_controller.go index 8d2d7d5c7fa..858c819d1ee 100644 --- a/federation/pkg/federation-controller/secret/secret_controller.go +++ b/federation/pkg/federation-controller/secret/secret_controller.go @@ -20,6 +20,9 @@ import ( "fmt" "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -32,10 +35,7 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/secret/secret_controller_test.go b/federation/pkg/federation-controller/secret/secret_controller_test.go index 1dd0241bd59..183678bdb42 100644 --- a/federation/pkg/federation-controller/secret/secret_controller_test.go +++ b/federation/pkg/federation-controller/secret/secret_controller_test.go @@ -22,6 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" "k8s.io/kubernetes/federation/pkg/federation-controller/util" @@ -30,9 +33,6 @@ import ( apiv1 "k8s.io/kubernetes/pkg/api/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/stretchr/testify/assert" diff --git a/federation/pkg/federation-controller/service/BUILD b/federation/pkg/federation-controller/service/BUILD index 5e82faf1d20..4ddd2c2e9f5 100644 --- a/federation/pkg/federation-controller/service/BUILD +++ b/federation/pkg/federation-controller/service/BUILD @@ -30,20 +30,20 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/controller:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -61,7 +61,7 @@ go_test( "//federation/apis/federation/v1beta1:go_default_library", "//federation/pkg/dnsprovider/providers/google/clouddns:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/federation/pkg/federation-controller/service/cluster_helper.go b/federation/pkg/federation-controller/service/cluster_helper.go index 5a88a8e7937..ede0b1313d2 100644 --- a/federation/pkg/federation-controller/service/cluster_helper.go +++ b/federation/pkg/federation-controller/service/cluster_helper.go @@ -19,15 +19,15 @@ package service import ( "sync" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "reflect" diff --git a/federation/pkg/federation-controller/service/dns_test.go b/federation/pkg/federation-controller/service/dns_test.go index 4380d4c6071..e9e84354834 100644 --- a/federation/pkg/federation-controller/service/dns_test.go +++ b/federation/pkg/federation-controller/service/dns_test.go @@ -24,10 +24,10 @@ import ( "reflect" "sort" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns" // Only for unit testing purposes. "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) func TestServiceController_ensureDnsRecords(t *testing.T) { diff --git a/federation/pkg/federation-controller/service/endpoint_helper_test.go b/federation/pkg/federation-controller/service/endpoint_helper_test.go index e4e7b390af1..eb833116f92 100644 --- a/federation/pkg/federation-controller/service/endpoint_helper_test.go +++ b/federation/pkg/federation-controller/service/endpoint_helper_test.go @@ -19,10 +19,10 @@ package service import ( "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns" // Only for unit testing purposes. v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) var fakeDns, _ = clouddns.NewFakeInterface() // No need to check for unsupported interfaces, as the fake interface supports everything that's required. diff --git a/federation/pkg/federation-controller/service/service_helper.go b/federation/pkg/federation-controller/service/service_helper.go index e18dda44b30..696c63c9acb 100644 --- a/federation/pkg/federation-controller/service/service_helper.go +++ b/federation/pkg/federation-controller/service/service_helper.go @@ -20,10 +20,10 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" cache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller" diff --git a/federation/pkg/federation-controller/service/servicecontroller.go b/federation/pkg/federation-controller/service/servicecontroller.go index a02bd26505f..9aa68e9b4d6 100644 --- a/federation/pkg/federation-controller/service/servicecontroller.go +++ b/federation/pkg/federation-controller/service/servicecontroller.go @@ -24,6 +24,13 @@ import ( "reflect" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationcache "k8s.io/kubernetes/federation/client/cache" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" @@ -34,18 +41,11 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" cache "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/conversion" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/federation/pkg/federation-controller/service/servicecontroller_test.go b/federation/pkg/federation-controller/service/servicecontroller_test.go index 631cbdb20a4..f67995eb8f2 100644 --- a/federation/pkg/federation-controller/service/servicecontroller_test.go +++ b/federation/pkg/federation-controller/service/servicecontroller_test.go @@ -20,10 +20,10 @@ import ( "sync" "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns" // Only for unit testing purposes. "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) func TestGetClusterConditionPredicate(t *testing.T) { diff --git a/federation/pkg/federation-controller/util/BUILD b/federation/pkg/federation-controller/util/BUILD index 3fd44ef077e..6a81dca11ef 100644 --- a/federation/pkg/federation-controller/util/BUILD +++ b/federation/pkg/federation-controller/util/BUILD @@ -30,7 +30,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", @@ -38,12 +37,13 @@ go_library( "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/controller/deployment/util:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -69,9 +69,9 @@ go_test( "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/deployment/util:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/pkg/federation-controller/util/cluster_util.go b/federation/pkg/federation-controller/util/cluster_util.go index 3fc5a781b3d..d500331aa25 100644 --- a/federation/pkg/federation-controller/util/cluster_util.go +++ b/federation/pkg/federation-controller/util/cluster_util.go @@ -23,16 +23,16 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/wait" federation_v1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/federation/pkg/federation-controller/util/deletionhelper/BUILD b/federation/pkg/federation-controller/util/deletionhelper/BUILD index 257a3348b1b..1188a2d57f2 100644 --- a/federation/pkg/federation-controller/util/deletionhelper/BUILD +++ b/federation/pkg/federation-controller/util/deletionhelper/BUILD @@ -16,8 +16,8 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/record:go_default_library", - "//pkg/runtime:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/federation/pkg/federation-controller/util/deletionhelper/deletion_helper.go b/federation/pkg/federation-controller/util/deletionhelper/deletion_helper.go index 99371f93087..5ea2ad1dc36 100644 --- a/federation/pkg/federation-controller/util/deletionhelper/deletion_helper.go +++ b/federation/pkg/federation-controller/util/deletionhelper/deletion_helper.go @@ -24,11 +24,11 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/runtime" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/util/eventsink/BUILD b/federation/pkg/federation-controller/util/eventsink/BUILD index 5cafeae4bc6..1bf1001584d 100644 --- a/federation/pkg/federation-controller/util/eventsink/BUILD +++ b/federation/pkg/federation-controller/util/eventsink/BUILD @@ -30,8 +30,8 @@ go_test( "//federation/pkg/federation-controller/util/test:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/federation/pkg/federation-controller/util/eventsink/eventsink_test.go b/federation/pkg/federation-controller/util/eventsink/eventsink_test.go index 639a2bb5ac6..dd9fa6d1769 100644 --- a/federation/pkg/federation-controller/util/eventsink/eventsink_test.go +++ b/federation/pkg/federation-controller/util/eventsink/eventsink_test.go @@ -19,11 +19,11 @@ package eventsink import ( "testing" + "k8s.io/apimachinery/pkg/runtime" fakefedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" . "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" apiv1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/util/federated_informer.go b/federation/pkg/federation-controller/util/federated_informer.go index cb787aabf6f..a99a9e3c074 100644 --- a/federation/pkg/federation-controller/util/federated_informer.go +++ b/federation/pkg/federation-controller/util/federated_informer.go @@ -22,14 +22,14 @@ import ( "sync" "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" federationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" apiv1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" - pkgruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/federation-controller/util/federated_informer_test.go b/federation/pkg/federation-controller/util/federated_informer_test.go index 4c83b3b8945..1ab120bcc9e 100644 --- a/federation/pkg/federation-controller/util/federated_informer_test.go +++ b/federation/pkg/federation-controller/util/federated_informer_test.go @@ -20,6 +20,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fakefederationclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/fake" apiv1 "k8s.io/kubernetes/pkg/api/v1" @@ -27,8 +29,6 @@ import ( kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/util/federated_updater.go b/federation/pkg/federation-controller/util/federated_updater.go index 3535dfbf488..3dec68acf12 100644 --- a/federation/pkg/federation-controller/util/federated_updater.go +++ b/federation/pkg/federation-controller/util/federated_updater.go @@ -20,8 +20,8 @@ import ( "fmt" "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - pkgruntime "k8s.io/kubernetes/pkg/runtime" ) // Type of the operation that can be executed in Federated. diff --git a/federation/pkg/federation-controller/util/federated_updater_test.go b/federation/pkg/federation-controller/util/federated_updater_test.go index 872fd0b9dc3..7ce203b8502 100644 --- a/federation/pkg/federation-controller/util/federated_updater_test.go +++ b/federation/pkg/federation-controller/util/federated_updater_test.go @@ -21,11 +21,11 @@ import ( "testing" "time" + pkgruntime "k8s.io/apimachinery/pkg/runtime" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" apiv1 "k8s.io/kubernetes/pkg/api/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" fakekubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - pkgruntime "k8s.io/kubernetes/pkg/runtime" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/util/handlers.go b/federation/pkg/federation-controller/util/handlers.go index b924d56b098..76c23279ed3 100644 --- a/federation/pkg/federation-controller/util/handlers.go +++ b/federation/pkg/federation-controller/util/handlers.go @@ -20,9 +20,9 @@ import ( "fmt" "reflect" + pkgruntime "k8s.io/apimachinery/pkg/runtime" apiv1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - pkgruntime "k8s.io/kubernetes/pkg/runtime" ) // Returns cache.ResourceEventHandlerFuncs that trigger the given function diff --git a/federation/pkg/federation-controller/util/handlers_test.go b/federation/pkg/federation-controller/util/handlers_test.go index a19024b4993..c9a46c7c311 100644 --- a/federation/pkg/federation-controller/util/handlers_test.go +++ b/federation/pkg/federation-controller/util/handlers_test.go @@ -19,8 +19,8 @@ package util import ( "testing" + pkgruntime "k8s.io/apimachinery/pkg/runtime" apiv1 "k8s.io/kubernetes/pkg/api/v1" - pkgruntime "k8s.io/kubernetes/pkg/runtime" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/util/meta.go b/federation/pkg/federation-controller/util/meta.go index eebd12d685b..6f9a94335c9 100644 --- a/federation/pkg/federation-controller/util/meta.go +++ b/federation/pkg/federation-controller/util/meta.go @@ -19,9 +19,9 @@ package util import ( "reflect" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" ) // Copies cluster-independent, user provided data from the given ObjectMeta struct. If in diff --git a/federation/pkg/federation-controller/util/podanalyzer/BUILD b/federation/pkg/federation-controller/util/podanalyzer/BUILD index dedfe7a1bb7..a86ae4b9d2c 100644 --- a/federation/pkg/federation-controller/util/podanalyzer/BUILD +++ b/federation/pkg/federation-controller/util/podanalyzer/BUILD @@ -15,8 +15,8 @@ go_library( deps = [ "//federation/pkg/federation-controller/util:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) @@ -29,8 +29,8 @@ go_test( "//federation/pkg/federation-controller/util:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/federation/pkg/federation-controller/util/podanalyzer/pod_helper.go b/federation/pkg/federation-controller/util/podanalyzer/pod_helper.go index 21670899657..ccf1f683188 100644 --- a/federation/pkg/federation-controller/util/podanalyzer/pod_helper.go +++ b/federation/pkg/federation-controller/util/podanalyzer/pod_helper.go @@ -20,10 +20,10 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/federation/pkg/federation-controller/util" api_v1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) type PodAnalysisResult struct { diff --git a/federation/pkg/federation-controller/util/podanalyzer/pod_helper_test.go b/federation/pkg/federation-controller/util/podanalyzer/pod_helper_test.go index 543350cbda6..7a69d0e3fc2 100644 --- a/federation/pkg/federation-controller/util/podanalyzer/pod_helper_test.go +++ b/federation/pkg/federation-controller/util/podanalyzer/pod_helper_test.go @@ -20,10 +20,10 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/federation/pkg/federation-controller/util" api_v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "github.com/stretchr/testify/assert" ) diff --git a/federation/pkg/federation-controller/util/test/BUILD b/federation/pkg/federation-controller/util/test/BUILD index 6ea014b5e65..afe41267247 100644 --- a/federation/pkg/federation-controller/util/test/BUILD +++ b/federation/pkg/federation-controller/util/test/BUILD @@ -17,10 +17,10 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/federation/pkg/federation-controller/util/test/test_helper.go b/federation/pkg/federation-controller/util/test/test_helper.go index f006e567525..89fd7c1855c 100644 --- a/federation/pkg/federation-controller/util/test/test_helper.go +++ b/federation/pkg/federation-controller/util/test/test_helper.go @@ -24,14 +24,14 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/federation/pkg/kubefed/BUILD b/federation/pkg/kubefed/BUILD index d90096f1f23..bbb2457670a 100644 --- a/federation/pkg/kubefed/BUILD +++ b/federation/pkg/kubefed/BUILD @@ -29,11 +29,11 @@ go_library( "//pkg/kubectl/cmd/templates:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/flag:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) @@ -54,13 +54,13 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/client-go/pkg/util/diff", ], ) diff --git a/federation/pkg/kubefed/init/BUILD b/federation/pkg/kubefed/init/BUILD index cf68458752f..b53975dfd03 100644 --- a/federation/pkg/kubefed/init/BUILD +++ b/federation/pkg/kubefed/init/BUILD @@ -18,7 +18,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", @@ -27,9 +26,10 @@ go_library( "//pkg/util/cert:go_default_library", "//pkg/util/cert/triple:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -47,13 +47,13 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/client-go/pkg/util/diff", ], ) diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index a9dc591cfbc..27feb001158 100644 --- a/federation/pkg/kubefed/init/init.go +++ b/federation/pkg/kubefed/init/init.go @@ -36,12 +36,13 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" kubeadmkubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" "k8s.io/kubernetes/federation/pkg/kubefed/util" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" client "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" @@ -50,7 +51,6 @@ import ( certutil "k8s.io/kubernetes/pkg/util/cert" triple "k8s.io/kubernetes/pkg/util/cert/triple" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" "github.com/spf13/cobra" diff --git a/federation/pkg/kubefed/init/init_test.go b/federation/pkg/kubefed/init/init_test.go index 8aadf0d9e09..09be32356ef 100644 --- a/federation/pkg/kubefed/init/init_test.go +++ b/federation/pkg/kubefed/init/init_test.go @@ -30,6 +30,7 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/pkg/util/diff" kubefedtesting "k8s.io/kubernetes/federation/pkg/kubefed/testing" "k8s.io/kubernetes/federation/pkg/kubefed/util" @@ -39,7 +40,6 @@ import ( "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" diff --git a/federation/pkg/kubefed/join.go b/federation/pkg/kubefed/join.go index 2797cb2e324..2ae32819025 100644 --- a/federation/pkg/kubefed/join.go +++ b/federation/pkg/kubefed/join.go @@ -21,13 +21,13 @@ import ( "io" "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/federation/pkg/kubefed/util" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/kubectl" kubectlcmd "k8s.io/kubernetes/pkg/kubectl/cmd" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" "github.com/golang/glog" "github.com/spf13/cobra" diff --git a/federation/pkg/kubefed/join_test.go b/federation/pkg/kubefed/join_test.go index f01ee2bb82c..2b594e1b487 100644 --- a/federation/pkg/kubefed/join_test.go +++ b/federation/pkg/kubefed/join_test.go @@ -23,6 +23,7 @@ import ( "net/http" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/pkg/util/diff" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" kubefedtesting "k8s.io/kubernetes/federation/pkg/kubefed/testing" @@ -30,7 +31,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" diff --git a/federation/pkg/kubefed/testing/BUILD b/federation/pkg/kubefed/testing/BUILD index 4b6a3281a39..9a07e4aa2c0 100644 --- a/federation/pkg/kubefed/testing/BUILD +++ b/federation/pkg/kubefed/testing/BUILD @@ -15,12 +15,12 @@ go_library( "//federation/client/clientset_generated/federation_clientset:go_default_library", "//federation/pkg/kubefed/util:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/federation/pkg/kubefed/testing/testing.go b/federation/pkg/kubefed/testing/testing.go index a763f47bab2..e30536b9f6e 100644 --- a/federation/pkg/kubefed/testing/testing.go +++ b/federation/pkg/kubefed/testing/testing.go @@ -23,15 +23,15 @@ import ( "net/http" "os" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" fedclient "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/kubefed/util" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" ) type fakeAdminConfig struct { diff --git a/federation/pkg/kubefed/unjoin.go b/federation/pkg/kubefed/unjoin.go index 8a51f0a1a0f..57c835fbb84 100644 --- a/federation/pkg/kubefed/unjoin.go +++ b/federation/pkg/kubefed/unjoin.go @@ -21,6 +21,7 @@ import ( "io" "net/url" + "k8s.io/apimachinery/pkg/runtime/schema" federationapi "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/pkg/kubefed/util" "k8s.io/kubernetes/pkg/api" @@ -28,7 +29,6 @@ import ( "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/spf13/cobra" ) diff --git a/federation/pkg/kubefed/unjoin_test.go b/federation/pkg/kubefed/unjoin_test.go index aeeb90c3cbc..e5fa1d95251 100644 --- a/federation/pkg/kubefed/unjoin_test.go +++ b/federation/pkg/kubefed/unjoin_test.go @@ -23,12 +23,12 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" federationapi "k8s.io/kubernetes/federation/apis/federation" kubefedtesting "k8s.io/kubernetes/federation/pkg/kubefed/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/testapi" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" diff --git a/federation/registry/cluster/BUILD b/federation/registry/cluster/BUILD index 3277d44b089..42e42fabe93 100644 --- a/federation/registry/cluster/BUILD +++ b/federation/registry/cluster/BUILD @@ -20,15 +20,15 @@ go_library( "//federation/apis/federation/validation:go_default_library", "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -41,10 +41,10 @@ go_test( "//federation/apis/federation:go_default_library", "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/federation/registry/cluster/etcd/BUILD b/federation/registry/cluster/etcd/BUILD index 0d7fd00cc3a..bcf5db99899 100644 --- a/federation/registry/cluster/etcd/BUILD +++ b/federation/registry/cluster/etcd/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -32,11 +32,11 @@ go_test( "//federation/apis/federation:go_default_library", "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/federation/registry/cluster/etcd/etcd.go b/federation/registry/cluster/etcd/etcd.go index b2a6a8535cf..6aa6eb0e5bc 100644 --- a/federation/registry/cluster/etcd/etcd.go +++ b/federation/registry/cluster/etcd/etcd.go @@ -17,13 +17,13 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/registry/cluster" "k8s.io/kubernetes/pkg/api/rest" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/federation/registry/cluster/etcd/etcd_test.go b/federation/registry/cluster/etcd/etcd_test.go index acb107cfa81..9e44ed66812 100644 --- a/federation/registry/cluster/etcd/etcd_test.go +++ b/federation/registry/cluster/etcd/etcd_test.go @@ -19,13 +19,13 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/federation/registry/cluster/registry.go b/federation/registry/cluster/registry.go index 3025a312ad6..cb87c6f7b1a 100644 --- a/federation/registry/cluster/registry.go +++ b/federation/registry/cluster/registry.go @@ -17,12 +17,12 @@ limitations under the License. package cluster import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface implemented by things that know how to store Cluster objects. diff --git a/federation/registry/cluster/strategy.go b/federation/registry/cluster/strategy.go index 61464f04555..e026e5217f7 100644 --- a/federation/registry/cluster/strategy.go +++ b/federation/registry/cluster/strategy.go @@ -19,16 +19,16 @@ package cluster import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/federation/apis/federation/validation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) type clusterStrategy struct { diff --git a/federation/registry/cluster/strategy_test.go b/federation/registry/cluster/strategy_test.go index 8ecc7021ae3..7c82441f9bc 100644 --- a/federation/registry/cluster/strategy_test.go +++ b/federation/registry/cluster/strategy_test.go @@ -21,13 +21,13 @@ import ( "reflect" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" ) func validNewCluster() *federation.Cluster { diff --git a/pkg/admission/BUILD b/pkg/admission/BUILD index 2783d4ff3b1..96aaa1d13f7 100644 --- a/pkg/admission/BUILD +++ b/pkg/admission/BUILD @@ -21,12 +21,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) @@ -36,7 +36,7 @@ go_test( srcs = ["chain_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/runtime/schema:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/runtime/schema"], ) filegroup( diff --git a/pkg/admission/attributes.go b/pkg/admission/attributes.go index 9cdec48ad66..406235dd03c 100644 --- a/pkg/admission/attributes.go +++ b/pkg/admission/attributes.go @@ -17,9 +17,9 @@ limitations under the License. package admission import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apiserver/pkg/authentication/user" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) type attributesRecord struct { diff --git a/pkg/admission/chain_test.go b/pkg/admission/chain_test.go index 8b68558ec18..3a0dc7ce116 100644 --- a/pkg/admission/chain_test.go +++ b/pkg/admission/chain_test.go @@ -20,7 +20,7 @@ import ( "fmt" "testing" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/schema" ) type FakeHandler struct { diff --git a/pkg/admission/errors.go b/pkg/admission/errors.go index 407a323a088..993d49e2518 100644 --- a/pkg/admission/errors.go +++ b/pkg/admission/errors.go @@ -17,10 +17,10 @@ limitations under the License. package admission import ( + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) func extractResourceName(a Attributes) (name string, resource schema.GroupResource, err error) { diff --git a/pkg/admission/handler.go b/pkg/admission/handler.go index f19f5721ee0..5de066f0587 100644 --- a/pkg/admission/handler.go +++ b/pkg/admission/handler.go @@ -19,7 +19,7 @@ package admission import ( "time" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) const ( diff --git a/pkg/admission/interfaces.go b/pkg/admission/interfaces.go index c998524b7a7..703d3c2ac0c 100644 --- a/pkg/admission/interfaces.go +++ b/pkg/admission/interfaces.go @@ -17,9 +17,9 @@ limitations under the License. package admission import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apiserver/pkg/authentication/user" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // Attributes is an interface used by AdmissionController to get information about a request diff --git a/pkg/api/BUILD b/pkg/api/BUILD index 8e80b76eb07..75d3a45dd9c 100644 --- a/pkg/api/BUILD +++ b/pkg/api/BUILD @@ -27,25 +27,25 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/selection:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/labels:go_default_library", "//pkg/util/rand:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/validation/field:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/selection", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -61,10 +61,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/resource:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) @@ -82,32 +82,32 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/protobuf:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/golang/protobuf/proto", "//vendor:github.com/google/gofuzz", "//vendor:github.com/spf13/pflag", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/protobuf", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/api/conversion.go b/pkg/api/conversion.go index 600ba54313a..c62f5edebe9 100644 --- a/pkg/api/conversion.go +++ b/pkg/api/conversion.go @@ -19,15 +19,15 @@ package api import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" utillabels "k8s.io/kubernetes/pkg/util/labels" - "k8s.io/kubernetes/pkg/util/validation/field" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/api/conversion_test.go b/pkg/api/conversion_test.go index d577dc7a345..0026339897b 100644 --- a/pkg/api/conversion_test.go +++ b/pkg/api/conversion_test.go @@ -21,12 +21,12 @@ import ( "math/rand" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" ) func BenchmarkPodConversion(b *testing.B) { diff --git a/pkg/api/copy_test.go b/pkg/api/copy_test.go index 7e9744e0601..6af321e29b5 100644 --- a/pkg/api/copy_test.go +++ b/pkg/api/copy_test.go @@ -22,12 +22,12 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" "github.com/google/gofuzz" ) diff --git a/pkg/api/deep_copy_test.go b/pkg/api/deep_copy_test.go index 39bc858c0af..514e667f04f 100644 --- a/pkg/api/deep_copy_test.go +++ b/pkg/api/deep_copy_test.go @@ -21,11 +21,11 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" ) func parseTimeOrDie(ts string) metav1.Time { diff --git a/pkg/api/defaulting_test.go b/pkg/api/defaulting_test.go index 0acd8e1001d..d0a87923f52 100644 --- a/pkg/api/defaulting_test.go +++ b/pkg/api/defaulting_test.go @@ -24,14 +24,14 @@ import ( "github.com/google/gofuzz" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" batchv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" ) type orderedGroupVersionKinds []schema.GroupVersionKind diff --git a/pkg/api/defaults.go b/pkg/api/defaults.go index a2b01b7fd66..1d9ad8f9ad6 100644 --- a/pkg/api/defaults.go +++ b/pkg/api/defaults.go @@ -17,9 +17,9 @@ limitations under the License. package api import ( + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/api/endpoints/BUILD b/pkg/api/endpoints/BUILD index 43d0baabd9b..33e7064f7af 100644 --- a/pkg/api/endpoints/BUILD +++ b/pkg/api/endpoints/BUILD @@ -14,8 +14,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/hash:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -26,8 +26,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/api/endpoints/util.go b/pkg/api/endpoints/util.go index a67521cd9f9..37084d64973 100644 --- a/pkg/api/endpoints/util.go +++ b/pkg/api/endpoints/util.go @@ -23,8 +23,8 @@ import ( "hash" "sort" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/types" hashutil "k8s.io/kubernetes/pkg/util/hash" ) diff --git a/pkg/api/endpoints/util_test.go b/pkg/api/endpoints/util_test.go index 68e334eff99..c060e347997 100644 --- a/pkg/api/endpoints/util_test.go +++ b/pkg/api/endpoints/util_test.go @@ -21,8 +21,8 @@ import ( "testing" "github.com/davecgh/go-spew/spew" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/types" ) func podRef(uid string) *api.ObjectReference { diff --git a/pkg/api/errors/BUILD b/pkg/api/errors/BUILD index 86948ae6194..32cc80a0378 100644 --- a/pkg/api/errors/BUILD +++ b/pkg/api/errors/BUILD @@ -16,10 +16,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -30,10 +30,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/api/errors/errors.go b/pkg/api/errors/errors.go index 7e97f2efd7c..560c889b9c1 100644 --- a/pkg/api/errors/errors.go +++ b/pkg/api/errors/errors.go @@ -22,10 +22,10 @@ import ( "net/http" "strings" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/validation/field" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" ) // HTTP Status codes not in the golang http package. diff --git a/pkg/api/errors/errors_test.go b/pkg/api/errors/errors_test.go index c5b6841f9df..932afa85ec3 100644 --- a/pkg/api/errors/errors_test.go +++ b/pkg/api/errors/errors_test.go @@ -22,11 +22,11 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestErrorNew(t *testing.T) { diff --git a/pkg/api/errors/storage/BUILD b/pkg/api/errors/storage/BUILD index a015f308a36..a9e214ed006 100644 --- a/pkg/api/errors/storage/BUILD +++ b/pkg/api/errors/storage/BUILD @@ -16,8 +16,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/api/errors/storage/storage.go b/pkg/api/errors/storage/storage.go index d9beeb032cf..d20607c3c3e 100644 --- a/pkg/api/errors/storage/storage.go +++ b/pkg/api/errors/storage/storage.go @@ -17,8 +17,8 @@ limitations under the License. package storage import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/api/events/BUILD b/pkg/api/events/BUILD index 4f7bae7757b..3df8931d678 100644 --- a/pkg/api/events/BUILD +++ b/pkg/api/events/BUILD @@ -22,7 +22,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/api/events/sorted_event_list_test.go b/pkg/api/events/sorted_event_list_test.go index ca1daa774f3..bae6f2e0ddc 100644 --- a/pkg/api/events/sorted_event_list_test.go +++ b/pkg/api/events/sorted_event_list_test.go @@ -21,8 +21,8 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestSortableEvents(t *testing.T) { diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index dc7db863a4b..8a47c67241b 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -24,15 +24,15 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/selection" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" "github.com/davecgh/go-spew/spew" ) diff --git a/pkg/api/helpers_test.go b/pkg/api/helpers_test.go index 2f13b081175..50571577f2d 100644 --- a/pkg/api/helpers_test.go +++ b/pkg/api/helpers_test.go @@ -21,9 +21,9 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) func TestConversionError(t *testing.T) { diff --git a/pkg/api/install/BUILD b/pkg/api/install/BUILD index 3905c8af073..59d60015bf1 100644 --- a/pkg/api/install/BUILD +++ b/pkg/api/install/BUILD @@ -14,14 +14,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -32,10 +32,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/api/install/install.go b/pkg/api/install/install.go index b1ac35c2355..975e7ca5380 100644 --- a/pkg/api/install/install.go +++ b/pkg/api/install/install.go @@ -23,14 +23,14 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) const importPrefix = "k8s.io/kubernetes/pkg/api" diff --git a/pkg/api/install/install_test.go b/pkg/api/install/install_test.go index 58013033481..41126c09bd6 100644 --- a/pkg/api/install/install_test.go +++ b/pkg/api/install/install_test.go @@ -21,11 +21,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" internal "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestResourceVersioner(t *testing.T) { diff --git a/pkg/api/mapper.go b/pkg/api/mapper.go index 347b5a46f94..69334b0711e 100644 --- a/pkg/api/mapper.go +++ b/pkg/api/mapper.go @@ -19,10 +19,10 @@ package api import ( "strings" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" ) // Instantiates a DefaultRESTMapper based on types registered in api.Scheme diff --git a/pkg/api/meta.go b/pkg/api/meta.go index b4349f0f086..8beb0672d52 100644 --- a/pkg/api/meta.go +++ b/pkg/api/meta.go @@ -17,12 +17,12 @@ limitations under the License. package api import ( - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/uuid" ) diff --git a/pkg/api/meta/.readonly b/pkg/api/meta/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/api/meta_test.go b/pkg/api/meta_test.go index 2153e1198bd..4c44e6082a3 100644 --- a/pkg/api/meta_test.go +++ b/pkg/api/meta_test.go @@ -22,13 +22,13 @@ import ( "github.com/google/gofuzz" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/uuid" ) diff --git a/pkg/api/ref.go b/pkg/api/ref.go index 4c0698bde4a..134bbd26f74 100644 --- a/pkg/api/ref.go +++ b/pkg/api/ref.go @@ -22,9 +22,9 @@ import ( "net/url" "strings" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) var ( diff --git a/pkg/api/ref_test.go b/pkg/api/ref_test.go index 7fa1205acc3..f3cb29bc81e 100644 --- a/pkg/api/ref_test.go +++ b/pkg/api/ref_test.go @@ -20,9 +20,9 @@ import ( "reflect" "testing" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) type FakeAPIObject struct{} diff --git a/pkg/api/register.go b/pkg/api/register.go index bac8f4361ed..02fb64e3db8 100644 --- a/pkg/api/register.go +++ b/pkg/api/register.go @@ -17,10 +17,10 @@ limitations under the License. package api import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" ) // Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered. diff --git a/pkg/api/resource/BUILD b/pkg/api/resource/BUILD index f9a171567e9..ab5f0fa7830 100644 --- a/pkg/api/resource/BUILD +++ b/pkg/api/resource/BUILD @@ -21,11 +21,11 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/genericapiserver/openapi/common:go_default_library", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/spf13/pflag", "//vendor:gopkg.in/inf.v0", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", ], ) diff --git a/pkg/api/resource/quantity.go b/pkg/api/resource/quantity.go index d8f2718ee5b..5d413b10e6f 100644 --- a/pkg/api/resource/quantity.go +++ b/pkg/api/resource/quantity.go @@ -29,7 +29,7 @@ import ( "github.com/go-openapi/spec" inf "gopkg.in/inf.v0" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" ) // Quantity is a fixed-point representation of a number. diff --git a/pkg/api/resource_helpers.go b/pkg/api/resource_helpers.go index 61dc6bac17b..e3eb31888eb 100644 --- a/pkg/api/resource_helpers.go +++ b/pkg/api/resource_helpers.go @@ -19,8 +19,8 @@ package api import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/api/resource_helpers_test.go b/pkg/api/resource_helpers_test.go index 2d10c7a6cf2..7ac328cdee7 100644 --- a/pkg/api/resource_helpers_test.go +++ b/pkg/api/resource_helpers_test.go @@ -20,8 +20,8 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestResourceHelpers(t *testing.T) { diff --git a/pkg/api/rest/BUILD b/pkg/api/rest/BUILD index 491976dd818..4fe769802ac 100644 --- a/pkg/api/rest/BUILD +++ b/pkg/api/rest/BUILD @@ -22,15 +22,15 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/validation/genericvalidation:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/api/rest/create.go b/pkg/api/rest/create.go index 17570985d1e..9b523241447 100644 --- a/pkg/api/rest/create.go +++ b/pkg/api/rest/create.go @@ -17,14 +17,14 @@ limitations under the License. package rest import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/validation/genericvalidation" path "k8s.io/kubernetes/pkg/api/validation/path" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/validation/field" ) // RESTCreateStrategy defines the minimum validation, accepted input, and diff --git a/pkg/api/rest/delete.go b/pkg/api/rest/delete.go index f1c71218a57..edea4a8d20e 100644 --- a/pkg/api/rest/delete.go +++ b/pkg/api/rest/delete.go @@ -20,12 +20,12 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // RESTDeleteStrategy defines deletion behavior on an object that follows Kubernetes diff --git a/pkg/api/rest/export.go b/pkg/api/rest/export.go index 00ce881bba0..6ec306263df 100644 --- a/pkg/api/rest/export.go +++ b/pkg/api/rest/export.go @@ -17,8 +17,8 @@ limitations under the License. package rest import ( + "k8s.io/apimachinery/pkg/runtime" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" ) // RESTExportStrategy is the interface that defines how to export a Kubernetes object diff --git a/pkg/api/rest/rest.go b/pkg/api/rest/rest.go index 7e68538aae9..e66a1ea565c 100644 --- a/pkg/api/rest/rest.go +++ b/pkg/api/rest/rest.go @@ -21,12 +21,12 @@ import ( "net/http" "net/url" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/watch" ) //TODO: diff --git a/pkg/api/rest/resttest/BUILD b/pkg/api/rest/resttest/BUILD index 8c61a6cbdab..79f70fe01b1 100644 --- a/pkg/api/rest/resttest/BUILD +++ b/pkg/api/rest/resttest/BUILD @@ -16,14 +16,14 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/api/rest/resttest/resttest.go b/pkg/api/rest/resttest/resttest.go index f5be6c54f16..c3a4875e9a7 100644 --- a/pkg/api/rest/resttest/resttest.go +++ b/pkg/api/rest/resttest/resttest.go @@ -23,18 +23,18 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation/path" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" ) type Tester struct { diff --git a/pkg/api/rest/types.go b/pkg/api/rest/types.go index 85e786465a0..935fbd4725a 100644 --- a/pkg/api/rest/types.go +++ b/pkg/api/rest/types.go @@ -17,7 +17,7 @@ limitations under the License. package rest import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) // ObjectFunc is a function to act on a given object. An error may be returned diff --git a/pkg/api/rest/update.go b/pkg/api/rest/update.go index 88eaa2ca812..4534888675a 100644 --- a/pkg/api/rest/update.go +++ b/pkg/api/rest/update.go @@ -19,13 +19,13 @@ package rest import ( "fmt" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/validation/genericvalidation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation/field" ) // RESTUpdateStrategy defines the minimum validation, accepted input, and diff --git a/pkg/api/serialization_proto_test.go b/pkg/api/serialization_proto_test.go index bf98f7a7e7a..3bf82cb35c6 100644 --- a/pkg/api/serialization_proto_test.go +++ b/pkg/api/serialization_proto_test.go @@ -23,17 +23,17 @@ import ( "testing" "github.com/gogo/protobuf/proto" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/extensions" _ "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/protobuf" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/sets" ) var nonProtobaleAPIGroups = sets.NewString( diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index 7610225eba1..ae66a98e628 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -32,21 +32,21 @@ import ( flag "github.com/spf13/pflag" "github.com/ugorji/go/codec" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" ) var fuzzIters = flag.Int("fuzz-iters", 20, "How many fuzzing iterations to do.") diff --git a/pkg/api/testapi/BUILD b/pkg/api/testapi/BUILD index 9e64a990e5c..723e53201a3 100644 --- a/pkg/api/testapi/BUILD +++ b/pkg/api/testapi/BUILD @@ -19,8 +19,6 @@ go_library( "//federation/apis/federation/install:go_default_library", "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/install:go_default_library", "//pkg/apis/authentication/install:go_default_library", @@ -43,9 +41,11 @@ go_library( "//pkg/apis/rbac/install:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/install:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/recognizer:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/recognizer", ], ) @@ -55,8 +55,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/api/testapi/testapi.go b/pkg/api/testapi/testapi.go index b03b1dff210..2d3735e6fed 100644 --- a/pkg/api/testapi/testapi.go +++ b/pkg/api/testapi/testapi.go @@ -30,11 +30,14 @@ import ( "reflect" "strings" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/authorization" "k8s.io/kubernetes/pkg/apis/autoscaling" @@ -45,9 +48,6 @@ import ( "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/storage" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" _ "k8s.io/kubernetes/federation/apis/federation/install" diff --git a/pkg/api/testapi/testapi_test.go b/pkg/api/testapi/testapi_test.go index 0ba1705426c..b7081f2817d 100644 --- a/pkg/api/testapi/testapi_test.go +++ b/pkg/api/testapi/testapi_test.go @@ -21,8 +21,8 @@ import ( "reflect" "testing" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) // TODO these tests don't add much value for testing things that have groups diff --git a/pkg/api/testing/BUILD b/pkg/api/testing/BUILD index c7c2a2ad69a..0db0b5831ef 100644 --- a/pkg/api/testing/BUILD +++ b/pkg/api/testing/BUILD @@ -24,16 +24,16 @@ go_library( "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/api/testing/compat/BUILD b/pkg/api/testing/compat/BUILD index 2c52ef49f56..63031bfb902 100644 --- a/pkg/api/testing/compat/BUILD +++ b/pkg/api/testing/compat/BUILD @@ -14,9 +14,9 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/kubectl:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/api/testing/compat/compatibility_tester.go b/pkg/api/testing/compat/compatibility_tester.go index f145f389dfb..9cc9a7b24b3 100644 --- a/pkg/api/testing/compat/compatibility_tester.go +++ b/pkg/api/testing/compat/compatibility_tester.go @@ -26,11 +26,11 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/kubectl" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/validation/field" ) // Based on: https://github.com/openshift/origin/blob/master/pkg/api/compatibility_test.go diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index 94bb5623be2..7e6916600c7 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -23,6 +23,11 @@ import ( "strconv" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" @@ -30,14 +35,9 @@ import ( "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" "github.com/google/gofuzz" diff --git a/pkg/api/types.go b/pkg/api/types.go index d830223695a..cadb7615015 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -17,12 +17,12 @@ limitations under the License. package api import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/api/unversioned/BUILD b/pkg/api/unversioned/BUILD index 87e695f8831..4f1ac4a3203 100644 --- a/pkg/api/unversioned/BUILD +++ b/pkg/api/unversioned/BUILD @@ -16,9 +16,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/genericapiserver/openapi/common:go_default_library", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", ], ) diff --git a/pkg/api/unversioned/time.go b/pkg/api/unversioned/time.go index 5362d547cbf..52ae492f7f8 100644 --- a/pkg/api/unversioned/time.go +++ b/pkg/api/unversioned/time.go @@ -20,7 +20,7 @@ import ( "encoding/json" "time" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" "github.com/go-openapi/spec" "github.com/google/gofuzz" diff --git a/pkg/api/v1/BUILD b/pkg/api/v1/BUILD index 49514db2a32..f12c8477b66 100644 --- a/pkg/api/v1/BUILD +++ b/pkg/api/v1/BUILD @@ -31,26 +31,26 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/selection:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/parsers:go_default_library", "//pkg/util/rand:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation/field:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/selection", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -68,11 +68,11 @@ go_test( "//pkg/api/testing/compat:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -87,8 +87,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/api/v1/backward_compatibility_test.go b/pkg/api/v1/backward_compatibility_test.go index 6c1d2ec81e0..58ed8db06b1 100644 --- a/pkg/api/v1/backward_compatibility_test.go +++ b/pkg/api/v1/backward_compatibility_test.go @@ -19,12 +19,12 @@ package v1_test import ( "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testing/compat" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestCompatibility_v1_PodSecurityContext(t *testing.T) { diff --git a/pkg/api/v1/conversion.go b/pkg/api/v1/conversion.go index 2331d8da21c..028fbb9920d 100644 --- a/pkg/api/v1/conversion.go +++ b/pkg/api/v1/conversion.go @@ -21,12 +21,12 @@ import ( "fmt" "reflect" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation/field" ) const ( diff --git a/pkg/api/v1/conversion_test.go b/pkg/api/v1/conversion_test.go index 735dbe3e437..9eb0afdc381 100644 --- a/pkg/api/v1/conversion_test.go +++ b/pkg/api/v1/conversion_test.go @@ -22,12 +22,12 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" ) func TestPodLogOptions(t *testing.T) { diff --git a/pkg/api/v1/defaults.go b/pkg/api/v1/defaults.go index fbc5872c46b..acc0744db87 100644 --- a/pkg/api/v1/defaults.go +++ b/pkg/api/v1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/parsers" diff --git a/pkg/api/v1/defaults_test.go b/pkg/api/v1/defaults_test.go index bd5fcb45b9f..f1c533a5ca6 100644 --- a/pkg/api/v1/defaults_test.go +++ b/pkg/api/v1/defaults_test.go @@ -21,10 +21,10 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/api/v1/endpoints/BUILD b/pkg/api/v1/endpoints/BUILD index b899896cdfb..ec5cf11226f 100644 --- a/pkg/api/v1/endpoints/BUILD +++ b/pkg/api/v1/endpoints/BUILD @@ -14,8 +14,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/hash:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -26,8 +26,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/api/v1/endpoints/util.go b/pkg/api/v1/endpoints/util.go index 0ecac9c6c14..1056c3702ca 100644 --- a/pkg/api/v1/endpoints/util.go +++ b/pkg/api/v1/endpoints/util.go @@ -23,8 +23,8 @@ import ( "hash" "sort" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" hashutil "k8s.io/kubernetes/pkg/util/hash" ) diff --git a/pkg/api/v1/endpoints/util_test.go b/pkg/api/v1/endpoints/util_test.go index e73a948650c..2d8984dd1d3 100644 --- a/pkg/api/v1/endpoints/util_test.go +++ b/pkg/api/v1/endpoints/util_test.go @@ -21,8 +21,8 @@ import ( "testing" "github.com/davecgh/go-spew/spew" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) func podRef(uid string) *v1.ObjectReference { diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index ab78313bc92..18a368b0adf 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -190,11 +190,12 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import k8s_io_kubernetes_pkg_api_resource "k8s.io/kubernetes/pkg/api/resource" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" -import k8s_io_kubernetes_pkg_runtime "k8s.io/kubernetes/pkg/runtime" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +import k8s_io_apimachinery_pkg_runtime "k8s.io/apimachinery/pkg/runtime" -import k8s_io_kubernetes_pkg_types "k8s.io/kubernetes/pkg/types" +import k8s_io_kubernetes_pkg_api_resource "k8s.io/kubernetes/pkg/api/resource" + +import k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" import strings "strings" import reflect "reflect" @@ -1291,6 +1292,14 @@ func (m *Binding) MarshalTo(data []byte) (int, error) { return 0, err } i += n5 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n6, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 return i, nil } @@ -1388,11 +1397,11 @@ func (m *CephFSVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n6, err := m.SecretRef.MarshalTo(data[i:]) + n7, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 } data[i] = 0x30 i++ @@ -1491,11 +1500,11 @@ func (m *ComponentStatus) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n7, err := m.ObjectMeta.MarshalTo(data[i:]) + n8, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n8 if len(m.Conditions) > 0 { for _, msg := range m.Conditions { data[i] = 0x12 @@ -1508,6 +1517,14 @@ func (m *ComponentStatus) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n9, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n9 return i, nil } @@ -1529,11 +1546,11 @@ func (m *ComponentStatusList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n8, err := m.ListMeta.MarshalTo(data[i:]) + n10, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n10 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1546,6 +1563,14 @@ func (m *ComponentStatusList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n11, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n11 return i, nil } @@ -1567,11 +1592,11 @@ func (m *ConfigMap) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n9, err := m.ObjectMeta.MarshalTo(data[i:]) + n12, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n9 + i += n12 if len(m.Data) > 0 { for k := range m.Data { data[i] = 0x12 @@ -1589,6 +1614,14 @@ func (m *ConfigMap) MarshalTo(data []byte) (int, error) { i += copy(data[i:], v) } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n13, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n13 return i, nil } @@ -1610,11 +1643,11 @@ func (m *ConfigMapEnvSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n10, err := m.LocalObjectReference.MarshalTo(data[i:]) + n14, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n10 + i += n14 return i, nil } @@ -1636,11 +1669,11 @@ func (m *ConfigMapKeySelector) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n11, err := m.LocalObjectReference.MarshalTo(data[i:]) + n15, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n11 + i += n15 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) @@ -1666,11 +1699,11 @@ func (m *ConfigMapList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n12, err := m.ListMeta.MarshalTo(data[i:]) + n16, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n12 + i += n16 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1683,6 +1716,14 @@ func (m *ConfigMapList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n17, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n17 return i, nil } @@ -1704,11 +1745,11 @@ func (m *ConfigMapVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n13, err := m.LocalObjectReference.MarshalTo(data[i:]) + n18, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n13 + i += n18 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1813,11 +1854,11 @@ func (m *Container) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.Resources.Size())) - n14, err := m.Resources.MarshalTo(data[i:]) + n19, err := m.Resources.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n14 + i += n19 if len(m.VolumeMounts) > 0 { for _, msg := range m.VolumeMounts { data[i] = 0x4a @@ -1834,31 +1875,31 @@ func (m *Container) MarshalTo(data []byte) (int, error) { data[i] = 0x52 i++ i = encodeVarintGenerated(data, i, uint64(m.LivenessProbe.Size())) - n15, err := m.LivenessProbe.MarshalTo(data[i:]) + n20, err := m.LivenessProbe.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n15 + i += n20 } if m.ReadinessProbe != nil { data[i] = 0x5a i++ i = encodeVarintGenerated(data, i, uint64(m.ReadinessProbe.Size())) - n16, err := m.ReadinessProbe.MarshalTo(data[i:]) + n21, err := m.ReadinessProbe.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n16 + i += n21 } if m.Lifecycle != nil { data[i] = 0x62 i++ i = encodeVarintGenerated(data, i, uint64(m.Lifecycle.Size())) - n17, err := m.Lifecycle.MarshalTo(data[i:]) + n22, err := m.Lifecycle.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n17 + i += n22 } data[i] = 0x6a i++ @@ -1872,11 +1913,11 @@ func (m *Container) MarshalTo(data []byte) (int, error) { data[i] = 0x7a i++ i = encodeVarintGenerated(data, i, uint64(m.SecurityContext.Size())) - n18, err := m.SecurityContext.MarshalTo(data[i:]) + n23, err := m.SecurityContext.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n18 + i += n23 } data[i] = 0x80 i++ @@ -2016,31 +2057,31 @@ func (m *ContainerState) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Waiting.Size())) - n19, err := m.Waiting.MarshalTo(data[i:]) + n24, err := m.Waiting.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n19 + i += n24 } if m.Running != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Running.Size())) - n20, err := m.Running.MarshalTo(data[i:]) + n25, err := m.Running.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n20 + i += n25 } if m.Terminated != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Terminated.Size())) - n21, err := m.Terminated.MarshalTo(data[i:]) + n26, err := m.Terminated.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n21 + i += n26 } return i, nil } @@ -2063,11 +2104,11 @@ func (m *ContainerStateRunning) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.StartedAt.Size())) - n22, err := m.StartedAt.MarshalTo(data[i:]) + n27, err := m.StartedAt.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n22 + i += n27 return i, nil } @@ -2103,19 +2144,19 @@ func (m *ContainerStateTerminated) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.StartedAt.Size())) - n23, err := m.StartedAt.MarshalTo(data[i:]) + n28, err := m.StartedAt.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n23 + i += n28 data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.FinishedAt.Size())) - n24, err := m.FinishedAt.MarshalTo(data[i:]) + n29, err := m.FinishedAt.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n24 + i += n29 data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(len(m.ContainerID))) @@ -2171,19 +2212,19 @@ func (m *ContainerStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.State.Size())) - n25, err := m.State.MarshalTo(data[i:]) + n30, err := m.State.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n25 + i += n30 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTerminationState.Size())) - n26, err := m.LastTerminationState.MarshalTo(data[i:]) + n31, err := m.LastTerminationState.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n26 + i += n31 data[i] = 0x20 i++ if m.Ready { @@ -2255,11 +2296,11 @@ func (m *DeleteOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Preconditions.Size())) - n27, err := m.Preconditions.MarshalTo(data[i:]) + n32, err := m.Preconditions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n27 + i += n32 } if m.OrphanDependents != nil { data[i] = 0x18 @@ -2271,6 +2312,14 @@ func (m *DeleteOptions) MarshalTo(data []byte) (int, error) { } i++ } + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n33, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n33 return i, nil } @@ -2297,21 +2346,21 @@ func (m *DownwardAPIVolumeFile) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.FieldRef.Size())) - n28, err := m.FieldRef.MarshalTo(data[i:]) + n34, err := m.FieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n28 + i += n34 } if m.ResourceFieldRef != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) - n29, err := m.ResourceFieldRef.MarshalTo(data[i:]) + n35, err := m.ResourceFieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n29 + i += n35 } if m.Mode != nil { data[i] = 0x20 @@ -2401,11 +2450,11 @@ func (m *EndpointAddress) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.TargetRef.Size())) - n30, err := m.TargetRef.MarshalTo(data[i:]) + n36, err := m.TargetRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n30 + i += n36 } data[i] = 0x1a i++ @@ -2521,11 +2570,11 @@ func (m *Endpoints) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n31, err := m.ObjectMeta.MarshalTo(data[i:]) + n37, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n31 + i += n37 if len(m.Subsets) > 0 { for _, msg := range m.Subsets { data[i] = 0x12 @@ -2538,6 +2587,14 @@ func (m *Endpoints) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n38, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n38 return i, nil } @@ -2559,11 +2616,11 @@ func (m *EndpointsList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n32, err := m.ListMeta.MarshalTo(data[i:]) + n39, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n32 + i += n39 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2576,6 +2633,14 @@ func (m *EndpointsList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n40, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n40 return i, nil } @@ -2602,11 +2667,11 @@ func (m *EnvFromSource) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMapRef.Size())) - n33, err := m.ConfigMapRef.MarshalTo(data[i:]) + n41, err := m.ConfigMapRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n33 + i += n41 } return i, nil } @@ -2638,11 +2703,11 @@ func (m *EnvVar) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.ValueFrom.Size())) - n34, err := m.ValueFrom.MarshalTo(data[i:]) + n42, err := m.ValueFrom.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n34 + i += n42 } return i, nil } @@ -2666,41 +2731,41 @@ func (m *EnvVarSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.FieldRef.Size())) - n35, err := m.FieldRef.MarshalTo(data[i:]) + n43, err := m.FieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n35 + i += n43 } if m.ResourceFieldRef != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) - n36, err := m.ResourceFieldRef.MarshalTo(data[i:]) + n44, err := m.ResourceFieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n36 + i += n44 } if m.ConfigMapKeyRef != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMapKeyRef.Size())) - n37, err := m.ConfigMapKeyRef.MarshalTo(data[i:]) + n45, err := m.ConfigMapKeyRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n37 + i += n45 } if m.SecretKeyRef != nil { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.SecretKeyRef.Size())) - n38, err := m.SecretKeyRef.MarshalTo(data[i:]) + n46, err := m.SecretKeyRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n38 + i += n46 } return i, nil } @@ -2723,19 +2788,19 @@ func (m *Event) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n39, err := m.ObjectMeta.MarshalTo(data[i:]) + n47, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n39 + i += n47 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.InvolvedObject.Size())) - n40, err := m.InvolvedObject.MarshalTo(data[i:]) + n48, err := m.InvolvedObject.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n40 + i += n48 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -2747,27 +2812,27 @@ func (m *Event) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.Source.Size())) - n41, err := m.Source.MarshalTo(data[i:]) + n49, err := m.Source.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n41 + i += n49 data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.FirstTimestamp.Size())) - n42, err := m.FirstTimestamp.MarshalTo(data[i:]) + n50, err := m.FirstTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n42 + i += n50 data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTimestamp.Size())) - n43, err := m.LastTimestamp.MarshalTo(data[i:]) + n51, err := m.LastTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n43 + i += n51 data[i] = 0x40 i++ i = encodeVarintGenerated(data, i, uint64(m.Count)) @@ -2775,6 +2840,14 @@ func (m *Event) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Type))) i += copy(data[i:], m.Type) + data[i] = 0x52 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n52, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n52 return i, nil } @@ -2796,11 +2869,11 @@ func (m *EventList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n44, err := m.ListMeta.MarshalTo(data[i:]) + n53, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n44 + i += n53 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2813,6 +2886,14 @@ func (m *EventList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n54, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n54 return i, nil } @@ -2952,11 +3033,11 @@ func (m *FlexVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n45, err := m.SecretRef.MarshalTo(data[i:]) + n55, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n45 + i += n55 } data[i] = 0x20 i++ @@ -3135,11 +3216,11 @@ func (m *HTTPGetAction) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n46, err := m.Port.MarshalTo(data[i:]) + n56, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n46 + i += n56 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Host))) @@ -3208,31 +3289,31 @@ func (m *Handler) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Exec.Size())) - n47, err := m.Exec.MarshalTo(data[i:]) + n57, err := m.Exec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n47 + i += n57 } if m.HTTPGet != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.HTTPGet.Size())) - n48, err := m.HTTPGet.MarshalTo(data[i:]) + n58, err := m.HTTPGet.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n48 + i += n58 } if m.TCPSocket != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.TCPSocket.Size())) - n49, err := m.TCPSocket.MarshalTo(data[i:]) + n59, err := m.TCPSocket.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n49 + i += n59 } return i, nil } @@ -3354,21 +3435,21 @@ func (m *Lifecycle) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PostStart.Size())) - n50, err := m.PostStart.MarshalTo(data[i:]) + n60, err := m.PostStart.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n50 + i += n60 } if m.PreStop != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PreStop.Size())) - n51, err := m.PreStop.MarshalTo(data[i:]) + n61, err := m.PreStop.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n51 + i += n61 } return i, nil } @@ -3391,19 +3472,27 @@ func (m *LimitRange) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n52, err := m.ObjectMeta.MarshalTo(data[i:]) + n62, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n52 + i += n62 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n53, err := m.Spec.MarshalTo(data[i:]) + n63, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n53 + i += n63 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n64, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n64 return i, nil } @@ -3441,11 +3530,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n54, err := (&v).MarshalTo(data[i:]) + n65, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n54 + i += n65 } } if len(m.Min) > 0 { @@ -3463,11 +3552,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n55, err := (&v).MarshalTo(data[i:]) + n66, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n55 + i += n66 } } if len(m.Default) > 0 { @@ -3485,11 +3574,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n56, err := (&v).MarshalTo(data[i:]) + n67, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n56 + i += n67 } } if len(m.DefaultRequest) > 0 { @@ -3507,11 +3596,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n57, err := (&v).MarshalTo(data[i:]) + n68, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n57 + i += n68 } } if len(m.MaxLimitRequestRatio) > 0 { @@ -3529,11 +3618,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n58, err := (&v).MarshalTo(data[i:]) + n69, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n58 + i += n69 } } return i, nil @@ -3557,11 +3646,11 @@ func (m *LimitRangeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n59, err := m.ListMeta.MarshalTo(data[i:]) + n70, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n59 + i += n70 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3574,6 +3663,14 @@ func (m *LimitRangeList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n71, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n71 return i, nil } @@ -3625,11 +3722,11 @@ func (m *List) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n60, err := m.ListMeta.MarshalTo(data[i:]) + n72, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n60 + i += n72 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3642,6 +3739,14 @@ func (m *List) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n73, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n73 return i, nil } @@ -3685,6 +3790,14 @@ func (m *ListOptions) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(*m.TimeoutSeconds)) } + data[i] = 0x32 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n74, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n74 return i, nil } @@ -3818,27 +3931,35 @@ func (m *Namespace) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n61, err := m.ObjectMeta.MarshalTo(data[i:]) + n75, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n61 + i += n75 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n62, err := m.Spec.MarshalTo(data[i:]) + n76, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n62 + i += n76 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n63, err := m.Status.MarshalTo(data[i:]) + n77, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n63 + i += n77 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n78, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n78 return i, nil } @@ -3860,11 +3981,11 @@ func (m *NamespaceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n64, err := m.ListMeta.MarshalTo(data[i:]) + n79, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n64 + i += n79 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3877,6 +3998,14 @@ func (m *NamespaceList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n80, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n80 return i, nil } @@ -3953,27 +4082,35 @@ func (m *Node) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n65, err := m.ObjectMeta.MarshalTo(data[i:]) + n81, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n65 + i += n81 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n66, err := m.Spec.MarshalTo(data[i:]) + n82, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n66 + i += n82 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n67, err := m.Status.MarshalTo(data[i:]) + n83, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n67 + i += n83 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n84, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n84 return i, nil } @@ -4022,11 +4159,11 @@ func (m *NodeAffinity) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.RequiredDuringSchedulingIgnoredDuringExecution.Size())) - n68, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(data[i:]) + n85, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n68 + i += n85 } if len(m.PreferredDuringSchedulingIgnoredDuringExecution) > 0 { for _, msg := range m.PreferredDuringSchedulingIgnoredDuringExecution { @@ -4069,19 +4206,19 @@ func (m *NodeCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastHeartbeatTime.Size())) - n69, err := m.LastHeartbeatTime.MarshalTo(data[i:]) + n86, err := m.LastHeartbeatTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n69 + i += n86 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n70, err := m.LastTransitionTime.MarshalTo(data[i:]) + n87, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n70 + i += n87 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -4111,11 +4248,11 @@ func (m *NodeDaemonEndpoints) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.KubeletEndpoint.Size())) - n71, err := m.KubeletEndpoint.MarshalTo(data[i:]) + n88, err := m.KubeletEndpoint.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n71 + i += n88 return i, nil } @@ -4137,11 +4274,11 @@ func (m *NodeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n72, err := m.ListMeta.MarshalTo(data[i:]) + n89, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n72 + i += n89 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4154,6 +4291,14 @@ func (m *NodeList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n90, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n90 return i, nil } @@ -4176,6 +4321,14 @@ func (m *NodeProxyOptions) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Path))) i += copy(data[i:], m.Path) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n91, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n91 return i, nil } @@ -4209,11 +4362,11 @@ func (m *NodeResources) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n73, err := (&v).MarshalTo(data[i:]) + n92, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n73 + i += n92 } } return i, nil @@ -4388,11 +4541,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n74, err := (&v).MarshalTo(data[i:]) + n93, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n74 + i += n93 } } if len(m.Allocatable) > 0 { @@ -4410,11 +4563,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n75, err := (&v).MarshalTo(data[i:]) + n94, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n75 + i += n94 } } data[i] = 0x1a @@ -4448,19 +4601,19 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.DaemonEndpoints.Size())) - n76, err := m.DaemonEndpoints.MarshalTo(data[i:]) + n95, err := m.DaemonEndpoints.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n76 + i += n95 data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.NodeInfo.Size())) - n77, err := m.NodeInfo.MarshalTo(data[i:]) + n96, err := m.NodeInfo.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n77 + i += n96 if len(m.Images) > 0 { for _, msg := range m.Images { data[i] = 0x42 @@ -4632,20 +4785,20 @@ func (m *ObjectMeta) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.CreationTimestamp.Size())) - n78, err := m.CreationTimestamp.MarshalTo(data[i:]) + n97, err := m.CreationTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n78 + i += n97 if m.DeletionTimestamp != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.DeletionTimestamp.Size())) - n79, err := m.DeletionTimestamp.MarshalTo(data[i:]) + n98, err := m.DeletionTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n79 + i += n98 } if m.DeletionGracePeriodSeconds != nil { data[i] = 0x50 @@ -4784,27 +4937,35 @@ func (m *PersistentVolume) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n80, err := m.ObjectMeta.MarshalTo(data[i:]) + n99, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n80 + i += n99 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n81, err := m.Spec.MarshalTo(data[i:]) + n100, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n81 + i += n100 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n82, err := m.Status.MarshalTo(data[i:]) + n101, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n82 + i += n101 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n102, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n102 return i, nil } @@ -4826,27 +4987,35 @@ func (m *PersistentVolumeClaim) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n83, err := m.ObjectMeta.MarshalTo(data[i:]) + n103, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n83 + i += n103 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n84, err := m.Spec.MarshalTo(data[i:]) + n104, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n84 + i += n104 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n85, err := m.Status.MarshalTo(data[i:]) + n105, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n85 + i += n105 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n106, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n106 return i, nil } @@ -4868,11 +5037,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n86, err := m.ListMeta.MarshalTo(data[i:]) + n107, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n86 + i += n107 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4885,6 +5054,14 @@ func (m *PersistentVolumeClaimList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n108, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n108 return i, nil } @@ -4921,11 +5098,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Resources.Size())) - n87, err := m.Resources.MarshalTo(data[i:]) + n109, err := m.Resources.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n87 + i += n109 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.VolumeName))) @@ -4934,11 +5111,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n88, err := m.Selector.MarshalTo(data[i:]) + n110, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n88 + i += n110 } return i, nil } @@ -4992,11 +5169,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n89, err := (&v).MarshalTo(data[i:]) + n111, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n89 + i += n111 } } return i, nil @@ -5050,11 +5227,11 @@ func (m *PersistentVolumeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n90, err := m.ListMeta.MarshalTo(data[i:]) + n112, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n90 + i += n112 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5067,6 +5244,14 @@ func (m *PersistentVolumeList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n113, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n113 return i, nil } @@ -5089,151 +5274,151 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n91, err := m.GCEPersistentDisk.MarshalTo(data[i:]) + n114, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n91 + i += n114 } if m.AWSElasticBlockStore != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n92, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + n115, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n92 + i += n115 } if m.HostPath != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n93, err := m.HostPath.MarshalTo(data[i:]) + n116, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n93 + i += n116 } if m.Glusterfs != nil { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n94, err := m.Glusterfs.MarshalTo(data[i:]) + n117, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n94 + i += n117 } if m.NFS != nil { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n95, err := m.NFS.MarshalTo(data[i:]) + n118, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n95 + i += n118 } if m.RBD != nil { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n96, err := m.RBD.MarshalTo(data[i:]) + n119, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n96 + i += n119 } if m.ISCSI != nil { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n97, err := m.ISCSI.MarshalTo(data[i:]) + n120, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n97 + i += n120 } if m.Cinder != nil { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n98, err := m.Cinder.MarshalTo(data[i:]) + n121, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n98 + i += n121 } if m.CephFS != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n99, err := m.CephFS.MarshalTo(data[i:]) + n122, err := m.CephFS.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n99 + i += n122 } if m.FC != nil { data[i] = 0x52 i++ i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n100, err := m.FC.MarshalTo(data[i:]) + n123, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n100 + i += n123 } if m.Flocker != nil { data[i] = 0x5a i++ i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n101, err := m.Flocker.MarshalTo(data[i:]) + n124, err := m.Flocker.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n101 + i += n124 } if m.FlexVolume != nil { data[i] = 0x62 i++ i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n102, err := m.FlexVolume.MarshalTo(data[i:]) + n125, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n102 + i += n125 } if m.AzureFile != nil { data[i] = 0x6a i++ i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n103, err := m.AzureFile.MarshalTo(data[i:]) + n126, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n103 + i += n126 } if m.VsphereVolume != nil { data[i] = 0x72 i++ i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n104, err := m.VsphereVolume.MarshalTo(data[i:]) + n127, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n104 + i += n127 } if m.Quobyte != nil { data[i] = 0x7a i++ i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n105, err := m.Quobyte.MarshalTo(data[i:]) + n128, err := m.Quobyte.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n105 + i += n128 } if m.AzureDisk != nil { data[i] = 0x82 @@ -5241,11 +5426,11 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n106, err := m.AzureDisk.MarshalTo(data[i:]) + n129, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n106 + i += n129 } if m.PhotonPersistentDisk != nil { data[i] = 0x8a @@ -5253,11 +5438,11 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n107, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n130, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n107 + i += n130 } return i, nil } @@ -5292,21 +5477,21 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n108, err := (&v).MarshalTo(data[i:]) + n131, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n108 + i += n131 } } data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeSource.Size())) - n109, err := m.PersistentVolumeSource.MarshalTo(data[i:]) + n132, err := m.PersistentVolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n109 + i += n132 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { data[i] = 0x1a @@ -5326,11 +5511,11 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.ClaimRef.Size())) - n110, err := m.ClaimRef.MarshalTo(data[i:]) + n133, err := m.ClaimRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n110 + i += n133 } data[i] = 0x2a i++ @@ -5413,27 +5598,35 @@ func (m *Pod) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n111, err := m.ObjectMeta.MarshalTo(data[i:]) + n134, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n111 + i += n134 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n112, err := m.Spec.MarshalTo(data[i:]) + n135, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n112 + i += n135 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n113, err := m.Status.MarshalTo(data[i:]) + n136, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n113 + i += n136 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n137, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n137 return i, nil } @@ -5498,11 +5691,11 @@ func (m *PodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LabelSelector.Size())) - n114, err := m.LabelSelector.MarshalTo(data[i:]) + n138, err := m.LabelSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n114 + i += n138 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -5619,6 +5812,14 @@ func (m *PodAttachOptions) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Container))) i += copy(data[i:], m.Container) + data[i] = 0x32 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n139, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n139 return i, nil } @@ -5648,19 +5849,19 @@ func (m *PodCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - n115, err := m.LastProbeTime.MarshalTo(data[i:]) + n140, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n115 + i += n140 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n116, err := m.LastTransitionTime.MarshalTo(data[i:]) + n141, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n116 + i += n141 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -5738,6 +5939,14 @@ func (m *PodExecOptions) MarshalTo(data []byte) (int, error) { i += copy(data[i:], s) } } + data[i] = 0x3a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n142, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n142 return i, nil } @@ -5759,11 +5968,11 @@ func (m *PodList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n117, err := m.ListMeta.MarshalTo(data[i:]) + n143, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n117 + i += n143 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5776,6 +5985,14 @@ func (m *PodList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n144, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n144 return i, nil } @@ -5823,11 +6040,11 @@ func (m *PodLogOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.SinceTime.Size())) - n118, err := m.SinceTime.MarshalTo(data[i:]) + n145, err := m.SinceTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n118 + i += n145 } data[i] = 0x30 i++ @@ -5847,6 +6064,14 @@ func (m *PodLogOptions) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(*m.LimitBytes)) } + data[i] = 0x4a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n146, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n146 return i, nil } @@ -5869,6 +6094,14 @@ func (m *PodProxyOptions) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Path))) i += copy(data[i:], m.Path) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n147, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n147 return i, nil } @@ -5891,11 +6124,11 @@ func (m *PodSecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n119, err := m.SELinuxOptions.MarshalTo(data[i:]) + n148, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n119 + i += n148 } if m.RunAsUser != nil { data[i] = 0x10 @@ -5946,11 +6179,11 @@ func (m *PodSignature) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodController.Size())) - n120, err := m.PodController.MarshalTo(data[i:]) + n149, err := m.PodController.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n120 + i += n149 } return i, nil } @@ -6069,11 +6302,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x72 i++ i = encodeVarintGenerated(data, i, uint64(m.SecurityContext.Size())) - n121, err := m.SecurityContext.MarshalTo(data[i:]) + n150, err := m.SecurityContext.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n121 + i += n150 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -6105,11 +6338,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Affinity.Size())) - n122, err := m.Affinity.MarshalTo(data[i:]) + n151, err := m.Affinity.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n122 + i += n151 } return i, nil } @@ -6165,11 +6398,11 @@ func (m *PodStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.StartTime.Size())) - n123, err := m.StartTime.MarshalTo(data[i:]) + n152, err := m.StartTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n123 + i += n152 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -6208,19 +6441,27 @@ func (m *PodStatusResult) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n124, err := m.ObjectMeta.MarshalTo(data[i:]) + n153, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n124 + i += n153 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n125, err := m.Status.MarshalTo(data[i:]) + n154, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n125 + i += n154 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n155, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n155 return i, nil } @@ -6242,19 +6483,27 @@ func (m *PodTemplate) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n126, err := m.ObjectMeta.MarshalTo(data[i:]) + n156, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n126 + i += n156 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n127, err := m.Template.MarshalTo(data[i:]) + n157, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n127 + i += n157 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n158, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n158 return i, nil } @@ -6276,11 +6525,11 @@ func (m *PodTemplateList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n128, err := m.ListMeta.MarshalTo(data[i:]) + n159, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n128 + i += n159 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6293,6 +6542,14 @@ func (m *PodTemplateList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n160, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n160 return i, nil } @@ -6314,19 +6571,19 @@ func (m *PodTemplateSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n129, err := m.ObjectMeta.MarshalTo(data[i:]) + n161, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n129 + i += n161 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n130, err := m.Spec.MarshalTo(data[i:]) + n162, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n130 + i += n162 return i, nil } @@ -6372,19 +6629,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodSignature.Size())) - n131, err := m.PodSignature.MarshalTo(data[i:]) + n163, err := m.PodSignature.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n131 + i += n163 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.EvictionTime.Size())) - n132, err := m.EvictionTime.MarshalTo(data[i:]) + n164, err := m.EvictionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n132 + i += n164 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6417,11 +6674,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Preference.Size())) - n133, err := m.Preference.MarshalTo(data[i:]) + n165, err := m.Preference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n133 + i += n165 return i, nil } @@ -6443,11 +6700,11 @@ func (m *Probe) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Handler.Size())) - n134, err := m.Handler.MarshalTo(data[i:]) + n166, err := m.Handler.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n134 + i += n166 data[i] = 0x10 i++ i = encodeVarintGenerated(data, i, uint64(m.InitialDelaySeconds)) @@ -6562,11 +6819,11 @@ func (m *RBDVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n135, err := m.SecretRef.MarshalTo(data[i:]) + n167, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n135 + i += n167 } data[i] = 0x40 i++ @@ -6597,11 +6854,11 @@ func (m *RangeAllocation) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n136, err := m.ObjectMeta.MarshalTo(data[i:]) + n168, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n136 + i += n168 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Range))) @@ -6612,6 +6869,14 @@ func (m *RangeAllocation) MarshalTo(data []byte) (int, error) { i = encodeVarintGenerated(data, i, uint64(len(m.Data))) i += copy(data[i:], m.Data) } + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n169, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n169 return i, nil } @@ -6633,27 +6898,35 @@ func (m *ReplicationController) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n137, err := m.ObjectMeta.MarshalTo(data[i:]) + n170, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n137 + i += n170 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n138, err := m.Spec.MarshalTo(data[i:]) + n171, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n138 + i += n171 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n139, err := m.Status.MarshalTo(data[i:]) + n172, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n139 + i += n172 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n173, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n173 return i, nil } @@ -6683,11 +6956,11 @@ func (m *ReplicationControllerCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n140, err := m.LastTransitionTime.MarshalTo(data[i:]) + n174, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n140 + i += n174 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6717,11 +6990,11 @@ func (m *ReplicationControllerList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n141, err := m.ListMeta.MarshalTo(data[i:]) + n175, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n141 + i += n175 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6734,6 +7007,14 @@ func (m *ReplicationControllerList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n176, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n176 return i, nil } @@ -6778,11 +7059,11 @@ func (m *ReplicationControllerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n142, err := m.Template.MarshalTo(data[i:]) + n177, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n142 + i += n177 } data[i] = 0x20 i++ @@ -6861,11 +7142,11 @@ func (m *ResourceFieldSelector) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Divisor.Size())) - n143, err := m.Divisor.MarshalTo(data[i:]) + n178, err := m.Divisor.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n143 + i += n178 return i, nil } @@ -6887,27 +7168,35 @@ func (m *ResourceQuota) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n144, err := m.ObjectMeta.MarshalTo(data[i:]) + n179, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n144 + i += n179 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n145, err := m.Spec.MarshalTo(data[i:]) + n180, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n145 + i += n180 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n146, err := m.Status.MarshalTo(data[i:]) + n181, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n146 + i += n181 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n182, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n182 return i, nil } @@ -6929,11 +7218,11 @@ func (m *ResourceQuotaList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n147, err := m.ListMeta.MarshalTo(data[i:]) + n183, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n147 + i += n183 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6946,6 +7235,14 @@ func (m *ResourceQuotaList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n184, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n184 return i, nil } @@ -6979,11 +7276,11 @@ func (m *ResourceQuotaSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n148, err := (&v).MarshalTo(data[i:]) + n185, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n148 + i += n185 } } if len(m.Scopes) > 0 { @@ -7034,11 +7331,11 @@ func (m *ResourceQuotaStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n149, err := (&v).MarshalTo(data[i:]) + n186, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n149 + i += n186 } } if len(m.Used) > 0 { @@ -7056,11 +7353,11 @@ func (m *ResourceQuotaStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n150, err := (&v).MarshalTo(data[i:]) + n187, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n150 + i += n187 } } return i, nil @@ -7096,11 +7393,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n151, err := (&v).MarshalTo(data[i:]) + n188, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n151 + i += n188 } } if len(m.Requests) > 0 { @@ -7118,11 +7415,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n152, err := (&v).MarshalTo(data[i:]) + n189, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n152 + i += n189 } } return i, nil @@ -7180,11 +7477,11 @@ func (m *Secret) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n153, err := m.ObjectMeta.MarshalTo(data[i:]) + n190, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n153 + i += n190 if len(m.Data) > 0 { for k := range m.Data { data[i] = 0x12 @@ -7223,6 +7520,14 @@ func (m *Secret) MarshalTo(data []byte) (int, error) { i += copy(data[i:], v) } } + data[i] = 0x2a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n191, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n191 return i, nil } @@ -7244,11 +7549,11 @@ func (m *SecretKeySelector) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n154, err := m.LocalObjectReference.MarshalTo(data[i:]) + n192, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n154 + i += n192 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) @@ -7274,11 +7579,11 @@ func (m *SecretList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n155, err := m.ListMeta.MarshalTo(data[i:]) + n193, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n155 + i += n193 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7291,6 +7596,14 @@ func (m *SecretList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n194, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n194 return i, nil } @@ -7352,11 +7665,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Capabilities.Size())) - n156, err := m.Capabilities.MarshalTo(data[i:]) + n195, err := m.Capabilities.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n156 + i += n195 } if m.Privileged != nil { data[i] = 0x10 @@ -7372,11 +7685,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n157, err := m.SELinuxOptions.MarshalTo(data[i:]) + n196, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n157 + i += n196 } if m.RunAsUser != nil { data[i] = 0x20 @@ -7424,11 +7737,19 @@ func (m *SerializedReference) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Reference.Size())) - n158, err := m.Reference.MarshalTo(data[i:]) + n197, err := m.Reference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n158 + i += n197 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n198, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n198 return i, nil } @@ -7450,27 +7771,35 @@ func (m *Service) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n159, err := m.ObjectMeta.MarshalTo(data[i:]) + n199, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n159 + i += n199 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n160, err := m.Spec.MarshalTo(data[i:]) + n200, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n160 + i += n200 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n161, err := m.Status.MarshalTo(data[i:]) + n201, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n161 + i += n201 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n202, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n202 return i, nil } @@ -7492,11 +7821,11 @@ func (m *ServiceAccount) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n162, err := m.ObjectMeta.MarshalTo(data[i:]) + n203, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n162 + i += n203 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { data[i] = 0x12 @@ -7521,6 +7850,14 @@ func (m *ServiceAccount) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n204, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n204 return i, nil } @@ -7542,11 +7879,11 @@ func (m *ServiceAccountList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n163, err := m.ListMeta.MarshalTo(data[i:]) + n205, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n163 + i += n205 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7559,6 +7896,14 @@ func (m *ServiceAccountList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n206, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n206 return i, nil } @@ -7580,11 +7925,11 @@ func (m *ServiceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n164, err := m.ListMeta.MarshalTo(data[i:]) + n207, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n164 + i += n207 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7597,6 +7942,14 @@ func (m *ServiceList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n208, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n208 return i, nil } @@ -7629,11 +7982,11 @@ func (m *ServicePort) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.TargetPort.Size())) - n165, err := m.TargetPort.MarshalTo(data[i:]) + n209, err := m.TargetPort.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n165 + i += n209 data[i] = 0x28 i++ i = encodeVarintGenerated(data, i, uint64(m.NodePort)) @@ -7659,6 +8012,14 @@ func (m *ServiceProxyOptions) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintGenerated(data, i, uint64(len(m.Path))) i += copy(data[i:], m.Path) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n210, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n210 return i, nil } @@ -7792,11 +8153,11 @@ func (m *ServiceStatus) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LoadBalancer.Size())) - n166, err := m.LoadBalancer.MarshalTo(data[i:]) + n211, err := m.LoadBalancer.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n166 + i += n211 return i, nil } @@ -7844,11 +8205,11 @@ func (m *TCPSocketAction) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n167, err := m.Port.MarshalTo(data[i:]) + n212, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n167 + i += n212 return i, nil } @@ -7938,11 +8299,11 @@ func (m *Volume) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.VolumeSource.Size())) - n168, err := m.VolumeSource.MarshalTo(data[i:]) + n213, err := m.VolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n168 + i += n213 return i, nil } @@ -8003,151 +8364,151 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n169, err := m.HostPath.MarshalTo(data[i:]) + n214, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n169 + i += n214 } if m.EmptyDir != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) - n170, err := m.EmptyDir.MarshalTo(data[i:]) + n215, err := m.EmptyDir.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n170 + i += n215 } if m.GCEPersistentDisk != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n171, err := m.GCEPersistentDisk.MarshalTo(data[i:]) + n216, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n171 + i += n216 } if m.AWSElasticBlockStore != nil { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n172, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + n217, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n172 + i += n217 } if m.GitRepo != nil { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) - n173, err := m.GitRepo.MarshalTo(data[i:]) + n218, err := m.GitRepo.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n173 + i += n218 } if m.Secret != nil { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) - n174, err := m.Secret.MarshalTo(data[i:]) + n219, err := m.Secret.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n174 + i += n219 } if m.NFS != nil { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n175, err := m.NFS.MarshalTo(data[i:]) + n220, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n175 + i += n220 } if m.ISCSI != nil { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n176, err := m.ISCSI.MarshalTo(data[i:]) + n221, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n176 + i += n221 } if m.Glusterfs != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n177, err := m.Glusterfs.MarshalTo(data[i:]) + n222, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n177 + i += n222 } if m.PersistentVolumeClaim != nil { data[i] = 0x52 i++ i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) - n178, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) + n223, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n178 + i += n223 } if m.RBD != nil { data[i] = 0x5a i++ i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n179, err := m.RBD.MarshalTo(data[i:]) + n224, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n179 + i += n224 } if m.FlexVolume != nil { data[i] = 0x62 i++ i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n180, err := m.FlexVolume.MarshalTo(data[i:]) + n225, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n180 + i += n225 } if m.Cinder != nil { data[i] = 0x6a i++ i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n181, err := m.Cinder.MarshalTo(data[i:]) + n226, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n181 + i += n226 } if m.CephFS != nil { data[i] = 0x72 i++ i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n182, err := m.CephFS.MarshalTo(data[i:]) + n227, err := m.CephFS.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n182 + i += n227 } if m.Flocker != nil { data[i] = 0x7a i++ i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n183, err := m.Flocker.MarshalTo(data[i:]) + n228, err := m.Flocker.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n183 + i += n228 } if m.DownwardAPI != nil { data[i] = 0x82 @@ -8155,11 +8516,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.DownwardAPI.Size())) - n184, err := m.DownwardAPI.MarshalTo(data[i:]) + n229, err := m.DownwardAPI.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n184 + i += n229 } if m.FC != nil { data[i] = 0x8a @@ -8167,11 +8528,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n185, err := m.FC.MarshalTo(data[i:]) + n230, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n185 + i += n230 } if m.AzureFile != nil { data[i] = 0x92 @@ -8179,11 +8540,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n186, err := m.AzureFile.MarshalTo(data[i:]) + n231, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n186 + i += n231 } if m.ConfigMap != nil { data[i] = 0x9a @@ -8191,11 +8552,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMap.Size())) - n187, err := m.ConfigMap.MarshalTo(data[i:]) + n232, err := m.ConfigMap.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n187 + i += n232 } if m.VsphereVolume != nil { data[i] = 0xa2 @@ -8203,11 +8564,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n188, err := m.VsphereVolume.MarshalTo(data[i:]) + n233, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n188 + i += n233 } if m.Quobyte != nil { data[i] = 0xaa @@ -8215,11 +8576,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n189, err := m.Quobyte.MarshalTo(data[i:]) + n234, err := m.Quobyte.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n189 + i += n234 } if m.AzureDisk != nil { data[i] = 0xb2 @@ -8227,11 +8588,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n190, err := m.AzureDisk.MarshalTo(data[i:]) + n235, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n190 + i += n235 } if m.PhotonPersistentDisk != nil { data[i] = 0xba @@ -8239,11 +8600,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n191, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n236, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n191 + i += n236 } return i, nil } @@ -8295,11 +8656,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PodAffinityTerm.Size())) - n192, err := m.PodAffinityTerm.MarshalTo(data[i:]) + n237, err := m.PodAffinityTerm.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n192 + i += n237 return i, nil } @@ -8421,6 +8782,8 @@ func (m *Binding) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Target.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8501,6 +8864,8 @@ func (m *ComponentStatus) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8515,6 +8880,8 @@ func (m *ComponentStatusList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8531,6 +8898,8 @@ func (m *ConfigMap) Size() (n int) { n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8563,6 +8932,8 @@ func (m *ConfigMapList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8777,6 +9148,8 @@ func (m *DeleteOptions) Size() (n int) { if m.OrphanDependents != nil { n += 2 } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8886,6 +9259,8 @@ func (m *Endpoints) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8900,6 +9275,8 @@ func (m *EndpointsList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8971,6 +9348,8 @@ func (m *Event) Size() (n int) { n += 1 + sovGenerated(uint64(m.Count)) l = len(m.Type) n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -8985,6 +9364,8 @@ func (m *EventList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9202,6 +9583,8 @@ func (m *LimitRange) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Spec.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9269,6 +9652,8 @@ func (m *LimitRangeList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9295,6 +9680,8 @@ func (m *List) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9311,6 +9698,8 @@ func (m *ListOptions) Size() (n int) { if m.TimeoutSeconds != nil { n += 1 + sovGenerated(uint64(*m.TimeoutSeconds)) } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9364,6 +9753,8 @@ func (m *Namespace) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9378,6 +9769,8 @@ func (m *NamespaceList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9410,6 +9803,8 @@ func (m *Node) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9476,6 +9871,8 @@ func (m *NodeList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9484,6 +9881,8 @@ func (m *NodeProxyOptions) Size() (n int) { _ = l l = len(m.Path) n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9738,6 +10137,8 @@ func (m *PersistentVolume) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9750,6 +10151,8 @@ func (m *PersistentVolumeClaim) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9764,6 +10167,8 @@ func (m *PersistentVolumeClaimList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9830,6 +10235,8 @@ func (m *PersistentVolumeList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -9967,6 +10374,8 @@ func (m *Pod) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10033,6 +10442,8 @@ func (m *PodAttachOptions) Size() (n int) { n += 2 l = len(m.Container) n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10069,6 +10480,8 @@ func (m *PodExecOptions) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10083,6 +10496,8 @@ func (m *PodList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10107,6 +10522,8 @@ func (m *PodLogOptions) Size() (n int) { if m.LimitBytes != nil { n += 1 + sovGenerated(uint64(*m.LimitBytes)) } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10115,6 +10532,8 @@ func (m *PodProxyOptions) Size() (n int) { _ = l l = len(m.Path) n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10256,6 +10675,8 @@ func (m *PodStatusResult) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10266,6 +10687,8 @@ func (m *PodTemplate) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Template.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10280,6 +10703,8 @@ func (m *PodTemplateList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10392,6 +10817,8 @@ func (m *RangeAllocation) Size() (n int) { l = len(m.Data) n += 1 + l + sovGenerated(uint64(l)) } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10404,6 +10831,8 @@ func (m *ReplicationController) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10434,6 +10863,8 @@ func (m *ReplicationControllerList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10497,6 +10928,8 @@ func (m *ResourceQuota) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10511,6 +10944,8 @@ func (m *ResourceQuotaList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10620,6 +11055,8 @@ func (m *Secret) Size() (n int) { n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10644,6 +11081,8 @@ func (m *SecretList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10695,6 +11134,8 @@ func (m *SerializedReference) Size() (n int) { _ = l l = m.Reference.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10707,6 +11148,8 @@ func (m *Service) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10727,6 +11170,8 @@ func (m *ServiceAccount) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10741,6 +11186,8 @@ func (m *ServiceAccountList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10755,6 +11202,8 @@ func (m *ServiceList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -10777,6 +11226,8 @@ func (m *ServiceProxyOptions) Size() (n int) { _ = l l = len(m.Path) n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -11112,6 +11563,7 @@ func (this *Binding) String() string { s := strings.Join([]string{`&Binding{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "ObjectReference", "ObjectReference", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11174,6 +11626,7 @@ func (this *ComponentStatus) String() string { s := strings.Join([]string{`&ComponentStatus{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "ComponentCondition", "ComponentCondition", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11183,8 +11636,9 @@ func (this *ComponentStatusList) String() string { return "nil" } s := strings.Join([]string{`&ComponentStatusList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ComponentStatus", "ComponentStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11206,6 +11660,7 @@ func (this *ConfigMap) String() string { s := strings.Join([]string{`&ConfigMap{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Data:` + mapStringForData + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11236,8 +11691,9 @@ func (this *ConfigMapList) String() string { return "nil" } s := strings.Join([]string{`&ConfigMapList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ConfigMap", "ConfigMap", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11324,7 +11780,7 @@ func (this *ContainerStateRunning) String() string { return "nil" } s := strings.Join([]string{`&ContainerStateRunning{`, - `StartedAt:` + strings.Replace(strings.Replace(this.StartedAt.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `StartedAt:` + strings.Replace(strings.Replace(this.StartedAt.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11338,8 +11794,8 @@ func (this *ContainerStateTerminated) String() string { `Signal:` + fmt.Sprintf("%v", this.Signal) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, - `StartedAt:` + strings.Replace(strings.Replace(this.StartedAt.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `FinishedAt:` + strings.Replace(strings.Replace(this.FinishedAt.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `StartedAt:` + strings.Replace(strings.Replace(this.StartedAt.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `FinishedAt:` + strings.Replace(strings.Replace(this.FinishedAt.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `ContainerID:` + fmt.Sprintf("%v", this.ContainerID) + `,`, `}`, }, "") @@ -11391,6 +11847,7 @@ func (this *DeleteOptions) String() string { `GracePeriodSeconds:` + valueToStringGenerated(this.GracePeriodSeconds) + `,`, `Preconditions:` + strings.Replace(fmt.Sprintf("%v", this.Preconditions), "Preconditions", "Preconditions", 1) + `,`, `OrphanDependents:` + valueToStringGenerated(this.OrphanDependents) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11473,6 +11930,7 @@ func (this *Endpoints) String() string { s := strings.Join([]string{`&Endpoints{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Subsets:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Subsets), "EndpointSubset", "EndpointSubset", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11482,8 +11940,9 @@ func (this *EndpointsList) String() string { return "nil" } s := strings.Join([]string{`&EndpointsList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Endpoints", "Endpoints", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11534,10 +11993,11 @@ func (this *Event) String() string { `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `Source:` + strings.Replace(strings.Replace(this.Source.String(), "EventSource", "EventSource", 1), `&`, ``, 1) + `,`, - `FirstTimestamp:` + strings.Replace(strings.Replace(this.FirstTimestamp.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTimestamp:` + strings.Replace(strings.Replace(this.LastTimestamp.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `FirstTimestamp:` + strings.Replace(strings.Replace(this.FirstTimestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTimestamp:` + strings.Replace(strings.Replace(this.LastTimestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Count:` + fmt.Sprintf("%v", this.Count) + `,`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11547,8 +12007,9 @@ func (this *EventList) String() string { return "nil" } s := strings.Join([]string{`&EventList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Event", "Event", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11751,6 +12212,7 @@ func (this *LimitRange) String() string { s := strings.Join([]string{`&LimitRange{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "LimitRangeSpec", "LimitRangeSpec", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11825,8 +12287,9 @@ func (this *LimitRangeList) String() string { return "nil" } s := strings.Join([]string{`&LimitRangeList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "LimitRange", "LimitRange", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11846,8 +12309,9 @@ func (this *List) String() string { return "nil" } s := strings.Join([]string{`&List{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, - `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RawExtension", "k8s_io_kubernetes_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11862,6 +12326,7 @@ func (this *ListOptions) String() string { `Watch:` + fmt.Sprintf("%v", this.Watch) + `,`, `ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`, `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11917,6 +12382,7 @@ func (this *Namespace) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "NamespaceSpec", "NamespaceSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "NamespaceStatus", "NamespaceStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11926,8 +12392,9 @@ func (this *NamespaceList) String() string { return "nil" } s := strings.Join([]string{`&NamespaceList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Namespace", "Namespace", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11960,6 +12427,7 @@ func (this *Node) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "NodeSpec", "NodeSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "NodeStatus", "NodeStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -11993,8 +12461,8 @@ func (this *NodeCondition) String() string { s := strings.Join([]string{`&NodeCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastHeartbeatTime:` + strings.Replace(strings.Replace(this.LastHeartbeatTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastHeartbeatTime:` + strings.Replace(strings.Replace(this.LastHeartbeatTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -12016,8 +12484,9 @@ func (this *NodeList) String() string { return "nil" } s := strings.Join([]string{`&NodeList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Node", "Node", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12028,6 +12497,7 @@ func (this *NodeProxyOptions) String() string { } s := strings.Join([]string{`&NodeProxyOptions{`, `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12198,12 +12668,12 @@ func (this *ObjectMeta) String() string { `UID:` + fmt.Sprintf("%v", this.UID) + `,`, `ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`, `Generation:` + fmt.Sprintf("%v", this.Generation) + `,`, - `CreationTimestamp:` + strings.Replace(strings.Replace(this.CreationTimestamp.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `DeletionTimestamp:` + strings.Replace(fmt.Sprintf("%v", this.DeletionTimestamp), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `CreationTimestamp:` + strings.Replace(strings.Replace(this.CreationTimestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `DeletionTimestamp:` + strings.Replace(fmt.Sprintf("%v", this.DeletionTimestamp), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `DeletionGracePeriodSeconds:` + valueToStringGenerated(this.DeletionGracePeriodSeconds) + `,`, `Labels:` + mapStringForLabels + `,`, `Annotations:` + mapStringForAnnotations + `,`, - `OwnerReferences:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.OwnerReferences), "OwnerReference", "k8s_io_kubernetes_pkg_apis_meta_v1.OwnerReference", 1), `&`, ``, 1) + `,`, + `OwnerReferences:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.OwnerReferences), "OwnerReference", "k8s_io_apimachinery_pkg_apis_meta_v1.OwnerReference", 1), `&`, ``, 1) + `,`, `Finalizers:` + fmt.Sprintf("%v", this.Finalizers) + `,`, `ClusterName:` + fmt.Sprintf("%v", this.ClusterName) + `,`, `}`, @@ -12234,6 +12704,7 @@ func (this *PersistentVolume) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PersistentVolumeSpec", "PersistentVolumeSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PersistentVolumeStatus", "PersistentVolumeStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12246,6 +12717,7 @@ func (this *PersistentVolumeClaim) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PersistentVolumeClaimSpec", "PersistentVolumeClaimSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PersistentVolumeClaimStatus", "PersistentVolumeClaimStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12255,8 +12727,9 @@ func (this *PersistentVolumeClaimList) String() string { return "nil" } s := strings.Join([]string{`&PersistentVolumeClaimList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "PersistentVolumeClaim", "PersistentVolumeClaim", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12269,7 +12742,7 @@ func (this *PersistentVolumeClaimSpec) String() string { `AccessModes:` + fmt.Sprintf("%v", this.AccessModes) + `,`, `Resources:` + strings.Replace(strings.Replace(this.Resources.String(), "ResourceRequirements", "ResourceRequirements", 1), `&`, ``, 1) + `,`, `VolumeName:` + fmt.Sprintf("%v", this.VolumeName) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `}`, }, "") return s @@ -12312,8 +12785,9 @@ func (this *PersistentVolumeList) String() string { return "nil" } s := strings.Join([]string{`&PersistentVolumeList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "PersistentVolume", "PersistentVolume", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12399,6 +12873,7 @@ func (this *Pod) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodSpec", "PodSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodStatus", "PodStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12419,7 +12894,7 @@ func (this *PodAffinityTerm) String() string { return "nil" } s := strings.Join([]string{`&PodAffinityTerm{`, - `LabelSelector:` + strings.Replace(fmt.Sprintf("%v", this.LabelSelector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `LabelSelector:` + strings.Replace(fmt.Sprintf("%v", this.LabelSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `Namespaces:` + fmt.Sprintf("%v", this.Namespaces) + `,`, `TopologyKey:` + fmt.Sprintf("%v", this.TopologyKey) + `,`, `}`, @@ -12447,6 +12922,7 @@ func (this *PodAttachOptions) String() string { `Stderr:` + fmt.Sprintf("%v", this.Stderr) + `,`, `TTY:` + fmt.Sprintf("%v", this.TTY) + `,`, `Container:` + fmt.Sprintf("%v", this.Container) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12458,8 +12934,8 @@ func (this *PodCondition) String() string { s := strings.Join([]string{`&PodCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -12477,6 +12953,7 @@ func (this *PodExecOptions) String() string { `TTY:` + fmt.Sprintf("%v", this.TTY) + `,`, `Container:` + fmt.Sprintf("%v", this.Container) + `,`, `Command:` + fmt.Sprintf("%v", this.Command) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12486,8 +12963,9 @@ func (this *PodList) String() string { return "nil" } s := strings.Join([]string{`&PodList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Pod", "Pod", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12501,10 +12979,11 @@ func (this *PodLogOptions) String() string { `Follow:` + fmt.Sprintf("%v", this.Follow) + `,`, `Previous:` + fmt.Sprintf("%v", this.Previous) + `,`, `SinceSeconds:` + valueToStringGenerated(this.SinceSeconds) + `,`, - `SinceTime:` + strings.Replace(fmt.Sprintf("%v", this.SinceTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `SinceTime:` + strings.Replace(fmt.Sprintf("%v", this.SinceTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `Timestamps:` + fmt.Sprintf("%v", this.Timestamps) + `,`, `TailLines:` + valueToStringGenerated(this.TailLines) + `,`, `LimitBytes:` + valueToStringGenerated(this.LimitBytes) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12515,6 +12994,7 @@ func (this *PodProxyOptions) String() string { } s := strings.Join([]string{`&PodProxyOptions{`, `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12538,7 +13018,7 @@ func (this *PodSignature) String() string { return "nil" } s := strings.Join([]string{`&PodSignature{`, - `PodController:` + strings.Replace(fmt.Sprintf("%v", this.PodController), "OwnerReference", "k8s_io_kubernetes_pkg_apis_meta_v1.OwnerReference", 1) + `,`, + `PodController:` + strings.Replace(fmt.Sprintf("%v", this.PodController), "OwnerReference", "k8s_io_apimachinery_pkg_apis_meta_v1.OwnerReference", 1) + `,`, `}`, }, "") return s @@ -12591,7 +13071,7 @@ func (this *PodStatus) String() string { `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `HostIP:` + fmt.Sprintf("%v", this.HostIP) + `,`, `PodIP:` + fmt.Sprintf("%v", this.PodIP) + `,`, - `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `ContainerStatuses:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ContainerStatuses), "ContainerStatus", "ContainerStatus", 1), `&`, ``, 1) + `,`, `QOSClass:` + fmt.Sprintf("%v", this.QOSClass) + `,`, `}`, @@ -12605,6 +13085,7 @@ func (this *PodStatusResult) String() string { s := strings.Join([]string{`&PodStatusResult{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodStatus", "PodStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12616,6 +13097,7 @@ func (this *PodTemplate) String() string { s := strings.Join([]string{`&PodTemplate{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "PodTemplateSpec", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12625,8 +13107,9 @@ func (this *PodTemplateList) String() string { return "nil" } s := strings.Join([]string{`&PodTemplateList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "PodTemplate", "PodTemplate", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12658,7 +13141,7 @@ func (this *PreferAvoidPodsEntry) String() string { } s := strings.Join([]string{`&PreferAvoidPodsEntry{`, `PodSignature:` + strings.Replace(strings.Replace(this.PodSignature.String(), "PodSignature", "PodSignature", 1), `&`, ``, 1) + `,`, - `EvictionTime:` + strings.Replace(strings.Replace(this.EvictionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `EvictionTime:` + strings.Replace(strings.Replace(this.EvictionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -12730,6 +13213,7 @@ func (this *RangeAllocation) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Range:` + fmt.Sprintf("%v", this.Range) + `,`, `Data:` + valueToStringGenerated(this.Data) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12742,6 +13226,7 @@ func (this *ReplicationController) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ReplicationControllerSpec", "ReplicationControllerSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ReplicationControllerStatus", "ReplicationControllerStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12753,7 +13238,7 @@ func (this *ReplicationControllerCondition) String() string { s := strings.Join([]string{`&ReplicationControllerCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -12765,8 +13250,9 @@ func (this *ReplicationControllerList) String() string { return "nil" } s := strings.Join([]string{`&ReplicationControllerList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ReplicationController", "ReplicationController", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12829,6 +13315,7 @@ func (this *ResourceQuota) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ResourceQuotaSpec", "ResourceQuotaSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ResourceQuotaStatus", "ResourceQuotaStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12838,8 +13325,9 @@ func (this *ResourceQuotaList) String() string { return "nil" } s := strings.Join([]string{`&ResourceQuotaList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ResourceQuota", "ResourceQuota", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12969,6 +13457,7 @@ func (this *Secret) String() string { `Data:` + mapStringForData + `,`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `StringData:` + mapStringForStringData + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12989,8 +13478,9 @@ func (this *SecretList) String() string { return "nil" } s := strings.Join([]string{`&SecretList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Secret", "Secret", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -13028,6 +13518,7 @@ func (this *SerializedReference) String() string { } s := strings.Join([]string{`&SerializedReference{`, `Reference:` + strings.Replace(strings.Replace(this.Reference.String(), "ObjectReference", "ObjectReference", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -13040,6 +13531,7 @@ func (this *Service) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ServiceSpec", "ServiceSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ServiceStatus", "ServiceStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -13052,6 +13544,7 @@ func (this *ServiceAccount) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "ObjectMeta", 1), `&`, ``, 1) + `,`, `Secrets:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Secrets), "ObjectReference", "ObjectReference", 1), `&`, ``, 1) + `,`, `ImagePullSecrets:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ImagePullSecrets), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -13061,8 +13554,9 @@ func (this *ServiceAccountList) String() string { return "nil" } s := strings.Join([]string{`&ServiceAccountList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ServiceAccount", "ServiceAccount", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -13072,8 +13566,9 @@ func (this *ServiceList) String() string { return "nil" } s := strings.Join([]string{`&ServiceList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Service", "Service", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -13098,6 +13593,7 @@ func (this *ServiceProxyOptions) String() string { } s := strings.Join([]string{`&ServiceProxyOptions{`, `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -14164,6 +14660,36 @@ func (m *Binding) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -14896,6 +15422,36 @@ func (m *ComponentStatus) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15007,6 +15563,36 @@ func (m *ComponentStatusList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15198,6 +15784,36 @@ func (m *ConfigMap) Unmarshal(data []byte) error { } m.Data[mapkey] = mapvalue iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -15498,6 +16114,36 @@ func (m *ConfigMapList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -17531,6 +18177,36 @@ func (m *DeleteOptions) Unmarshal(data []byte) error { } b := bool(v != 0) m.OrphanDependents = &b + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -18428,6 +19104,36 @@ func (m *Endpoints) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -18539,6 +19245,36 @@ func (m *EndpointsList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -19280,6 +20016,36 @@ func (m *Event) Unmarshal(data []byte) error { } m.Type = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -19391,6 +20157,36 @@ func (m *EventList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -21611,6 +22407,36 @@ func (m *LimitRange) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -22381,6 +23207,36 @@ func (m *LimitRangeList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -22568,11 +23424,41 @@ func (m *List) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Items = append(m.Items, k8s_io_kubernetes_pkg_runtime.RawExtension{}) + m.Items = append(m.Items, k8s_io_apimachinery_pkg_runtime.RawExtension{}) if err := m.Items[len(m.Items)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -22750,6 +23636,36 @@ func (m *ListOptions) Unmarshal(data []byte) error { } } m.TimeoutSeconds = &v + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -23286,6 +24202,36 @@ func (m *Namespace) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -23397,6 +24343,36 @@ func (m *NamespaceList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -23695,6 +24671,36 @@ func (m *Node) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -24334,6 +25340,36 @@ func (m *NodeList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -24413,6 +25449,36 @@ func (m *NodeProxyOptions) Unmarshal(data []byte) error { } m.Path = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -26200,7 +27266,7 @@ func (m *ObjectMeta) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.UID = k8s_io_kubernetes_pkg_types.UID(data[iNdEx:postIndex]) + m.UID = k8s_io_apimachinery_pkg_types.UID(data[iNdEx:postIndex]) iNdEx = postIndex case 6: if wireType != 2 { @@ -26307,7 +27373,7 @@ func (m *ObjectMeta) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.DeletionTimestamp == nil { - m.DeletionTimestamp = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.DeletionTimestamp = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.DeletionTimestamp.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -26581,7 +27647,7 @@ func (m *ObjectMeta) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OwnerReferences = append(m.OwnerReferences, k8s_io_kubernetes_pkg_apis_meta_v1.OwnerReference{}) + m.OwnerReferences = append(m.OwnerReferences, k8s_io_apimachinery_pkg_apis_meta_v1.OwnerReference{}) if err := m.OwnerReferences[len(m.OwnerReferences)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { return err } @@ -26808,7 +27874,7 @@ func (m *ObjectReference) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.UID = k8s_io_kubernetes_pkg_types.UID(data[iNdEx:postIndex]) + m.UID = k8s_io_apimachinery_pkg_types.UID(data[iNdEx:postIndex]) iNdEx = postIndex case 5: if wireType != 2 { @@ -27037,6 +28103,36 @@ func (m *PersistentVolume) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -27177,6 +28273,36 @@ func (m *PersistentVolumeClaim) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -27288,6 +28414,36 @@ func (m *PersistentVolumeClaimList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -27453,7 +28609,7 @@ func (m *PersistentVolumeClaimSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -27893,6 +29049,36 @@ func (m *PersistentVolumeList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -29176,6 +30362,36 @@ func (m *Pod) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -29365,7 +30581,7 @@ func (m *PodAffinityTerm) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.LabelSelector == nil { - m.LabelSelector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.LabelSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.LabelSelector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -29700,6 +30916,36 @@ func (m *PodAttachOptions) Unmarshal(data []byte) error { } m.Container = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -30114,6 +31360,36 @@ func (m *PodExecOptions) Unmarshal(data []byte) error { } m.Command = append(m.Command, string(data[iNdEx:postIndex])) iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -30225,6 +31501,36 @@ func (m *PodList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -30391,7 +31697,7 @@ func (m *PodLogOptions) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.SinceTime == nil { - m.SinceTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.SinceTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.SinceTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -30457,6 +31763,36 @@ func (m *PodLogOptions) Unmarshal(data []byte) error { } } m.LimitBytes = &v + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -30536,6 +31872,36 @@ func (m *PodProxyOptions) Unmarshal(data []byte) error { } m.Path = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -30777,7 +32143,7 @@ func (m *PodSignature) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.PodController == nil { - m.PodController = &k8s_io_kubernetes_pkg_apis_meta_v1.OwnerReference{} + m.PodController = &k8s_io_apimachinery_pkg_apis_meta_v1.OwnerReference{} } if err := m.PodController.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -31659,7 +33025,7 @@ func (m *PodStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.StartTime == nil { - m.StartTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.StartTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.StartTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -31835,6 +33201,36 @@ func (m *PodStatusResult) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -31945,6 +33341,36 @@ func (m *PodTemplate) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -32056,6 +33482,36 @@ func (m *PodTemplateList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -32243,7 +33699,7 @@ func (m *Preconditions) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - s := k8s_io_kubernetes_pkg_types.UID(data[iNdEx:postIndex]) + s := k8s_io_apimachinery_pkg_types.UID(data[iNdEx:postIndex]) m.UID = &s iNdEx = postIndex default: @@ -33291,6 +34747,36 @@ func (m *RangeAllocation) Unmarshal(data []byte) error { m.Data = []byte{} } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -33431,6 +34917,36 @@ func (m *ReplicationController) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -33738,6 +35254,36 @@ func (m *ReplicationControllerList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -34425,6 +35971,36 @@ func (m *ResourceQuota) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -34536,6 +36112,36 @@ func (m *ResourceQuotaList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -35793,6 +37399,36 @@ func (m *Secret) Unmarshal(data []byte) error { } m.StringData[mapkey] = mapvalue iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36013,6 +37649,36 @@ func (m *SecretList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36422,6 +38088,36 @@ func (m *SerializedReference) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36562,6 +38258,36 @@ func (m *Service) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36704,6 +38430,36 @@ func (m *ServiceAccount) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36815,6 +38571,36 @@ func (m *ServiceAccountList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -36926,6 +38712,36 @@ func (m *ServiceList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -37181,6 +38997,36 @@ func (m *ServiceProxyOptions) Unmarshal(data []byte) error { } m.Path = string(data[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -39585,639 +41431,653 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10139 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x8c, 0x24, 0xc7, - 0x75, 0x18, 0xae, 0x9e, 0xd9, 0xaf, 0x79, 0xfb, 0x79, 0x75, 0x1f, 0x5c, 0xae, 0xc9, 0xdb, 0x53, - 0x53, 0xa4, 0x8e, 0xe4, 0x71, 0x97, 0x77, 0x24, 0x45, 0x4a, 0xe4, 0x8f, 0xd2, 0xee, 0xce, 0xee, - 0xdd, 0xea, 0x6e, 0xef, 0x86, 0x35, 0x7b, 0x77, 0x94, 0x44, 0x48, 0xea, 0x9d, 0xae, 0xdd, 0x6d, - 0x5d, 0x6f, 0xf7, 0xb0, 0xbb, 0x67, 0xef, 0x56, 0xfa, 0x19, 0x70, 0x64, 0xc6, 0x46, 0x60, 0xc1, - 0x51, 0x10, 0x08, 0x09, 0xe0, 0x7c, 0x28, 0x01, 0x1c, 0x38, 0x31, 0x6c, 0x45, 0x91, 0x12, 0x48, - 0xb1, 0x6c, 0x20, 0x88, 0xed, 0x28, 0x08, 0x12, 0x48, 0xff, 0xc4, 0x86, 0x0d, 0x6c, 0xcc, 0x75, - 0xfe, 0x4b, 0xfe, 0x08, 0x90, 0xbf, 0x72, 0x30, 0x92, 0xa0, 0x3e, 0xbb, 0xaa, 0xa7, 0x67, 0xbb, - 0xe7, 0x78, 0x73, 0xa6, 0x8c, 0xfc, 0x37, 0xf3, 0xde, 0xab, 0x57, 0x1f, 0x5d, 0xf5, 0xea, 0xbd, - 0x57, 0xaf, 0x5e, 0xc1, 0x85, 0x3b, 0xaf, 0xc5, 0x0b, 0x5e, 0xb8, 0x78, 0xa7, 0xb3, 0x45, 0xa2, - 0x80, 0x24, 0x24, 0x5e, 0x6c, 0xdf, 0xd9, 0x59, 0x74, 0xda, 0xde, 0xe2, 0xfe, 0xc5, 0xc5, 0x1d, - 0x12, 0x90, 0xc8, 0x49, 0x88, 0xbb, 0xd0, 0x8e, 0xc2, 0x24, 0x44, 0x4f, 0x70, 0xea, 0x85, 0x94, - 0x7a, 0xa1, 0x7d, 0x67, 0x67, 0xc1, 0x69, 0x7b, 0x0b, 0xfb, 0x17, 0xe7, 0x5e, 0xd8, 0xf1, 0x92, - 0xdd, 0xce, 0xd6, 0x42, 0x2b, 0xdc, 0x5b, 0xdc, 0x09, 0x77, 0xc2, 0x45, 0x56, 0x68, 0xab, 0xb3, - 0xcd, 0xfe, 0xb1, 0x3f, 0xec, 0x17, 0x67, 0x36, 0x77, 0xa9, 0x77, 0xd5, 0x11, 0x89, 0xc3, 0x4e, - 0xd4, 0x22, 0xd9, 0x06, 0x1c, 0x53, 0x26, 0x5e, 0xdc, 0x23, 0x89, 0x93, 0xd3, 0xe8, 0xb9, 0x17, - 0xf2, 0xcb, 0x44, 0x9d, 0x20, 0xf1, 0xf6, 0xba, 0xab, 0x78, 0xf9, 0x78, 0xf2, 0xb8, 0xb5, 0x4b, - 0xf6, 0x9c, 0xae, 0x52, 0x17, 0xf3, 0x4b, 0x75, 0x12, 0xcf, 0x5f, 0xf4, 0x82, 0x24, 0x4e, 0xa2, - 0x6c, 0x11, 0xfb, 0x8f, 0x2c, 0x38, 0xb7, 0x74, 0xbb, 0xb9, 0xea, 0x3b, 0x71, 0xe2, 0xb5, 0x96, - 0xfd, 0xb0, 0x75, 0xa7, 0x99, 0x84, 0x11, 0xb9, 0x15, 0xfa, 0x9d, 0x3d, 0xd2, 0x64, 0x03, 0x80, - 0x2e, 0xc0, 0xd8, 0x3e, 0xfb, 0xbf, 0x5e, 0x9f, 0xb5, 0xce, 0x59, 0xe7, 0x6b, 0xcb, 0x33, 0x3f, - 0x3e, 0x9c, 0xff, 0xc8, 0xd1, 0xe1, 0xfc, 0xd8, 0x2d, 0x01, 0xc7, 0x8a, 0x02, 0x3d, 0x03, 0x23, - 0xdb, 0xf1, 0xe6, 0x41, 0x9b, 0xcc, 0x56, 0x18, 0xed, 0x94, 0xa0, 0x1d, 0x59, 0x6b, 0x52, 0x28, - 0x16, 0x58, 0xb4, 0x08, 0xb5, 0xb6, 0x13, 0x25, 0x5e, 0xe2, 0x85, 0xc1, 0x6c, 0xf5, 0x9c, 0x75, - 0x7e, 0x78, 0xf9, 0x84, 0x20, 0xad, 0x35, 0x24, 0x02, 0xa7, 0x34, 0xb4, 0x19, 0x11, 0x71, 0xdc, - 0x1b, 0x81, 0x7f, 0x30, 0x3b, 0x74, 0xce, 0x3a, 0x3f, 0x96, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, - 0xf6, 0x0f, 0x2a, 0x30, 0xb6, 0xb4, 0xbd, 0xed, 0x05, 0x5e, 0x72, 0x80, 0xbe, 0x0c, 0x13, 0x41, - 0xe8, 0x12, 0xf9, 0x9f, 0xf5, 0x62, 0xfc, 0xd2, 0x73, 0x0b, 0xc7, 0x4d, 0xa5, 0x85, 0xeb, 0x5a, - 0x89, 0xe5, 0x99, 0xa3, 0xc3, 0xf9, 0x09, 0x1d, 0x82, 0x0d, 0x8e, 0xe8, 0x1d, 0x18, 0x6f, 0x87, - 0xae, 0xaa, 0xa0, 0xc2, 0x2a, 0x78, 0xf6, 0xf8, 0x0a, 0x1a, 0x69, 0x81, 0xe5, 0xe9, 0xa3, 0xc3, - 0xf9, 0x71, 0x0d, 0x80, 0x75, 0x76, 0xc8, 0x87, 0x69, 0xfa, 0x37, 0x48, 0x3c, 0x55, 0x43, 0x95, - 0xd5, 0xf0, 0x42, 0x71, 0x0d, 0x5a, 0xa1, 0xe5, 0x93, 0x47, 0x87, 0xf3, 0xd3, 0x19, 0x20, 0xce, - 0xb2, 0xb6, 0xbf, 0x0a, 0x53, 0x4b, 0x49, 0xe2, 0xb4, 0x76, 0x89, 0xcb, 0xbf, 0x2f, 0x7a, 0x19, - 0x86, 0x02, 0x67, 0x8f, 0x88, 0xaf, 0x7f, 0x4e, 0x0c, 0xfb, 0xd0, 0x75, 0x67, 0x8f, 0xdc, 0x3f, - 0x9c, 0x9f, 0xb9, 0x19, 0x78, 0xef, 0x76, 0xc4, 0x9c, 0xa1, 0x30, 0xcc, 0xa8, 0xd1, 0x25, 0x00, - 0x97, 0xec, 0x7b, 0x2d, 0xd2, 0x70, 0x92, 0x5d, 0x31, 0x1b, 0x90, 0x28, 0x0b, 0x75, 0x85, 0xc1, - 0x1a, 0x95, 0xfd, 0x75, 0x0b, 0x6a, 0x4b, 0xfb, 0xa1, 0xe7, 0x36, 0x42, 0x37, 0x46, 0x1d, 0x98, - 0x6e, 0x47, 0x64, 0x9b, 0x44, 0x0a, 0x34, 0x6b, 0x9d, 0xab, 0x9e, 0x1f, 0xbf, 0x74, 0xa9, 0xa0, - 0xdf, 0x66, 0xa1, 0xd5, 0x20, 0x89, 0x0e, 0x96, 0x1f, 0x13, 0x55, 0x4f, 0x67, 0xb0, 0x38, 0x5b, - 0x87, 0xfd, 0xb7, 0x2a, 0x70, 0x7a, 0xe9, 0xab, 0x9d, 0x88, 0xd4, 0xbd, 0xf8, 0x4e, 0x76, 0x29, - 0xb8, 0x5e, 0x7c, 0xe7, 0x7a, 0x3a, 0x18, 0x6a, 0x0e, 0xd6, 0x05, 0x1c, 0x2b, 0x0a, 0xf4, 0x02, - 0x8c, 0xd2, 0xdf, 0x37, 0xf1, 0xba, 0xe8, 0xfd, 0x49, 0x41, 0x3c, 0x5e, 0x77, 0x12, 0xa7, 0xce, - 0x51, 0x58, 0xd2, 0xa0, 0x0d, 0x18, 0x6f, 0x39, 0xad, 0x5d, 0x2f, 0xd8, 0xd9, 0x08, 0x5d, 0xc2, - 0xbe, 0x70, 0x6d, 0xf9, 0x79, 0x4a, 0xbe, 0x92, 0x82, 0xef, 0x1f, 0xce, 0xcf, 0xf2, 0xb6, 0x09, - 0x16, 0x1a, 0x0e, 0xeb, 0xe5, 0x91, 0xad, 0x16, 0xe2, 0x10, 0xe3, 0x04, 0x39, 0x8b, 0xf0, 0xbc, - 0xb6, 0xa6, 0x86, 0xd9, 0x9a, 0x9a, 0xe8, 0xb1, 0x9e, 0xfe, 0x99, 0x25, 0xc6, 0x64, 0xcd, 0xf3, - 0x4d, 0xf1, 0x70, 0x09, 0x20, 0x26, 0xad, 0x88, 0x24, 0xda, 0xa8, 0xa8, 0xcf, 0xdc, 0x54, 0x18, - 0xac, 0x51, 0xd1, 0xc5, 0x1f, 0xef, 0x3a, 0x11, 0x9b, 0x2d, 0x62, 0x6c, 0xd4, 0xe2, 0x6f, 0x4a, - 0x04, 0x4e, 0x69, 0x8c, 0xc5, 0x5f, 0x2d, 0x5c, 0xfc, 0xff, 0xda, 0x82, 0xd1, 0x65, 0x2f, 0x70, - 0xbd, 0x60, 0x07, 0xbd, 0x0d, 0x63, 0x54, 0x2a, 0xbb, 0x4e, 0xe2, 0x88, 0x75, 0x7f, 0xfe, 0xf8, - 0xc9, 0x73, 0x63, 0xeb, 0x2b, 0xa4, 0x95, 0x6c, 0x90, 0xc4, 0x49, 0xbb, 0x91, 0xc2, 0xb0, 0xe2, - 0x86, 0x6e, 0xc2, 0x48, 0xe2, 0x44, 0x3b, 0x24, 0x11, 0xcb, 0xfd, 0x85, 0x32, 0x7c, 0x31, 0x9d, - 0x6a, 0x24, 0x68, 0x91, 0x54, 0x30, 0x6e, 0x32, 0x26, 0x58, 0x30, 0xb3, 0x5b, 0x30, 0xb1, 0xe2, - 0xb4, 0x9d, 0x2d, 0xcf, 0xf7, 0x12, 0x8f, 0xc4, 0xe8, 0xe3, 0x50, 0x75, 0x5c, 0x97, 0x4d, 0xfc, - 0xda, 0xf2, 0xe9, 0xa3, 0xc3, 0xf9, 0xea, 0x92, 0xeb, 0xde, 0x3f, 0x9c, 0x07, 0x45, 0x75, 0x80, - 0x29, 0x05, 0x7a, 0x0e, 0x86, 0xdc, 0x28, 0x6c, 0xcf, 0x56, 0x18, 0xe5, 0x19, 0xba, 0x42, 0xeb, - 0x51, 0xd8, 0xce, 0x90, 0x32, 0x1a, 0xfb, 0x0f, 0x2a, 0x80, 0x56, 0x48, 0x7b, 0x77, 0xad, 0x69, - 0x7c, 0xcb, 0xf3, 0x30, 0xb6, 0x17, 0x06, 0x5e, 0x12, 0x46, 0xb1, 0xa8, 0x90, 0xcd, 0x87, 0x0d, - 0x01, 0xc3, 0x0a, 0x8b, 0xce, 0xc1, 0x50, 0x3b, 0x5d, 0xd6, 0x13, 0x52, 0x24, 0xb0, 0x05, 0xcd, - 0x30, 0x94, 0xa2, 0x13, 0x93, 0x48, 0xcc, 0x63, 0x45, 0x71, 0x33, 0x26, 0x11, 0x66, 0x98, 0x74, - 0xe6, 0xd0, 0x39, 0x25, 0x66, 0x69, 0x66, 0xe6, 0x50, 0x0c, 0xd6, 0xa8, 0xd0, 0x97, 0xa0, 0xc6, - 0xff, 0x61, 0xb2, 0xcd, 0xa6, 0x6c, 0xa1, 0x30, 0xb8, 0x16, 0xb6, 0x1c, 0x3f, 0x3b, 0xf8, 0x93, - 0x6c, 0xa6, 0x49, 0x46, 0x38, 0xe5, 0x69, 0xcc, 0xb4, 0x91, 0xc2, 0x99, 0xf6, 0x77, 0x2d, 0x40, - 0x2b, 0x5e, 0xe0, 0x92, 0xe8, 0x11, 0x6c, 0x99, 0xfd, 0x2d, 0x82, 0x3f, 0xa5, 0x4d, 0x0b, 0xf7, - 0xda, 0x61, 0x40, 0x82, 0x64, 0x25, 0x0c, 0x5c, 0xbe, 0x8d, 0x7e, 0x0a, 0x86, 0x12, 0x5a, 0x15, - 0x6f, 0xd6, 0x33, 0xf2, 0xb3, 0xd0, 0x0a, 0xee, 0x1f, 0xce, 0x9f, 0xe9, 0x2e, 0xc1, 0x9a, 0xc0, - 0xca, 0xa0, 0x4f, 0xc2, 0x48, 0x9c, 0x38, 0x49, 0x27, 0x16, 0x0d, 0xfd, 0xa8, 0x6c, 0x68, 0x93, - 0x41, 0xef, 0x1f, 0xce, 0x4f, 0xab, 0x62, 0x1c, 0x84, 0x45, 0x01, 0xf4, 0x2c, 0x8c, 0xee, 0x91, - 0x38, 0x76, 0x76, 0xa4, 0x60, 0x9b, 0x16, 0x65, 0x47, 0x37, 0x38, 0x18, 0x4b, 0x3c, 0x7a, 0x0a, - 0x86, 0x49, 0x14, 0x85, 0x91, 0x98, 0x11, 0x93, 0x82, 0x70, 0x78, 0x95, 0x02, 0x31, 0xc7, 0xd9, - 0x3f, 0xb5, 0x60, 0x5a, 0xb5, 0x95, 0xd7, 0x35, 0xc0, 0xa5, 0xee, 0x02, 0xb4, 0x64, 0xc7, 0x62, - 0xb6, 0xc0, 0xc6, 0x2f, 0xbd, 0x78, 0x3c, 0xef, 0xee, 0x81, 0x4c, 0xeb, 0x50, 0xa0, 0x18, 0x6b, - 0x7c, 0xed, 0x3f, 0xb0, 0xe0, 0x64, 0xa6, 0x4f, 0xd7, 0xbc, 0x38, 0x41, 0x9f, 0xef, 0xea, 0xd7, - 0x85, 0xde, 0x75, 0xc7, 0x0b, 0x94, 0x96, 0x4d, 0x7c, 0x2f, 0xe6, 0x7d, 0x53, 0xb3, 0x44, 0x42, - 0xb4, 0x9e, 0x61, 0x18, 0xf6, 0x12, 0xb2, 0x27, 0x3b, 0xf5, 0x42, 0xc9, 0x4e, 0xf1, 0xd6, 0xa5, - 0xdf, 0x66, 0x9d, 0xf2, 0xc0, 0x9c, 0x95, 0xfd, 0x3f, 0x2d, 0xa8, 0xad, 0x84, 0xc1, 0xb6, 0xb7, - 0xb3, 0xe1, 0xb4, 0x07, 0xf8, 0x55, 0x9a, 0x30, 0xc4, 0xb8, 0xf2, 0xa6, 0x5f, 0x2c, 0x6a, 0xba, - 0x68, 0xd0, 0x02, 0xdd, 0x39, 0xb9, 0x4a, 0xa0, 0x84, 0x12, 0x05, 0x61, 0xc6, 0x6c, 0xee, 0x55, - 0xa8, 0x29, 0x02, 0x34, 0x03, 0xd5, 0x3b, 0x84, 0xeb, 0x8b, 0x35, 0x4c, 0x7f, 0xa2, 0x53, 0x30, - 0xbc, 0xef, 0xf8, 0x1d, 0xb1, 0x54, 0x31, 0xff, 0xf3, 0xa9, 0xca, 0x6b, 0x96, 0xfd, 0x6b, 0x6c, - 0xbd, 0x89, 0x4a, 0x56, 0x83, 0x7d, 0x21, 0x0a, 0xde, 0xb3, 0xe0, 0x94, 0x9f, 0x23, 0x82, 0xc4, - 0x58, 0x3c, 0x88, 0xf0, 0x7a, 0x42, 0x34, 0xfb, 0x54, 0x1e, 0x16, 0xe7, 0xd6, 0x66, 0xff, 0xc8, - 0x82, 0x53, 0xaa, 0x75, 0x57, 0xc9, 0x41, 0x93, 0xf8, 0xa4, 0x95, 0x84, 0xd1, 0x87, 0xa4, 0x7d, - 0xe8, 0x49, 0x3e, 0xd2, 0x5c, 0xae, 0x8c, 0x0b, 0x06, 0xd5, 0xab, 0xe4, 0x80, 0x0d, 0xbb, 0xfd, - 0x43, 0x0b, 0x26, 0x55, 0xf3, 0x07, 0xbe, 0x28, 0xae, 0x99, 0x8b, 0xe2, 0xe3, 0x25, 0x67, 0x56, - 0x8f, 0xe5, 0xf0, 0x0f, 0x2b, 0x70, 0x5a, 0xd1, 0x18, 0xdb, 0xc4, 0x87, 0x64, 0xec, 0xfb, 0xeb, - 0xee, 0x55, 0x72, 0xb0, 0x19, 0xd2, 0x7d, 0x3e, 0xbf, 0xbb, 0xe8, 0x22, 0x8c, 0xbb, 0x64, 0xdb, - 0xe9, 0xf8, 0x89, 0x52, 0x63, 0x87, 0xb9, 0x7d, 0x53, 0x4f, 0xc1, 0x58, 0xa7, 0xb1, 0x7f, 0x1d, - 0x98, 0xc0, 0x48, 0x1c, 0x2f, 0x20, 0x11, 0x55, 0x1c, 0x34, 0x6b, 0x63, 0x42, 0xb7, 0x36, 0x84, - 0x65, 0xf1, 0x14, 0x0c, 0x7b, 0x7b, 0x74, 0x2b, 0xa9, 0x98, 0x3b, 0xc4, 0x3a, 0x05, 0x62, 0x8e, - 0x43, 0x4f, 0xc3, 0x68, 0x2b, 0xdc, 0xdb, 0x73, 0x02, 0x77, 0xb6, 0xca, 0x54, 0x99, 0x71, 0xba, - 0xdb, 0xac, 0x70, 0x10, 0x96, 0x38, 0xf4, 0x04, 0x0c, 0x39, 0xd1, 0x4e, 0x3c, 0x3b, 0xc4, 0x68, - 0xc6, 0x68, 0x4d, 0x4b, 0xd1, 0x4e, 0x8c, 0x19, 0x94, 0xaa, 0x28, 0x77, 0xc3, 0xe8, 0x8e, 0x17, - 0xec, 0xd4, 0xbd, 0x88, 0xe9, 0x1b, 0x9a, 0x8a, 0x72, 0x5b, 0x61, 0xb0, 0x46, 0x85, 0x1a, 0x30, - 0xdc, 0x0e, 0xa3, 0x24, 0x9e, 0x1d, 0x61, 0xc3, 0xf9, 0x7c, 0xe1, 0xec, 0xe1, 0xfd, 0x6e, 0x84, - 0x51, 0x92, 0x76, 0x85, 0xfe, 0x8b, 0x31, 0x67, 0x84, 0x56, 0xa0, 0x4a, 0x82, 0xfd, 0xd9, 0x51, - 0xc6, 0xef, 0x63, 0xc7, 0xf3, 0x5b, 0x0d, 0xf6, 0x6f, 0x39, 0x51, 0xba, 0x84, 0x56, 0x83, 0x7d, - 0x4c, 0x4b, 0xa3, 0x16, 0xd4, 0xa4, 0x4f, 0x23, 0x9e, 0x1d, 0x2b, 0x33, 0xc1, 0xb0, 0x20, 0xc7, - 0xe4, 0xdd, 0x8e, 0x17, 0x91, 0x3d, 0x12, 0x24, 0x71, 0xaa, 0xa7, 0x4b, 0x6c, 0x8c, 0x53, 0xbe, - 0xa8, 0x05, 0x13, 0x5c, 0xad, 0xd9, 0x08, 0x3b, 0x41, 0x12, 0xcf, 0xd6, 0x58, 0x93, 0x0b, 0x0c, - 0xe1, 0x5b, 0x69, 0x89, 0xe5, 0x53, 0x82, 0xfd, 0x84, 0x06, 0x8c, 0xb1, 0xc1, 0x14, 0xbd, 0x03, - 0x93, 0xbe, 0xb7, 0x4f, 0x02, 0x12, 0xc7, 0x8d, 0x28, 0xdc, 0x22, 0xb3, 0xc0, 0x7a, 0xf3, 0x54, - 0x91, 0x51, 0x18, 0x6e, 0x91, 0xe5, 0x13, 0x47, 0x87, 0xf3, 0x93, 0xd7, 0xf4, 0xd2, 0xd8, 0x64, - 0x86, 0xbe, 0x04, 0x53, 0x54, 0x87, 0xf2, 0x52, 0xf6, 0xe3, 0xe5, 0xd9, 0xa3, 0xa3, 0xc3, 0xf9, - 0x29, 0x6c, 0x14, 0xc7, 0x19, 0x76, 0x68, 0x13, 0x6a, 0xbe, 0xb7, 0x4d, 0x5a, 0x07, 0x2d, 0x9f, - 0xcc, 0x4e, 0x30, 0xde, 0x05, 0x4b, 0xee, 0x9a, 0x24, 0xe7, 0x7a, 0xab, 0xfa, 0x8b, 0x53, 0x46, - 0xe8, 0x16, 0x9c, 0x49, 0x48, 0xb4, 0xe7, 0x05, 0x0e, 0x55, 0x26, 0x84, 0x52, 0xc5, 0x2c, 0xef, - 0x49, 0x36, 0x6b, 0xcf, 0x8a, 0x81, 0x3d, 0xb3, 0x99, 0x4b, 0x85, 0x7b, 0x94, 0x46, 0x37, 0x60, - 0x9a, 0xad, 0xa7, 0x46, 0xc7, 0xf7, 0x1b, 0xa1, 0xef, 0xb5, 0x0e, 0x66, 0xa7, 0x18, 0xc3, 0xa7, - 0xa5, 0x3d, 0xbd, 0x6e, 0xa2, 0xa9, 0xbd, 0x91, 0xfe, 0xc3, 0xd9, 0xd2, 0xc8, 0x87, 0xe9, 0x98, - 0xb4, 0x3a, 0x91, 0x97, 0x1c, 0xd0, 0xb9, 0x4f, 0xee, 0x25, 0xb3, 0xd3, 0x65, 0xec, 0xa7, 0xa6, - 0x59, 0x88, 0x3b, 0x33, 0x32, 0x40, 0x9c, 0x65, 0x4d, 0x45, 0x45, 0x9c, 0xb8, 0x5e, 0x30, 0x3b, - 0xc3, 0x14, 0x66, 0xb5, 0xbe, 0x9a, 0x14, 0x88, 0x39, 0x8e, 0x99, 0xa3, 0xf4, 0xc7, 0x0d, 0x2a, - 0x7b, 0x4f, 0x30, 0xc2, 0xd4, 0x1c, 0x95, 0x08, 0x9c, 0xd2, 0xd0, 0xdd, 0x2a, 0x49, 0x0e, 0x66, - 0x11, 0x23, 0x55, 0x4b, 0x6d, 0x73, 0xf3, 0x73, 0x98, 0xc2, 0xd1, 0x2d, 0x18, 0x25, 0xc1, 0xfe, - 0x5a, 0x14, 0xee, 0xcd, 0x9e, 0x2c, 0x23, 0x03, 0x56, 0x39, 0x31, 0xdf, 0x15, 0x52, 0xcd, 0x58, - 0x80, 0xb1, 0x64, 0x66, 0x6f, 0xc1, 0x94, 0x12, 0x17, 0x6c, 0xd4, 0xd1, 0x3c, 0x0c, 0x53, 0x89, - 0x28, 0xad, 0xb5, 0x1a, 0xed, 0x1a, 0x15, 0x94, 0x31, 0xe6, 0x70, 0xd6, 0x35, 0xef, 0xab, 0x64, - 0xf9, 0x20, 0x21, 0x5c, 0x6b, 0xaf, 0x6a, 0x5d, 0x93, 0x08, 0x9c, 0xd2, 0xd8, 0xff, 0x9b, 0xef, - 0xb4, 0xa9, 0x4c, 0x2a, 0x21, 0x8f, 0x2f, 0xc0, 0xd8, 0x6e, 0x18, 0x27, 0x94, 0x9a, 0xd5, 0x31, - 0x9c, 0xee, 0xae, 0x57, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0x3a, 0x4c, 0xb6, 0xf4, 0x0a, 0xc4, 0x16, - 0x71, 0x5a, 0x14, 0x31, 0x6b, 0xc7, 0x26, 0x2d, 0x7a, 0x0d, 0xc6, 0x98, 0xeb, 0xb2, 0x15, 0xfa, - 0xc2, 0x3e, 0x90, 0x3b, 0xde, 0x58, 0x43, 0xc0, 0xef, 0x6b, 0xbf, 0xb1, 0xa2, 0xa6, 0x56, 0x16, - 0x6d, 0xc2, 0x7a, 0x43, 0x88, 0x71, 0x65, 0x65, 0x5d, 0x61, 0x50, 0x2c, 0xb0, 0xf6, 0x3f, 0xaf, - 0x68, 0xa3, 0x4c, 0xf5, 0x5c, 0x82, 0x3e, 0x0f, 0xa3, 0x77, 0x1d, 0x2f, 0xf1, 0x82, 0x1d, 0xb1, - 0x33, 0xbf, 0x54, 0x52, 0xa6, 0xb3, 0xe2, 0xb7, 0x79, 0x51, 0xbe, 0xff, 0x88, 0x3f, 0x58, 0x32, - 0xa4, 0xbc, 0xa3, 0x4e, 0x10, 0x50, 0xde, 0x95, 0xfe, 0x79, 0x63, 0x5e, 0x94, 0xf3, 0x16, 0x7f, - 0xb0, 0x64, 0x88, 0xb6, 0x01, 0xe4, 0xaa, 0x26, 0xae, 0x70, 0x19, 0x7e, 0xa2, 0x1f, 0xf6, 0x9b, - 0xaa, 0xf4, 0xf2, 0x14, 0xdd, 0xf1, 0xd2, 0xff, 0x58, 0xe3, 0x6c, 0x47, 0x4c, 0xc1, 0xe9, 0x6e, - 0x16, 0xfa, 0x1c, 0x5d, 0x58, 0x4e, 0x94, 0x10, 0x77, 0x29, 0x29, 0x56, 0xfe, 0x53, 0x2d, 0x6d, - 0xd3, 0xdb, 0x23, 0xfa, 0x12, 0x14, 0x2c, 0x70, 0xca, 0xcd, 0xfe, 0x5e, 0x15, 0x66, 0x7b, 0x35, - 0x96, 0x4e, 0x48, 0x72, 0xcf, 0x4b, 0x56, 0xa8, 0x02, 0x62, 0x99, 0x13, 0x72, 0x55, 0xc0, 0xb1, - 0xa2, 0xa0, 0x33, 0x23, 0xf6, 0x76, 0x02, 0xc7, 0x17, 0x93, 0x57, 0xcd, 0x8c, 0x26, 0x83, 0x62, - 0x81, 0xa5, 0x74, 0x11, 0x71, 0x62, 0xe1, 0xaf, 0xd6, 0x66, 0x10, 0x66, 0x50, 0x2c, 0xb0, 0xba, - 0xad, 0x3b, 0x54, 0x60, 0xeb, 0x1a, 0x03, 0x34, 0xfc, 0x30, 0x07, 0x08, 0xbd, 0x03, 0xb0, 0xed, - 0x05, 0x5e, 0xbc, 0xcb, 0x78, 0x8f, 0xf4, 0xc9, 0x5b, 0x29, 0x39, 0x6b, 0x8a, 0x07, 0xd6, 0xf8, - 0xa1, 0x57, 0x60, 0x5c, 0x2d, 0xcc, 0xf5, 0xfa, 0xec, 0xa8, 0xe9, 0xdf, 0x4c, 0xa5, 0x54, 0x1d, - 0xeb, 0x74, 0xf6, 0x57, 0xb2, 0x33, 0x45, 0xac, 0x07, 0x6d, 0x6c, 0xad, 0xb2, 0x63, 0x5b, 0x39, - 0x7e, 0x6c, 0xed, 0xff, 0x5c, 0x85, 0x69, 0xa3, 0xb2, 0x4e, 0x5c, 0x42, 0x96, 0xbd, 0x45, 0x37, - 0x0c, 0x27, 0x21, 0x62, 0x35, 0x5e, 0xe8, 0x67, 0xb9, 0xe8, 0xdb, 0x0b, 0x5d, 0x05, 0x9c, 0x13, - 0xda, 0x85, 0x9a, 0xef, 0xc4, 0xcc, 0x66, 0x26, 0x62, 0x15, 0xf6, 0xc7, 0x36, 0x55, 0xea, 0x9d, - 0x38, 0xd1, 0xf6, 0x6f, 0x5e, 0x4b, 0xca, 0x9c, 0xee, 0x76, 0x54, 0xd9, 0x90, 0x07, 0x24, 0xaa, - 0x39, 0x54, 0x23, 0x39, 0xc0, 0x1c, 0x87, 0x5e, 0x83, 0x89, 0x88, 0xb0, 0x79, 0xb2, 0x42, 0xf5, - 0x29, 0x36, 0xed, 0x86, 0x53, 0xc5, 0x0b, 0x6b, 0x38, 0x6c, 0x50, 0xa6, 0x7a, 0xf7, 0xc8, 0x31, - 0x7a, 0xf7, 0xb3, 0x30, 0xca, 0x7e, 0xa8, 0x59, 0xa1, 0xbe, 0xd0, 0x3a, 0x07, 0x63, 0x89, 0xcf, - 0x4e, 0xa2, 0xb1, 0x92, 0x93, 0xe8, 0x39, 0x98, 0xaa, 0x3b, 0x64, 0x2f, 0x0c, 0x56, 0x03, 0xb7, - 0x1d, 0x7a, 0x41, 0x82, 0x66, 0x61, 0x88, 0xed, 0x24, 0x7c, 0xad, 0x0f, 0x51, 0x0e, 0x78, 0x88, - 0xea, 0xce, 0xf6, 0xff, 0xb1, 0x60, 0xb2, 0x4e, 0x7c, 0x92, 0x90, 0x1b, 0x6d, 0xe6, 0x65, 0x41, - 0x6b, 0x80, 0x76, 0x22, 0xa7, 0x45, 0x1a, 0x24, 0xf2, 0x42, 0xb7, 0x49, 0x5a, 0x61, 0xc0, 0xce, - 0x15, 0xe8, 0xd6, 0x78, 0xe6, 0xe8, 0x70, 0x1e, 0x5d, 0xee, 0xc2, 0xe2, 0x9c, 0x12, 0xc8, 0x85, - 0xc9, 0x76, 0x44, 0x0c, 0xb7, 0x90, 0x55, 0xbc, 0xd5, 0x37, 0xf4, 0x22, 0x5c, 0x1b, 0x35, 0x40, - 0xd8, 0x64, 0x8a, 0x3e, 0x03, 0x33, 0x61, 0xd4, 0xde, 0x75, 0x82, 0x3a, 0x69, 0x93, 0xc0, 0xa5, - 0x2a, 0xb8, 0xf0, 0xfd, 0x9d, 0x3a, 0x3a, 0x9c, 0x9f, 0xb9, 0x91, 0xc1, 0xe1, 0x2e, 0x6a, 0xfb, - 0x37, 0x2b, 0x70, 0xba, 0x1e, 0xde, 0x0d, 0xee, 0x3a, 0x91, 0xbb, 0xd4, 0x58, 0xe7, 0x7a, 0x35, - 0xf3, 0xa5, 0x4a, 0x1f, 0xae, 0xd5, 0xd3, 0x87, 0xfb, 0x05, 0x18, 0xdb, 0xf6, 0x88, 0xef, 0x62, - 0xb2, 0x2d, 0xba, 0x77, 0xb1, 0x8c, 0xef, 0x66, 0x8d, 0x96, 0x91, 0x1e, 0x06, 0xee, 0x42, 0x5e, - 0x13, 0x6c, 0xb0, 0x62, 0x88, 0x3a, 0x30, 0x23, 0x0d, 0x07, 0x89, 0x15, 0xab, 0xe3, 0xa5, 0x72, - 0x76, 0x89, 0x59, 0x0d, 0x1b, 0x0f, 0x9c, 0x61, 0x88, 0xbb, 0xaa, 0xa0, 0x06, 0xdf, 0x1e, 0xdd, - 0x17, 0x86, 0xd8, 0x5c, 0x61, 0x06, 0x1f, 0xb3, 0x48, 0x19, 0xd4, 0xfe, 0x27, 0x16, 0x3c, 0xd6, - 0x35, 0x5a, 0xc2, 0x5c, 0x7f, 0x5b, 0xda, 0xc9, 0xfc, 0x10, 0xaa, 0xa0, 0x95, 0xb9, 0x63, 0x5e, - 0xce, 0x66, 0xae, 0x94, 0xb0, 0x99, 0x6f, 0xc0, 0xa9, 0xd5, 0xbd, 0x76, 0x72, 0x50, 0xf7, 0x4c, - 0xd7, 0xf3, 0xab, 0x30, 0xb2, 0x47, 0x5c, 0xaf, 0xb3, 0x27, 0x3e, 0xeb, 0xbc, 0x14, 0xa4, 0x1b, - 0x0c, 0x7a, 0xff, 0x70, 0x7e, 0xb2, 0x99, 0x84, 0x91, 0xb3, 0x43, 0x38, 0x00, 0x0b, 0x72, 0xfb, - 0x7d, 0x0b, 0xa6, 0xe5, 0x82, 0x5a, 0x72, 0xdd, 0x88, 0xc4, 0x31, 0x9a, 0x83, 0x8a, 0xd7, 0x16, - 0x8c, 0x40, 0x30, 0xaa, 0xac, 0x37, 0x70, 0xc5, 0x6b, 0xa3, 0xcf, 0x43, 0x8d, 0x9f, 0x58, 0xa4, - 0x93, 0xa3, 0xcf, 0x13, 0x10, 0x66, 0xcc, 0x6c, 0x4a, 0x1e, 0x38, 0x65, 0x27, 0x15, 0x4a, 0x26, - 0xaa, 0xab, 0xa6, 0xff, 0xfc, 0x8a, 0x80, 0x63, 0x45, 0x81, 0xce, 0xc3, 0x58, 0x10, 0xba, 0xfc, - 0x30, 0x89, 0x6f, 0xb8, 0x6c, 0xca, 0x5d, 0x17, 0x30, 0xac, 0xb0, 0xf6, 0x37, 0x2c, 0x98, 0x90, - 0x7d, 0x2c, 0xa9, 0xdb, 0xd2, 0x45, 0x92, 0xea, 0xb5, 0xe9, 0x22, 0xa1, 0xba, 0x29, 0xc3, 0x18, - 0x2a, 0x69, 0xb5, 0x1f, 0x95, 0xd4, 0xfe, 0x61, 0x05, 0xa6, 0x64, 0x73, 0x9a, 0x9d, 0xad, 0x98, - 0x24, 0xe8, 0x8b, 0x50, 0x73, 0xf8, 0xe0, 0x13, 0x39, 0xcf, 0x5e, 0x28, 0x32, 0x1e, 0x8c, 0x6f, - 0x96, 0x6a, 0x05, 0x4b, 0x92, 0x0f, 0x4e, 0x59, 0xa2, 0x7d, 0x38, 0x11, 0x84, 0x09, 0xdb, 0x0f, - 0x14, 0xbe, 0x9c, 0xef, 0x37, 0x5b, 0xcf, 0xe3, 0xa2, 0x9e, 0x13, 0xd7, 0xb3, 0xfc, 0x70, 0x77, - 0x15, 0xe8, 0x86, 0x74, 0x8a, 0x54, 0x59, 0x5d, 0xcf, 0x95, 0xab, 0xab, 0xb7, 0x4f, 0xc4, 0xfe, - 0x3d, 0x0b, 0x6a, 0x92, 0x6c, 0x90, 0xae, 0xff, 0xdb, 0x30, 0x1a, 0xb3, 0x4f, 0x23, 0x87, 0xe9, - 0x42, 0xb9, 0xa6, 0xf3, 0xef, 0x99, 0x6e, 0x7e, 0xfc, 0x7f, 0x8c, 0x25, 0x37, 0xe6, 0xd2, 0x54, - 0x1d, 0xf8, 0x90, 0xb9, 0x34, 0x55, 0xbb, 0x7a, 0xb9, 0x34, 0x59, 0xdb, 0x35, 0xa3, 0x95, 0xea, - 0x6f, 0xed, 0x88, 0x6c, 0x7b, 0xf7, 0xb2, 0xfa, 0x5b, 0x83, 0x41, 0xb1, 0xc0, 0xa2, 0x6d, 0x98, - 0x68, 0x49, 0x5f, 0x68, 0x2a, 0x38, 0x5e, 0x2c, 0xe9, 0x61, 0x55, 0x6e, 0x75, 0x1e, 0x90, 0xb1, - 0xa2, 0x71, 0xc2, 0x06, 0x5f, 0xfb, 0x37, 0x2c, 0x18, 0xe1, 0xae, 0xb0, 0x72, 0xfe, 0x44, 0xcd, - 0xa9, 0x9f, 0xf6, 0xf9, 0x16, 0x05, 0x0a, 0x1f, 0x3f, 0xba, 0x0d, 0x35, 0xf6, 0x83, 0x99, 0xf5, - 0xd5, 0x32, 0x11, 0x24, 0xbc, 0x7e, 0xd1, 0x60, 0x26, 0xec, 0x6e, 0x49, 0x06, 0x38, 0xe5, 0x65, - 0xff, 0xa8, 0x4a, 0x85, 0x52, 0x4a, 0x6a, 0xec, 0xba, 0xd6, 0xa3, 0xd8, 0x75, 0x2b, 0x83, 0xdf, - 0x75, 0xdf, 0x85, 0xe9, 0x96, 0x76, 0xfc, 0x90, 0xee, 0xf5, 0x97, 0x4a, 0x7e, 0x7a, 0xed, 0xcc, - 0x82, 0xbb, 0x7e, 0x56, 0x4c, 0x76, 0x38, 0xcb, 0x1f, 0x11, 0x98, 0xe0, 0xc7, 0xba, 0xa2, 0xbe, - 0x21, 0x56, 0xdf, 0x62, 0xa1, 0x97, 0x89, 0x97, 0x50, 0x95, 0xb1, 0x99, 0xd6, 0xd4, 0x18, 0x61, - 0x83, 0xad, 0xfd, 0xab, 0xc3, 0x30, 0xbc, 0xba, 0x4f, 0x82, 0x64, 0x80, 0x42, 0x68, 0x0f, 0xa6, - 0xbc, 0x60, 0x3f, 0xf4, 0xf7, 0x89, 0xcb, 0xf1, 0x0f, 0xb6, 0xe1, 0x9e, 0x11, 0x95, 0x4c, 0xad, - 0x1b, 0xcc, 0x70, 0x86, 0xf9, 0x20, 0x0c, 0xdd, 0xb7, 0x60, 0x84, 0xcf, 0x08, 0x61, 0xe5, 0x16, - 0xb8, 0x84, 0xd9, 0x80, 0x8a, 0x95, 0x93, 0x9a, 0xe3, 0xdc, 0x1b, 0x2d, 0x18, 0xa1, 0x5d, 0x98, - 0xda, 0xf6, 0xa2, 0x38, 0xa1, 0xf6, 0x6a, 0x9c, 0x38, 0x7b, 0xed, 0xbe, 0x8d, 0x5c, 0x35, 0x1e, - 0x6b, 0x06, 0x1f, 0x9c, 0xe1, 0x8b, 0x08, 0x4c, 0x52, 0x1b, 0x2b, 0xad, 0x68, 0xb4, 0xcf, 0x8a, - 0x94, 0x6f, 0xeb, 0x9a, 0xce, 0x06, 0x9b, 0x5c, 0xa9, 0x18, 0x6a, 0x31, 0x8b, 0x6c, 0x8c, 0xe9, - 0x1a, 0x4a, 0x0c, 0x71, 0x53, 0x8c, 0xe3, 0xa8, 0x34, 0x63, 0xe7, 0xf7, 0x35, 0x53, 0x9a, 0xa5, - 0xa7, 0xf4, 0xf6, 0x77, 0xe9, 0xce, 0x48, 0xc7, 0x6f, 0xe0, 0x9b, 0xca, 0x15, 0x73, 0x53, 0x79, - 0xaa, 0xc4, 0x37, 0xed, 0xb1, 0xa1, 0x7c, 0x19, 0xc6, 0xb5, 0x4f, 0x8e, 0x16, 0xa1, 0xd6, 0x92, - 0x47, 0xcd, 0x42, 0x6e, 0x2b, 0xb5, 0x46, 0x9d, 0x41, 0xe3, 0x94, 0x86, 0x8e, 0x0a, 0x55, 0x07, - 0xb3, 0xe1, 0x28, 0x54, 0x59, 0xc4, 0x0c, 0x63, 0xbf, 0x04, 0xb0, 0x7a, 0x8f, 0xb4, 0x96, 0x5a, - 0x2c, 0x0a, 0x42, 0x3b, 0x1c, 0xb2, 0x7a, 0x1f, 0x0e, 0xd1, 0xa1, 0x9c, 0x5a, 0x5b, 0x31, 0xf4, - 0xeb, 0x05, 0x00, 0xae, 0xa7, 0xde, 0xbe, 0x7d, 0x5d, 0xba, 0x5d, 0xb9, 0x6f, 0x4c, 0x41, 0xb1, - 0x46, 0x81, 0x1e, 0x87, 0xaa, 0xdf, 0x09, 0x84, 0xfa, 0x38, 0x7a, 0x74, 0x38, 0x5f, 0xbd, 0xd6, - 0x09, 0x30, 0x85, 0x69, 0x71, 0x1f, 0xd5, 0xd2, 0x71, 0x1f, 0xc5, 0x91, 0x8f, 0xdf, 0xaa, 0xc2, - 0xcc, 0x9a, 0x4f, 0xee, 0x19, 0xad, 0x7e, 0x06, 0x46, 0xdc, 0xc8, 0xdb, 0x27, 0x51, 0x76, 0x7b, - 0xae, 0x33, 0x28, 0x16, 0xd8, 0xd2, 0xa1, 0x28, 0x46, 0x18, 0x4e, 0x75, 0xc0, 0x61, 0x38, 0x85, - 0x7d, 0x46, 0xdb, 0x30, 0x1a, 0x72, 0xf3, 0x7e, 0x76, 0x98, 0x4d, 0xc5, 0xd7, 0x8f, 0x6f, 0x4c, - 0x76, 0x7c, 0x16, 0x84, 0x73, 0x80, 0x87, 0x05, 0x28, 0x29, 0x26, 0xa0, 0x58, 0x32, 0x9f, 0xfb, - 0x14, 0x4c, 0xe8, 0x94, 0x7d, 0xc5, 0x07, 0xfc, 0xa2, 0x05, 0x27, 0xd7, 0xfc, 0xb0, 0x75, 0x27, - 0x13, 0x2b, 0xf4, 0x0a, 0x8c, 0xd3, 0xc5, 0x14, 0x1b, 0x01, 0x74, 0x46, 0xa4, 0xa0, 0x40, 0x61, - 0x9d, 0x4e, 0x2b, 0x76, 0xf3, 0xe6, 0x7a, 0x3d, 0x2f, 0xc0, 0x50, 0xa0, 0xb0, 0x4e, 0x67, 0xff, - 0x27, 0x0b, 0x9e, 0xbc, 0xbc, 0xb2, 0xda, 0x20, 0x51, 0xec, 0xc5, 0x09, 0x09, 0x92, 0xae, 0x18, - 0x47, 0xaa, 0xc9, 0xb9, 0x5a, 0x53, 0x52, 0x4d, 0xae, 0xce, 0x5a, 0x21, 0xb0, 0x1f, 0x96, 0x40, - 0xdf, 0xdf, 0xb0, 0xe0, 0xe4, 0x65, 0x2f, 0xc1, 0xa4, 0x1d, 0x66, 0xc3, 0x12, 0x23, 0xd2, 0x0e, - 0x63, 0x2f, 0x09, 0xa3, 0x83, 0x6c, 0x58, 0x22, 0x56, 0x18, 0xac, 0x51, 0xf1, 0x9a, 0xf7, 0xbd, - 0x98, 0xb6, 0xb4, 0x62, 0x9a, 0x9d, 0x58, 0xc0, 0xb1, 0xa2, 0xa0, 0x1d, 0x73, 0xbd, 0x88, 0x29, - 0x09, 0x07, 0x62, 0x05, 0xab, 0x8e, 0xd5, 0x25, 0x02, 0xa7, 0x34, 0xf6, 0xdf, 0xb3, 0xe0, 0xf4, - 0x65, 0xbf, 0x13, 0x27, 0x24, 0xda, 0x8e, 0x8d, 0xc6, 0xbe, 0x04, 0x35, 0x22, 0x55, 0x6e, 0xd1, - 0x56, 0xb5, 0x65, 0x28, 0x5d, 0x9c, 0xc7, 0x44, 0x2a, 0xba, 0x12, 0x21, 0x78, 0xfd, 0x05, 0x8c, - 0xfd, 0x4e, 0x05, 0x26, 0xaf, 0x6c, 0x6e, 0x36, 0x2e, 0x93, 0x44, 0x48, 0xc9, 0x62, 0x07, 0x51, - 0x43, 0xb3, 0x8e, 0xc7, 0x2f, 0x2d, 0xf4, 0x58, 0x75, 0x9d, 0xc4, 0xf3, 0x17, 0x78, 0x08, 0xfa, - 0xc2, 0x7a, 0x90, 0xdc, 0x88, 0x9a, 0x49, 0xe4, 0x05, 0x3b, 0xb9, 0xd6, 0xb4, 0x94, 0xe4, 0xd5, - 0x5e, 0x92, 0x1c, 0xbd, 0x04, 0x23, 0x2c, 0x02, 0x5e, 0x2a, 0x1d, 0x3f, 0xa7, 0xf4, 0x03, 0x06, - 0xbd, 0x7f, 0x38, 0x5f, 0xbb, 0x89, 0xd7, 0xf9, 0x1f, 0x2c, 0x48, 0xd1, 0x97, 0x60, 0x7c, 0x37, - 0x49, 0xda, 0x57, 0x88, 0xe3, 0x92, 0x48, 0x4a, 0x89, 0x02, 0xf5, 0x8c, 0x0e, 0x06, 0x2f, 0x90, - 0x2e, 0xac, 0x14, 0x16, 0x63, 0x9d, 0xa3, 0xdd, 0x04, 0x48, 0x71, 0x0f, 0xc9, 0xe6, 0xb0, 0xff, - 0x5a, 0x05, 0x46, 0xaf, 0x38, 0x81, 0xeb, 0x93, 0x08, 0xad, 0xc1, 0x10, 0xb9, 0x47, 0x5a, 0xe5, - 0x34, 0xcb, 0x74, 0xab, 0xe3, 0x1e, 0x2e, 0xfa, 0x1f, 0xb3, 0xf2, 0x08, 0xc3, 0x28, 0x6d, 0xf7, - 0x65, 0x15, 0xb7, 0xfa, 0x7c, 0xf1, 0x28, 0xa8, 0x29, 0xc1, 0xf7, 0x49, 0x01, 0xc2, 0x92, 0x11, - 0xf3, 0x05, 0xb5, 0xda, 0x4d, 0x2a, 0xdc, 0x92, 0x72, 0xa1, 0xe9, 0x9b, 0x2b, 0x0d, 0x4e, 0x2e, - 0xf8, 0x72, 0x5f, 0x90, 0x04, 0xe2, 0x94, 0x9d, 0xfd, 0x1a, 0x9c, 0x62, 0x87, 0x88, 0x4e, 0xb2, - 0x6b, 0xac, 0x99, 0xc2, 0xc9, 0x69, 0xff, 0xa3, 0x0a, 0x9c, 0x58, 0x6f, 0xae, 0x34, 0x4d, 0x2f, - 0xde, 0x6b, 0x30, 0xc1, 0xb7, 0x67, 0x3a, 0xe9, 0x1c, 0x5f, 0x94, 0x57, 0xee, 0xef, 0x4d, 0x0d, - 0x87, 0x0d, 0x4a, 0xf4, 0x24, 0x54, 0xbd, 0x77, 0x83, 0x6c, 0x8c, 0xd2, 0xfa, 0x5b, 0xd7, 0x31, - 0x85, 0x53, 0x34, 0xdd, 0xe9, 0xb9, 0x88, 0x53, 0x68, 0xb5, 0xdb, 0xbf, 0x09, 0x53, 0x5e, 0xdc, - 0x8a, 0xbd, 0xf5, 0x80, 0xae, 0x7f, 0xa7, 0x25, 0xa7, 0x6f, 0xaa, 0x94, 0xd3, 0xa6, 0x2a, 0x2c, - 0xce, 0x50, 0x6b, 0xf2, 0x76, 0xb8, 0xb4, 0xb6, 0x50, 0x1c, 0xc0, 0xfa, 0x15, 0xa8, 0xa9, 0x80, - 0x1e, 0x19, 0x84, 0x65, 0xe5, 0x07, 0x61, 0x95, 0x10, 0x38, 0xd2, 0xb7, 0x5a, 0xcd, 0xf5, 0xad, - 0xfe, 0x96, 0x05, 0x69, 0xec, 0x02, 0xc2, 0x50, 0x6b, 0x87, 0xec, 0xe0, 0x22, 0x92, 0x67, 0x83, - 0x4f, 0x17, 0xcc, 0x44, 0xbe, 0x12, 0xf8, 0x5c, 0x69, 0xc8, 0xb2, 0x38, 0x65, 0x83, 0xae, 0xc1, - 0x68, 0x3b, 0x22, 0xcd, 0x84, 0x45, 0x41, 0xf7, 0xc1, 0x91, 0xcd, 0xea, 0x06, 0x2f, 0x89, 0x25, - 0x0b, 0xfb, 0x5f, 0x59, 0x00, 0xd7, 0xbc, 0x3d, 0x2f, 0xc1, 0x4e, 0xb0, 0x43, 0x06, 0x68, 0xde, - 0x5d, 0x87, 0xa1, 0xb8, 0x4d, 0x5a, 0xe5, 0x8e, 0x9c, 0xd2, 0x16, 0x35, 0xdb, 0xa4, 0x95, 0x7e, - 0x06, 0xfa, 0x0f, 0x33, 0x3e, 0xf6, 0x6f, 0x03, 0x4c, 0xa5, 0x64, 0x54, 0xd1, 0x46, 0x2f, 0x18, - 0x61, 0xbf, 0x8f, 0x67, 0xc2, 0x7e, 0x6b, 0x8c, 0x5a, 0x8b, 0xf4, 0x4d, 0xa0, 0xba, 0xe7, 0xdc, - 0x13, 0x7a, 0xfd, 0x2b, 0x65, 0x1b, 0x44, 0x6b, 0x5a, 0xd8, 0x70, 0xee, 0x71, 0x35, 0xea, 0x79, - 0x39, 0x81, 0x36, 0x9c, 0x7b, 0xf7, 0xf9, 0xc1, 0x12, 0x5b, 0x81, 0xd4, 0x90, 0xf8, 0xfa, 0x7f, - 0x49, 0xff, 0x33, 0xa1, 0x48, 0xab, 0x63, 0xb5, 0x7a, 0x81, 0x70, 0x11, 0xf6, 0x59, 0xab, 0x17, - 0x64, 0x6b, 0xf5, 0x82, 0x12, 0xb5, 0x7a, 0x01, 0x7a, 0xcf, 0x82, 0x51, 0xe1, 0x59, 0x67, 0x51, - 0x60, 0xe3, 0x97, 0x3e, 0xd9, 0x57, 0xd5, 0xc2, 0x45, 0xcf, 0xab, 0x5f, 0x94, 0xba, 0xa3, 0x80, - 0x16, 0x36, 0x41, 0x56, 0x8d, 0xbe, 0x6d, 0xc1, 0x94, 0xf8, 0x8d, 0xc9, 0xbb, 0x1d, 0x12, 0x27, - 0x62, 0x97, 0xfa, 0xcc, 0x83, 0xb4, 0x46, 0xb0, 0xe0, 0x8d, 0xfa, 0x84, 0x14, 0x31, 0x26, 0xb2, - 0xb0, 0x6d, 0x99, 0xf6, 0xa0, 0x1f, 0x58, 0x70, 0x6a, 0xcf, 0xb9, 0xc7, 0x6b, 0xe4, 0x30, 0xec, - 0x24, 0x5e, 0x28, 0x22, 0xdd, 0xd6, 0xfa, 0x9d, 0x27, 0x5d, 0x8c, 0x78, 0x73, 0xdf, 0x90, 0xc7, - 0x9d, 0x79, 0x24, 0x85, 0x8d, 0xce, 0x6d, 0xe1, 0x9c, 0x0b, 0x63, 0x72, 0x62, 0xe6, 0x68, 0xed, - 0xcb, 0xfa, 0x66, 0x7c, 0xfc, 0x0a, 0x94, 0x9e, 0xad, 0x85, 0xb7, 0x3a, 0x4e, 0x90, 0x78, 0xc9, - 0x81, 0xa6, 0xe3, 0xb3, 0x5a, 0xc4, 0x44, 0x1c, 0x60, 0x2d, 0xbb, 0x30, 0xa1, 0xcf, 0xb9, 0x01, - 0xd6, 0x14, 0xc2, 0xc9, 0x9c, 0xf9, 0x34, 0xc0, 0x0a, 0x3b, 0xf0, 0x78, 0xcf, 0x79, 0x31, 0xb8, - 0x6a, 0xed, 0xdf, 0xb1, 0x74, 0x81, 0x39, 0x70, 0xbf, 0xc9, 0x86, 0xe9, 0x37, 0x39, 0x5f, 0x76, - 0xdd, 0xf4, 0x70, 0x9e, 0x6c, 0xeb, 0x8d, 0xa7, 0xdb, 0x00, 0xda, 0x84, 0x11, 0x9f, 0x42, 0xe4, - 0x11, 0xd2, 0x85, 0x7e, 0x56, 0x66, 0xaa, 0x59, 0x30, 0x78, 0x8c, 0x05, 0x2f, 0xfb, 0xfb, 0x16, - 0x0c, 0x0d, 0x7c, 0x6c, 0x1a, 0xe6, 0xd8, 0xf4, 0x52, 0x4e, 0xc5, 0x5d, 0xd8, 0x05, 0xec, 0xdc, - 0x5d, 0xbd, 0x97, 0x90, 0x20, 0x66, 0x4a, 0x64, 0xee, 0xf0, 0xfc, 0x66, 0x05, 0xc6, 0x69, 0x45, - 0x32, 0x00, 0xe0, 0x75, 0x98, 0xf4, 0x9d, 0x2d, 0xe2, 0x4b, 0x0f, 0x6f, 0xd6, 0xe0, 0xba, 0xa6, - 0x23, 0xb1, 0x49, 0x4b, 0x0b, 0x6f, 0xeb, 0x0e, 0x70, 0xa1, 0x0c, 0xa9, 0xc2, 0x86, 0x77, 0x1c, - 0x9b, 0xb4, 0x54, 0xe7, 0xbf, 0xeb, 0x24, 0xad, 0x5d, 0x61, 0x8c, 0xa9, 0xe6, 0xde, 0xa6, 0x40, - 0xcc, 0x71, 0x68, 0x09, 0xa6, 0xe5, 0x5c, 0xbd, 0x45, 0xad, 0xf4, 0x30, 0x10, 0x8a, 0xa2, 0xba, - 0xc0, 0x88, 0x4d, 0x34, 0xce, 0xd2, 0xa3, 0x4f, 0xc1, 0x14, 0x1d, 0x9c, 0xb0, 0x93, 0xc8, 0xf0, - 0x86, 0x61, 0x16, 0xde, 0xc0, 0xa2, 0x53, 0x37, 0x0d, 0x0c, 0xce, 0x50, 0xda, 0x5f, 0x82, 0x93, - 0xd7, 0x42, 0xc7, 0x5d, 0x76, 0x7c, 0x27, 0x68, 0x91, 0x68, 0x3d, 0xd8, 0x29, 0x3c, 0x09, 0xd6, - 0x4f, 0x6b, 0x2b, 0x45, 0xa7, 0xb5, 0x76, 0x04, 0x48, 0xaf, 0x40, 0x04, 0xe6, 0xbc, 0x03, 0xa3, - 0x1e, 0xaf, 0x4a, 0x4c, 0xd9, 0x8b, 0x45, 0xee, 0xa4, 0xae, 0x36, 0x6a, 0x81, 0x26, 0x1c, 0x80, - 0x25, 0x4b, 0x6a, 0x43, 0xe4, 0xf9, 0x9f, 0x8a, 0xcd, 0x34, 0xfb, 0x6f, 0x58, 0x30, 0x7d, 0x3d, - 0x73, 0x4b, 0xee, 0x19, 0x18, 0x89, 0x49, 0x94, 0xe3, 0x4c, 0x6b, 0x32, 0x28, 0x16, 0xd8, 0x87, - 0x6e, 0xa0, 0xff, 0x4a, 0x05, 0x6a, 0x2c, 0xb8, 0xb3, 0xed, 0xb4, 0x06, 0xa9, 0x8e, 0x6e, 0x18, - 0xea, 0x68, 0x81, 0x79, 0xa8, 0x1a, 0xd4, 0x4b, 0x1b, 0x45, 0x37, 0xd5, 0xad, 0xb1, 0x52, 0x96, - 0x61, 0xca, 0x90, 0xdf, 0x31, 0x9a, 0x32, 0x2f, 0x99, 0xc9, 0x1b, 0x65, 0xec, 0xfc, 0x54, 0xd1, - 0x7e, 0xc8, 0xce, 0x4f, 0x55, 0xbb, 0x7a, 0x88, 0xa4, 0x86, 0xd6, 0x74, 0x26, 0xb0, 0x3f, 0xcd, - 0x82, 0xf5, 0x1c, 0xdf, 0xfb, 0x2a, 0x51, 0x57, 0x2f, 0xe7, 0x45, 0xf8, 0x9d, 0x80, 0xde, 0x67, - 0xd2, 0x45, 0xfc, 0xe3, 0x37, 0x6a, 0xd3, 0x22, 0xf6, 0x15, 0x98, 0xce, 0x0c, 0x1c, 0x7a, 0x05, - 0x86, 0xdb, 0xbb, 0x4e, 0x4c, 0x32, 0x81, 0x20, 0xc3, 0x0d, 0x0a, 0xbc, 0x7f, 0x38, 0x3f, 0xa5, - 0x0a, 0x30, 0x08, 0xe6, 0xd4, 0xf6, 0x5f, 0x58, 0x30, 0x74, 0x3d, 0x74, 0x07, 0x39, 0xc1, 0xae, - 0x18, 0x13, 0xec, 0x99, 0xe2, 0x7b, 0xf8, 0x3d, 0xe7, 0x56, 0x23, 0x33, 0xb7, 0xce, 0x97, 0xe0, - 0x75, 0xfc, 0xb4, 0xda, 0x83, 0x71, 0x76, 0xcf, 0x5f, 0x44, 0xc0, 0xbc, 0x64, 0xd8, 0x4d, 0xf3, - 0x19, 0xbb, 0x69, 0x5a, 0x23, 0xd5, 0xac, 0xa7, 0x67, 0x61, 0x54, 0x44, 0x5c, 0x64, 0x83, 0x14, - 0x05, 0x2d, 0x96, 0x78, 0xfb, 0x5f, 0x54, 0xc1, 0xc8, 0x2b, 0x80, 0xfe, 0xd0, 0x82, 0x85, 0x88, - 0x5f, 0xb8, 0x70, 0xeb, 0x9d, 0xc8, 0x0b, 0x76, 0x9a, 0xad, 0x5d, 0xe2, 0x76, 0x7c, 0x2f, 0xd8, - 0x59, 0xdf, 0x09, 0x42, 0x05, 0x5e, 0xbd, 0x47, 0x5a, 0x1d, 0xe6, 0x54, 0x2d, 0x9d, 0xce, 0x40, - 0x9d, 0x69, 0x5e, 0x3a, 0x3a, 0x9c, 0x5f, 0xc0, 0x7d, 0xd5, 0x82, 0xfb, 0x6c, 0x15, 0xfa, 0x63, - 0x0b, 0x16, 0xf9, 0xcd, 0xfa, 0xf2, 0x3d, 0x29, 0x65, 0x6f, 0x36, 0x24, 0xd3, 0x94, 0xdd, 0x26, - 0x89, 0xf6, 0x96, 0x5f, 0x15, 0x83, 0xbc, 0xd8, 0xe8, 0xaf, 0x56, 0xdc, 0x6f, 0x33, 0xed, 0xdf, - 0xad, 0xc2, 0x24, 0x1d, 0xcf, 0xf4, 0x56, 0xed, 0x2b, 0xc6, 0x34, 0xf9, 0x68, 0x66, 0x9a, 0x9c, - 0x30, 0x88, 0x1f, 0xce, 0x85, 0xda, 0x77, 0xe1, 0x84, 0xef, 0xc4, 0xc9, 0x15, 0xe2, 0x44, 0xc9, - 0x16, 0x71, 0xd8, 0x31, 0x62, 0xf1, 0x22, 0xc8, 0x9c, 0x4b, 0xaa, 0x18, 0x9e, 0x6b, 0x59, 0x56, - 0xb8, 0x9b, 0x3b, 0x4a, 0x00, 0xb1, 0x03, 0xcb, 0xc8, 0x09, 0x62, 0xde, 0x13, 0x4f, 0x38, 0x61, - 0xfb, 0xa9, 0x73, 0x4e, 0xd4, 0x89, 0xae, 0x75, 0xf1, 0xc2, 0x39, 0xfc, 0xb5, 0xc3, 0xe8, 0xe1, - 0xb2, 0x87, 0xd1, 0x23, 0x05, 0x91, 0xc1, 0xbf, 0x64, 0xc1, 0x49, 0xfa, 0x49, 0xcc, 0x28, 0xd2, - 0x18, 0x85, 0x30, 0x4d, 0x9b, 0xef, 0x93, 0x44, 0xc2, 0x8a, 0xf7, 0x11, 0x16, 0xea, 0x67, 0xf0, - 0x49, 0x15, 0xb5, 0xab, 0x26, 0x33, 0x9c, 0xe5, 0x6e, 0x7f, 0xc7, 0x02, 0x16, 0xa6, 0x36, 0xf0, - 0xed, 0xeb, 0xb2, 0xb9, 0x7d, 0xd9, 0xc5, 0xb2, 0xa2, 0xc7, 0xce, 0xf5, 0x32, 0xcc, 0x50, 0x6c, - 0x23, 0x0a, 0xef, 0x1d, 0x48, 0x85, 0xba, 0xd8, 0x13, 0xfb, 0x5e, 0x85, 0x2f, 0x18, 0x75, 0x67, - 0x0c, 0xfd, 0xb2, 0x05, 0x63, 0x2d, 0xa7, 0xed, 0xb4, 0x78, 0x3e, 0x96, 0x12, 0x5e, 0x17, 0xa3, - 0xfc, 0xc2, 0x8a, 0x28, 0xcb, 0x3d, 0x06, 0x2f, 0xca, 0xae, 0x4b, 0x70, 0xa1, 0x97, 0x40, 0x55, - 0x3e, 0xe7, 0xc1, 0xa4, 0xc1, 0x6c, 0x80, 0x66, 0xe6, 0x2f, 0x5b, 0x5c, 0xd8, 0x2b, 0x83, 0xe0, - 0x2e, 0x9c, 0x08, 0xb4, 0xff, 0x54, 0x8c, 0x49, 0xfd, 0x77, 0xa1, 0xbc, 0x38, 0x67, 0xd2, 0x4f, - 0x0b, 0xc7, 0xcb, 0x30, 0xc4, 0xdd, 0x75, 0xd8, 0xff, 0xd8, 0x82, 0xc7, 0x74, 0x42, 0xed, 0x8a, - 0x5f, 0x91, 0x17, 0xb8, 0x0e, 0x63, 0x61, 0x9b, 0x44, 0x4e, 0x6a, 0xfc, 0x9c, 0x97, 0xa3, 0x7f, - 0x43, 0xc0, 0xef, 0x1f, 0xce, 0x9f, 0xd2, 0xb9, 0x4b, 0x38, 0x56, 0x25, 0x91, 0x0d, 0x23, 0x6c, - 0x5c, 0x62, 0x71, 0x39, 0x93, 0x65, 0x27, 0x61, 0x67, 0x1f, 0x31, 0x16, 0x18, 0xfb, 0x6f, 0x5a, - 0x7c, 0xb2, 0xe9, 0x4d, 0x47, 0x5f, 0x83, 0x99, 0x3d, 0x6a, 0x27, 0xad, 0xde, 0x6b, 0xd3, 0x0d, - 0x94, 0x9d, 0xf9, 0x5a, 0x65, 0xb6, 0x8d, 0x1e, 0xdd, 0x5d, 0x9e, 0x15, 0xad, 0x9f, 0xd9, 0xc8, - 0xb0, 0xc5, 0x5d, 0x15, 0xd9, 0x7f, 0x22, 0xd6, 0x2b, 0xd3, 0xd9, 0x9e, 0x85, 0xd1, 0x76, 0xe8, - 0xae, 0xac, 0xd7, 0xb1, 0x18, 0x2b, 0x25, 0x70, 0x1a, 0x1c, 0x8c, 0x25, 0x1e, 0x5d, 0x02, 0x20, - 0xf7, 0x12, 0x12, 0x05, 0x8e, 0xaf, 0xce, 0x6a, 0x95, 0x8a, 0xb4, 0xaa, 0x30, 0x58, 0xa3, 0xa2, - 0x65, 0xda, 0x51, 0xb8, 0xef, 0xb9, 0x2c, 0x36, 0xbe, 0x6a, 0x96, 0x69, 0x28, 0x0c, 0xd6, 0xa8, - 0xa8, 0x75, 0xda, 0x09, 0x62, 0xbe, 0x7d, 0x39, 0x5b, 0x22, 0xa9, 0xc6, 0x58, 0x6a, 0x9d, 0xde, - 0xd4, 0x91, 0xd8, 0xa4, 0xb5, 0x7f, 0x5a, 0x03, 0x48, 0x15, 0x24, 0xf4, 0x5e, 0xf7, 0x0a, 0xfd, - 0x44, 0x59, 0xed, 0xea, 0xe1, 0x2d, 0x4f, 0xf4, 0x4d, 0x0b, 0xc6, 0x1d, 0xdf, 0x0f, 0x5b, 0x4e, - 0xc2, 0x7a, 0x54, 0x29, 0x2b, 0x2b, 0x44, 0x4b, 0x96, 0xd2, 0xb2, 0xbc, 0x31, 0x2f, 0xc9, 0xa3, - 0x3c, 0x0d, 0x53, 0xd8, 0x1e, 0xbd, 0x09, 0xe8, 0x45, 0xa9, 0x58, 0xf3, 0x8f, 0x32, 0x97, 0x55, - 0xac, 0x6b, 0x4c, 0x42, 0x6a, 0x3a, 0x35, 0xfa, 0x92, 0x91, 0x3f, 0x62, 0xa8, 0xcc, 0x9d, 0x40, - 0x43, 0x65, 0x28, 0x4a, 0x1d, 0x81, 0x3e, 0xaf, 0x87, 0x0d, 0x0f, 0x97, 0xb9, 0x74, 0xab, 0x69, - 0xae, 0x05, 0x21, 0xc3, 0x09, 0x4c, 0xbb, 0xe6, 0x46, 0x29, 0x02, 0xad, 0x2e, 0x16, 0xd7, 0x90, - 0xd9, 0x61, 0xd3, 0xad, 0x31, 0x83, 0xc0, 0xd9, 0x2a, 0xe8, 0x6e, 0x48, 0xc5, 0xd6, 0x7a, 0xb0, - 0x1d, 0x8a, 0x70, 0xab, 0x0b, 0x25, 0xbe, 0xf9, 0x41, 0x9c, 0x90, 0x3d, 0x5a, 0x26, 0xdd, 0x0d, - 0xaf, 0x0b, 0x2e, 0x58, 0xf1, 0x43, 0x9b, 0x30, 0xc2, 0xae, 0xa0, 0xc4, 0xb3, 0x63, 0x65, 0xdc, - 0x63, 0xe6, 0x9d, 0xcb, 0x54, 0x01, 0x61, 0x7f, 0x63, 0x2c, 0x78, 0xa1, 0x2b, 0xf2, 0xee, 0x73, - 0xbc, 0x1e, 0xdc, 0x8c, 0x09, 0xbb, 0xfb, 0x5c, 0x5b, 0xfe, 0x58, 0x7a, 0x99, 0x99, 0xc3, 0x73, - 0x33, 0x66, 0x19, 0x25, 0xa9, 0x1e, 0x22, 0xfe, 0xcb, 0x44, 0x5c, 0xb3, 0x50, 0xa6, 0xa1, 0x66, - 0xda, 0xae, 0x74, 0xb0, 0x6f, 0x99, 0xcc, 0x70, 0x96, 0xfb, 0x23, 0xdc, 0x03, 0xe7, 0x7c, 0x98, - 0xc9, 0x2e, 0xc9, 0x01, 0xee, 0xb8, 0x7f, 0x3e, 0x04, 0x53, 0xe6, 0xc4, 0x40, 0x8b, 0x50, 0xdb, - 0x63, 0x69, 0xb2, 0xd2, 0xe4, 0x3c, 0x6a, 0xfe, 0x6f, 0x48, 0x04, 0x4e, 0x69, 0x58, 0x9a, 0x22, - 0x56, 0x5c, 0x0b, 0xb4, 0x49, 0xd3, 0x14, 0x29, 0x0c, 0xd6, 0xa8, 0xa8, 0xd2, 0xba, 0x15, 0x86, - 0x89, 0x12, 0xdc, 0x6a, 0xce, 0x2c, 0x33, 0x28, 0x16, 0x58, 0x2a, 0xb0, 0xef, 0xd0, 0x0e, 0xf9, - 0xa6, 0xab, 0x4f, 0x09, 0xec, 0xab, 0x3a, 0x12, 0x9b, 0xb4, 0x74, 0x03, 0x0a, 0x63, 0x36, 0x09, - 0x85, 0x6a, 0x9c, 0x06, 0x2e, 0x35, 0xf9, 0x95, 0x2c, 0x89, 0x47, 0x9f, 0x83, 0xc7, 0xd4, 0x0d, - 0x2a, 0xcc, 0x5d, 0xa7, 0xb2, 0xc6, 0x11, 0xc3, 0xb2, 0x7d, 0x6c, 0x25, 0x9f, 0x0c, 0xf7, 0x2a, - 0x8f, 0xde, 0x84, 0x29, 0xa1, 0xd6, 0x4a, 0x8e, 0xa3, 0xe6, 0xb9, 0xf6, 0x55, 0x03, 0x8b, 0x33, - 0xd4, 0xa8, 0x0e, 0x33, 0x14, 0xc2, 0x34, 0x4a, 0xc9, 0x81, 0xdf, 0x04, 0x53, 0x3b, 0xf3, 0xd5, - 0x0c, 0x1e, 0x77, 0x95, 0x40, 0x4b, 0x30, 0xcd, 0x75, 0x0b, 0x6a, 0xbf, 0xb1, 0xef, 0x20, 0x22, - 0x24, 0xd5, 0x22, 0xb8, 0x61, 0xa2, 0x71, 0x96, 0x1e, 0xbd, 0x06, 0x13, 0x4e, 0xd4, 0xda, 0xf5, - 0x12, 0xd2, 0x4a, 0x3a, 0x11, 0xcf, 0x2a, 0xa0, 0x05, 0x06, 0x2c, 0x69, 0x38, 0x6c, 0x50, 0xda, - 0x5f, 0x85, 0x93, 0x39, 0x21, 0xd8, 0x74, 0xe2, 0x38, 0x6d, 0x4f, 0xf6, 0x29, 0x13, 0x82, 0xb4, - 0xd4, 0x58, 0x97, 0xbd, 0xd1, 0xa8, 0xe8, 0xec, 0x64, 0x3e, 0x63, 0x2d, 0x67, 0x9e, 0x9a, 0x9d, - 0x6b, 0x12, 0x81, 0x53, 0x1a, 0xfb, 0xbf, 0xd5, 0x40, 0x73, 0xb2, 0x94, 0x08, 0x3c, 0x79, 0x0d, - 0x26, 0x64, 0x1a, 0x48, 0x2d, 0xfd, 0x9a, 0xea, 0xe6, 0x65, 0x0d, 0x87, 0x0d, 0x4a, 0xda, 0xb6, - 0x40, 0xba, 0x8c, 0xb2, 0x01, 0x4f, 0xca, 0x97, 0x84, 0x53, 0x1a, 0x74, 0x01, 0xc6, 0x62, 0xe2, - 0x6f, 0x5f, 0xf3, 0x82, 0x3b, 0x62, 0x62, 0x2b, 0xa9, 0xdc, 0x14, 0x70, 0xac, 0x28, 0xd0, 0x67, - 0xa0, 0xda, 0xf1, 0x5c, 0x31, 0x95, 0x17, 0xa4, 0xde, 0x79, 0x73, 0xbd, 0x7e, 0xff, 0x70, 0x7e, - 0x3e, 0x3f, 0xb7, 0x25, 0x35, 0xa2, 0xe3, 0x05, 0xba, 0xf8, 0x68, 0xd1, 0x3c, 0xd7, 0xf9, 0x48, - 0x9f, 0xae, 0xf3, 0x4b, 0x00, 0xa2, 0xcf, 0x72, 0x26, 0x57, 0xd3, 0x6f, 0x76, 0x59, 0x61, 0xb0, - 0x46, 0x45, 0x4d, 0xf1, 0x56, 0x44, 0x1c, 0x69, 0xb1, 0xf2, 0x10, 0xe1, 0xb1, 0x07, 0x35, 0xc5, - 0x57, 0xb2, 0xac, 0x70, 0x37, 0x77, 0xb4, 0x07, 0x27, 0x5c, 0xba, 0x88, 0x8c, 0x2a, 0x6b, 0xfd, - 0x46, 0x25, 0xd3, 0xea, 0xea, 0x59, 0x36, 0xb8, 0x9b, 0x33, 0xfa, 0x22, 0xcc, 0x49, 0x60, 0xf7, - 0xed, 0x48, 0xb6, 0x50, 0xaa, 0xcb, 0x67, 0x8f, 0x0e, 0xe7, 0xe7, 0xea, 0x3d, 0xa9, 0xf0, 0x31, - 0x1c, 0xd0, 0x3b, 0x30, 0xc2, 0x8e, 0x59, 0xe2, 0xd9, 0x71, 0xb6, 0xcf, 0xbd, 0x5c, 0xd6, 0xd1, - 0xb8, 0xc0, 0x0e, 0x6b, 0x44, 0xdc, 0x66, 0x7a, 0x6e, 0xc5, 0x80, 0x58, 0xf0, 0x44, 0x6d, 0x18, - 0x77, 0x82, 0x20, 0x4c, 0x1c, 0xae, 0x7e, 0x4d, 0x94, 0xd1, 0x20, 0xb5, 0x2a, 0x96, 0xd2, 0xb2, - 0xbc, 0x1e, 0x15, 0x0c, 0xa6, 0x61, 0xb0, 0x5e, 0x05, 0xea, 0xc0, 0x74, 0x78, 0x97, 0x8a, 0x4a, - 0x79, 0xd2, 0x10, 0xcf, 0x4e, 0x16, 0x25, 0xae, 0x4c, 0x3f, 0xce, 0x0d, 0xa3, 0xa8, 0x26, 0xc1, - 0x4c, 0x96, 0x38, 0x5b, 0x07, 0x5a, 0x30, 0xbc, 0xc8, 0x53, 0x69, 0x6c, 0x72, 0xea, 0x45, 0xd6, - 0x9d, 0xc6, 0xec, 0xfe, 0x2d, 0x8f, 0x47, 0x64, 0x92, 0x60, 0x3a, 0x73, 0xff, 0x36, 0x45, 0x61, - 0x9d, 0x6e, 0xee, 0x93, 0x30, 0xae, 0x0d, 0x7b, 0x3f, 0x41, 0xb0, 0x73, 0x6f, 0xc2, 0x4c, 0x76, - 0x38, 0xfb, 0x0a, 0xa2, 0xfd, 0x1f, 0x15, 0x98, 0xce, 0x39, 0xc4, 0xb9, 0xe3, 0xb1, 0x40, 0x6e, - 0x43, 0xe4, 0x5d, 0xf5, 0x02, 0x17, 0x33, 0x8c, 0x29, 0xb8, 0x2a, 0x25, 0x04, 0x97, 0x94, 0xa2, - 0xd5, 0x9e, 0x52, 0x54, 0x08, 0xab, 0xa1, 0x07, 0x17, 0x56, 0xe6, 0xee, 0x30, 0x5c, 0x6a, 0x77, - 0x78, 0x08, 0x02, 0xce, 0xd8, 0x60, 0x46, 0x4b, 0x6c, 0x30, 0xdf, 0xae, 0xc0, 0x4c, 0x1a, 0x2e, - 0x2c, 0x32, 0xc2, 0x0e, 0xee, 0x6c, 0x60, 0xd3, 0x38, 0x1b, 0x28, 0x4a, 0xf4, 0x9a, 0x69, 0x57, - 0xcf, 0x73, 0x82, 0x77, 0x32, 0xe7, 0x04, 0x2f, 0xf7, 0xc9, 0xf7, 0xf8, 0x33, 0x83, 0xef, 0x54, - 0xe0, 0x74, 0xb6, 0xc8, 0x8a, 0xef, 0x78, 0x7b, 0x03, 0x1c, 0xa7, 0xcf, 0x19, 0xe3, 0xf4, 0x6a, - 0x7f, 0xfd, 0x61, 0x8d, 0xeb, 0x39, 0x58, 0x4e, 0x66, 0xb0, 0x3e, 0xf9, 0x20, 0xcc, 0x8f, 0x1f, - 0xb1, 0x9f, 0x5a, 0xf0, 0x78, 0x6e, 0xb9, 0x81, 0x7b, 0x42, 0xdf, 0x36, 0x3d, 0xa1, 0x2f, 0x3d, - 0x40, 0xdf, 0x7a, 0xb8, 0x46, 0x8f, 0x2a, 0x3d, 0xfa, 0xc4, 0xbc, 0x45, 0x37, 0x60, 0xdc, 0x69, - 0xb5, 0x48, 0x1c, 0x6f, 0x84, 0xae, 0xca, 0xd7, 0xf3, 0x02, 0xdb, 0x45, 0x52, 0xf0, 0xfd, 0xc3, - 0xf9, 0xb9, 0x2c, 0x8b, 0x14, 0x8d, 0x75, 0x0e, 0x66, 0x3e, 0xaf, 0xca, 0x80, 0xf2, 0x79, 0x5d, - 0x02, 0xd8, 0x57, 0x56, 0x6a, 0xd6, 0x09, 0xa5, 0xd9, 0xaf, 0x1a, 0x15, 0xfa, 0x02, 0xd3, 0xfa, - 0x78, 0x74, 0xc4, 0x50, 0x91, 0xa3, 0x40, 0xfb, 0x7a, 0x7a, 0x9c, 0x05, 0xbf, 0xbe, 0xa8, 0xdc, - 0x75, 0x8a, 0xa1, 0xfd, 0xfd, 0x2a, 0xfc, 0xdc, 0x31, 0x13, 0x0e, 0x2d, 0x99, 0x87, 0x9e, 0xcf, - 0x67, 0x7d, 0x33, 0x73, 0xb9, 0x85, 0x0d, 0x67, 0x4d, 0xe6, 0x4b, 0x55, 0x3e, 0xf0, 0x97, 0xfa, - 0x96, 0xee, 0x49, 0xe3, 0xc1, 0x8d, 0x97, 0x1f, 0x78, 0x49, 0xfd, 0x6c, 0x7a, 0xbe, 0xbf, 0x6e, - 0xc1, 0x47, 0x73, 0x3b, 0x65, 0x04, 0x56, 0x2c, 0x42, 0xad, 0x45, 0x81, 0xda, 0xed, 0x93, 0xf4, - 0xda, 0x97, 0x44, 0xe0, 0x94, 0xc6, 0x88, 0x9f, 0xa8, 0x14, 0xc6, 0x4f, 0xfc, 0x3b, 0x0b, 0x4e, - 0x65, 0x1b, 0x31, 0x70, 0x79, 0xd3, 0x34, 0xe5, 0xcd, 0x42, 0x7f, 0x1f, 0xbe, 0x87, 0xa8, 0xf9, - 0xf6, 0x24, 0x9c, 0xe9, 0xda, 0xa3, 0xf8, 0x18, 0xfe, 0x82, 0x05, 0x27, 0x76, 0x98, 0x7e, 0xad, - 0x5d, 0xf0, 0x11, 0xbd, 0x2a, 0xb8, 0x15, 0x75, 0xec, 0xbd, 0x20, 0x6e, 0x2d, 0x74, 0x91, 0xe0, - 0xee, 0xca, 0xd0, 0x37, 0x2c, 0x38, 0xe5, 0xdc, 0x8d, 0xbb, 0x5e, 0x15, 0x10, 0x93, 0xe8, 0xcd, - 0x02, 0x27, 0x56, 0xc1, 0x7b, 0x04, 0xcb, 0xb3, 0x47, 0x87, 0xf3, 0xa7, 0xf2, 0xa8, 0x70, 0x6e, - 0xad, 0xe8, 0x1d, 0x91, 0x9d, 0x8c, 0x2a, 0x3c, 0xa5, 0xae, 0xaa, 0xe5, 0x5d, 0x37, 0xe0, 0x02, - 0x49, 0x62, 0xb0, 0xe2, 0x88, 0xbe, 0x0c, 0xb5, 0x1d, 0x79, 0xa7, 0x47, 0x88, 0xbb, 0x82, 0x3d, - 0x25, 0xf7, 0x0a, 0x10, 0x0f, 0x6a, 0x57, 0x28, 0x9c, 0x32, 0x45, 0x57, 0xa0, 0x1a, 0x6c, 0xc7, - 0xe2, 0xde, 0x6c, 0x51, 0xf0, 0x8c, 0x19, 0xaa, 0xc4, 0x2f, 0x1c, 0x5e, 0x5f, 0x6b, 0x62, 0xca, - 0x82, 0x72, 0x8a, 0xb6, 0x5c, 0xe1, 0xbd, 0x2d, 0xe0, 0x84, 0x97, 0xeb, 0xdd, 0x9c, 0xf0, 0x72, - 0x1d, 0x53, 0x16, 0x2c, 0x4a, 0x2f, 0x6e, 0xc5, 0x9e, 0x70, 0xcd, 0x16, 0x5c, 0xaa, 0xee, 0xba, - 0x84, 0xc1, 0x13, 0xd5, 0x31, 0x30, 0xe6, 0x8c, 0xd0, 0x26, 0x8c, 0xb4, 0x58, 0x22, 0x6d, 0x61, - 0x39, 0x17, 0xa5, 0x04, 0xe8, 0x4a, 0xba, 0xcd, 0x8f, 0x90, 0x38, 0x1c, 0x0b, 0x5e, 0x8c, 0x2b, - 0x69, 0xef, 0x6e, 0xc7, 0xc2, 0x38, 0x2e, 0xe2, 0xda, 0x95, 0x12, 0x5d, 0x70, 0x65, 0x70, 0x2c, - 0x78, 0xa1, 0x3a, 0x54, 0xb6, 0x5b, 0x22, 0xeb, 0x64, 0x81, 0x4b, 0xd6, 0xbc, 0x3d, 0xba, 0x3c, - 0x72, 0x74, 0x38, 0x5f, 0x59, 0x5b, 0xc1, 0x95, 0xed, 0x16, 0x7a, 0x1b, 0x46, 0xb7, 0xf9, 0x7d, - 0x40, 0x91, 0x61, 0xf2, 0x62, 0xd1, 0xa5, 0xc5, 0xae, 0xcb, 0x83, 0xfc, 0xe2, 0x82, 0x40, 0x60, - 0xc9, 0x0e, 0x7d, 0x11, 0x60, 0x5b, 0xdd, 0x70, 0x14, 0x29, 0x26, 0x17, 0xfa, 0xbb, 0x11, 0x29, - 0xec, 0x46, 0x05, 0xc5, 0x1a, 0x47, 0x3a, 0xe7, 0x1d, 0xf9, 0x16, 0x00, 0x4b, 0x2f, 0x59, 0x38, - 0xe7, 0x73, 0x9f, 0x0e, 0xe0, 0x73, 0x5e, 0xa1, 0x70, 0xca, 0x14, 0x75, 0x60, 0x72, 0x3f, 0x6e, - 0xef, 0x12, 0xb9, 0xf4, 0x59, 0xce, 0xc9, 0xf1, 0x4b, 0x6f, 0x14, 0x24, 0x12, 0x15, 0x45, 0xbc, - 0x28, 0xe9, 0x38, 0x7e, 0x97, 0x04, 0x63, 0xd9, 0x96, 0x6e, 0xe9, 0x6c, 0xb1, 0x59, 0x0b, 0xfd, - 0x24, 0xef, 0x76, 0xc2, 0xad, 0x83, 0x84, 0x88, 0x9c, 0x94, 0x05, 0x9f, 0xe4, 0x2d, 0x4e, 0xdc, - 0xfd, 0x49, 0x04, 0x02, 0x4b, 0x76, 0x6a, 0xc8, 0x98, 0x34, 0x9e, 0x29, 0x3d, 0x64, 0x5d, 0x7d, - 0x48, 0x87, 0x8c, 0x49, 0xdf, 0x94, 0x29, 0x93, 0xba, 0xed, 0xdd, 0x30, 0x09, 0x83, 0x8c, 0xec, - 0x3f, 0x51, 0x46, 0xea, 0x36, 0x72, 0x4a, 0x76, 0x4b, 0xdd, 0x3c, 0x2a, 0x9c, 0x5b, 0xab, 0xfd, - 0x27, 0xc3, 0xdd, 0x9b, 0x2d, 0x53, 0x84, 0x7f, 0xb5, 0xfb, 0x5c, 0xf1, 0x33, 0xfd, 0x5b, 0x79, - 0x0f, 0xf1, 0x84, 0xf1, 0x1b, 0x16, 0x9c, 0x69, 0xe7, 0x6e, 0xa6, 0x62, 0xc3, 0xea, 0xd7, 0x58, - 0xe4, 0x03, 0xa6, 0x12, 0xae, 0xe6, 0xe3, 0x71, 0x8f, 0x3a, 0xb3, 0xea, 0x67, 0xf5, 0x03, 0xab, - 0x9f, 0xb7, 0x61, 0x8c, 0x69, 0x4c, 0x69, 0x0e, 0x8c, 0x3e, 0xd3, 0x46, 0xb0, 0xad, 0x6f, 0x45, - 0xb0, 0xc0, 0x8a, 0x19, 0x1d, 0xb8, 0x27, 0xb3, 0x9d, 0xc0, 0x84, 0xa1, 0x45, 0xa6, 0x58, 0xee, - 0xd5, 0x58, 0x13, 0x23, 0xf1, 0x64, 0xe3, 0x38, 0xe2, 0xfb, 0x45, 0x04, 0xf8, 0xf8, 0xca, 0x1e, - 0xa5, 0x3a, 0xfb, 0x4f, 0xad, 0x1c, 0xfd, 0x8b, 0x1b, 0x20, 0x6f, 0x98, 0x06, 0xc8, 0x33, 0x59, - 0x03, 0xa4, 0xcb, 0x51, 0x60, 0xd8, 0x1e, 0xe5, 0xd3, 0x1b, 0x96, 0x4d, 0xd2, 0x61, 0xfb, 0x70, - 0xae, 0x68, 0x71, 0xb3, 0x08, 0x1e, 0x57, 0x1d, 0x87, 0xa5, 0x11, 0x3c, 0xee, 0x7a, 0x1d, 0x33, - 0x4c, 0xd9, 0xdb, 0xde, 0xf6, 0xff, 0xb2, 0xa0, 0xda, 0x08, 0xdd, 0x01, 0x3a, 0x3e, 0x2e, 0x1b, - 0x8e, 0x8f, 0xa7, 0x0b, 0x5f, 0x40, 0xea, 0xe9, 0xe6, 0xb8, 0x91, 0x71, 0x73, 0x7c, 0xbc, 0x98, - 0xd5, 0xf1, 0x4e, 0x8d, 0x1f, 0x54, 0x41, 0x7f, 0xc3, 0x09, 0xfd, 0xc7, 0x07, 0x09, 0xe5, 0xac, - 0x96, 0x7b, 0xd6, 0x49, 0xd4, 0xc1, 0x42, 0x7f, 0xe4, 0xf5, 0xae, 0x9f, 0xd9, 0x88, 0xce, 0xdb, - 0xc4, 0xdb, 0xd9, 0x4d, 0x88, 0x9b, 0xed, 0xd8, 0xa3, 0x8b, 0xe8, 0xfc, 0xaf, 0x16, 0x4c, 0x67, - 0x6a, 0x47, 0x5f, 0xc9, 0xbb, 0x27, 0xf2, 0x40, 0xce, 0x8c, 0x13, 0x85, 0xd7, 0x4a, 0x16, 0x00, - 0x94, 0xf7, 0x59, 0xba, 0x1c, 0x98, 0x06, 0xa6, 0xdc, 0xd3, 0x31, 0xd6, 0x28, 0xd0, 0x2b, 0x30, - 0x9e, 0x84, 0xed, 0xd0, 0x0f, 0x77, 0x0e, 0xae, 0x12, 0x99, 0x7d, 0x40, 0x79, 0xee, 0x37, 0x53, - 0x14, 0xd6, 0xe9, 0xec, 0x1f, 0x55, 0x21, 0xfb, 0xfe, 0xd7, 0xff, 0x9b, 0xa5, 0x3f, 0x3b, 0xb3, - 0xf4, 0x8f, 0x2c, 0x98, 0xa1, 0xb5, 0xb3, 0xb0, 0x0d, 0x19, 0x7d, 0xa9, 0x32, 0x9c, 0x5b, 0xc7, - 0x64, 0x38, 0x7f, 0x86, 0xca, 0x3a, 0x37, 0xec, 0x24, 0xc2, 0x4d, 0xa2, 0x89, 0x30, 0x0a, 0xc5, - 0x02, 0x2b, 0xe8, 0x48, 0x14, 0x89, 0xeb, 0x28, 0x3a, 0x1d, 0x89, 0x22, 0x2c, 0xb0, 0x32, 0x01, - 0xfa, 0x50, 0x8f, 0x04, 0xe8, 0x2c, 0x7f, 0x8f, 0x08, 0x17, 0x10, 0x4a, 0x80, 0x96, 0xbf, 0x47, - 0xc6, 0x11, 0xa4, 0x34, 0xf6, 0x77, 0xaa, 0x30, 0xd1, 0x08, 0xdd, 0x34, 0xa0, 0xfa, 0x65, 0x23, - 0xa0, 0xfa, 0x5c, 0x26, 0xa0, 0x7a, 0x46, 0xa7, 0x7d, 0x38, 0xf1, 0xd4, 0x22, 0xc7, 0x13, 0x4b, - 0xd1, 0xff, 0x40, 0xb1, 0xd4, 0x46, 0x8e, 0x27, 0xc5, 0x06, 0x9b, 0x5c, 0xff, 0xea, 0xc4, 0x50, - 0xff, 0x85, 0x05, 0x53, 0x8d, 0xd0, 0xa5, 0x93, 0xf3, 0xaf, 0xd2, 0x4c, 0xd4, 0x33, 0x43, 0x8d, - 0x1c, 0x93, 0x19, 0xea, 0xb7, 0x2c, 0x18, 0x6d, 0x84, 0xee, 0xc0, 0xdd, 0x87, 0x6b, 0xa6, 0xfb, - 0xf0, 0xa3, 0x85, 0x32, 0xb7, 0x87, 0xc7, 0xf0, 0xfb, 0x55, 0x98, 0xa4, 0xed, 0x0d, 0x77, 0xe4, - 0xd7, 0x32, 0x46, 0xc6, 0x2a, 0x31, 0x32, 0x54, 0x05, 0x0c, 0x7d, 0x3f, 0xbc, 0x9b, 0xfd, 0x72, - 0x6b, 0x0c, 0x8a, 0x05, 0x16, 0x5d, 0x80, 0xb1, 0x76, 0x44, 0xf6, 0xbd, 0xb0, 0x13, 0x67, 0x2f, - 0xb5, 0x35, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0x32, 0x4c, 0xc4, 0x5e, 0xd0, 0x22, 0x32, 0x98, 0x60, - 0x88, 0x05, 0x13, 0xf0, 0xa4, 0x7b, 0x1a, 0x1c, 0x1b, 0x54, 0xe8, 0x26, 0xd4, 0xd8, 0x7f, 0xb6, - 0x7a, 0xfa, 0xcd, 0x9b, 0xce, 0xb3, 0x4e, 0xc9, 0xe2, 0x38, 0xe5, 0x84, 0x2e, 0x01, 0x24, 0x32, - 0xe8, 0x21, 0x16, 0xd9, 0x33, 0x94, 0x36, 0xaa, 0xc2, 0x21, 0x62, 0xac, 0x51, 0xa1, 0xe7, 0xa1, - 0x96, 0x38, 0x9e, 0x7f, 0xcd, 0x0b, 0x48, 0x2c, 0x02, 0x46, 0x44, 0x62, 0x5b, 0x01, 0xc4, 0x29, - 0x9e, 0xee, 0xf3, 0xec, 0x32, 0x2d, 0x7f, 0x8f, 0x61, 0x8c, 0x51, 0xb3, 0x7d, 0xfe, 0x9a, 0x82, - 0x62, 0x8d, 0xc2, 0x7e, 0x89, 0xed, 0xd7, 0x7d, 0x46, 0xdb, 0xff, 0xa4, 0x02, 0xa8, 0xc1, 0x82, - 0x2b, 0x8c, 0xa7, 0x30, 0x76, 0x61, 0x2a, 0x26, 0xd7, 0xbc, 0xa0, 0x73, 0x4f, 0xb0, 0x2a, 0x77, - 0xb9, 0xa1, 0xb9, 0xaa, 0x97, 0xe1, 0x77, 0x48, 0x4d, 0x18, 0xce, 0xf0, 0xa5, 0x43, 0x12, 0x75, - 0x82, 0xa5, 0xf8, 0x66, 0x4c, 0x22, 0xf1, 0xe8, 0x04, 0x1b, 0x12, 0x2c, 0x81, 0x38, 0xc5, 0xd3, - 0x09, 0xc0, 0xfe, 0x5c, 0x0f, 0x03, 0x1c, 0x86, 0x89, 0x9c, 0x32, 0x2c, 0x15, 0xb9, 0x06, 0xc7, - 0x06, 0x15, 0x5a, 0x03, 0x14, 0x77, 0xda, 0x6d, 0x9f, 0x9d, 0x62, 0x39, 0xfe, 0xe5, 0x28, 0xec, - 0xb4, 0x79, 0x64, 0xad, 0xc8, 0xe2, 0xdd, 0xec, 0xc2, 0xe2, 0x9c, 0x12, 0x74, 0xb9, 0x6f, 0xc7, - 0xec, 0xb7, 0xb8, 0x23, 0xcb, 0x3d, 0x6a, 0x4d, 0x06, 0xc2, 0x12, 0x67, 0x7f, 0x8d, 0x6d, 0x4f, - 0xec, 0x3d, 0x80, 0xa4, 0x13, 0x11, 0x74, 0x07, 0x26, 0xdb, 0x6c, 0x0b, 0x4a, 0xa2, 0xd0, 0xf7, - 0x49, 0x54, 0xfc, 0x62, 0x53, 0xcf, 0xf0, 0x0e, 0x9e, 0x03, 0x5c, 0x67, 0x86, 0x4d, 0xde, 0xf6, - 0x3f, 0x18, 0x67, 0xb2, 0x46, 0x1c, 0x23, 0x8e, 0x8a, 0xe0, 0x4d, 0xa1, 0x85, 0x7d, 0xac, 0xcc, - 0xdb, 0x3a, 0xa9, 0x1c, 0x17, 0xa1, 0xa0, 0x58, 0x72, 0x41, 0x5f, 0x60, 0xa1, 0xc9, 0x7c, 0x89, - 0x97, 0x7f, 0xf0, 0x8a, 0xd3, 0x1b, 0x61, 0xc9, 0x82, 0x05, 0xd6, 0xd8, 0xa1, 0x6b, 0x30, 0x29, - 0x12, 0xc8, 0x0b, 0x87, 0x40, 0xd5, 0x30, 0x8a, 0x27, 0xb1, 0x8e, 0xbc, 0x9f, 0x05, 0x60, 0xb3, - 0x30, 0xda, 0x81, 0x27, 0xb5, 0x47, 0x6a, 0x72, 0x02, 0x91, 0xb8, 0xec, 0xf8, 0xe8, 0xd1, 0xe1, - 0xfc, 0x93, 0x9b, 0xc7, 0x11, 0xe2, 0xe3, 0xf9, 0xa0, 0x1b, 0x70, 0xda, 0x69, 0x25, 0xde, 0x3e, - 0xa9, 0x13, 0xc7, 0xf5, 0xbd, 0x80, 0x98, 0xd7, 0xa8, 0x1f, 0x3f, 0x3a, 0x9c, 0x3f, 0xbd, 0x94, - 0x47, 0x80, 0xf3, 0xcb, 0xa1, 0x37, 0xa0, 0xe6, 0x06, 0xb1, 0x18, 0x83, 0x11, 0xe3, 0x3d, 0x9e, - 0x5a, 0xfd, 0x7a, 0x53, 0xf5, 0x3f, 0xfd, 0x83, 0xd3, 0x02, 0xe8, 0x5d, 0xfe, 0x7c, 0xb1, 0xb2, - 0x43, 0xf8, 0x3b, 0x50, 0xaf, 0x96, 0xb2, 0x7c, 0x8d, 0x6b, 0x0f, 0xdc, 0x57, 0xa6, 0x42, 0xfd, - 0x8c, 0x1b, 0x11, 0x46, 0x15, 0xe8, 0xb3, 0x80, 0x62, 0x12, 0xed, 0x7b, 0x2d, 0xb2, 0xd4, 0x62, - 0x79, 0x27, 0xd9, 0x91, 0xdc, 0x98, 0x11, 0xef, 0x8e, 0x9a, 0x5d, 0x14, 0x38, 0xa7, 0x14, 0xba, - 0x42, 0xe5, 0x8e, 0x0e, 0x15, 0x91, 0x99, 0x52, 0xa9, 0x9b, 0xad, 0x93, 0x76, 0x44, 0x5a, 0x4e, - 0x42, 0x5c, 0x93, 0x23, 0xce, 0x94, 0xa3, 0x3b, 0x8b, 0x4a, 0xf4, 0x0d, 0x66, 0x3c, 0x61, 0x77, - 0xb2, 0x6f, 0x6a, 0x23, 0xed, 0x86, 0x71, 0x72, 0x9d, 0x24, 0x77, 0xc3, 0xe8, 0x0e, 0xf3, 0xb1, - 0x8f, 0x69, 0x89, 0xbc, 0x52, 0x14, 0xd6, 0xe9, 0xa8, 0x0e, 0xc4, 0x0e, 0x77, 0xd6, 0xeb, 0xcc, - 0x73, 0x3e, 0x96, 0xae, 0x9d, 0x2b, 0x1c, 0x8c, 0x25, 0x5e, 0x92, 0xae, 0x37, 0x56, 0x98, 0x17, - 0x3c, 0x43, 0xba, 0xde, 0x58, 0xc1, 0x12, 0x8f, 0xc2, 0xee, 0x57, 0x8f, 0xa6, 0xca, 0x9c, 0x48, - 0x74, 0xcb, 0xf1, 0x92, 0x0f, 0x1f, 0xdd, 0x83, 0x19, 0xf5, 0xf2, 0x12, 0xcf, 0xb0, 0x18, 0xcf, - 0x4e, 0x97, 0x79, 0x3c, 0x39, 0x37, 0x51, 0xa3, 0x0a, 0xc5, 0x5d, 0xcf, 0xf0, 0xc4, 0x5d, 0xb5, - 0x18, 0xe9, 0x00, 0x66, 0x0a, 0x93, 0xb7, 0x2f, 0x42, 0x2d, 0xee, 0x6c, 0xb9, 0xe1, 0x9e, 0xe3, - 0x05, 0xcc, 0x55, 0xad, 0x3f, 0x05, 0x2c, 0x11, 0x38, 0xa5, 0x41, 0x0d, 0x18, 0x73, 0xe4, 0x2b, - 0xd8, 0xa8, 0xcc, 0x05, 0x62, 0xf5, 0xfc, 0x35, 0xf3, 0x63, 0xaa, 0x77, 0xaf, 0x15, 0x97, 0xb9, - 0x4f, 0xc3, 0x89, 0xae, 0x55, 0xd2, 0x57, 0x54, 0xda, 0x8f, 0x87, 0xa0, 0xa6, 0xdc, 0x43, 0x68, - 0xd1, 0xf4, 0x00, 0x3e, 0x9e, 0xf5, 0x00, 0x8e, 0xd1, 0x1d, 0x5d, 0x77, 0xfa, 0x7d, 0x31, 0xe7, - 0x75, 0xd1, 0xe7, 0x0a, 0xa7, 0x45, 0xf9, 0xcb, 0x21, 0x7d, 0xbc, 0xbd, 0x9a, 0x1a, 0x0a, 0x43, - 0xc7, 0x1a, 0x0a, 0x25, 0x1f, 0x53, 0xa2, 0x26, 0x41, 0x3b, 0x74, 0xd7, 0x1b, 0xd9, 0x17, 0x43, - 0x1a, 0x14, 0x88, 0x39, 0x8e, 0x29, 0x73, 0x54, 0xcc, 0x33, 0x65, 0x6e, 0xf4, 0x81, 0x94, 0x39, - 0x59, 0x1c, 0xa7, 0x9c, 0xd0, 0x3e, 0x9c, 0x68, 0x99, 0xcf, 0xbf, 0xa8, 0x0b, 0x1f, 0x2f, 0xf4, - 0xf1, 0xfc, 0x4a, 0x47, 0x4b, 0x75, 0xbf, 0x92, 0xe5, 0x87, 0xbb, 0xab, 0x40, 0xaf, 0xc3, 0xd8, - 0xbb, 0x61, 0xbc, 0xe2, 0x3b, 0x71, 0x2c, 0x24, 0x9d, 0x0c, 0xae, 0x1f, 0x7b, 0xeb, 0x46, 0x93, - 0xc1, 0xef, 0xf3, 0xd7, 0xde, 0xe5, 0x5f, 0xac, 0x0a, 0xd8, 0x3f, 0xe2, 0x8e, 0x28, 0x61, 0x9c, - 0x92, 0xb8, 0xe3, 0x0f, 0x32, 0xaf, 0xf4, 0x0d, 0xc3, 0x5e, 0x7e, 0x08, 0x2e, 0xd0, 0xdf, 0xb7, - 0x98, 0x0b, 0x74, 0x93, 0xec, 0xb5, 0x7d, 0x27, 0x19, 0x64, 0x9c, 0xe0, 0x17, 0x60, 0x2c, 0x11, - 0xb5, 0x94, 0x4b, 0x86, 0xad, 0x35, 0x8b, 0xb9, 0x84, 0x95, 0x50, 0x92, 0x50, 0xac, 0x18, 0xda, - 0xbf, 0xcb, 0xbf, 0x82, 0xc4, 0x0c, 0xdc, 0xca, 0xbb, 0x6e, 0x5a, 0x79, 0xcf, 0x96, 0xee, 0x49, - 0x2f, 0x6b, 0xcf, 0x6c, 0x3f, 0xd3, 0x1c, 0x3f, 0xfc, 0x1e, 0x79, 0x7b, 0x03, 0xcc, 0xc7, 0x70, - 0xd0, 0x1b, 0x3c, 0xca, 0x96, 0x0b, 0xd2, 0xe7, 0xfa, 0x8c, 0xb0, 0xb5, 0xbf, 0x57, 0x81, 0x53, - 0x99, 0xc7, 0xfe, 0xb9, 0x6c, 0x77, 0x61, 0xa2, 0xad, 0x69, 0xf3, 0xe5, 0x12, 0x28, 0xe8, 0xfa, - 0x7f, 0xaa, 0x43, 0xe9, 0x50, 0x6c, 0x70, 0x45, 0x5b, 0x30, 0x41, 0xf6, 0xbd, 0x96, 0x72, 0xf2, - 0x54, 0xfa, 0x94, 0x6c, 0xaa, 0x8e, 0x55, 0x8d, 0x0b, 0x36, 0x78, 0x0e, 0x20, 0x53, 0xbb, 0xfd, - 0xeb, 0x16, 0x3c, 0xd6, 0x23, 0xc5, 0x02, 0xad, 0xee, 0x2e, 0xf3, 0x82, 0x8a, 0x97, 0x96, 0x54, - 0x75, 0xdc, 0x37, 0x8a, 0x05, 0x16, 0x6d, 0x01, 0x70, 0xdf, 0x26, 0x7b, 0xcd, 0xb6, 0x52, 0x26, - 0x00, 0xa1, 0xeb, 0x42, 0xb3, 0x76, 0xd7, 0x55, 0xbd, 0x5f, 0xab, 0x71, 0xb5, 0xbf, 0x5b, 0x85, - 0x61, 0xfe, 0xa0, 0x66, 0x03, 0x46, 0x77, 0x79, 0x22, 0xc7, 0xfe, 0xf2, 0x48, 0xa6, 0xda, 0x1a, - 0x07, 0x60, 0xc9, 0x06, 0x6d, 0xc0, 0x49, 0xaa, 0x1a, 0x78, 0x8e, 0x5f, 0x27, 0xbe, 0x73, 0x20, - 0xd5, 0x7f, 0x9e, 0xc4, 0x5b, 0xe6, 0x9b, 0x3d, 0xb9, 0xde, 0x4d, 0x82, 0xf3, 0xca, 0xa1, 0x37, - 0xbb, 0xf2, 0x31, 0xf1, 0x04, 0x99, 0xea, 0x8a, 0xd4, 0xf1, 0x39, 0x99, 0xd0, 0xeb, 0x30, 0xd9, - 0xee, 0x32, 0x74, 0xb4, 0x17, 0x13, 0x4d, 0xe3, 0xc6, 0xa4, 0x45, 0x75, 0x98, 0x89, 0x3b, 0xec, - 0x38, 0x78, 0x73, 0x37, 0x22, 0xf1, 0x6e, 0xe8, 0xbb, 0xe2, 0xc9, 0x2f, 0xa5, 0xd4, 0x35, 0x33, - 0x78, 0xdc, 0x55, 0x82, 0x72, 0xd9, 0x76, 0x3c, 0xbf, 0x13, 0x91, 0x94, 0xcb, 0x88, 0xc9, 0x65, - 0x2d, 0x83, 0xc7, 0x5d, 0x25, 0xec, 0x3f, 0xb3, 0xe0, 0x64, 0x4e, 0xcc, 0x04, 0x8f, 0xe3, 0xdb, - 0xf1, 0xe2, 0x44, 0xa5, 0x6a, 0xd6, 0xe2, 0xf8, 0x38, 0x1c, 0x2b, 0x0a, 0x3a, 0x0b, 0xb9, 0xf5, - 0x9a, 0x3d, 0x8b, 0x14, 0xa7, 0xc2, 0x02, 0xdb, 0x5f, 0x76, 0x25, 0x74, 0x0e, 0x86, 0x3a, 0x31, - 0x91, 0xaf, 0xce, 0x2b, 0xf1, 0xc4, 0xdc, 0x15, 0x0c, 0x43, 0x95, 0x99, 0x1d, 0xe5, 0x29, 0xd0, - 0x94, 0x19, 0xee, 0x2b, 0xe0, 0x38, 0xfb, 0x5b, 0x55, 0x98, 0xce, 0xc4, 0x4e, 0xd1, 0x86, 0xec, - 0x85, 0x81, 0x97, 0x84, 0x2a, 0xb7, 0x0f, 0x7f, 0xbe, 0x84, 0xb4, 0x77, 0x37, 0x04, 0x1c, 0x2b, - 0x0a, 0xf4, 0x8c, 0xf9, 0xba, 0x71, 0xda, 0xe6, 0xe5, 0xba, 0xf1, 0xd0, 0x5a, 0xd9, 0xf4, 0xf1, - 0x4f, 0xc1, 0x50, 0x3b, 0x54, 0xcf, 0x65, 0xaa, 0x49, 0x8f, 0x97, 0xeb, 0x8d, 0x30, 0xf4, 0x31, - 0x43, 0xa2, 0xa7, 0x45, 0xef, 0x33, 0x2e, 0x52, 0xec, 0xb8, 0x61, 0xac, 0x0d, 0xc1, 0xb3, 0x30, - 0x7a, 0x87, 0x1c, 0x44, 0x5e, 0xb0, 0x93, 0x75, 0x10, 0x5f, 0xe5, 0x60, 0x2c, 0xf1, 0x66, 0x8a, - 0xf8, 0xd1, 0x01, 0xa7, 0x88, 0x1f, 0x2b, 0x0c, 0xfe, 0xfc, 0x6d, 0x0b, 0xa6, 0x59, 0x8a, 0x3b, - 0x71, 0xfb, 0xd4, 0x0b, 0x83, 0x01, 0x6e, 0x89, 0x4f, 0xc1, 0x70, 0x44, 0x2b, 0xcb, 0x66, 0x77, - 0x66, 0x2d, 0xc0, 0x1c, 0x87, 0x9e, 0x10, 0xef, 0xd7, 0xd3, 0xcf, 0x37, 0xc1, 0xb3, 0xe5, 0xa6, - 0x0f, 0xd1, 0xb3, 0x4b, 0x05, 0x98, 0xb4, 0x7d, 0x8f, 0x37, 0x36, 0xf5, 0x07, 0x7d, 0x58, 0x2e, - 0x15, 0xe4, 0x36, 0xee, 0x61, 0x5d, 0x2a, 0xc8, 0x67, 0x7e, 0xbc, 0xf2, 0xf9, 0xdf, 0x2b, 0x70, - 0x36, 0xb7, 0x5c, 0x7a, 0xac, 0xb4, 0x66, 0x1c, 0x2b, 0x5d, 0xca, 0x1c, 0x2b, 0xd9, 0xc7, 0x97, - 0x7e, 0x38, 0x07, 0x4d, 0xf9, 0x27, 0x40, 0xd5, 0x47, 0x76, 0x02, 0x34, 0x54, 0x56, 0x51, 0x18, - 0x2e, 0x50, 0x14, 0x7e, 0x6a, 0xc1, 0xe3, 0xb9, 0x03, 0xf6, 0x21, 0xbb, 0xc3, 0x91, 0xdb, 0xc6, - 0x1e, 0x8a, 0xf3, 0xdf, 0xae, 0xf6, 0xe8, 0x13, 0x53, 0xa1, 0xcf, 0x53, 0x89, 0xc3, 0x90, 0xb1, - 0x50, 0x80, 0x26, 0xb8, 0xb4, 0xe1, 0x30, 0xac, 0xb0, 0x28, 0xd6, 0xee, 0x40, 0xf0, 0x46, 0xae, - 0x3e, 0xe0, 0x62, 0x5a, 0x30, 0x9d, 0x77, 0xfa, 0x05, 0xda, 0xcc, 0xdd, 0x08, 0x74, 0x5b, 0x33, - 0x89, 0xaa, 0x0f, 0x62, 0x12, 0x4d, 0xe4, 0x9b, 0x43, 0x68, 0x09, 0xa6, 0xf7, 0xbc, 0x80, 0xbd, - 0xe8, 0x66, 0x6a, 0x20, 0xea, 0xda, 0xd9, 0x86, 0x89, 0xc6, 0x59, 0xfa, 0xb9, 0xd7, 0x61, 0xf2, - 0xc1, 0xfd, 0x2b, 0xef, 0x57, 0xe1, 0xe7, 0x8e, 0x11, 0x08, 0x7c, 0x27, 0x30, 0xbe, 0x8b, 0xb6, - 0x13, 0x74, 0x7d, 0x9b, 0x06, 0x9c, 0xda, 0xee, 0xf8, 0xfe, 0x01, 0x0b, 0xc8, 0x20, 0xae, 0xa4, - 0x10, 0xda, 0x9d, 0x7a, 0x6b, 0x75, 0x2d, 0x87, 0x06, 0xe7, 0x96, 0x44, 0x9f, 0x05, 0x14, 0x6e, - 0xb1, 0xa4, 0x8f, 0x6e, 0x7a, 0x45, 0x98, 0x7d, 0x82, 0x6a, 0xba, 0x50, 0x6f, 0x74, 0x51, 0xe0, - 0x9c, 0x52, 0x54, 0xd7, 0x63, 0xcf, 0xb4, 0xaa, 0x66, 0x65, 0x74, 0x3d, 0xac, 0x23, 0xb1, 0x49, - 0x8b, 0x2e, 0xc3, 0x09, 0x67, 0xdf, 0xf1, 0x78, 0x7a, 0x17, 0xc9, 0x80, 0x2b, 0x7b, 0xca, 0x87, - 0xb1, 0x94, 0x25, 0xc0, 0xdd, 0x65, 0x50, 0xdb, 0x70, 0x49, 0xf1, 0xf4, 0xce, 0x6f, 0x3c, 0xc0, - 0x0c, 0x2e, 0xed, 0xa4, 0xb2, 0xff, 0xd4, 0xa2, 0xdb, 0x5d, 0xce, 0x13, 0x63, 0xc6, 0x7b, 0xe1, - 0xda, 0xcd, 0x90, 0xee, 0xf7, 0xc2, 0x99, 0xff, 0xd7, 0xa4, 0xe5, 0x53, 0x23, 0x4e, 0xa3, 0x39, - 0x0d, 0xcd, 0x52, 0x5c, 0x87, 0x52, 0x14, 0xe8, 0x36, 0x8c, 0xba, 0xde, 0xbe, 0x17, 0x87, 0x51, - 0x89, 0x77, 0x7a, 0xbb, 0x22, 0x04, 0x53, 0x59, 0x59, 0xe7, 0x4c, 0xb0, 0xe4, 0x66, 0xff, 0x9d, - 0x0a, 0x4c, 0xca, 0xfa, 0xde, 0xea, 0x84, 0x4c, 0x86, 0x0d, 0x6a, 0x13, 0x7f, 0xcb, 0xd8, 0xc4, - 0x17, 0xcb, 0xdd, 0x09, 0x63, 0x8d, 0xea, 0xb9, 0x79, 0x7f, 0x2e, 0xb3, 0x79, 0x5f, 0xec, 0x87, - 0xe9, 0xf1, 0x9b, 0xf6, 0xbf, 0xb1, 0xe0, 0x84, 0x41, 0xff, 0x61, 0xc9, 0x30, 0x9c, 0xd7, 0x97, - 0x1e, 0xbb, 0xc6, 0x77, 0x2b, 0x99, 0x3e, 0xb0, 0xdd, 0xe2, 0x6b, 0x30, 0xb4, 0xeb, 0x44, 0x6e, - 0xb9, 0xec, 0x66, 0x5d, 0xc5, 0x17, 0xae, 0x38, 0x91, 0xcb, 0x65, 0xfe, 0x05, 0xf5, 0x08, 0x8a, - 0x13, 0xb9, 0x85, 0x81, 0xcd, 0xac, 0x52, 0xf4, 0x1a, 0x8c, 0xc4, 0xad, 0xb0, 0xad, 0x82, 0xc9, - 0xce, 0xf1, 0x07, 0x52, 0x28, 0xe4, 0xfe, 0xe1, 0x3c, 0x32, 0xab, 0xa3, 0x60, 0x2c, 0xe8, 0xe7, - 0x08, 0xd4, 0x54, 0xd5, 0x03, 0x0c, 0xa1, 0x7d, 0xbf, 0x0a, 0x27, 0x73, 0xe6, 0x09, 0xfa, 0x79, - 0x63, 0xd4, 0x5e, 0xef, 0x7b, 0xa2, 0x7d, 0xc0, 0x71, 0xfb, 0x79, 0x66, 0x07, 0xb9, 0x62, 0x6e, - 0x3c, 0x40, 0xf5, 0x37, 0x63, 0x92, 0xad, 0x9e, 0x82, 0x8a, 0xab, 0xa7, 0xd5, 0x3e, 0xa2, 0xc1, - 0xa7, 0xd5, 0xa8, 0x76, 0x0e, 0xf0, 0x1b, 0xbf, 0x37, 0x04, 0xa7, 0xf2, 0x2e, 0x9d, 0xa2, 0x5f, - 0xb2, 0x32, 0x09, 0xca, 0xdf, 0xec, 0xff, 0xe6, 0x2a, 0xcf, 0x5a, 0x2e, 0x52, 0x32, 0x2c, 0x98, - 0x29, 0xcb, 0x0b, 0x47, 0x5b, 0xd4, 0xce, 0x2e, 0x23, 0x44, 0x3c, 0xd1, 0xbc, 0x94, 0x07, 0x9f, - 0x79, 0x80, 0xa6, 0x88, 0x5c, 0xf5, 0x71, 0xe6, 0x32, 0x82, 0x04, 0x17, 0x5f, 0x46, 0x90, 0x6d, - 0x98, 0xdb, 0x81, 0x71, 0xad, 0x5f, 0x03, 0x9c, 0x02, 0x1e, 0xdd, 0x90, 0xb4, 0x56, 0x0f, 0x70, - 0x1a, 0xfc, 0x9a, 0x05, 0x99, 0x88, 0x11, 0xe5, 0x6c, 0xb1, 0x7a, 0x3a, 0x5b, 0xce, 0xc1, 0x50, - 0x14, 0xfa, 0x24, 0x9b, 0x3c, 0x1b, 0x87, 0x3e, 0xc1, 0x0c, 0xa3, 0x5e, 0x42, 0xac, 0xf6, 0x7a, - 0x09, 0x91, 0x5a, 0xe1, 0x3e, 0xd9, 0x27, 0xd2, 0xf5, 0xa1, 0x84, 0xf7, 0x35, 0x0a, 0xc4, 0x1c, - 0x67, 0xff, 0x61, 0x15, 0x46, 0xb8, 0x7f, 0x61, 0x80, 0x7b, 0x72, 0x43, 0x98, 0xfa, 0xa5, 0x2e, - 0x81, 0xf2, 0xd6, 0x2c, 0xd4, 0x9d, 0xc4, 0xe1, 0x13, 0x4a, 0xf5, 0x2d, 0x75, 0x0f, 0xa0, 0x05, - 0xa3, 0xf7, 0x73, 0x19, 0x4b, 0x16, 0x38, 0x0f, 0x6d, 0x2c, 0x76, 0x01, 0x62, 0xf6, 0xea, 0x16, - 0xe5, 0x21, 0x52, 0xd0, 0xbd, 0x5c, 0xaa, 0x1d, 0x4d, 0x55, 0x8c, 0xb7, 0x26, 0xcd, 0x7d, 0xa5, - 0x10, 0x58, 0xe3, 0x3d, 0xf7, 0x2a, 0xd4, 0x14, 0x71, 0x91, 0x9a, 0x3f, 0xa1, 0x4f, 0xc9, 0xff, - 0x0f, 0xa6, 0x33, 0x75, 0xf5, 0x65, 0x25, 0xfc, 0xd0, 0x82, 0x13, 0x5d, 0xcf, 0xb7, 0xa2, 0xf7, - 0x2c, 0x38, 0xe5, 0xe7, 0x38, 0x96, 0x8a, 0x23, 0x76, 0x7a, 0xba, 0xa4, 0x94, 0x89, 0x90, 0x87, - 0xc5, 0xb9, 0xb5, 0xc9, 0xa4, 0x9a, 0x95, 0xfc, 0xa4, 0x9a, 0xf6, 0xf7, 0x2c, 0x10, 0x9f, 0x6c, - 0xe0, 0xea, 0xcf, 0xba, 0xa9, 0xfe, 0x7c, 0xac, 0xcc, 0x1c, 0xe8, 0xa1, 0xf7, 0xfc, 0x7b, 0x0b, - 0x10, 0x27, 0xc8, 0x3e, 0xbd, 0xc7, 0xbd, 0x74, 0x9a, 0xb6, 0x9e, 0x4e, 0x1a, 0x85, 0xc1, 0x1a, - 0x55, 0x9f, 0xf9, 0xd5, 0xd5, 0x93, 0x55, 0xe5, 0xde, 0xd3, 0xaf, 0x96, 0x78, 0x4f, 0xff, 0xf7, - 0xab, 0x90, 0x0d, 0xaa, 0x40, 0x5f, 0x86, 0x89, 0x96, 0xd3, 0x76, 0xb6, 0x3c, 0xdf, 0x4b, 0x3c, - 0x12, 0x97, 0x3b, 0x27, 0x5a, 0xd1, 0x4a, 0x08, 0x3f, 0xaf, 0x06, 0xc1, 0x06, 0x47, 0xb4, 0x00, - 0xd0, 0x8e, 0xbc, 0x7d, 0xcf, 0x27, 0x3b, 0x4c, 0xe9, 0x60, 0x71, 0x95, 0xfc, 0xd0, 0x43, 0x42, - 0xb1, 0x46, 0x91, 0x13, 0xc3, 0x57, 0x7d, 0x14, 0x31, 0x7c, 0x43, 0x7d, 0xc6, 0xf0, 0x0d, 0x97, - 0x8a, 0xe1, 0xc3, 0x70, 0x46, 0xba, 0x67, 0xe9, 0xff, 0x35, 0xcf, 0x27, 0x3c, 0x85, 0x9e, 0x88, - 0xbc, 0x9c, 0x3b, 0x3a, 0x9c, 0x3f, 0x83, 0x73, 0x29, 0x70, 0x8f, 0x92, 0x76, 0x07, 0x4e, 0x36, - 0x49, 0xe4, 0xb1, 0x0c, 0x47, 0x6e, 0xba, 0xfc, 0xbe, 0x08, 0xb5, 0x28, 0xb3, 0xf2, 0xfb, 0xbc, - 0x04, 0xa7, 0xe5, 0xc9, 0x90, 0x2b, 0x3d, 0x65, 0x69, 0xff, 0xf5, 0x0a, 0x8c, 0x8a, 0xe0, 0xa5, - 0x01, 0xee, 0x22, 0x57, 0x0d, 0xcb, 0xee, 0xd9, 0xa2, 0x95, 0xcb, 0x9a, 0xd3, 0xd3, 0xa6, 0x6b, - 0x66, 0x6c, 0xba, 0xe7, 0xcb, 0xb1, 0x3b, 0xde, 0x9a, 0xfb, 0xbd, 0x0a, 0x4c, 0x99, 0x41, 0x5c, - 0x03, 0x1c, 0x8e, 0xb7, 0x61, 0x34, 0x16, 0x91, 0x4d, 0x95, 0x32, 0x61, 0x1d, 0xd9, 0x4f, 0x9a, - 0xbe, 0xcd, 0x2f, 0x62, 0x99, 0x24, 0xbb, 0xdc, 0xe0, 0xa9, 0xea, 0xa3, 0x08, 0x9e, 0xb2, 0xff, - 0x2d, 0x13, 0xa9, 0xfa, 0x00, 0x0e, 0x7c, 0x43, 0x78, 0xcb, 0x14, 0xbd, 0x17, 0x4a, 0xcd, 0x03, - 0xd1, 0xb8, 0x1e, 0x1b, 0xc3, 0xbf, 0xb4, 0x60, 0x5c, 0x10, 0x0e, 0xbc, 0xf9, 0x9f, 0x35, 0x9b, - 0xff, 0x74, 0xa9, 0xe6, 0xf7, 0x68, 0xf7, 0xdf, 0xaf, 0xa8, 0x76, 0x37, 0xc4, 0x63, 0xa4, 0x85, - 0xd9, 0x14, 0xc7, 0xda, 0x51, 0x98, 0x84, 0xad, 0xd0, 0x17, 0x9b, 0xfb, 0x13, 0x69, 0xb0, 0x3b, - 0x87, 0xdf, 0xd7, 0x7e, 0x63, 0x45, 0xcd, 0xe2, 0xb8, 0xc3, 0x28, 0x11, 0x9b, 0x53, 0xde, 0x53, - 0xa8, 0x5b, 0xf2, 0xa9, 0x69, 0x0a, 0x13, 0x77, 0x44, 0xfa, 0x7d, 0x62, 0x35, 0x8d, 0x5e, 0x57, - 0x9c, 0xb0, 0xc6, 0x55, 0x86, 0x54, 0xb2, 0x1a, 0x86, 0x4d, 0xd7, 0xe9, 0x75, 0x01, 0xc7, 0x8a, - 0xc2, 0x7e, 0x95, 0x49, 0x57, 0x36, 0x3c, 0xfd, 0x85, 0xa4, 0xff, 0xca, 0x88, 0x1a, 0x58, 0xe6, - 0x1b, 0xb9, 0x0e, 0xc3, 0xb4, 0x8b, 0xd2, 0xfc, 0x2b, 0x27, 0xca, 0x68, 0x13, 0xf4, 0x10, 0xb2, - 0x28, 0x89, 0x31, 0x67, 0x83, 0x48, 0x97, 0xbf, 0xfd, 0xd5, 0xd2, 0xd2, 0xb1, 0x0f, 0x0f, 0x3b, - 0x4b, 0x50, 0xc3, 0xf2, 0x72, 0xac, 0x37, 0xb2, 0x19, 0x30, 0x57, 0x24, 0x02, 0xa7, 0x34, 0x68, - 0x51, 0x68, 0xe9, 0xe6, 0x4b, 0xb5, 0x52, 0x4b, 0x97, 0x43, 0xa2, 0xa9, 0xe9, 0x17, 0x61, 0x5c, - 0xe5, 0x00, 0x6f, 0xf0, 0x54, 0xce, 0x35, 0xae, 0xb9, 0xac, 0xa6, 0x60, 0xac, 0xd3, 0xa0, 0x75, - 0x38, 0xe9, 0xaa, 0x08, 0xda, 0x46, 0x67, 0xcb, 0xf7, 0x5a, 0xb4, 0x28, 0xbf, 0xbd, 0xf2, 0xd8, - 0xd1, 0xe1, 0xfc, 0xc9, 0x7a, 0x37, 0x1a, 0xe7, 0x95, 0x41, 0x9b, 0x30, 0x1d, 0xf3, 0x5c, 0xe7, - 0x32, 0x4c, 0x52, 0xa4, 0x88, 0x7b, 0x4e, 0x3a, 0xfa, 0x9b, 0x26, 0xfa, 0x3e, 0x03, 0x71, 0x89, - 0x20, 0x03, 0x2b, 0xb3, 0x2c, 0xd0, 0x9b, 0x30, 0xe5, 0xeb, 0xcf, 0x35, 0x35, 0x44, 0x20, 0xb1, - 0x0a, 0x7f, 0x30, 0x1e, 0x73, 0x6a, 0xe0, 0x0c, 0x35, 0x7a, 0x1b, 0x66, 0x75, 0x88, 0xb8, 0x3f, - 0xef, 0x04, 0x3b, 0x24, 0x16, 0x49, 0x96, 0x9f, 0x38, 0x3a, 0x9c, 0x9f, 0xbd, 0xd6, 0x83, 0x06, - 0xf7, 0x2c, 0x8d, 0x5e, 0x83, 0x09, 0x39, 0x92, 0x5a, 0x50, 0x71, 0x1a, 0x78, 0xa3, 0xe1, 0xb0, - 0x41, 0xf9, 0xc1, 0xce, 0x33, 0xbe, 0x46, 0x0b, 0x6b, 0xdb, 0x29, 0xfa, 0x0a, 0x4c, 0xe8, 0x6d, - 0x14, 0x32, 0xf2, 0xc5, 0xf2, 0x4f, 0x60, 0x89, 0x6d, 0x59, 0xb5, 0x5c, 0xc7, 0x61, 0x83, 0xb7, - 0x7d, 0x03, 0x46, 0x9a, 0x07, 0x71, 0x2b, 0xf1, 0x1f, 0xd6, 0x23, 0xc5, 0x2d, 0x98, 0xce, 0xbc, - 0xe6, 0xab, 0x9e, 0x85, 0xb6, 0x1e, 0xd6, 0xb3, 0xd0, 0xf6, 0xd7, 0x2d, 0x18, 0xde, 0x74, 0xbc, - 0xe2, 0xe7, 0x09, 0xca, 0x34, 0x19, 0xbd, 0x02, 0x23, 0x64, 0x7b, 0x9b, 0xb4, 0xe4, 0x33, 0xd3, - 0x4f, 0x4a, 0x75, 0x66, 0x95, 0x41, 0xe9, 0xd2, 0x64, 0x95, 0xf1, 0xbf, 0x58, 0x10, 0xdb, 0xff, - 0xc1, 0x02, 0xd8, 0x0c, 0x7d, 0x79, 0x54, 0x53, 0xd0, 0x92, 0xe5, 0xae, 0x87, 0x12, 0x9e, 0xc9, - 0x79, 0x28, 0x01, 0xa5, 0x0c, 0x73, 0x9e, 0x49, 0x50, 0xbd, 0xa9, 0x96, 0xea, 0xcd, 0x50, 0x3f, - 0xbd, 0xf9, 0xa6, 0x05, 0x22, 0x62, 0xa6, 0xc4, 0x4c, 0x70, 0x65, 0x72, 0x73, 0x23, 0x33, 0xc6, - 0x73, 0x65, 0x2e, 0x9f, 0x88, 0x7c, 0x18, 0x6a, 0x6e, 0x1a, 0x59, 0x30, 0x0c, 0xae, 0xd4, 0x84, - 0x1f, 0xe7, 0xe8, 0x0d, 0xa6, 0x3b, 0x16, 0xb7, 0xab, 0xaf, 0x0c, 0x60, 0x2c, 0xf7, 0x37, 0x65, - 0xac, 0x72, 0x41, 0xe9, 0xb9, 0xbf, 0x25, 0x02, 0xa7, 0x34, 0xe8, 0x59, 0x18, 0x8d, 0x3b, 0x5b, - 0x8c, 0x3c, 0x13, 0x3e, 0xd3, 0xe4, 0x60, 0x2c, 0xf1, 0xf6, 0x2f, 0x22, 0x30, 0xba, 0x66, 0xe4, - 0x9d, 0xb2, 0x1e, 0x7a, 0xde, 0xa9, 0x77, 0x60, 0x8c, 0xec, 0xb5, 0x93, 0x83, 0xba, 0x17, 0x95, - 0xcb, 0xfe, 0xb7, 0x2a, 0xa8, 0xbb, 0xb9, 0x4b, 0x0c, 0x56, 0x1c, 0x7b, 0x64, 0x11, 0xab, 0x7e, - 0x28, 0xb2, 0x88, 0x0d, 0xfd, 0xa5, 0x64, 0x11, 0x7b, 0x1b, 0x46, 0x77, 0xbc, 0x04, 0x93, 0x76, - 0x28, 0xee, 0x1b, 0x16, 0x9c, 0x81, 0x5d, 0xe6, 0xc4, 0xdd, 0xa9, 0x81, 0x04, 0x02, 0x4b, 0x76, - 0x68, 0x13, 0x46, 0xb8, 0xdd, 0x21, 0x12, 0x73, 0xbd, 0x58, 0xc6, 0x23, 0xd3, 0x9d, 0xa3, 0x4a, - 0xc4, 0x48, 0x09, 0x5e, 0x32, 0x6b, 0xd8, 0xe8, 0x07, 0xcf, 0x1a, 0xa6, 0x72, 0x7d, 0x8d, 0x3d, - 0xac, 0x5c, 0x5f, 0x46, 0xce, 0xb4, 0xda, 0x20, 0x72, 0xa6, 0x7d, 0xd3, 0x82, 0xd3, 0xed, 0xbc, - 0x7c, 0x83, 0x22, 0x6b, 0xd7, 0xa7, 0x1f, 0x20, 0xff, 0xa2, 0x51, 0x35, 0xbb, 0x03, 0x96, 0x4b, - 0x86, 0xf3, 0x2b, 0x96, 0xc9, 0xd7, 0xc6, 0x3f, 0x78, 0xf2, 0xb5, 0x41, 0xa7, 0xf7, 0x4a, 0x53, - 0xb1, 0x4d, 0x0e, 0x24, 0x15, 0xdb, 0xd4, 0x43, 0x4c, 0xc5, 0xa6, 0x25, 0x51, 0x9b, 0x7e, 0xb8, - 0x49, 0xd4, 0x76, 0x61, 0xdc, 0x0d, 0xef, 0x06, 0x77, 0x9d, 0xc8, 0x5d, 0x6a, 0xac, 0x8b, 0x9c, - 0x5d, 0x05, 0x29, 0x22, 0xea, 0x69, 0x01, 0xa3, 0x06, 0xee, 0x7a, 0x4c, 0x91, 0x58, 0x67, 0x2d, - 0xd2, 0xc9, 0x9d, 0xf8, 0x80, 0xe9, 0xe4, 0x8c, 0xa4, 0x6c, 0x68, 0x10, 0x49, 0xd9, 0xbe, 0xcc, - 0x6e, 0x8c, 0x6f, 0x7b, 0x3b, 0x1b, 0x4e, 0x7b, 0xf6, 0x64, 0x99, 0x1a, 0x56, 0x24, 0x79, 0x77, - 0x0d, 0x0a, 0x85, 0x53, 0xa6, 0xdd, 0x69, 0xdf, 0x4e, 0x3d, 0xea, 0xb4, 0x6f, 0xa7, 0x07, 0x98, - 0xf6, 0xed, 0xcc, 0x23, 0x4d, 0xfb, 0xf6, 0xd8, 0x5f, 0x4a, 0xda, 0xb7, 0xff, 0x1f, 0xce, 0x1e, - 0xff, 0x39, 0xd2, 0x94, 0xc2, 0x8d, 0xd4, 0x65, 0x90, 0x49, 0x29, 0xcc, 0x54, 0x1d, 0x8d, 0xaa, - 0x74, 0xf6, 0xa9, 0xef, 0x59, 0xf0, 0x58, 0x8f, 0x34, 0x2d, 0xa5, 0xef, 0x2e, 0xb4, 0x61, 0xba, - 0x6d, 0x16, 0x2d, 0x7d, 0xbf, 0xc8, 0x48, 0x0b, 0xa3, 0x62, 0xe3, 0x32, 0x08, 0x9c, 0x65, 0xbf, - 0xfc, 0xb1, 0x1f, 0xbf, 0x7f, 0xf6, 0x23, 0x3f, 0x79, 0xff, 0xec, 0x47, 0xfe, 0xf8, 0xfd, 0xb3, - 0x1f, 0xf9, 0x85, 0xa3, 0xb3, 0xd6, 0x8f, 0x8f, 0xce, 0x5a, 0x3f, 0x39, 0x3a, 0x6b, 0xfd, 0xd9, - 0xd1, 0x59, 0xeb, 0x9b, 0x7f, 0x7e, 0xf6, 0x23, 0x9f, 0xaf, 0xec, 0x5f, 0xfc, 0xbf, 0x01, 0x00, - 0x00, 0xff, 0xff, 0xce, 0x08, 0x56, 0x6c, 0x27, 0xb7, 0x00, 0x00, + // 10354 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0xc7, + 0x95, 0x98, 0x67, 0x86, 0x5f, 0xf3, 0xf8, 0xb9, 0xb5, 0x1f, 0xa2, 0x68, 0x69, 0xb9, 0x6a, 0x59, + 0xf2, 0x4a, 0x5a, 0x91, 0xda, 0x95, 0x64, 0xc9, 0x96, 0x23, 0x9b, 0xe4, 0x90, 0xbb, 0xf4, 0x2e, + 0x97, 0xa3, 0x1a, 0xee, 0xae, 0x6c, 0x2b, 0xb6, 0x9b, 0xd3, 0x45, 0xb2, 0xbd, 0x3d, 0xdd, 0xa3, + 0xee, 0x1e, 0xee, 0xd2, 0x8e, 0x81, 0x8b, 0x4f, 0xb8, 0xc3, 0x21, 0x4e, 0xce, 0x97, 0x3b, 0x07, + 0x71, 0xce, 0x97, 0xdc, 0x5d, 0xe2, 0xe4, 0x92, 0x20, 0x1f, 0xce, 0xdd, 0x21, 0x36, 0xe2, 0x3f, + 0x01, 0x92, 0xc0, 0x49, 0x90, 0xc0, 0x87, 0x00, 0xb9, 0x83, 0x0f, 0x61, 0x4e, 0x74, 0x10, 0x20, + 0x7f, 0x82, 0x20, 0x41, 0xfe, 0xf0, 0xc7, 0x21, 0xa8, 0xcf, 0xae, 0xea, 0x19, 0xb2, 0x7b, 0x28, + 0x0e, 0xb9, 0x3e, 0xe4, 0xdf, 0xcc, 0x7b, 0xaf, 0x5e, 0x55, 0xd7, 0xc7, 0xab, 0xf7, 0x5e, 0xbd, + 0x7a, 0x05, 0x57, 0xee, 0xbf, 0x1e, 0xcd, 0xb8, 0xc1, 0xec, 0xfd, 0xd6, 0x3a, 0x09, 0x7d, 0x12, + 0x93, 0x68, 0xb6, 0x79, 0x7f, 0x73, 0xd6, 0x6e, 0xba, 0xb3, 0xdb, 0x57, 0x67, 0x37, 0x89, 0x4f, + 0x42, 0x3b, 0x26, 0xce, 0x4c, 0x33, 0x0c, 0xe2, 0x00, 0x3d, 0xc1, 0xa9, 0x67, 0x12, 0xea, 0x99, + 0xe6, 0xfd, 0xcd, 0x19, 0xbb, 0xe9, 0xce, 0x6c, 0x5f, 0x9d, 0x7a, 0x71, 0xd3, 0x8d, 0xb7, 0x5a, + 0xeb, 0x33, 0xf5, 0xa0, 0x31, 0xbb, 0x19, 0x6c, 0x06, 0xb3, 0xac, 0xd0, 0x7a, 0x6b, 0x83, 0xfd, + 0x63, 0x7f, 0xd8, 0x2f, 0xce, 0x6c, 0xea, 0x15, 0x51, 0xb5, 0xdd, 0x74, 0x1b, 0x76, 0x7d, 0xcb, + 0xf5, 0x49, 0xb8, 0x23, 0x2b, 0x8f, 0x66, 0x1b, 0x24, 0xb6, 0x3b, 0x34, 0x61, 0x6a, 0xf6, 0xa0, + 0x52, 0x61, 0xcb, 0x8f, 0xdd, 0x06, 0x69, 0x2b, 0xf0, 0xb1, 0xac, 0x02, 0x51, 0x7d, 0x8b, 0x34, + 0xec, 0xb6, 0x72, 0xd7, 0x0e, 0xee, 0x99, 0x90, 0x44, 0x41, 0x2b, 0xac, 0xb7, 0xd7, 0x75, 0xb5, + 0x73, 0x99, 0x56, 0xec, 0x7a, 0xb3, 0xae, 0x1f, 0x47, 0x71, 0x98, 0x2e, 0x62, 0xfd, 0x61, 0x01, + 0x2e, 0xcd, 0xdd, 0xab, 0x2d, 0x7a, 0x76, 0x14, 0xbb, 0xf5, 0x79, 0x2f, 0xa8, 0xdf, 0xaf, 0xc5, + 0x41, 0x48, 0xee, 0x06, 0x5e, 0xab, 0x41, 0x6a, 0xac, 0x1e, 0x74, 0x05, 0x86, 0xb6, 0xd9, 0xff, + 0xe5, 0xca, 0x64, 0xe1, 0x52, 0xe1, 0x72, 0x79, 0x7e, 0xe2, 0x47, 0xbb, 0xd3, 0x1f, 0xda, 0xdb, + 0x9d, 0x1e, 0xba, 0x2b, 0xe0, 0x58, 0x51, 0xa0, 0x67, 0x61, 0x60, 0x23, 0x5a, 0xdb, 0x69, 0x92, + 0xc9, 0x22, 0xa3, 0x1d, 0x13, 0xb4, 0x03, 0x4b, 0x35, 0x0a, 0xc5, 0x02, 0x8b, 0x66, 0xa1, 0xdc, + 0xb4, 0xc3, 0xd8, 0x8d, 0xdd, 0xc0, 0x9f, 0x2c, 0x5d, 0x2a, 0x5c, 0xee, 0x9f, 0x3f, 0x23, 0x48, + 0xcb, 0x55, 0x89, 0xc0, 0x09, 0x0d, 0x6d, 0x46, 0x48, 0x6c, 0x67, 0xd5, 0xf7, 0x76, 0x26, 0xfb, + 0x2e, 0x15, 0x2e, 0x0f, 0x25, 0xcd, 0xc0, 0x02, 0x8e, 0x15, 0x85, 0xf5, 0xfd, 0x22, 0x0c, 0xcd, + 0x6d, 0x6c, 0xb8, 0xbe, 0x1b, 0xef, 0xa0, 0x2f, 0xc1, 0x88, 0x1f, 0x38, 0x44, 0xfe, 0x67, 0x5f, + 0x31, 0x7c, 0xed, 0xf9, 0x99, 0xc3, 0x26, 0xd4, 0xcc, 0x6d, 0xad, 0xc4, 0xfc, 0xc4, 0xde, 0xee, + 0xf4, 0x88, 0x0e, 0xc1, 0x06, 0x47, 0xf4, 0x0e, 0x0c, 0x37, 0x03, 0x47, 0x55, 0x50, 0x64, 0x15, + 0x3c, 0x77, 0x78, 0x05, 0xd5, 0xa4, 0xc0, 0xfc, 0xf8, 0xde, 0xee, 0xf4, 0xb0, 0x06, 0xc0, 0x3a, + 0x3b, 0xe4, 0xc1, 0x38, 0xfd, 0xeb, 0xc7, 0xae, 0xaa, 0xa1, 0xc4, 0x6a, 0x78, 0x31, 0xbb, 0x06, + 0xad, 0xd0, 0xfc, 0xd9, 0xbd, 0xdd, 0xe9, 0xf1, 0x14, 0x10, 0xa7, 0x59, 0x5b, 0x5f, 0x81, 0xb1, + 0xb9, 0x38, 0xb6, 0xeb, 0x5b, 0xc4, 0xe1, 0xe3, 0x8b, 0x5e, 0x81, 0x3e, 0xdf, 0x6e, 0x10, 0x31, + 0xfa, 0x97, 0x44, 0xb7, 0xf7, 0xdd, 0xb6, 0x1b, 0x64, 0x7f, 0x77, 0x7a, 0xe2, 0x8e, 0xef, 0xbe, + 0xdb, 0x12, 0x73, 0x86, 0xc2, 0x30, 0xa3, 0x46, 0xd7, 0x00, 0x1c, 0xb2, 0xed, 0xd6, 0x49, 0xd5, + 0x8e, 0xb7, 0xc4, 0x6c, 0x40, 0xa2, 0x2c, 0x54, 0x14, 0x06, 0x6b, 0x54, 0xd6, 0xd7, 0x0b, 0x50, + 0x9e, 0xdb, 0x0e, 0x5c, 0xa7, 0x1a, 0x38, 0x11, 0x6a, 0xc1, 0x78, 0x33, 0x24, 0x1b, 0x24, 0x54, + 0xa0, 0xc9, 0xc2, 0xa5, 0xd2, 0xe5, 0xe1, 0x6b, 0xd7, 0x32, 0xbe, 0xdb, 0x2c, 0xb4, 0xe8, 0xc7, + 0xe1, 0xce, 0xfc, 0x63, 0xa2, 0xea, 0xf1, 0x14, 0x16, 0xa7, 0xeb, 0xb0, 0x7e, 0xa5, 0x08, 0xe7, + 0xe7, 0xbe, 0xd2, 0x0a, 0x49, 0xc5, 0x8d, 0xee, 0xa7, 0x97, 0x82, 0xe3, 0x46, 0xf7, 0x6f, 0x27, + 0x9d, 0xa1, 0xe6, 0x60, 0x45, 0xc0, 0xb1, 0xa2, 0x40, 0x2f, 0xc2, 0x20, 0xfd, 0x7d, 0x07, 0x2f, + 0x8b, 0xaf, 0x3f, 0x2b, 0x88, 0x87, 0x2b, 0x76, 0x6c, 0x57, 0x38, 0x0a, 0x4b, 0x1a, 0xb4, 0x02, + 0xc3, 0x75, 0x26, 0x23, 0x36, 0x57, 0x02, 0x87, 0xb0, 0x11, 0x2e, 0xcf, 0xbf, 0x40, 0xc9, 0x17, + 0x12, 0xf0, 0xfe, 0xee, 0xf4, 0x24, 0x6f, 0x9b, 0x60, 0xa1, 0xe1, 0xb0, 0x5e, 0x1e, 0x59, 0x6a, + 0x21, 0xf6, 0x31, 0x4e, 0xd0, 0x61, 0x11, 0x5e, 0xd6, 0xd6, 0x54, 0x3f, 0x5b, 0x53, 0x23, 0x07, + 0xac, 0xa7, 0x7f, 0x50, 0x10, 0x7d, 0xb2, 0xe4, 0x7a, 0xa6, 0x78, 0xb8, 0x06, 0x10, 0x91, 0x7a, + 0x48, 0x62, 0xad, 0x57, 0xd4, 0x30, 0xd7, 0x14, 0x06, 0x6b, 0x54, 0x74, 0xf1, 0x47, 0x5b, 0x76, + 0xc8, 0x66, 0x8b, 0xe8, 0x1b, 0xb5, 0xf8, 0x6b, 0x12, 0x81, 0x13, 0x1a, 0x63, 0xf1, 0x97, 0x32, + 0x17, 0xff, 0x5f, 0x2f, 0xc2, 0xe0, 0xbc, 0xeb, 0x3b, 0xae, 0xbf, 0x89, 0xde, 0x86, 0x21, 0x2a, + 0xcd, 0x1d, 0x3b, 0xb6, 0xc5, 0xba, 0xbf, 0x7c, 0xf8, 0xe4, 0x59, 0x5d, 0xff, 0x32, 0xa9, 0xc7, + 0x2b, 0x24, 0xb6, 0x93, 0xcf, 0x48, 0x60, 0x58, 0x71, 0x43, 0x77, 0x60, 0x20, 0xb6, 0xc3, 0x4d, + 0x12, 0x8b, 0xe5, 0xfe, 0x62, 0x1e, 0xbe, 0x98, 0x4e, 0x35, 0xe2, 0xd7, 0x49, 0x22, 0x18, 0xd7, + 0x18, 0x13, 0x2c, 0x98, 0xa1, 0x77, 0x60, 0x28, 0xde, 0x69, 0x12, 0x5a, 0x99, 0x58, 0xe5, 0x33, + 0x92, 0xb1, 0xbe, 0x8b, 0x48, 0xd6, 0xd1, 0x0c, 0x6d, 0x10, 0xad, 0x60, 0x4d, 0x94, 0x4a, 0xba, + 0x46, 0x42, 0xb0, 0xe2, 0x68, 0xd5, 0x61, 0x64, 0xc1, 0x6e, 0xda, 0xeb, 0xae, 0xe7, 0xc6, 0x2e, + 0x89, 0xd0, 0x47, 0xa1, 0x64, 0x3b, 0x0e, 0x5b, 0x56, 0xe5, 0xf9, 0xf3, 0x7b, 0xbb, 0xd3, 0xa5, + 0x39, 0xc7, 0xd9, 0xdf, 0x9d, 0x06, 0x45, 0xb5, 0x83, 0x29, 0x05, 0x7a, 0x1e, 0xfa, 0x9c, 0x30, + 0x68, 0x4e, 0x16, 0x19, 0xe5, 0x05, 0xba, 0xfe, 0x2b, 0x61, 0xd0, 0x4c, 0x91, 0x32, 0x1a, 0xeb, + 0x5f, 0x17, 0x01, 0x2d, 0x90, 0xe6, 0xd6, 0x52, 0xcd, 0x98, 0x29, 0x97, 0x61, 0xa8, 0x11, 0xf8, + 0x6e, 0x1c, 0x84, 0x91, 0xa8, 0x90, 0xcd, 0xb6, 0x15, 0x01, 0xc3, 0x0a, 0x8b, 0x2e, 0x41, 0x5f, + 0x33, 0x11, 0x1a, 0x23, 0x52, 0xe0, 0x30, 0x71, 0xc1, 0x30, 0x94, 0xa2, 0x15, 0x91, 0x50, 0xac, + 0x12, 0x45, 0x71, 0x27, 0x22, 0x21, 0x66, 0x98, 0x64, 0x5e, 0xd2, 0x19, 0x2b, 0xd6, 0x40, 0x6a, + 0x5e, 0x52, 0x0c, 0xd6, 0xa8, 0xd0, 0x17, 0xa1, 0xcc, 0xff, 0x61, 0xb2, 0xc1, 0x16, 0x44, 0xa6, + 0xa8, 0xb9, 0x15, 0xd4, 0x6d, 0x2f, 0x3d, 0xb4, 0xa3, 0x6c, 0x1e, 0x4b, 0x46, 0x38, 0xe1, 0x69, + 0xcc, 0xe3, 0x81, 0xec, 0x79, 0x5c, 0x00, 0xb4, 0xe0, 0xfa, 0x0e, 0x09, 0x4f, 0x60, 0x43, 0xee, + 0x6e, 0x89, 0xfd, 0x31, 0x6d, 0x5a, 0xd0, 0x68, 0x06, 0x3e, 0xf1, 0xe3, 0x85, 0xc0, 0x77, 0xf8, + 0x26, 0xfd, 0x09, 0xe8, 0xa3, 0x53, 0x4d, 0x34, 0xeb, 0x59, 0x39, 0x2c, 0xb4, 0x82, 0xfd, 0xdd, + 0xe9, 0x0b, 0xed, 0x25, 0x58, 0x13, 0x58, 0x19, 0xf4, 0x71, 0x18, 0x88, 0x62, 0x3b, 0x6e, 0x45, + 0xa2, 0xa1, 0x4f, 0xc9, 0x86, 0xd6, 0x18, 0x74, 0x7f, 0x77, 0x7a, 0x5c, 0x15, 0xe3, 0x20, 0x2c, + 0x0a, 0xa0, 0xe7, 0x60, 0xb0, 0x41, 0xa2, 0xc8, 0xde, 0x94, 0x62, 0x73, 0x5c, 0x94, 0x1d, 0x5c, + 0xe1, 0x60, 0x2c, 0xf1, 0xe8, 0x69, 0xe8, 0x27, 0x61, 0x18, 0x84, 0x62, 0x46, 0x8c, 0x0a, 0xc2, + 0xfe, 0x45, 0x0a, 0xc4, 0x1c, 0x67, 0xfd, 0x93, 0x22, 0x8c, 0xab, 0xb6, 0xf2, 0xba, 0x7a, 0x28, + 0x48, 0x1c, 0x80, 0xba, 0xfc, 0xb0, 0x88, 0x2d, 0xb0, 0xe1, 0x6b, 0x2f, 0x1d, 0xce, 0xbb, 0xbd, + 0x23, 0x93, 0x3a, 0x14, 0x28, 0xc2, 0x1a, 0xdf, 0x1e, 0xcb, 0x95, 0xef, 0x16, 0xe1, 0x6c, 0xaa, + 0xc7, 0x6e, 0xb9, 0x11, 0x93, 0x66, 0xa9, 0x5e, 0xcb, 0x59, 0x2b, 0x2d, 0x6d, 0xd6, 0x2a, 0x21, + 0x5a, 0xcf, 0x61, 0xe8, 0x77, 0x63, 0xd2, 0x90, 0x9d, 0xf6, 0x62, 0xce, 0x4e, 0xe3, 0xed, 0x4b, + 0xc6, 0x7e, 0x99, 0xf2, 0xc0, 0x9c, 0x55, 0x8f, 0xfb, 0xe9, 0x0f, 0x8a, 0x50, 0x5e, 0x08, 0xfc, + 0x0d, 0x77, 0x73, 0xc5, 0x6e, 0xf6, 0x70, 0x4e, 0xd5, 0xa0, 0x8f, 0x71, 0xe5, 0x1d, 0x73, 0x35, + 0xab, 0x63, 0x44, 0x83, 0x66, 0xa8, 0x56, 0xc1, 0xd5, 0x25, 0x25, 0x52, 0x29, 0x08, 0x33, 0x66, + 0xbd, 0xed, 0x9a, 0xa9, 0xd7, 0xa0, 0xac, 0xaa, 0x47, 0x13, 0x50, 0xba, 0x4f, 0xb8, 0xa6, 0x5e, + 0xc6, 0xf4, 0x27, 0x3a, 0x07, 0xfd, 0xdb, 0xb6, 0xd7, 0x12, 0x62, 0x0c, 0xf3, 0x3f, 0x9f, 0x28, + 0xbe, 0x5e, 0xb0, 0x7e, 0x9d, 0xc9, 0x22, 0xf1, 0x09, 0x8b, 0xfe, 0xb6, 0x10, 0x93, 0xef, 0x15, + 0xe0, 0x9c, 0xd7, 0x41, 0x3c, 0x8b, 0x9e, 0x3e, 0x8a, 0x60, 0x7f, 0x42, 0x34, 0xff, 0x5c, 0x27, + 0x2c, 0xee, 0x58, 0x9b, 0xf5, 0xc3, 0x02, 0x9c, 0x53, 0xad, 0xbb, 0x49, 0x76, 0x6a, 0xc4, 0x23, + 0xf5, 0x38, 0x08, 0x1f, 0x91, 0xf6, 0xa1, 0x27, 0x79, 0x4f, 0x73, 0x99, 0x3b, 0x2c, 0x18, 0x94, + 0x6e, 0x92, 0x1d, 0xd6, 0xed, 0xd6, 0xb7, 0x8b, 0x30, 0xaa, 0x9a, 0x7f, 0x02, 0x4b, 0xfa, 0x96, + 0xb9, 0xa4, 0x3f, 0x9a, 0x73, 0xe6, 0x9e, 0xca, 0x62, 0xfe, 0x5b, 0x45, 0x38, 0xaf, 0x5a, 0x60, + 0x6c, 0xd1, 0x8f, 0xc8, 0xd8, 0x76, 0xd7, 0x99, 0x37, 0xc9, 0xce, 0x5a, 0x40, 0x75, 0xac, 0x03, + 0x3a, 0xf3, 0x2a, 0x0c, 0x3b, 0x64, 0xc3, 0x6e, 0x79, 0xb1, 0x32, 0x50, 0xfa, 0xb9, 0xe5, 0x5a, + 0x49, 0xc0, 0x58, 0xa7, 0xb1, 0xbe, 0x0b, 0x4c, 0xdc, 0xc5, 0x36, 0xed, 0x66, 0xaa, 0xb4, 0x69, + 0x76, 0xe4, 0x88, 0x6e, 0x47, 0x0a, 0x9b, 0xf1, 0x69, 0xe8, 0x77, 0x1b, 0x74, 0x1b, 0x2f, 0x9a, + 0xbb, 0xf3, 0x32, 0x05, 0x62, 0x8e, 0x43, 0xcf, 0xc0, 0x60, 0x3d, 0x68, 0x34, 0x6c, 0xdf, 0x99, + 0x2c, 0x31, 0x35, 0x72, 0x98, 0xee, 0xf4, 0x0b, 0x1c, 0x84, 0x25, 0x0e, 0x3d, 0x01, 0x7d, 0x76, + 0xb8, 0x19, 0x4d, 0xf6, 0x31, 0x9a, 0x21, 0x5a, 0xd3, 0x5c, 0xb8, 0x19, 0x61, 0x06, 0xa5, 0xea, + 0xe1, 0x83, 0x20, 0xbc, 0xef, 0xfa, 0x9b, 0x15, 0x37, 0x64, 0xba, 0x9e, 0xa6, 0x1e, 0xde, 0x53, + 0x18, 0xac, 0x51, 0xa1, 0x2a, 0xf4, 0x37, 0x83, 0x30, 0x8e, 0x26, 0x07, 0x58, 0x77, 0xbe, 0x90, + 0x39, 0x37, 0xf9, 0x77, 0x57, 0x83, 0x30, 0x4e, 0x3e, 0x85, 0xfe, 0x8b, 0x30, 0x67, 0x84, 0x16, + 0xa0, 0x44, 0xfc, 0xed, 0xc9, 0x41, 0xc6, 0xef, 0x23, 0x87, 0xf3, 0x5b, 0xf4, 0xb7, 0xef, 0xda, + 0x61, 0xb2, 0x44, 0x17, 0xfd, 0x6d, 0x4c, 0x4b, 0xa3, 0x3a, 0x94, 0xa5, 0x53, 0x28, 0x9a, 0x1c, + 0xca, 0x33, 0xc1, 0xb0, 0x20, 0xc7, 0xe4, 0xdd, 0x96, 0x1b, 0x92, 0x06, 0xf1, 0xe3, 0x28, 0xb1, + 0xc0, 0x24, 0x36, 0xc2, 0x09, 0x5f, 0x54, 0x87, 0x11, 0xae, 0x52, 0xae, 0x04, 0x2d, 0x3f, 0x8e, + 0x26, 0xcb, 0xac, 0xc9, 0x19, 0x2e, 0x8e, 0xbb, 0x49, 0x89, 0xf9, 0x73, 0x82, 0xfd, 0x88, 0x06, + 0x8c, 0xb0, 0xc1, 0x14, 0xbd, 0x03, 0xa3, 0x9e, 0xbb, 0x4d, 0x7c, 0x12, 0x45, 0xd5, 0x30, 0x58, + 0x27, 0x93, 0xc0, 0xbe, 0xe6, 0xe9, 0x2c, 0x73, 0x3f, 0x58, 0x27, 0xf3, 0x67, 0xf6, 0x76, 0xa7, + 0x47, 0x6f, 0xe9, 0xa5, 0xb1, 0xc9, 0x0c, 0x7d, 0x11, 0xc6, 0xa8, 0xfe, 0xea, 0x26, 0xec, 0x87, + 0xf3, 0xb3, 0x47, 0x7b, 0xbb, 0xd3, 0x63, 0xd8, 0x28, 0x8e, 0x53, 0xec, 0xd0, 0x1a, 0x94, 0x3d, + 0x77, 0x83, 0xd4, 0x77, 0xea, 0x1e, 0x99, 0x1c, 0x61, 0xbc, 0x33, 0x96, 0xdc, 0x2d, 0x49, 0xce, + 0x6d, 0x06, 0xf5, 0x17, 0x27, 0x8c, 0xd0, 0x5d, 0xb8, 0x10, 0x93, 0xb0, 0xe1, 0xfa, 0x36, 0x55, + 0xe4, 0x84, 0x42, 0xcb, 0x7c, 0x2a, 0xa3, 0x6c, 0xd6, 0x5e, 0x14, 0x1d, 0x7b, 0x61, 0xad, 0x23, + 0x15, 0x3e, 0xa0, 0x34, 0x5a, 0x85, 0x71, 0xb6, 0x9e, 0xaa, 0x2d, 0xcf, 0xab, 0x06, 0x9e, 0x5b, + 0xdf, 0x99, 0x1c, 0x63, 0x0c, 0x9f, 0x91, 0x9e, 0x92, 0x65, 0x13, 0x4d, 0x6d, 0xbd, 0xe4, 0x1f, + 0x4e, 0x97, 0x46, 0x1e, 0x8c, 0x47, 0xa4, 0xde, 0x0a, 0xdd, 0x78, 0x87, 0xce, 0x7d, 0xf2, 0x30, + 0x9e, 0x1c, 0xcf, 0x63, 0x19, 0xd7, 0xcc, 0x42, 0xdc, 0x4d, 0x95, 0x02, 0xe2, 0x34, 0x6b, 0x2a, + 0x2a, 0xa2, 0xd8, 0x71, 0xfd, 0xc9, 0x09, 0x66, 0xac, 0xa8, 0xf5, 0x55, 0xa3, 0x40, 0xcc, 0x71, + 0xcc, 0xd1, 0x40, 0x7f, 0xac, 0x52, 0xd9, 0x7b, 0x86, 0x11, 0x26, 0x8e, 0x06, 0x89, 0xc0, 0x09, + 0x0d, 0xdd, 0x0d, 0xe3, 0x78, 0x67, 0x12, 0x31, 0x52, 0xb5, 0xd4, 0xd6, 0xd6, 0x3e, 0x8b, 0x29, + 0x1c, 0xdd, 0x85, 0x41, 0xe2, 0x6f, 0x2f, 0x85, 0x41, 0x63, 0xf2, 0x6c, 0x1e, 0x19, 0xb0, 0xc8, + 0x89, 0xf9, 0xae, 0x90, 0x58, 0x25, 0x02, 0x8c, 0x25, 0x33, 0x6b, 0x1d, 0xc6, 0x94, 0xb8, 0x60, + 0xbd, 0x8e, 0xa6, 0xa1, 0x9f, 0x4a, 0x44, 0x69, 0x29, 0x97, 0xe9, 0xa7, 0x51, 0x41, 0x19, 0x61, + 0x0e, 0x67, 0x9f, 0xe6, 0x7e, 0x85, 0xcc, 0xef, 0xc4, 0x84, 0x5b, 0x4c, 0x25, 0xed, 0xd3, 0x24, + 0x02, 0x27, 0x34, 0xd6, 0x9f, 0x16, 0xd8, 0x4e, 0x9e, 0xc8, 0xa4, 0x1c, 0xf2, 0xf8, 0x0a, 0x0c, + 0x6d, 0x05, 0x51, 0x4c, 0xa9, 0x59, 0x1d, 0xfd, 0xc9, 0x7e, 0x78, 0x43, 0xc0, 0xb1, 0xa2, 0x40, + 0x6f, 0xc0, 0x68, 0x5d, 0xaf, 0x40, 0x6c, 0x11, 0xe7, 0x45, 0x11, 0xb3, 0x76, 0x6c, 0xd2, 0xa2, + 0xd7, 0x61, 0x88, 0x39, 0xa5, 0xeb, 0x81, 0x27, 0x6c, 0x33, 0xb9, 0xe3, 0x0d, 0x55, 0x05, 0x7c, + 0x5f, 0xfb, 0x8d, 0x15, 0x35, 0xb5, 0x70, 0x69, 0x13, 0x96, 0xab, 0x42, 0x8c, 0x2b, 0x0b, 0xf7, + 0x06, 0x83, 0x62, 0x81, 0xb5, 0xfe, 0x69, 0x51, 0xeb, 0x65, 0x6a, 0x03, 0x10, 0xf4, 0x39, 0x18, + 0x7c, 0x60, 0xbb, 0xb1, 0xeb, 0x6f, 0x8a, 0x9d, 0xf9, 0xe5, 0x9c, 0x32, 0x9d, 0x15, 0xbf, 0xc7, + 0x8b, 0xf2, 0xfd, 0x47, 0xfc, 0xc1, 0x92, 0x21, 0xe5, 0x1d, 0xb6, 0x7c, 0x9f, 0xf2, 0x2e, 0x76, + 0xcf, 0x1b, 0xf3, 0xa2, 0x9c, 0xb7, 0xf8, 0x83, 0x25, 0x43, 0xb4, 0x01, 0x20, 0x57, 0x35, 0x71, + 0x84, 0x66, 0xf3, 0xb1, 0x6e, 0xd8, 0xaf, 0xa9, 0xd2, 0xf3, 0x63, 0x74, 0xc7, 0x4b, 0xfe, 0x63, + 0x8d, 0xb3, 0x15, 0x33, 0x05, 0xa7, 0xbd, 0x59, 0xe8, 0xf3, 0x74, 0x61, 0xd9, 0x61, 0x4c, 0x9c, + 0xb9, 0x38, 0xed, 0x4f, 0xcf, 0xd0, 0xac, 0xdc, 0x06, 0xd1, 0x17, 0xa1, 0x60, 0x82, 0x13, 0x7e, + 0xd6, 0x3f, 0x2f, 0xc1, 0xe4, 0x41, 0xcd, 0xa5, 0x53, 0x92, 0x3c, 0x74, 0xe3, 0x05, 0xaa, 0x82, + 0x14, 0xcc, 0x29, 0xb9, 0x28, 0xe0, 0x58, 0x51, 0xd0, 0xb9, 0x11, 0xb9, 0x9b, 0xbe, 0xed, 0x89, + 0xe9, 0xab, 0xe6, 0x46, 0x8d, 0x41, 0xb1, 0xc0, 0x52, 0xba, 0x90, 0xd8, 0x91, 0x38, 0x8b, 0xd0, + 0xe6, 0x10, 0x66, 0x50, 0x2c, 0xb0, 0xba, 0xa7, 0xa1, 0x2f, 0xc3, 0xd3, 0x60, 0x74, 0x51, 0xff, + 0xf1, 0x76, 0x11, 0xfa, 0x02, 0xc0, 0x86, 0xeb, 0xbb, 0xd1, 0x16, 0xe3, 0x3e, 0xd0, 0x35, 0x77, + 0xa5, 0xea, 0x2c, 0x29, 0x2e, 0x58, 0xe3, 0x88, 0x5e, 0x85, 0x61, 0xb5, 0x3c, 0x97, 0x2b, 0x93, + 0x83, 0xa6, 0xff, 0x3a, 0x91, 0x55, 0x15, 0xac, 0xd3, 0x59, 0x5f, 0x4e, 0xcf, 0x17, 0xb1, 0x2a, + 0xb4, 0xfe, 0x2d, 0xe4, 0xed, 0xdf, 0xe2, 0xe1, 0xfd, 0x6b, 0xfd, 0xe7, 0x12, 0x8c, 0x1b, 0x95, + 0xb5, 0xa2, 0x1c, 0x12, 0xed, 0x2d, 0xba, 0x6d, 0xd8, 0x31, 0x11, 0x6b, 0xf2, 0x4a, 0x37, 0x8b, + 0x46, 0xdf, 0x64, 0xe8, 0x5a, 0xe0, 0x9c, 0xd0, 0x16, 0x94, 0x3d, 0x3b, 0x62, 0x5e, 0x05, 0x22, + 0xd6, 0x62, 0x77, 0x6c, 0x13, 0xd5, 0xde, 0x8e, 0x62, 0x6d, 0x17, 0xe7, 0xb5, 0x24, 0xcc, 0xe9, + 0x9e, 0x47, 0x55, 0x0e, 0x79, 0x00, 0xa6, 0x9a, 0x43, 0xf5, 0x92, 0x1d, 0xcc, 0x71, 0xe8, 0x75, + 0x18, 0x09, 0x09, 0x9b, 0x29, 0x0b, 0x54, 0xab, 0x62, 0x53, 0xaf, 0x3f, 0x51, 0xbf, 0xb0, 0x86, + 0xc3, 0x06, 0x65, 0xa2, 0x7d, 0x0f, 0x1c, 0xa2, 0x7d, 0x3f, 0x07, 0x83, 0xec, 0x87, 0x9a, 0x15, + 0x6a, 0x84, 0x96, 0x39, 0x18, 0x4b, 0x7c, 0x7a, 0x12, 0x0d, 0xe5, 0x9c, 0x44, 0xcf, 0xc3, 0x58, + 0xc5, 0x26, 0x8d, 0xc0, 0x5f, 0xf4, 0x9d, 0x66, 0xe0, 0xfa, 0x31, 0x9a, 0x84, 0x3e, 0xb6, 0x9f, + 0xf0, 0xf5, 0xde, 0x47, 0x39, 0xe0, 0x3e, 0xaa, 0x41, 0x5b, 0xff, 0xa5, 0x08, 0xa3, 0x15, 0xe2, + 0x91, 0x98, 0xac, 0x36, 0xb9, 0x9f, 0x6b, 0x09, 0xd0, 0x66, 0x68, 0xd7, 0x49, 0x95, 0x84, 0x6e, + 0xe0, 0xd4, 0x48, 0x3d, 0xf0, 0xd9, 0xb9, 0x11, 0xdd, 0x20, 0x2f, 0xec, 0xed, 0x4e, 0xa3, 0xeb, + 0x6d, 0x58, 0xdc, 0xa1, 0x04, 0x72, 0x60, 0xb4, 0x19, 0x12, 0xc3, 0x31, 0x57, 0xc8, 0xde, 0xf0, + 0xab, 0x7a, 0x11, 0xae, 0x93, 0x1a, 0x20, 0x6c, 0x32, 0x45, 0x9f, 0x86, 0x89, 0x20, 0x6c, 0x6e, + 0xd9, 0x7e, 0x85, 0x34, 0x89, 0xef, 0x50, 0x45, 0x5c, 0x78, 0x5f, 0xcf, 0xed, 0xed, 0x4e, 0x4f, + 0xac, 0xa6, 0x70, 0xb8, 0x8d, 0xda, 0x30, 0x71, 0xfb, 0x8e, 0xdd, 0xc4, 0xfd, 0x87, 0x45, 0x38, + 0x5f, 0x09, 0x1e, 0xf8, 0x0f, 0xec, 0xd0, 0x99, 0xab, 0x2e, 0x73, 0xdd, 0x9d, 0xf9, 0xca, 0xa5, + 0x8f, 0xbe, 0x70, 0xa0, 0x8f, 0xfe, 0xf3, 0x30, 0xb4, 0xe1, 0x12, 0xcf, 0xc1, 0x64, 0x43, 0x74, + 0xde, 0xd5, 0x3c, 0xde, 0xad, 0x25, 0x5a, 0x46, 0x7a, 0x49, 0xf8, 0x11, 0xc1, 0x92, 0x60, 0x83, + 0x15, 0x43, 0xd4, 0x82, 0x09, 0x69, 0x9c, 0x48, 0xac, 0x58, 0x7b, 0x2f, 0xe7, 0xb3, 0x7d, 0xcc, + 0x6a, 0x58, 0x6f, 0xe3, 0x14, 0x43, 0xdc, 0x56, 0x05, 0x35, 0x2a, 0x1b, 0x74, 0xe7, 0xe9, 0x63, + 0x33, 0x91, 0x19, 0x95, 0xcc, 0xea, 0x65, 0x50, 0xeb, 0xef, 0x16, 0xe0, 0xb1, 0xb6, 0xde, 0x12, + 0x2e, 0x81, 0xb7, 0xa5, 0x2d, 0xce, 0x8f, 0x30, 0x33, 0x5a, 0xd9, 0xb1, 0xcf, 0xf3, 0xd9, 0xe5, + 0xc5, 0x1c, 0x76, 0xf9, 0x2a, 0x9c, 0x5b, 0x6c, 0x34, 0xe3, 0x9d, 0x8a, 0x6b, 0x1e, 0x2d, 0xbc, + 0x06, 0x03, 0x0d, 0xe2, 0xb8, 0xad, 0x86, 0x18, 0xd6, 0x69, 0x29, 0xa6, 0x57, 0x18, 0x74, 0x7f, + 0x77, 0x7a, 0xb4, 0x16, 0x07, 0xa1, 0xbd, 0x49, 0x38, 0x00, 0x0b, 0x72, 0xeb, 0xfd, 0x02, 0x8c, + 0xcb, 0xe5, 0x3a, 0xe7, 0x38, 0x21, 0x89, 0x22, 0x34, 0x05, 0x45, 0xb7, 0x29, 0x18, 0x81, 0x60, + 0x54, 0x5c, 0xae, 0xe2, 0xa2, 0xdb, 0x44, 0x9f, 0x83, 0x32, 0x3f, 0xef, 0x4a, 0x26, 0x47, 0x97, + 0xe7, 0x67, 0xcc, 0x60, 0x5a, 0x93, 0x3c, 0x70, 0xc2, 0x4e, 0x2a, 0xad, 0x6c, 0x23, 0x28, 0x99, + 0xe7, 0x23, 0x37, 0x04, 0x1c, 0x2b, 0x0a, 0x74, 0x19, 0x86, 0xfc, 0xc0, 0xe1, 0x47, 0x91, 0x7c, + 0x4b, 0x67, 0x53, 0xee, 0xb6, 0x80, 0x61, 0x85, 0xb5, 0xbe, 0x51, 0x80, 0x11, 0xf9, 0x8d, 0x39, + 0xf5, 0x67, 0xba, 0x48, 0x12, 0xdd, 0x39, 0x59, 0x24, 0x54, 0xff, 0x65, 0x18, 0x43, 0xed, 0x2d, + 0x75, 0xa3, 0xf6, 0x5a, 0x3f, 0x28, 0xc2, 0x98, 0x6c, 0x4e, 0xad, 0xb5, 0x1e, 0x11, 0xaa, 0x15, + 0x94, 0x6d, 0xde, 0xf9, 0x44, 0xce, 0xb3, 0x17, 0xb3, 0x0c, 0x14, 0x63, 0xcc, 0x12, 0xad, 0x63, + 0x4e, 0xf2, 0xc1, 0x09, 0x4b, 0xb4, 0x0d, 0x67, 0xfc, 0x20, 0x66, 0xbb, 0x8d, 0xc2, 0xe7, 0xf3, + 0xbd, 0xa7, 0xeb, 0x79, 0x5c, 0xd4, 0x73, 0xe6, 0x76, 0x9a, 0x1f, 0x6e, 0xaf, 0x02, 0xad, 0x4a, + 0xc7, 0x4b, 0x89, 0xd5, 0xf5, 0x7c, 0xbe, 0xba, 0x0e, 0xf6, 0xbb, 0x58, 0xdf, 0x29, 0x42, 0x59, + 0x92, 0xf5, 0xf2, 0x68, 0xe7, 0x1e, 0x0c, 0x46, 0x6c, 0x68, 0x64, 0x37, 0x5d, 0xc9, 0xd7, 0x74, + 0x3e, 0x9e, 0xc9, 0xd6, 0xca, 0xff, 0x47, 0x58, 0x72, 0xeb, 0xb1, 0x63, 0xf3, 0xdb, 0x45, 0x18, + 0x55, 0xdd, 0xf3, 0xc8, 0x39, 0x7d, 0x55, 0xcb, 0x4e, 0xc7, 0xe9, 0x5b, 0xa0, 0x7d, 0xa3, 0x99, + 0xf5, 0x54, 0xb7, 0x6d, 0x86, 0x64, 0xc3, 0x7d, 0x98, 0xd6, 0x6d, 0xab, 0x0c, 0x8a, 0x05, 0x16, + 0x6d, 0xc0, 0x48, 0x5d, 0x7a, 0x8b, 0x13, 0xb1, 0xf7, 0x52, 0x4e, 0x0f, 0xb7, 0x3a, 0xd8, 0xe0, + 0xc1, 0x48, 0x0b, 0x1a, 0x27, 0x6c, 0xf0, 0xb5, 0x7e, 0xa7, 0x00, 0x03, 0xdc, 0x59, 0x98, 0xcf, + 0xe3, 0xaa, 0x1d, 0xab, 0x24, 0x3d, 0x7a, 0x97, 0x02, 0xc5, 0x29, 0x0b, 0xba, 0x07, 0x65, 0xf6, + 0x83, 0x39, 0x3e, 0x4a, 0x79, 0xa2, 0xa7, 0x78, 0xfd, 0xa2, 0xc1, 0x4c, 0x54, 0xdf, 0x95, 0x0c, + 0x70, 0xc2, 0xcb, 0xfa, 0x61, 0x89, 0x8a, 0xd4, 0x84, 0xd4, 0xd0, 0x19, 0x0a, 0x27, 0xa1, 0x33, + 0x14, 0x7b, 0xaf, 0x33, 0xbc, 0x0b, 0xe3, 0x75, 0xed, 0x00, 0x28, 0xd1, 0x54, 0xae, 0xe5, 0x1c, + 0x7a, 0xed, 0xd4, 0x88, 0x3b, 0xc7, 0x16, 0x4c, 0x76, 0x38, 0xcd, 0x1f, 0x11, 0x18, 0xe1, 0x41, + 0x07, 0xa2, 0x3e, 0xae, 0x18, 0xce, 0x66, 0xfa, 0xe1, 0x78, 0x09, 0x55, 0x19, 0x9b, 0x69, 0x35, + 0x8d, 0x11, 0x36, 0xd8, 0x5a, 0xff, 0xab, 0x1f, 0xfa, 0x17, 0xb7, 0x89, 0x1f, 0xf7, 0x50, 0x84, + 0x36, 0x60, 0xcc, 0xf5, 0xb7, 0x03, 0x6f, 0x9b, 0x38, 0x1c, 0x7f, 0x34, 0x75, 0xe1, 0x82, 0xa8, + 0x64, 0x6c, 0xd9, 0x60, 0x86, 0x53, 0xcc, 0x7b, 0xe1, 0x08, 0x78, 0x0b, 0x06, 0xf8, 0x8c, 0x10, + 0x5e, 0x80, 0x0c, 0xa7, 0x39, 0xeb, 0x50, 0xb1, 0x72, 0x12, 0x77, 0x05, 0xf7, 0xd7, 0x0b, 0x46, + 0xe8, 0xcb, 0x30, 0xb6, 0xe1, 0x86, 0x51, 0x4c, 0x6d, 0xf9, 0x28, 0xb6, 0x1b, 0xcd, 0x23, 0xb8, + 0x00, 0x54, 0x8f, 0x2c, 0x19, 0x9c, 0x70, 0x8a, 0x33, 0xda, 0x84, 0x51, 0x6a, 0x81, 0x26, 0x55, + 0x0d, 0x76, 0x5d, 0x95, 0xf2, 0x00, 0xde, 0xd2, 0x19, 0x61, 0x93, 0x2f, 0x15, 0x45, 0x75, 0x66, + 0xb1, 0x0e, 0x31, 0x6d, 0x49, 0x89, 0x22, 0x6e, 0xaa, 0x72, 0x1c, 0x95, 0x68, 0x2c, 0xc2, 0xa4, + 0x6c, 0x4a, 0x34, 0x2d, 0x8e, 0x44, 0x17, 0xff, 0x70, 0xec, 0xe2, 0xff, 0x57, 0xa8, 0xe6, 0x40, + 0x47, 0xe8, 0x04, 0xb6, 0xc5, 0x1b, 0xe6, 0xb6, 0xf8, 0x74, 0x8e, 0x79, 0x73, 0x2a, 0x5b, 0xe2, + 0x97, 0x60, 0x58, 0x9b, 0xb4, 0x68, 0x16, 0xca, 0x75, 0x19, 0x6a, 0x21, 0x76, 0x1e, 0xa5, 0x56, + 0xaa, 0x18, 0x0c, 0x9c, 0xd0, 0xd0, 0x31, 0xa5, 0xea, 0x78, 0x3a, 0xdc, 0x8b, 0x2a, 0xeb, 0x98, + 0x61, 0xac, 0x97, 0x01, 0x16, 0x1f, 0x92, 0xfa, 0x5c, 0x9d, 0x45, 0x19, 0x69, 0x07, 0x80, 0x85, + 0x83, 0x0f, 0x00, 0xad, 0xef, 0x15, 0x60, 0x6c, 0x69, 0xc1, 0xb0, 0x6f, 0x66, 0x00, 0xb8, 0x9d, + 0x70, 0xef, 0xde, 0x6d, 0xe9, 0x5a, 0xe7, 0xfe, 0x4f, 0x05, 0xc5, 0x1a, 0x05, 0x7a, 0x1c, 0x4a, + 0x5e, 0xcb, 0x17, 0xea, 0xfb, 0xe0, 0xde, 0xee, 0x74, 0xe9, 0x56, 0xcb, 0xc7, 0x14, 0xa6, 0xc5, + 0x55, 0x95, 0x72, 0xc7, 0x55, 0x65, 0xc7, 0x2d, 0x7f, 0xab, 0x04, 0x13, 0x4b, 0x1e, 0x79, 0x68, + 0xb4, 0xfa, 0x59, 0x18, 0x70, 0x42, 0x77, 0x9b, 0x84, 0x69, 0x05, 0xa3, 0xc2, 0xa0, 0x58, 0x60, + 0x73, 0x87, 0x7a, 0x19, 0x61, 0x6e, 0xa5, 0x1e, 0x87, 0xb9, 0x65, 0x7e, 0x33, 0xda, 0x80, 0xc1, + 0x80, 0x3b, 0x6f, 0x26, 0xfb, 0xd9, 0x44, 0x7f, 0xe3, 0xf0, 0xc6, 0xa4, 0xfb, 0x67, 0x46, 0xb8, + 0x7e, 0x78, 0xe0, 0x8a, 0x92, 0xc3, 0x02, 0x8a, 0x25, 0xf3, 0xa9, 0x4f, 0xc0, 0x88, 0x4e, 0xd9, + 0x55, 0x8c, 0xc9, 0xcf, 0x17, 0xe0, 0xec, 0x92, 0x17, 0xd4, 0xef, 0xa7, 0x62, 0xf1, 0x5e, 0x85, + 0x61, 0xba, 0x54, 0x23, 0x23, 0xfc, 0xd5, 0x88, 0xf3, 0x15, 0x28, 0xac, 0xd3, 0x69, 0xc5, 0xee, + 0xdc, 0x59, 0xae, 0x74, 0x0a, 0x0f, 0x16, 0x28, 0xac, 0xd3, 0x59, 0xff, 0xb1, 0x00, 0x4f, 0x5e, + 0x5f, 0x58, 0xac, 0x92, 0x30, 0x72, 0xa3, 0x98, 0xf8, 0x71, 0x5b, 0x84, 0x32, 0xd5, 0x45, 0x1d, + 0xad, 0x29, 0x89, 0x2e, 0x5a, 0x61, 0xad, 0x10, 0xd8, 0x47, 0x25, 0x4c, 0xff, 0x77, 0x0a, 0x70, + 0xf6, 0xba, 0x1b, 0x63, 0xd2, 0x0c, 0xd2, 0x41, 0xc5, 0x21, 0x69, 0x06, 0x91, 0x1b, 0x07, 0xe1, + 0x4e, 0x3a, 0xa8, 0x18, 0x2b, 0x0c, 0xd6, 0xa8, 0x78, 0xcd, 0xdb, 0x6e, 0x44, 0x5b, 0x5a, 0x34, + 0xcd, 0x7e, 0x2c, 0xe0, 0x58, 0x51, 0xd0, 0x0f, 0x73, 0xdc, 0x90, 0xa9, 0x39, 0x3b, 0x62, 0x05, + 0xab, 0x0f, 0xab, 0x48, 0x04, 0x4e, 0x68, 0xac, 0xef, 0x14, 0xe0, 0xfc, 0x75, 0xaf, 0x15, 0xc5, + 0x24, 0xdc, 0x88, 0x8c, 0xc6, 0xbe, 0x0c, 0x65, 0x22, 0x4d, 0x12, 0xd1, 0x56, 0xb5, 0xe1, 0x29, + 0x5b, 0x85, 0x47, 0x34, 0x2b, 0xba, 0x1c, 0x21, 0xae, 0xdd, 0x05, 0x64, 0xfe, 0x8b, 0x22, 0x8c, + 0xde, 0x58, 0x5b, 0xab, 0x5e, 0x27, 0xb1, 0x90, 0x92, 0xd9, 0x0e, 0xba, 0xaa, 0xe6, 0x9d, 0xd0, + 0x76, 0x84, 0xd4, 0xaa, 0x6b, 0xc5, 0xae, 0x37, 0xc3, 0x2f, 0x90, 0xcc, 0x2c, 0xfb, 0xf1, 0x6a, + 0x58, 0x8b, 0x43, 0xd7, 0xdf, 0xec, 0xe8, 0xcd, 0x90, 0x92, 0xbc, 0x74, 0x90, 0x24, 0x47, 0x2f, + 0xc3, 0x00, 0xbb, 0xf3, 0x22, 0xd5, 0xa6, 0x0f, 0x2b, 0x0d, 0x87, 0x41, 0xf7, 0x77, 0xa7, 0xcb, + 0x77, 0xf0, 0x32, 0xff, 0x83, 0x05, 0x29, 0xfa, 0x22, 0x0c, 0x6f, 0xc5, 0x71, 0xf3, 0x06, 0xb1, + 0x1d, 0x12, 0x4a, 0x29, 0x91, 0xa1, 0x60, 0xd2, 0xce, 0xe0, 0x05, 0x92, 0x85, 0x95, 0xc0, 0x22, + 0xac, 0x73, 0xb4, 0x6a, 0x00, 0x09, 0xee, 0x98, 0xac, 0x26, 0xeb, 0x2f, 0x16, 0x61, 0xf0, 0x86, + 0xed, 0x3b, 0x1e, 0x09, 0xd1, 0x12, 0xf4, 0x91, 0x87, 0xa4, 0x9e, 0x4f, 0x37, 0x4e, 0xb6, 0x3a, + 0xee, 0x61, 0xa4, 0xff, 0x31, 0x2b, 0x8f, 0x30, 0x0c, 0xd2, 0x76, 0x5f, 0x57, 0x51, 0xe7, 0x2f, + 0x64, 0xf7, 0x82, 0x9a, 0x12, 0x7c, 0x9f, 0x14, 0x20, 0x2c, 0x19, 0x31, 0x5f, 0x5c, 0xbd, 0x59, + 0xa3, 0xc2, 0x2d, 0xce, 0x77, 0xb1, 0x64, 0x6d, 0xa1, 0xca, 0xc9, 0x05, 0x5f, 0xee, 0x8b, 0x93, + 0x40, 0x9c, 0xb0, 0xb3, 0x5e, 0x87, 0x73, 0xec, 0xa0, 0xd8, 0x8e, 0xb7, 0x8c, 0x35, 0x93, 0x39, + 0x39, 0xad, 0xdf, 0x2a, 0xc2, 0x99, 0xe5, 0xda, 0x42, 0xcd, 0xf4, 0xa2, 0xbe, 0x0e, 0x23, 0x7c, + 0x7b, 0xa6, 0x93, 0xce, 0xf6, 0x44, 0x79, 0x75, 0xb8, 0xb1, 0xa6, 0xe1, 0xb0, 0x41, 0x89, 0x9e, + 0x84, 0x92, 0xfb, 0xae, 0x9f, 0x8e, 0x73, 0x5b, 0x7e, 0xeb, 0x36, 0xa6, 0x70, 0x8a, 0xa6, 0x3b, + 0x3d, 0x17, 0x71, 0x0a, 0xad, 0x76, 0xfb, 0x37, 0x61, 0xcc, 0x8d, 0xea, 0x91, 0xbb, 0xec, 0xd3, + 0xf5, 0x6f, 0xd7, 0xe5, 0xf4, 0x4d, 0xcc, 0x0a, 0xda, 0x54, 0x85, 0xc5, 0x29, 0x6a, 0x4d, 0xde, + 0xf6, 0xe7, 0xd6, 0x16, 0xb2, 0x03, 0xc4, 0xbf, 0x0c, 0x65, 0x15, 0xb4, 0x25, 0x03, 0xf9, 0x0a, + 0x9d, 0x03, 0xf9, 0x72, 0x08, 0x1c, 0xe9, 0xdb, 0x2e, 0x75, 0xf4, 0x6d, 0xff, 0xa3, 0x02, 0x24, + 0xf1, 0x29, 0x08, 0x43, 0xb9, 0x19, 0xb0, 0x63, 0xa9, 0x50, 0x9e, 0xff, 0x3e, 0x93, 0x31, 0x13, + 0xf9, 0x4a, 0xe0, 0x73, 0xa5, 0x2a, 0xcb, 0xe2, 0x84, 0x0d, 0xba, 0x05, 0x83, 0xcd, 0x90, 0xd4, + 0x62, 0x76, 0xcb, 0xa0, 0x0b, 0x8e, 0x6c, 0x56, 0x57, 0x79, 0x49, 0x2c, 0x59, 0x58, 0xbf, 0x56, + 0x04, 0xb8, 0xe5, 0x36, 0xdc, 0x18, 0xdb, 0xfe, 0x26, 0xe9, 0xa1, 0x81, 0x7a, 0x1b, 0xfa, 0xa2, + 0x26, 0xa9, 0xe7, 0x3b, 0x50, 0x4c, 0x5a, 0x54, 0x6b, 0x92, 0x7a, 0x32, 0x0c, 0xf4, 0x1f, 0x66, + 0x7c, 0x7a, 0xac, 0xab, 0xff, 0x63, 0x80, 0xb1, 0xa4, 0x11, 0xd4, 0x48, 0x40, 0x2f, 0x1a, 0x41, + 0xfb, 0x8f, 0xa7, 0x82, 0xf6, 0xcb, 0x8c, 0x5a, 0xb3, 0xaf, 0x62, 0x28, 0x35, 0xec, 0x87, 0xc2, + 0x26, 0x79, 0x35, 0xef, 0xe7, 0xd2, 0x9a, 0x66, 0x56, 0xec, 0x87, 0x5c, 0x49, 0x7b, 0x41, 0x4e, + 0xcf, 0x15, 0xfb, 0xe1, 0x3e, 0x3f, 0x94, 0x64, 0xeb, 0x9b, 0x1a, 0x41, 0x5f, 0xff, 0xaf, 0xc9, + 0x7f, 0x26, 0x72, 0x69, 0x75, 0xac, 0x56, 0xd7, 0x17, 0x0e, 0xe0, 0x2e, 0x6b, 0x75, 0xfd, 0x74, + 0xad, 0xae, 0x9f, 0xa3, 0x56, 0xd7, 0x47, 0xef, 0x15, 0x60, 0x50, 0x9c, 0x9b, 0xb0, 0x38, 0xc2, + 0xe1, 0x6b, 0x1f, 0xef, 0xaa, 0x6a, 0x71, 0x00, 0xc3, 0xab, 0x9f, 0x95, 0x9a, 0xa9, 0x80, 0x66, + 0x36, 0x41, 0x56, 0x8d, 0x7e, 0xb3, 0x00, 0x63, 0xe2, 0x37, 0x26, 0xef, 0xb6, 0x48, 0x14, 0x8b, + 0x3d, 0xf0, 0xd3, 0x47, 0x69, 0x8d, 0x60, 0xc1, 0x1b, 0xf5, 0x31, 0x29, 0xc0, 0x4c, 0x64, 0x66, + 0xdb, 0x52, 0xed, 0x41, 0xdf, 0x2f, 0xc0, 0xb9, 0x86, 0xfd, 0x90, 0xd7, 0xc8, 0x61, 0xd8, 0x8e, + 0xdd, 0x40, 0xc4, 0x4a, 0x2e, 0x75, 0x3b, 0x4f, 0xda, 0x18, 0xf1, 0xe6, 0x7e, 0x52, 0x1e, 0x95, + 0x77, 0x22, 0xc9, 0x6c, 0x74, 0xc7, 0x16, 0x4e, 0x39, 0x30, 0x24, 0x27, 0x66, 0x07, 0x9b, 0x60, + 0x5e, 0xdf, 0xea, 0x0f, 0x5f, 0xdf, 0xd2, 0xf3, 0x37, 0xf3, 0x56, 0xcb, 0xf6, 0x63, 0x37, 0xde, + 0xd1, 0x2c, 0x08, 0x56, 0x8b, 0x98, 0x88, 0x3d, 0xac, 0x65, 0x0b, 0x46, 0xf4, 0x39, 0xd7, 0xc3, + 0x9a, 0x02, 0x38, 0xdb, 0x61, 0x3e, 0xf5, 0xb0, 0xc2, 0x16, 0x3c, 0x7e, 0xe0, 0xbc, 0xe8, 0x5d, + 0xb5, 0xd6, 0xaf, 0x17, 0x75, 0x81, 0x79, 0x02, 0x5e, 0x9f, 0x15, 0xd3, 0xeb, 0x73, 0x39, 0xef, + 0xca, 0x39, 0x15, 0xd7, 0xcf, 0x86, 0xde, 0x39, 0x74, 0x13, 0x43, 0x6b, 0x30, 0xe0, 0x51, 0x88, + 0x3c, 0x80, 0xbc, 0xd2, 0xcd, 0xca, 0x4f, 0xf4, 0x22, 0x06, 0x8f, 0xb0, 0xe0, 0x65, 0xfd, 0xb5, + 0x22, 0xf4, 0x9d, 0xe2, 0x85, 0xa2, 0x36, 0xd6, 0xe2, 0xfe, 0xfe, 0x0c, 0xb6, 0x1f, 0x2c, 0x3e, + 0x8c, 0x89, 0x1f, 0x31, 0x35, 0xf8, 0x14, 0x06, 0xe0, 0x97, 0x4a, 0x30, 0x4c, 0x3f, 0x44, 0x86, + 0xbf, 0xbc, 0x01, 0xa3, 0x9e, 0xbd, 0x4e, 0x3c, 0xe9, 0xc3, 0x4f, 0x1b, 0xa4, 0xb7, 0x74, 0x24, + 0x36, 0x69, 0x69, 0xe1, 0x0d, 0xfd, 0x88, 0x43, 0x28, 0x8b, 0xaa, 0xb0, 0x71, 0xfe, 0x81, 0x4d, + 0x5a, 0x6a, 0x13, 0x3d, 0xb0, 0xe3, 0xfa, 0x96, 0x30, 0x56, 0x55, 0x67, 0xdc, 0xa3, 0x40, 0xcc, + 0x71, 0x68, 0x0e, 0xc6, 0xe5, 0x6a, 0xbb, 0x4b, 0x42, 0x66, 0xab, 0x73, 0x45, 0x5a, 0x5d, 0xcf, + 0xc6, 0x26, 0x1a, 0xa7, 0xe9, 0xd1, 0x27, 0x60, 0x8c, 0x76, 0x7d, 0xd0, 0x8a, 0x65, 0x70, 0x4f, + 0x3f, 0x0b, 0xee, 0x61, 0x11, 0xda, 0x6b, 0x06, 0x06, 0xa7, 0x28, 0x8d, 0xb1, 0x18, 0x38, 0xf6, + 0xb1, 0xf8, 0x22, 0x9c, 0xbd, 0x15, 0xd8, 0xce, 0xbc, 0xed, 0xd9, 0x7e, 0x9d, 0x84, 0xcb, 0xfe, + 0x66, 0x66, 0x1c, 0x84, 0x1e, 0xab, 0x50, 0xcc, 0x8a, 0x55, 0xb0, 0x42, 0x40, 0x7a, 0x05, 0x22, + 0xe8, 0xed, 0x1d, 0x18, 0x74, 0x79, 0x55, 0x62, 0xc9, 0x5d, 0xcd, 0x72, 0xe6, 0xb5, 0xb5, 0x51, + 0x0b, 0xe2, 0xe2, 0x00, 0x2c, 0x59, 0x52, 0x0b, 0xae, 0x93, 0xf7, 0x2f, 0xdb, 0x48, 0xb6, 0x7e, + 0xa9, 0x00, 0xe3, 0xb7, 0x53, 0x77, 0x80, 0x9f, 0x85, 0x81, 0x88, 0x84, 0x1d, 0x5c, 0x99, 0x35, + 0x06, 0xc5, 0x02, 0x7b, 0xec, 0xee, 0x91, 0xff, 0x51, 0x84, 0x32, 0x0b, 0x9f, 0x6e, 0xda, 0xf5, + 0x5e, 0x1a, 0x03, 0x2b, 0x86, 0x31, 0x90, 0x61, 0x9c, 0xab, 0x06, 0x1d, 0x68, 0x0b, 0xdc, 0x51, + 0x77, 0x62, 0x73, 0xd9, 0xe5, 0x09, 0x43, 0x7e, 0xc3, 0x71, 0xcc, 0xbc, 0x42, 0xab, 0xee, 0xcb, + 0xf6, 0x36, 0x66, 0xec, 0xdb, 0x45, 0x18, 0x55, 0x2d, 0x79, 0xe4, 0xa2, 0x07, 0x54, 0xcb, 0x4e, + 0x45, 0x5c, 0x57, 0xb5, 0xae, 0x61, 0xdb, 0xe5, 0xa7, 0x58, 0x20, 0xaf, 0xed, 0xb9, 0x5f, 0x21, + 0xea, 0x5a, 0xfc, 0xb4, 0x08, 0xcc, 0x15, 0xd0, 0x7d, 0x26, 0x79, 0xc5, 0x3f, 0x9e, 0x4b, 0x21, + 0x29, 0x62, 0xdd, 0x80, 0xf1, 0xd4, 0xb0, 0xa3, 0x57, 0xa1, 0xbf, 0xb9, 0x65, 0x47, 0x24, 0x15, + 0xc4, 0xd5, 0x5f, 0xa5, 0xc0, 0xfd, 0xdd, 0xe9, 0x31, 0x55, 0x80, 0x41, 0x30, 0xa7, 0xb6, 0x7e, + 0x52, 0x84, 0xbe, 0xdb, 0x81, 0xd3, 0xcb, 0xe5, 0x71, 0xc3, 0x58, 0x1e, 0xcf, 0x66, 0x67, 0x60, + 0x39, 0x70, 0x65, 0x54, 0x53, 0x2b, 0xe3, 0x72, 0x0e, 0x5e, 0xa7, 0xb9, 0x28, 0x1a, 0x30, 0xcc, + 0xf2, 0xc7, 0x88, 0xd8, 0xb8, 0x97, 0x0d, 0x9b, 0x7b, 0x3a, 0x65, 0x73, 0x8f, 0x6b, 0xa4, 0x9a, + 0xe5, 0xfd, 0x1c, 0x0c, 0x8a, 0x58, 0xac, 0x74, 0x70, 0xb4, 0xa0, 0xc5, 0x12, 0x6f, 0xfd, 0xb3, + 0x12, 0x18, 0xf9, 0x6a, 0xd0, 0xbf, 0x29, 0xc0, 0x4c, 0xc8, 0xaf, 0x7b, 0x39, 0x95, 0x56, 0xe8, + 0xfa, 0x9b, 0xb5, 0xfa, 0x16, 0x71, 0x5a, 0x9e, 0xeb, 0x6f, 0x2e, 0x6f, 0xfa, 0x81, 0x02, 0x2f, + 0x3e, 0x24, 0xf5, 0x16, 0x73, 0xf7, 0xe7, 0x4e, 0x93, 0xa3, 0xe2, 0x05, 0xae, 0xed, 0xed, 0x4e, + 0xcf, 0xe0, 0xae, 0x6a, 0xc1, 0x5d, 0xb6, 0x0a, 0xfd, 0x51, 0x01, 0x66, 0x79, 0xc6, 0x96, 0xfc, + 0x5f, 0x92, 0xcb, 0x57, 0x51, 0x95, 0x4c, 0x13, 0x76, 0x6b, 0x24, 0x6c, 0xcc, 0xbf, 0x26, 0x3a, + 0x79, 0xb6, 0xda, 0x5d, 0xad, 0xb8, 0xdb, 0x66, 0x5a, 0xff, 0xb2, 0x04, 0xa3, 0xb4, 0x3f, 0x93, + 0x7c, 0x0a, 0xaf, 0x1a, 0xd3, 0xe4, 0xa9, 0xd4, 0x34, 0x39, 0x63, 0x10, 0x1f, 0x4f, 0x2a, 0x85, + 0x08, 0xce, 0x78, 0x76, 0x14, 0xdf, 0x20, 0x76, 0x18, 0xaf, 0x13, 0x9b, 0x1d, 0xcf, 0xa7, 0x43, + 0x7e, 0x72, 0x9c, 0xf8, 0xab, 0xf8, 0xbe, 0x5b, 0x69, 0x66, 0xb8, 0x9d, 0x3f, 0xda, 0x06, 0xc4, + 0x42, 0x01, 0x42, 0xdb, 0x8f, 0xf8, 0xb7, 0xb8, 0xe2, 0x80, 0xa0, 0xbb, 0x5a, 0xa7, 0x44, 0xad, + 0xe8, 0x56, 0x1b, 0x37, 0xdc, 0xa1, 0x06, 0x2d, 0xd8, 0xa3, 0x3f, 0x6f, 0xb0, 0xc7, 0x40, 0xc6, + 0xad, 0x84, 0x5f, 0x28, 0xc0, 0x59, 0x3a, 0x2c, 0x66, 0x04, 0x7b, 0x84, 0x02, 0x18, 0xa7, 0xd3, + 0xce, 0x23, 0xb1, 0x84, 0x89, 0xf5, 0x95, 0x61, 0x1f, 0x99, 0x7c, 0x12, 0x35, 0xf9, 0xa6, 0xc9, + 0x0c, 0xa7, 0xb9, 0x5b, 0xbf, 0x5c, 0x04, 0x16, 0xc4, 0x7a, 0x02, 0x1b, 0xf0, 0x75, 0x73, 0x03, + 0xb6, 0xb2, 0x25, 0xc6, 0xa9, 0xec, 0xbd, 0x7f, 0xb5, 0x00, 0x13, 0xb4, 0xf2, 0x6a, 0x18, 0x3c, + 0xdc, 0x91, 0xf6, 0x52, 0xf6, 0x29, 0x99, 0xde, 0xa8, 0xe2, 0xb1, 0x37, 0xea, 0xbd, 0x22, 0x5f, + 0xf3, 0xea, 0xd2, 0x2d, 0xfa, 0xc5, 0x02, 0x0c, 0xd5, 0xed, 0xa6, 0x5d, 0xe7, 0xa9, 0xca, 0x72, + 0x38, 0x1d, 0x8d, 0xf2, 0x33, 0x0b, 0xa2, 0x2c, 0x77, 0x98, 0xbd, 0x24, 0xeb, 0x96, 0xe0, 0x4c, + 0x27, 0x99, 0xaa, 0x7c, 0xca, 0x85, 0x51, 0x83, 0x59, 0x0f, 0xbd, 0x2c, 0xbf, 0x58, 0xe0, 0xfb, + 0x95, 0xb2, 0x26, 0x1f, 0xc0, 0x19, 0x5f, 0xfb, 0x4f, 0x25, 0xb1, 0x34, 0x6f, 0x66, 0xf2, 0xef, + 0x48, 0x4c, 0x80, 0x6b, 0xb1, 0xc6, 0x29, 0x86, 0xb8, 0xbd, 0x0e, 0xeb, 0xb7, 0x0b, 0xf0, 0x98, + 0x4e, 0xa8, 0xdd, 0x91, 0xce, 0x3a, 0x62, 0xa9, 0xc0, 0x50, 0xd0, 0x24, 0xa1, 0x9d, 0x58, 0xce, + 0x97, 0x65, 0xef, 0xaf, 0x0a, 0xf8, 0xfe, 0xee, 0xf4, 0x39, 0x9d, 0xbb, 0x84, 0x63, 0x55, 0x12, + 0x59, 0x30, 0xc0, 0xfa, 0x25, 0x12, 0xb7, 0xdb, 0x59, 0xe2, 0x2e, 0x76, 0xb0, 0x18, 0x61, 0x81, + 0xb1, 0x7e, 0x59, 0x4c, 0x65, 0xbd, 0xe9, 0xe8, 0xab, 0x30, 0xd1, 0xa0, 0x46, 0xf6, 0xe2, 0xc3, + 0x26, 0xd5, 0x01, 0x58, 0x40, 0x45, 0x21, 0xcf, 0xce, 0x77, 0xc0, 0xe7, 0xce, 0x4f, 0x8a, 0xd6, + 0x4f, 0xac, 0xa4, 0xd8, 0xe2, 0xb6, 0x8a, 0xac, 0x9f, 0x14, 0xb8, 0xb8, 0x61, 0x4a, 0xed, 0x73, + 0x30, 0xd8, 0x0c, 0x9c, 0x85, 0xe5, 0x0a, 0x16, 0x7d, 0xa5, 0xe4, 0x65, 0x95, 0x83, 0xb1, 0xc4, + 0xa3, 0x6b, 0x00, 0xe4, 0x61, 0x4c, 0x42, 0xdf, 0xf6, 0x54, 0x20, 0x84, 0xd2, 0x21, 0x17, 0x15, + 0x06, 0x6b, 0x54, 0xb4, 0x4c, 0x33, 0x0c, 0xb6, 0x5d, 0x87, 0x5d, 0x2b, 0x2a, 0x99, 0x65, 0xaa, + 0x0a, 0x83, 0x35, 0x2a, 0xf4, 0x06, 0x8c, 0xb6, 0xfc, 0x88, 0xef, 0xc0, 0xf6, 0xba, 0xc8, 0x08, + 0x35, 0x94, 0xb8, 0x36, 0xee, 0xe8, 0x48, 0x6c, 0xd2, 0x5a, 0x7f, 0x50, 0x06, 0x48, 0x34, 0x48, + 0xf4, 0x5e, 0xfb, 0x0a, 0xfd, 0x58, 0x5e, 0xf5, 0xf3, 0xf8, 0x96, 0x27, 0xfa, 0x66, 0x01, 0x86, + 0x6d, 0xcf, 0x0b, 0xea, 0x76, 0xcc, 0xbe, 0xa8, 0x98, 0x57, 0x56, 0x88, 0x96, 0xcc, 0x25, 0x65, + 0x79, 0x63, 0x5e, 0x96, 0xe7, 0xe4, 0x1a, 0x26, 0xb3, 0x3d, 0x7a, 0x13, 0xd0, 0x4b, 0xd2, 0xf2, + 0xe0, 0x83, 0x32, 0x95, 0xb6, 0x3c, 0xca, 0x4c, 0xfe, 0x6a, 0x46, 0x07, 0xfa, 0xa2, 0x91, 0xfc, + 0xa8, 0x2f, 0xcf, 0xa5, 0x6a, 0x43, 0xeb, 0xc9, 0xcc, 0x7b, 0xf4, 0x39, 0xfd, 0x4e, 0x44, 0x7f, + 0x9e, 0xac, 0x05, 0x9a, 0xf2, 0x9d, 0x71, 0x1f, 0x22, 0x86, 0x71, 0xc7, 0xdc, 0xe7, 0x85, 0x57, + 0xe9, 0x6a, 0x76, 0x0d, 0x29, 0x05, 0x21, 0xd9, 0xd9, 0x53, 0x08, 0x9c, 0xae, 0x02, 0x7d, 0x8e, + 0xdf, 0x58, 0x59, 0xf6, 0x37, 0x02, 0x11, 0x8b, 0x79, 0x25, 0xc7, 0x98, 0xef, 0x44, 0x31, 0x69, + 0xd0, 0x32, 0xc9, 0x76, 0x74, 0x5b, 0x70, 0xc1, 0x8a, 0x1f, 0x5a, 0x83, 0x01, 0x76, 0x7b, 0x2f, + 0x9a, 0x1c, 0xca, 0xe3, 0xbd, 0x35, 0x2f, 0xad, 0x27, 0xfa, 0x13, 0xfb, 0x1b, 0x61, 0xc1, 0x0b, + 0xdd, 0x90, 0xc9, 0x23, 0xa2, 0x65, 0xff, 0x4e, 0x44, 0x58, 0xf2, 0x88, 0xf2, 0xfc, 0x47, 0x92, + 0x6c, 0x10, 0x1c, 0xde, 0x31, 0x99, 0xa4, 0x51, 0x92, 0xaa, 0x51, 0xe2, 0xbf, 0xcc, 0x51, 0x39, + 0x09, 0x79, 0x1a, 0x6a, 0x66, 0xb4, 0x4c, 0x3a, 0xfb, 0xae, 0xc9, 0x0c, 0xa7, 0xb9, 0x9f, 0xe0, + 0x1e, 0x38, 0xe5, 0xc1, 0x44, 0x7a, 0x49, 0xf6, 0x70, 0xc7, 0xfd, 0x69, 0x1f, 0x8c, 0x99, 0x13, + 0x03, 0xcd, 0x42, 0x59, 0xa8, 0x33, 0x2a, 0xb3, 0x9c, 0x9a, 0xff, 0x2b, 0x12, 0x81, 0x13, 0x1a, + 0x96, 0x63, 0x8f, 0x15, 0xd7, 0xa2, 0xd8, 0x92, 0x1c, 0x7b, 0x0a, 0x83, 0x35, 0x2a, 0xaa, 0x73, + 0xaf, 0x07, 0x41, 0xac, 0x04, 0xb7, 0x9a, 0x33, 0xf3, 0x0c, 0x8a, 0x05, 0x96, 0x0a, 0xec, 0xfb, + 0xf4, 0x83, 0x3c, 0xd3, 0x4f, 0xac, 0x04, 0xf6, 0x4d, 0x1d, 0x89, 0x4d, 0x5a, 0xba, 0x01, 0x05, + 0x11, 0x9b, 0x84, 0x42, 0xb3, 0x4f, 0xa2, 0x02, 0x6b, 0xfc, 0x36, 0xab, 0xc4, 0xa3, 0xcf, 0xc2, + 0x63, 0xea, 0xf2, 0x29, 0xe6, 0x5e, 0x7d, 0x59, 0xe3, 0x80, 0x61, 0x9c, 0x3f, 0xb6, 0xd0, 0x99, + 0x0c, 0x1f, 0x54, 0x1e, 0xbd, 0x09, 0x63, 0x42, 0x2b, 0x97, 0x1c, 0x07, 0xcd, 0xa0, 0x91, 0x9b, + 0x06, 0x16, 0xa7, 0xa8, 0x51, 0x05, 0x26, 0x28, 0x84, 0xe9, 0xab, 0x92, 0x03, 0xbf, 0x44, 0xab, + 0x76, 0xe6, 0x9b, 0x29, 0x3c, 0x6e, 0x2b, 0x81, 0xe6, 0x60, 0x9c, 0xeb, 0x16, 0xd4, 0x04, 0x65, + 0xe3, 0x20, 0x82, 0xa7, 0xd5, 0x22, 0x58, 0x35, 0xd1, 0x38, 0x4d, 0x8f, 0x5e, 0x87, 0x11, 0x3b, + 0xac, 0x6f, 0xb9, 0x31, 0xa9, 0xc7, 0xad, 0x90, 0xa7, 0x65, 0xd1, 0xa2, 0x6e, 0xe6, 0x34, 0x1c, + 0x36, 0x28, 0xad, 0xaf, 0xc0, 0xd9, 0x0e, 0x37, 0x34, 0xe8, 0xc4, 0xb1, 0x9b, 0xae, 0xfc, 0xa6, + 0x54, 0x7c, 0xdf, 0x5c, 0x75, 0x59, 0x7e, 0x8d, 0x46, 0x45, 0x67, 0x27, 0x3b, 0x70, 0xd0, 0xd2, + 0xc9, 0xaa, 0xd9, 0xb9, 0x24, 0x11, 0x38, 0xa1, 0xb1, 0xfe, 0x4f, 0x19, 0x34, 0x2f, 0x54, 0x8e, + 0xa8, 0xae, 0xd7, 0x61, 0x44, 0x66, 0x48, 0xd6, 0x32, 0x93, 0xaa, 0xcf, 0xbc, 0xae, 0xe1, 0xb0, + 0x41, 0x49, 0xdb, 0xe6, 0x4b, 0x9f, 0x5a, 0x3a, 0x9a, 0x50, 0x39, 0xdb, 0x70, 0x42, 0x83, 0xae, + 0xc0, 0x50, 0x44, 0xbc, 0x8d, 0x5b, 0xae, 0x7f, 0x5f, 0x4c, 0x6c, 0x25, 0x95, 0x6b, 0x02, 0x8e, + 0x15, 0x05, 0x9a, 0x87, 0x52, 0xcb, 0x75, 0xc4, 0x54, 0x96, 0x2a, 0x43, 0xe9, 0xce, 0x72, 0x65, + 0x7f, 0x77, 0xfa, 0xa9, 0x83, 0x52, 0x4c, 0x53, 0x13, 0x23, 0x9a, 0xa1, 0xcb, 0x8f, 0x16, 0xee, + 0x74, 0xf2, 0x32, 0xd0, 0xe5, 0xc9, 0xcb, 0x35, 0x00, 0xf1, 0xd5, 0x72, 0x2e, 0x97, 0x92, 0x51, + 0xbb, 0xae, 0x30, 0x58, 0xa3, 0x42, 0x11, 0x9c, 0xa9, 0x87, 0xc4, 0x96, 0x26, 0x37, 0xbf, 0x41, + 0x30, 0x74, 0x74, 0x7f, 0xc2, 0x42, 0x9a, 0x19, 0x6e, 0xe7, 0x8f, 0x02, 0x38, 0xe3, 0xd0, 0x85, + 0x64, 0x54, 0x5a, 0xee, 0xfe, 0xda, 0x02, 0xad, 0xb0, 0x92, 0x66, 0x84, 0xdb, 0x79, 0xa3, 0x2f, + 0xc0, 0x94, 0x04, 0xb6, 0x5f, 0x2f, 0x67, 0xcb, 0xa5, 0x34, 0x7f, 0x71, 0x6f, 0x77, 0x7a, 0xaa, + 0x72, 0x20, 0x15, 0x3e, 0x84, 0x03, 0x7a, 0x07, 0x06, 0xd8, 0x49, 0x5d, 0x34, 0x39, 0xcc, 0x76, + 0xbb, 0x57, 0xf2, 0xfa, 0x63, 0x67, 0xd8, 0x79, 0x9f, 0x08, 0x8d, 0x4e, 0x0e, 0x57, 0x19, 0x10, + 0x0b, 0x9e, 0xa8, 0x09, 0xc3, 0xb6, 0xef, 0x07, 0xb1, 0xcd, 0x95, 0xb0, 0x91, 0x3c, 0x7a, 0xa4, + 0x56, 0xc5, 0x5c, 0x52, 0x96, 0xd7, 0xa3, 0xe2, 0x2d, 0x35, 0x0c, 0xd6, 0xab, 0x40, 0x0f, 0x60, + 0x3c, 0x78, 0x40, 0x05, 0xa6, 0x3c, 0x4e, 0x8a, 0x26, 0x47, 0xcd, 0x0f, 0x3b, 0x7c, 0x78, 0x56, + 0x8d, 0xc2, 0x9a, 0x24, 0x33, 0x99, 0xe2, 0x74, 0x2d, 0x68, 0xc6, 0x70, 0xb7, 0x8f, 0x25, 0x17, + 0x00, 0x12, 0x77, 0xbb, 0xee, 0x5d, 0x67, 0x29, 0x0c, 0x78, 0xd0, 0x2f, 0x93, 0x08, 0xe3, 0xa9, + 0x14, 0x06, 0x09, 0x0a, 0xeb, 0x74, 0x53, 0x1f, 0x87, 0x61, 0xad, 0xe3, 0xbb, 0x89, 0x34, 0x9f, + 0x7a, 0x13, 0x26, 0xd2, 0x1d, 0xda, 0x55, 0xa4, 0xfa, 0xff, 0x2e, 0xc2, 0x78, 0x87, 0xb3, 0xba, + 0xfb, 0x2e, 0xbb, 0x2d, 0x61, 0x88, 0xbe, 0x9b, 0xae, 0xef, 0x60, 0x86, 0x31, 0x05, 0x58, 0x31, + 0x87, 0x00, 0x93, 0xd2, 0xb4, 0x74, 0xa0, 0x34, 0x15, 0x42, 0xab, 0xef, 0x83, 0x08, 0x2d, 0x73, + 0x9f, 0xe8, 0xcf, 0xb5, 0x4f, 0x1c, 0x83, 0xa0, 0x33, 0xb6, 0x9a, 0xc1, 0x1c, 0x5b, 0xcd, 0x9f, + 0x16, 0x61, 0x22, 0x89, 0xca, 0x17, 0x69, 0xd3, 0x7b, 0x77, 0x8c, 0xb2, 0x66, 0x1c, 0xa3, 0x64, + 0x65, 0x43, 0x4f, 0xb5, 0xeb, 0x90, 0xc0, 0x43, 0xf3, 0x48, 0xe5, 0x95, 0x2e, 0xf9, 0x9e, 0xe6, + 0xf1, 0xca, 0x5f, 0x2e, 0xc1, 0xf9, 0x74, 0x83, 0x16, 0x3c, 0xdb, 0x6d, 0xf4, 0x70, 0x14, 0x3e, + 0x6b, 0x8c, 0xc2, 0x6b, 0xdd, 0xf5, 0x16, 0x6b, 0xdc, 0x81, 0x43, 0x61, 0xa7, 0x86, 0xe2, 0xe3, + 0x47, 0x61, 0x7e, 0x9a, 0xe3, 0xf1, 0xbd, 0x22, 0x3c, 0xde, 0xb1, 0x55, 0x27, 0xe0, 0x8e, 0x7e, + 0xdb, 0x74, 0x47, 0xbf, 0x7c, 0x84, 0xbe, 0x3b, 0x15, 0xff, 0xf4, 0x7f, 0x3b, 0xa8, 0xcf, 0x98, + 0x4f, 0x6d, 0x15, 0x86, 0xed, 0x7a, 0x9d, 0x44, 0xd1, 0x4a, 0xe0, 0xa8, 0xb4, 0x70, 0x2f, 0xb2, + 0x5d, 0x36, 0x01, 0xef, 0xef, 0x4e, 0x4f, 0xa5, 0x59, 0x24, 0x68, 0xac, 0x73, 0x30, 0xd3, 0x46, + 0x16, 0x7b, 0x94, 0x36, 0xf2, 0x1a, 0xc0, 0xb6, 0xb2, 0xe5, 0xd3, 0xae, 0x3a, 0xcd, 0xca, 0xd7, + 0xa8, 0xd0, 0x9f, 0x67, 0xba, 0x31, 0x0f, 0x40, 0xea, 0x33, 0xaf, 0x67, 0x67, 0xcc, 0x0e, 0x3d, + 0x98, 0x89, 0xdf, 0x02, 0x57, 0x6e, 0x4d, 0xc5, 0xd2, 0xfa, 0xbd, 0x12, 0x7c, 0xf8, 0x90, 0x05, + 0x83, 0xe6, 0xcc, 0xd3, 0xf3, 0x17, 0xd2, 0x3e, 0xac, 0xa9, 0x8e, 0x85, 0x0d, 0xa7, 0x56, 0x6a, + 0xac, 0x8a, 0x1f, 0x78, 0xac, 0xbe, 0xa5, 0x7b, 0x1c, 0x79, 0x0c, 0xf4, 0xf5, 0x23, 0x8b, 0x84, + 0x9f, 0xcd, 0x13, 0x82, 0xaf, 0x17, 0xe0, 0xa9, 0x8e, 0x1f, 0x65, 0xc4, 0x17, 0xcd, 0x42, 0xb9, + 0x4e, 0x81, 0xda, 0x15, 0xb8, 0xe4, 0xee, 0xa9, 0x44, 0xe0, 0x84, 0xc6, 0x08, 0x23, 0x2a, 0x66, + 0x86, 0x11, 0xfd, 0xbd, 0x22, 0x9c, 0x4b, 0x37, 0xe2, 0x04, 0x24, 0x5a, 0xcd, 0x94, 0x68, 0x33, + 0xdd, 0x0d, 0xfd, 0xa9, 0x08, 0xb3, 0xdf, 0x1c, 0x85, 0x0b, 0x6d, 0x1a, 0x02, 0x1f, 0xa3, 0x9f, + 0x2b, 0xc0, 0x99, 0x4d, 0x66, 0xe1, 0x68, 0xb7, 0x18, 0x45, 0xaf, 0x65, 0x5c, 0xfd, 0x3c, 0xf4, + 0xf2, 0x23, 0xb7, 0xd7, 0xda, 0x48, 0x70, 0x7b, 0x65, 0xe8, 0x1b, 0x05, 0x38, 0x67, 0x3f, 0x88, + 0xda, 0x1e, 0x3e, 0x12, 0x93, 0xf4, 0xcd, 0x0c, 0x67, 0x62, 0xc6, 0x93, 0x49, 0xf3, 0x93, 0x7b, + 0xbb, 0xd3, 0xe7, 0x3a, 0x51, 0xe1, 0x8e, 0xb5, 0xd2, 0xa1, 0xd8, 0x12, 0xb7, 0xa4, 0xf2, 0xdd, + 0xc7, 0xed, 0x74, 0xa7, 0x8a, 0x0b, 0x3c, 0x89, 0xc1, 0x8a, 0x23, 0xfa, 0x12, 0x94, 0x37, 0xe5, + 0xc5, 0xc5, 0xb4, 0x40, 0x3d, 0xa0, 0x9b, 0x3b, 0xdd, 0x73, 0xe4, 0x37, 0x77, 0x14, 0x0a, 0x27, + 0x4c, 0xd1, 0x0d, 0x28, 0xf9, 0x1b, 0x91, 0x48, 0x6f, 0x90, 0x15, 0xa3, 0x66, 0x46, 0x04, 0xf2, + 0x5b, 0xd5, 0xb7, 0x97, 0x6a, 0x98, 0xb2, 0xa0, 0x9c, 0xc2, 0x75, 0x47, 0x78, 0xd1, 0x33, 0x38, + 0xe1, 0xf9, 0x4a, 0x3b, 0x27, 0x3c, 0x5f, 0xc1, 0x94, 0x05, 0xaa, 0x42, 0x3f, 0xbb, 0x83, 0x25, + 0x5c, 0xe4, 0x19, 0xb9, 0x2f, 0xda, 0x6e, 0x9a, 0xf1, 0x8c, 0xab, 0x0c, 0x8c, 0x39, 0x23, 0xb4, + 0x06, 0x03, 0x75, 0xf6, 0x1a, 0x87, 0xf0, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x7b, 0xb9, 0x83, 0x1f, + 0xe5, 0x71, 0x38, 0x16, 0xbc, 0x18, 0x57, 0xd2, 0xdc, 0xda, 0x88, 0x84, 0x83, 0x22, 0x8b, 0x6b, + 0xdb, 0xbb, 0x2a, 0x82, 0x2b, 0x83, 0x63, 0xc1, 0x0b, 0x55, 0xa0, 0xb8, 0x51, 0x17, 0xe9, 0x0f, + 0x32, 0x5c, 0xe3, 0xe6, 0x15, 0xf9, 0xf9, 0x81, 0xbd, 0xdd, 0xe9, 0xe2, 0xd2, 0x02, 0x2e, 0x6e, + 0xd4, 0xd1, 0xdb, 0x30, 0xb8, 0xc1, 0x2f, 0x3d, 0x8b, 0x54, 0xc9, 0x57, 0xb3, 0x6e, 0x66, 0xb7, + 0xdd, 0x90, 0xe6, 0xb7, 0xb3, 0x04, 0x02, 0x4b, 0x76, 0x2c, 0x7f, 0xa5, 0xba, 0xc6, 0x2d, 0x72, + 0x25, 0xcf, 0x74, 0x77, 0xed, 0x5b, 0xd8, 0xed, 0x0a, 0x8a, 0x35, 0x8e, 0x74, 0xce, 0xdb, 0xf2, + 0xb9, 0x22, 0x96, 0x27, 0x39, 0x73, 0xce, 0x77, 0x7c, 0xdd, 0x88, 0xcf, 0x79, 0x85, 0xc2, 0x09, + 0x53, 0xd4, 0x82, 0xd1, 0xed, 0xa8, 0xb9, 0x45, 0xe4, 0xd2, 0x67, 0xc9, 0x93, 0x87, 0xaf, 0x7d, + 0x32, 0x23, 0x23, 0xb6, 0x28, 0xe2, 0x86, 0x71, 0xcb, 0xf6, 0xda, 0x24, 0x18, 0x4b, 0x18, 0x78, + 0x57, 0x67, 0x8b, 0xcd, 0x5a, 0xe8, 0x90, 0xbc, 0xdb, 0x0a, 0xd6, 0x77, 0x62, 0x22, 0x92, 0x2b, + 0x67, 0x0c, 0xc9, 0x5b, 0x9c, 0xb8, 0x7d, 0x48, 0x04, 0x02, 0x4b, 0x76, 0xaa, 0xcb, 0x98, 0x34, + 0x9e, 0xc8, 0xdd, 0x65, 0x6d, 0xdf, 0x90, 0x74, 0x19, 0x93, 0xbe, 0x09, 0x53, 0x26, 0x75, 0x9b, + 0x5b, 0x41, 0x1c, 0xf8, 0x29, 0xd9, 0x7f, 0x26, 0x8f, 0xd4, 0xad, 0x76, 0x28, 0xd9, 0x2e, 0x75, + 0x3b, 0x51, 0xe1, 0x8e, 0xb5, 0x5a, 0x3f, 0xe9, 0x6f, 0xdf, 0xcc, 0x99, 0xaa, 0xfd, 0x57, 0xda, + 0xcf, 0x77, 0x3f, 0xdd, 0xbd, 0x8d, 0x7d, 0x8c, 0x27, 0xbd, 0xdf, 0x28, 0xc0, 0x85, 0x66, 0xc7, + 0xcd, 0x54, 0x6c, 0x58, 0xdd, 0x9a, 0xea, 0xbc, 0xc3, 0x54, 0xe6, 0xf0, 0xce, 0x78, 0x7c, 0x40, + 0x9d, 0x69, 0xf5, 0xb6, 0xf4, 0x81, 0xd5, 0xdb, 0x7b, 0x30, 0xc4, 0x34, 0xb2, 0x24, 0x55, 0x51, + 0x97, 0xd9, 0x7d, 0xd8, 0xd6, 0xb7, 0x20, 0x58, 0x60, 0xc5, 0x8c, 0x76, 0xdc, 0x93, 0xe9, 0x8f, + 0xc0, 0x84, 0xa1, 0x45, 0xca, 0x73, 0xee, 0x53, 0x5a, 0x12, 0x3d, 0xf1, 0x64, 0xf5, 0x30, 0xe2, + 0xfd, 0x2c, 0x02, 0x7c, 0x78, 0x65, 0x27, 0xa9, 0x2e, 0xff, 0xfd, 0x42, 0x07, 0xfd, 0x8b, 0x1b, + 0x38, 0x9f, 0x34, 0x0d, 0x9c, 0x67, 0xd3, 0x06, 0x4e, 0x9b, 0x23, 0xc5, 0xb0, 0x6d, 0xf2, 0x67, + 0xe8, 0xcd, 0x9b, 0x4b, 0xc9, 0xf2, 0xe0, 0x52, 0xd6, 0xe2, 0x66, 0x71, 0x5a, 0x8e, 0x3a, 0x96, + 0x4c, 0xe2, 0xb4, 0x9c, 0xe5, 0x0a, 0x66, 0x98, 0xbc, 0x29, 0x2d, 0xac, 0x3f, 0x2c, 0x42, 0xa9, + 0x1a, 0x38, 0x3d, 0x74, 0x0c, 0x5d, 0x37, 0x1c, 0x43, 0xcf, 0x64, 0x3e, 0xd2, 0x78, 0xa0, 0x1b, + 0x68, 0x35, 0xe5, 0x06, 0xfa, 0x68, 0x36, 0xab, 0xd3, 0x74, 0xfa, 0x7c, 0xbf, 0x04, 0xfa, 0x23, + 0x96, 0xe8, 0x3f, 0x1c, 0x25, 0xe6, 0xb8, 0x94, 0xef, 0x5d, 0x4b, 0x51, 0x07, 0x0b, 0xf0, 0x92, + 0x77, 0x58, 0x7f, 0x66, 0x43, 0x8f, 0xef, 0x11, 0x77, 0x73, 0x2b, 0x26, 0x4e, 0xfa, 0xc3, 0x4e, + 0x2e, 0xf4, 0xf8, 0xbf, 0x17, 0x60, 0x3c, 0x55, 0x3b, 0xf2, 0x3a, 0x5d, 0x25, 0x3b, 0xa2, 0x33, + 0xe6, 0x4c, 0xe6, 0xdd, 0xb3, 0x19, 0x00, 0x75, 0xba, 0x20, 0x5d, 0x26, 0x4c, 0xc3, 0x53, 0xc7, + 0x0f, 0x11, 0xd6, 0x28, 0xd0, 0xab, 0x30, 0x1c, 0x07, 0xcd, 0xc0, 0x0b, 0x36, 0x77, 0x6e, 0x12, + 0x99, 0xc2, 0x45, 0x9d, 0xcc, 0xac, 0x25, 0x28, 0xac, 0xd3, 0x59, 0x3f, 0x2c, 0x41, 0xfa, 0x09, + 0xd4, 0xff, 0x3f, 0x4f, 0x7f, 0x76, 0xe6, 0xe9, 0xef, 0x17, 0x61, 0x82, 0xd6, 0xce, 0xc2, 0x73, + 0x64, 0x0c, 0xaf, 0x7a, 0x0a, 0xa4, 0x70, 0xc8, 0x53, 0x20, 0xcf, 0x52, 0x59, 0xea, 0x04, 0xad, + 0x58, 0xb8, 0x79, 0x34, 0x11, 0x49, 0xa1, 0x58, 0x60, 0x05, 0x1d, 0x09, 0x43, 0x71, 0xab, 0x4c, + 0xa7, 0x23, 0x61, 0x88, 0x05, 0x56, 0xbe, 0x14, 0xd2, 0x77, 0xc0, 0x4b, 0x21, 0x2c, 0x09, 0x9a, + 0x08, 0x0b, 0x11, 0x4a, 0x86, 0x96, 0x04, 0x4d, 0xc6, 0x8b, 0x24, 0x34, 0x3d, 0xbe, 0x9a, 0xf8, + 0xbb, 0x25, 0x18, 0xa9, 0x06, 0x4e, 0x72, 0xb3, 0xe0, 0x15, 0xe3, 0x66, 0xc1, 0xa5, 0xd4, 0xcd, + 0x82, 0x09, 0x9d, 0xf6, 0x78, 0x2e, 0x16, 0x88, 0x34, 0x82, 0xec, 0xa5, 0x9c, 0x23, 0x5e, 0x2a, + 0x30, 0xd2, 0x08, 0x2a, 0x46, 0xd8, 0xe4, 0xfb, 0x67, 0xe9, 0x32, 0xc1, 0x4f, 0x8a, 0x30, 0x56, + 0x0d, 0x1c, 0x3a, 0xfd, 0xff, 0x4c, 0xcd, 0x75, 0x2d, 0x81, 0xdf, 0xc0, 0x21, 0x2f, 0x78, 0xe9, + 0x4b, 0x62, 0xf0, 0xf8, 0x8f, 0x0c, 0x8b, 0x30, 0x58, 0x0d, 0x9c, 0x13, 0x70, 0xdf, 0x2e, 0x99, + 0xee, 0xdb, 0xa7, 0x32, 0x77, 0x8d, 0x53, 0xf1, 0xd8, 0xfe, 0x5a, 0x1f, 0x8c, 0xd2, 0xfe, 0x08, + 0x36, 0xe5, 0x5c, 0x33, 0xc6, 0xb5, 0x90, 0x63, 0x5c, 0xa9, 0x0a, 0x1e, 0x78, 0x5e, 0xf0, 0x20, + 0x3d, 0xef, 0x96, 0x18, 0x14, 0x0b, 0x2c, 0xba, 0x02, 0x43, 0xcd, 0x90, 0x6c, 0xbb, 0x41, 0x2b, + 0x4a, 0xdf, 0xdd, 0xad, 0x0a, 0x38, 0x56, 0x14, 0xe8, 0x15, 0x18, 0x89, 0x5c, 0xbf, 0x4e, 0x64, + 0x38, 0x4d, 0x1f, 0x0b, 0xa7, 0xe1, 0xb9, 0x69, 0x35, 0x38, 0x36, 0xa8, 0xd0, 0x3d, 0x28, 0xb3, + 0xff, 0x6c, 0xf5, 0x77, 0xff, 0xfc, 0x0a, 0x4f, 0x6e, 0x28, 0x19, 0xe0, 0x84, 0x17, 0xba, 0x06, + 0x10, 0xcb, 0xc0, 0x9f, 0x48, 0x24, 0x69, 0x52, 0xf6, 0x80, 0x0a, 0x09, 0x8a, 0xb0, 0x46, 0x85, + 0x5e, 0x80, 0x72, 0x6c, 0xbb, 0xde, 0x2d, 0xd7, 0x27, 0x91, 0x08, 0x9c, 0x12, 0xf9, 0xeb, 0x05, + 0x10, 0x27, 0x78, 0xaa, 0x09, 0xb1, 0xac, 0x07, 0xfc, 0x69, 0xa7, 0x21, 0x46, 0xcd, 0x34, 0xa1, + 0x5b, 0x0a, 0x8a, 0x35, 0x0a, 0x63, 0x5a, 0x94, 0x8f, 0x3f, 0xe1, 0x29, 0xd7, 0x0c, 0x1f, 0xa9, + 0x4b, 0x33, 0x3f, 0x2e, 0x02, 0xaa, 0xb2, 0xe8, 0x28, 0xe3, 0x49, 0xb0, 0x2d, 0x18, 0x8b, 0xc8, + 0x2d, 0xd7, 0x6f, 0x3d, 0x14, 0x0d, 0xcd, 0x77, 0xc5, 0xaa, 0xb6, 0xa8, 0x97, 0xe1, 0x79, 0x04, + 0x4c, 0x18, 0x4e, 0xf1, 0xa5, 0xe3, 0x19, 0xb6, 0xfc, 0xb9, 0xe8, 0x4e, 0x44, 0x42, 0xf1, 0xf8, + 0x16, 0x1b, 0x4f, 0x2c, 0x81, 0x38, 0xc1, 0xd3, 0xf9, 0xcb, 0xfe, 0xdc, 0x0e, 0x7c, 0x1c, 0x04, + 0xb1, 0x9c, 0xf1, 0xec, 0x31, 0x16, 0x0d, 0x8e, 0x0d, 0x2a, 0xb4, 0x04, 0x28, 0x6a, 0x35, 0x9b, + 0x1e, 0x3b, 0x66, 0xb5, 0xbd, 0xeb, 0x61, 0xd0, 0x6a, 0xf2, 0x00, 0x79, 0xf1, 0x8e, 0x49, 0xad, + 0x0d, 0x8b, 0x3b, 0x94, 0xa0, 0xb2, 0x76, 0x23, 0x62, 0xbf, 0x45, 0x9e, 0x04, 0xee, 0x90, 0xad, + 0x31, 0x10, 0x96, 0x38, 0xeb, 0x6b, 0x4c, 0x3f, 0x60, 0xaf, 0x22, 0xc5, 0xad, 0x90, 0xa0, 0x06, + 0x8c, 0x36, 0x99, 0x0e, 0x10, 0x87, 0x81, 0xe7, 0x11, 0xa9, 0xfc, 0x1f, 0x2d, 0x3e, 0x8b, 0xbf, + 0x83, 0xa2, 0xb3, 0xc3, 0x26, 0x77, 0xeb, 0x6f, 0x0e, 0x33, 0x61, 0x2c, 0x4e, 0xba, 0x07, 0x45, + 0x14, 0xb6, 0x50, 0xb3, 0x3f, 0x92, 0xe7, 0x95, 0xc1, 0x64, 0x1b, 0x15, 0x31, 0xdd, 0x58, 0x72, + 0x41, 0x9f, 0x67, 0x77, 0x0c, 0xb8, 0x8c, 0xca, 0xff, 0xb0, 0x28, 0xa7, 0x37, 0xee, 0x17, 0x08, + 0x16, 0x58, 0x63, 0x87, 0x6e, 0xc1, 0xa8, 0x78, 0x44, 0x47, 0x78, 0x94, 0x4a, 0x86, 0x57, 0x65, + 0x14, 0xeb, 0xc8, 0xfd, 0x34, 0x00, 0x9b, 0x85, 0xd1, 0x26, 0x3c, 0xa9, 0x3d, 0xd7, 0xd7, 0x21, + 0x96, 0x90, 0x0b, 0xbf, 0xa7, 0xf6, 0x76, 0xa7, 0x9f, 0x5c, 0x3b, 0x8c, 0x10, 0x1f, 0xce, 0x07, + 0xad, 0xc2, 0x79, 0xbb, 0x1e, 0xbb, 0xdb, 0xa4, 0x42, 0x6c, 0xc7, 0x73, 0x7d, 0x62, 0x26, 0xd3, + 0x78, 0x7c, 0x6f, 0x77, 0xfa, 0xfc, 0x5c, 0x27, 0x02, 0xdc, 0xb9, 0x1c, 0xfa, 0x24, 0x94, 0x1d, + 0x3f, 0x12, 0x7d, 0x30, 0x60, 0xbc, 0x4c, 0x58, 0xae, 0xdc, 0xae, 0xa9, 0xef, 0x4f, 0xfe, 0xe0, + 0xa4, 0x00, 0x7a, 0x17, 0x46, 0xf4, 0xab, 0x58, 0xe2, 0x45, 0xcc, 0xd7, 0x72, 0xb9, 0x4e, 0x8c, + 0xfb, 0x4b, 0xdc, 0xd9, 0xaa, 0x62, 0x76, 0x8d, 0xab, 0x4d, 0x46, 0x15, 0xe8, 0x33, 0x80, 0x22, + 0x12, 0x6e, 0xbb, 0x75, 0x32, 0x57, 0x67, 0xb9, 0xa5, 0xd9, 0x99, 0xf1, 0x90, 0x71, 0x71, 0x05, + 0xd5, 0xda, 0x28, 0x70, 0x87, 0x52, 0xe8, 0x06, 0x95, 0x3c, 0x3a, 0x54, 0x84, 0x58, 0x4b, 0xbd, + 0x7a, 0xb2, 0x42, 0x9a, 0x21, 0xa9, 0xdb, 0x31, 0x71, 0x4c, 0x8e, 0x38, 0x55, 0x8e, 0x6e, 0x8d, + 0xea, 0x39, 0x12, 0x30, 0x03, 0x83, 0xdb, 0x9f, 0x24, 0xa1, 0x46, 0xf0, 0x56, 0x10, 0xc5, 0xb7, + 0x49, 0xfc, 0x20, 0x08, 0xef, 0xb3, 0x43, 0x9a, 0x21, 0x2d, 0xdd, 0x65, 0x82, 0xc2, 0x3a, 0x1d, + 0x55, 0x41, 0xd9, 0xe9, 0xe0, 0x72, 0x85, 0x1d, 0xbd, 0x0c, 0x25, 0x6b, 0xe7, 0x06, 0x07, 0x63, + 0x89, 0x97, 0xa4, 0xcb, 0xd5, 0x05, 0x76, 0x8c, 0x92, 0x22, 0x5d, 0xae, 0x2e, 0x60, 0x89, 0x47, + 0x41, 0xfb, 0xfb, 0x8f, 0x63, 0x79, 0x8e, 0xb4, 0xda, 0x25, 0x79, 0xce, 0x27, 0x20, 0x1f, 0xc2, + 0x84, 0x7a, 0x83, 0x92, 0xe7, 0x21, 0x8e, 0x26, 0xc7, 0xd9, 0xc4, 0x39, 0x4a, 0x3a, 0x63, 0x15, + 0x53, 0xbf, 0x9c, 0xe2, 0x89, 0xdb, 0x6a, 0x31, 0xd2, 0xb6, 0x4c, 0x64, 0x3e, 0x31, 0x33, 0x0b, + 0xe5, 0xa8, 0xb5, 0xee, 0x04, 0x0d, 0xdb, 0xf5, 0xd9, 0x59, 0x87, 0xa6, 0x47, 0xd5, 0x24, 0x02, + 0x27, 0x34, 0xa8, 0x0a, 0x43, 0xb6, 0xb0, 0xaf, 0xd9, 0x53, 0x94, 0x99, 0xa9, 0x12, 0xa4, 0x35, + 0xce, 0x1d, 0xe1, 0xf2, 0x1f, 0x56, 0x5c, 0xa6, 0x3e, 0x05, 0x67, 0xda, 0x56, 0x49, 0x57, 0x61, + 0xa5, 0xff, 0xae, 0x0f, 0xca, 0xca, 0xbf, 0x88, 0x66, 0x4d, 0x17, 0xf2, 0xe3, 0x69, 0x17, 0xf2, + 0x10, 0xd5, 0x18, 0x74, 0xaf, 0xf1, 0x17, 0x3a, 0xbc, 0x71, 0xff, 0x7c, 0xe6, 0xb4, 0xc8, 0x7f, + 0xcb, 0x4b, 0x33, 0xaa, 0x4a, 0xb9, 0xbd, 0xd2, 0x7d, 0x87, 0xda, 0x69, 0x39, 0x9f, 0x95, 0xa4, + 0x16, 0x59, 0x33, 0x70, 0x96, 0xab, 0xe9, 0x57, 0xd3, 0xaa, 0x14, 0x88, 0x39, 0x8e, 0x69, 0xa3, + 0x54, 0xcc, 0x33, 0x6d, 0x74, 0xf0, 0x88, 0xda, 0xa8, 0x64, 0x80, 0x13, 0x5e, 0x68, 0x1b, 0xce, + 0xd4, 0xcd, 0x47, 0xf0, 0xd4, 0xdd, 0xad, 0x17, 0xbb, 0x78, 0x84, 0xae, 0xa5, 0x3d, 0xc9, 0xb3, + 0x90, 0xe6, 0x87, 0xdb, 0xab, 0x40, 0x6f, 0xc0, 0xd0, 0xbb, 0x41, 0xb4, 0xe0, 0xd9, 0x51, 0x24, + 0x64, 0x9d, 0xbc, 0x27, 0x33, 0xf4, 0xd6, 0x6a, 0x8d, 0xc1, 0xf7, 0x77, 0xa7, 0x87, 0xab, 0x81, + 0x23, 0xff, 0x62, 0x55, 0xc0, 0xfa, 0x1b, 0x45, 0xa6, 0x53, 0x0a, 0x0f, 0x01, 0x89, 0x5a, 0x5e, + 0x2f, 0x5f, 0x90, 0x58, 0x35, 0x9c, 0x16, 0xc7, 0xec, 0x45, 0x3f, 0x7e, 0x3b, 0xec, 0xb7, 0x8b, + 0xcc, 0x8b, 0xbe, 0x46, 0x1a, 0x4d, 0xcf, 0x8e, 0x7b, 0x19, 0x46, 0xfc, 0x79, 0x18, 0x8a, 0x45, + 0x2d, 0xf9, 0x1e, 0xd5, 0xd0, 0x9a, 0xc5, 0xce, 0x2c, 0x92, 0xcf, 0x10, 0x50, 0xac, 0x18, 0xf6, + 0xb8, 0x93, 0x7e, 0x83, 0xcf, 0x20, 0x59, 0xef, 0x09, 0x18, 0xf1, 0xb7, 0x4d, 0x23, 0xfe, 0xb9, + 0xdc, 0x3d, 0x75, 0x2a, 0xc6, 0xfc, 0xef, 0x15, 0x8c, 0xfe, 0x61, 0x7a, 0xf5, 0xa3, 0x7f, 0xe0, + 0x65, 0xad, 0x82, 0xf9, 0x5c, 0x22, 0x7a, 0x93, 0x5f, 0x22, 0xe0, 0xdb, 0xcc, 0x95, 0xae, 0x2f, + 0x10, 0x58, 0xbf, 0x5f, 0x84, 0x73, 0xdc, 0x29, 0x3d, 0xb7, 0x1d, 0xb8, 0x4e, 0x35, 0x70, 0xc4, + 0x95, 0x0a, 0x07, 0x46, 0x9a, 0x9a, 0xbd, 0x93, 0x2f, 0xd9, 0x8d, 0x6e, 0x21, 0x25, 0x3a, 0xa6, + 0x0e, 0xc5, 0x06, 0x57, 0x5a, 0x0b, 0xd9, 0x76, 0xeb, 0xca, 0x0b, 0x59, 0xec, 0x5a, 0xf2, 0xab, + 0x5a, 0x16, 0x35, 0x3e, 0xd8, 0xe0, 0xda, 0x83, 0x37, 0x6b, 0xac, 0xef, 0x16, 0xe0, 0xb1, 0x03, + 0x12, 0xe2, 0xd0, 0xea, 0x1e, 0xb0, 0x83, 0x00, 0xf1, 0x1e, 0xa7, 0xaa, 0x8e, 0x1f, 0x0f, 0x60, + 0x81, 0x45, 0xeb, 0x00, 0xdc, 0xbd, 0x4f, 0xd5, 0xab, 0x8c, 0x24, 0xf3, 0x07, 0xe5, 0x6e, 0xd0, + 0xae, 0xf5, 0x4b, 0x4e, 0x58, 0xe3, 0x6a, 0x7d, 0xaf, 0x04, 0xfd, 0xfc, 0xf1, 0xf5, 0x2a, 0x0c, + 0x6e, 0xf1, 0x84, 0xd0, 0xdd, 0xe5, 0xa3, 0x4e, 0xf4, 0x59, 0x0e, 0xc0, 0x92, 0x0d, 0x5a, 0x81, + 0xb3, 0x54, 0x79, 0x72, 0x6d, 0xaf, 0x42, 0x3c, 0x7b, 0x47, 0x1a, 0x48, 0xfc, 0x31, 0x10, 0x99, + 0xb7, 0xfe, 0xec, 0x72, 0x3b, 0x09, 0xee, 0x54, 0x0e, 0xbd, 0xd9, 0x96, 0xb7, 0x90, 0x27, 0xda, + 0x56, 0xb7, 0x41, 0x33, 0x72, 0x17, 0xbe, 0x01, 0xa3, 0xcd, 0x36, 0x53, 0x50, 0x7b, 0x5d, 0xdb, + 0x34, 0xff, 0x4c, 0x5a, 0x54, 0x81, 0x89, 0xa8, 0xc5, 0x22, 0x2e, 0xd6, 0xb6, 0x42, 0x12, 0x6d, + 0x05, 0x9e, 0x23, 0x1e, 0x86, 0x55, 0x6a, 0x6f, 0x2d, 0x85, 0xc7, 0x6d, 0x25, 0x28, 0x97, 0x0d, + 0xdb, 0xf5, 0x5a, 0x21, 0x49, 0xb8, 0x0c, 0x98, 0x5c, 0x96, 0x52, 0x78, 0xdc, 0x56, 0xc2, 0xfa, + 0x93, 0x02, 0x9c, 0xed, 0x10, 0x96, 0xc4, 0x43, 0x71, 0x37, 0xdd, 0x28, 0x56, 0x4f, 0x3e, 0x68, + 0xa1, 0xb8, 0x1c, 0x8e, 0x15, 0x05, 0x9d, 0x85, 0xdc, 0xbe, 0x4f, 0x1f, 0xf7, 0x8b, 0xc0, 0x0b, + 0x81, 0xed, 0x2e, 0x4f, 0x20, 0xba, 0x04, 0x7d, 0xad, 0x88, 0x84, 0xf2, 0x25, 0x48, 0x29, 0xa2, + 0x98, 0x4b, 0x87, 0x61, 0xa8, 0xba, 0xb7, 0xa9, 0xbc, 0x29, 0x9a, 0xba, 0xc7, 0xfd, 0x29, 0x1c, + 0x67, 0x7d, 0xab, 0x04, 0xe3, 0xa9, 0xf0, 0x44, 0xda, 0x90, 0x46, 0xe0, 0xbb, 0x71, 0xa0, 0xf2, + 0xbc, 0xf1, 0x87, 0xdc, 0x48, 0x73, 0x6b, 0x45, 0xc0, 0xb1, 0xa2, 0x40, 0xcf, 0xca, 0xb7, 0x78, + 0xd3, 0x4f, 0x59, 0xcc, 0x57, 0x8c, 0xe7, 0x78, 0xf3, 0x3e, 0x43, 0xf3, 0x34, 0xf4, 0x35, 0x03, + 0xf5, 0xb4, 0xba, 0x9a, 0xf4, 0x78, 0xbe, 0x52, 0x0d, 0x02, 0x0f, 0x33, 0x24, 0x7a, 0x46, 0x7c, + 0x7d, 0xca, 0x87, 0x8f, 0x6d, 0x27, 0x88, 0xb4, 0x2e, 0x78, 0x0e, 0x06, 0xef, 0x93, 0x9d, 0xd0, + 0xf5, 0x37, 0xd3, 0x27, 0x18, 0x37, 0x39, 0x18, 0x4b, 0xbc, 0xf9, 0xd4, 0xcc, 0x60, 0x8f, 0x9f, + 0x9a, 0x19, 0xca, 0x8c, 0xdf, 0xfe, 0x46, 0x11, 0xc6, 0x59, 0xb2, 0x59, 0x71, 0xd1, 0xde, 0x0d, + 0xfc, 0x1e, 0x6e, 0x8b, 0x4f, 0x43, 0x7f, 0x48, 0x2b, 0x4b, 0xbf, 0x12, 0xc1, 0x5a, 0x80, 0x39, + 0x0e, 0x3d, 0x01, 0x7d, 0xac, 0x6a, 0x3a, 0x7c, 0x23, 0x3c, 0xeb, 0x7e, 0xc5, 0x8e, 0x6d, 0xcc, + 0xa0, 0x27, 0x70, 0x6b, 0x0a, 0x93, 0xa6, 0xe7, 0xf2, 0xae, 0x48, 0xfc, 0x71, 0x8f, 0xca, 0xad, + 0xa9, 0x8e, 0x8d, 0x3b, 0xae, 0x5b, 0x53, 0x9d, 0x99, 0x9f, 0x66, 0x00, 0xcd, 0xff, 0x2c, 0xc2, + 0xc5, 0x8e, 0xad, 0x4a, 0xce, 0x6d, 0x97, 0x8c, 0x73, 0xdb, 0x6b, 0xa9, 0x73, 0x5b, 0xeb, 0xf0, + 0xd2, 0xc7, 0x73, 0x92, 0xdb, 0xf9, 0x80, 0xb5, 0x74, 0x82, 0x07, 0xac, 0x7d, 0x79, 0xd5, 0x9c, + 0xfe, 0x0c, 0x35, 0xe7, 0x7b, 0x45, 0x78, 0xbc, 0x63, 0x97, 0x3d, 0x72, 0xd7, 0xd4, 0x3a, 0xb6, + 0xf2, 0x54, 0x4c, 0x8b, 0x5f, 0x2d, 0x1d, 0xd0, 0x67, 0xcc, 0xc8, 0xb8, 0x4c, 0xe5, 0x31, 0x43, + 0x46, 0x42, 0x3d, 0x1c, 0xe1, 0xb2, 0x98, 0xc3, 0xb0, 0xc2, 0xa2, 0x48, 0xbb, 0xe6, 0xc5, 0xbb, + 0x60, 0xf1, 0x88, 0xc2, 0x60, 0xc6, 0x74, 0xfe, 0xea, 0x99, 0x14, 0x52, 0x97, 0xbf, 0xd0, 0x3d, + 0xcd, 0xe4, 0x2d, 0x1d, 0xc5, 0xe4, 0x1d, 0x39, 0xc0, 0xdc, 0x9d, 0x83, 0xf1, 0x86, 0xeb, 0xb3, + 0x77, 0x8b, 0x4d, 0xfd, 0x4c, 0xdd, 0x3a, 0x5e, 0x31, 0xd1, 0x38, 0x4d, 0x3f, 0xf5, 0x06, 0x8c, + 0x1e, 0xdd, 0x3f, 0xf7, 0x7e, 0x09, 0x3e, 0x7c, 0x88, 0x40, 0xe3, 0xfb, 0xa4, 0x31, 0x2e, 0xda, + 0x3e, 0xd9, 0x36, 0x36, 0x55, 0x38, 0xb7, 0xd1, 0xf2, 0xbc, 0x1d, 0x16, 0xb1, 0x45, 0x1c, 0x49, + 0x21, 0x74, 0x5f, 0xf9, 0x42, 0xf5, 0xb9, 0xa5, 0x0e, 0x34, 0xb8, 0x63, 0x49, 0xf4, 0x19, 0x40, + 0xc1, 0x3a, 0x4b, 0xee, 0xec, 0x24, 0x99, 0x22, 0xd8, 0x10, 0x94, 0x12, 0x41, 0xb0, 0xda, 0x46, + 0x81, 0x3b, 0x94, 0xa2, 0x9a, 0x30, 0xdd, 0xd1, 0x77, 0x54, 0xb3, 0x52, 0x9a, 0x30, 0xd6, 0x91, + 0xd8, 0xa4, 0x45, 0xd7, 0xe1, 0x8c, 0xbd, 0x6d, 0xbb, 0x3c, 0xcf, 0x97, 0x64, 0xc0, 0x55, 0x61, + 0xe5, 0x01, 0x9b, 0x4b, 0x13, 0xe0, 0xf6, 0x32, 0xa8, 0x69, 0xb8, 0x34, 0xf9, 0x33, 0x17, 0x9f, + 0x3c, 0xc2, 0x0c, 0xce, 0xed, 0xe4, 0xb4, 0xfe, 0xb8, 0x40, 0xb7, 0xeb, 0x0e, 0x4f, 0xd1, 0xd2, + 0x1e, 0x51, 0x2e, 0x3a, 0xed, 0xea, 0x9b, 0xea, 0x91, 0x05, 0x1d, 0x89, 0x4d, 0x5a, 0x3e, 0x35, + 0xa2, 0x24, 0x9c, 0xdc, 0xd0, 0xbb, 0xc5, 0x8d, 0x4f, 0x45, 0x81, 0xee, 0xc1, 0xa0, 0xe3, 0x6e, + 0xbb, 0x51, 0x10, 0x8a, 0x05, 0xd4, 0x55, 0x88, 0x72, 0x22, 0x8b, 0x2b, 0x9c, 0x09, 0x96, 0xdc, + 0xac, 0xff, 0x5b, 0x84, 0x51, 0x59, 0xdf, 0x5b, 0xad, 0x80, 0x49, 0xc8, 0x5e, 0x29, 0x21, 0x6f, + 0x19, 0x4a, 0xc8, 0x6c, 0xbe, 0x6b, 0xaf, 0xac, 0x51, 0x07, 0x2a, 0x1f, 0x9f, 0x4d, 0x29, 0x1f, + 0x57, 0xbb, 0x61, 0x7a, 0x9a, 0x4a, 0xc7, 0x6f, 0x15, 0xe1, 0x8c, 0xd1, 0x9a, 0x13, 0xd8, 0xfb, + 0xaa, 0xe6, 0xde, 0xf7, 0x42, 0x17, 0x7d, 0x75, 0x2a, 0x7b, 0xde, 0xf7, 0xd2, 0x7d, 0xc4, 0xf6, + 0xba, 0xaf, 0x42, 0xdf, 0x96, 0x1d, 0x3a, 0xf9, 0x92, 0x74, 0xb6, 0x15, 0x9f, 0xb9, 0x61, 0x87, + 0x0e, 0xdf, 0xb1, 0xae, 0xa8, 0x87, 0xf2, 0xec, 0xd0, 0xc9, 0xbc, 0x17, 0xc2, 0x2a, 0x45, 0xaf, + 0xc3, 0x40, 0x54, 0x0f, 0x9a, 0x2a, 0x56, 0xf6, 0x12, 0x7f, 0x44, 0x8f, 0x42, 0xf6, 0x77, 0xa7, + 0x91, 0x59, 0x1d, 0x05, 0x63, 0x41, 0x3f, 0x45, 0xa0, 0xac, 0xaa, 0xee, 0xe1, 0x0d, 0x84, 0xf7, + 0x4b, 0x70, 0xb6, 0xc3, 0x2c, 0x47, 0x5f, 0x33, 0x7a, 0xed, 0x8d, 0xae, 0x97, 0xc9, 0x07, 0xec, + 0xb7, 0xaf, 0x31, 0x1b, 0xd7, 0x11, 0x33, 0xef, 0x08, 0xd5, 0xdf, 0x89, 0x48, 0xba, 0x7a, 0x0a, + 0xca, 0xae, 0x9e, 0x56, 0x7b, 0x42, 0x9d, 0x4f, 0xab, 0x51, 0xed, 0xec, 0xe1, 0x18, 0xbf, 0xd7, + 0x07, 0xe7, 0x3a, 0x65, 0x05, 0x40, 0xbf, 0x50, 0x48, 0x3d, 0x03, 0xf3, 0x66, 0xf7, 0xa9, 0x05, + 0xf8, 0xdb, 0x30, 0x22, 0xa7, 0xd0, 0x8c, 0xf9, 0x30, 0x4c, 0x66, 0x6f, 0x8b, 0xda, 0xd9, 0x5d, + 0xae, 0x90, 0x3f, 0x17, 0x24, 0xa5, 0xcd, 0xa7, 0x8f, 0xd0, 0x14, 0xf1, 0xe2, 0x50, 0x94, 0xba, + 0xcb, 0x25, 0xc1, 0xd9, 0x77, 0xb9, 0x64, 0x1b, 0xa6, 0x36, 0x61, 0x58, 0xfb, 0xae, 0x1e, 0x4e, + 0x01, 0x97, 0x6e, 0xa7, 0x5a, 0xab, 0x7b, 0xf9, 0x46, 0x52, 0x01, 0x52, 0x11, 0x53, 0xca, 0x91, + 0x56, 0x38, 0xd0, 0x91, 0x76, 0x09, 0xfa, 0xc2, 0xc0, 0x23, 0xe9, 0x27, 0x3e, 0x70, 0xe0, 0x11, + 0xcc, 0x30, 0xea, 0xad, 0xef, 0xd2, 0x81, 0x6f, 0x7d, 0x3f, 0x0d, 0xfd, 0x1e, 0xd9, 0x26, 0xd2, + 0xad, 0xa5, 0xb6, 0x86, 0x5b, 0x14, 0x88, 0x39, 0xce, 0xfa, 0x3b, 0x7d, 0x30, 0xc0, 0x7d, 0x47, + 0x3d, 0xd4, 0x28, 0xaa, 0xc2, 0x8d, 0x93, 0xeb, 0x86, 0x3e, 0x6f, 0xcd, 0x4c, 0xc5, 0x8e, 0x6d, + 0x3e, 0xa1, 0xd4, 0xb7, 0x69, 0xae, 0x9f, 0x19, 0xe3, 0xeb, 0xa7, 0x52, 0x96, 0x3e, 0x70, 0x1e, + 0x5a, 0x5f, 0x6c, 0x01, 0x44, 0xec, 0x65, 0x56, 0xca, 0x43, 0x64, 0x52, 0x7d, 0x25, 0x57, 0x3b, + 0x6a, 0xaa, 0x18, 0x6f, 0x4d, 0x92, 0xc2, 0x51, 0x21, 0xb0, 0xc6, 0xdb, 0xd8, 0x6b, 0xfb, 0x8f, + 0x7b, 0xaf, 0x9d, 0x7a, 0x0d, 0xca, 0xaa, 0x29, 0x59, 0x26, 0xd0, 0x88, 0x3e, 0xe1, 0xff, 0x1c, + 0x8c, 0xa7, 0xbe, 0xa4, 0x2b, 0x0b, 0xea, 0x07, 0x05, 0x38, 0xc3, 0x3b, 0xe4, 0x26, 0xd9, 0x51, + 0x9a, 0xf5, 0x7b, 0x05, 0x38, 0xe7, 0x75, 0x70, 0x49, 0x8a, 0xe9, 0x73, 0x14, 0x67, 0xa6, 0x32, + 0x9f, 0x3a, 0x61, 0x71, 0xc7, 0xda, 0x64, 0xe6, 0xe9, 0x62, 0xe7, 0xcc, 0xd3, 0xd6, 0xaf, 0x16, + 0x41, 0x4c, 0x88, 0x13, 0x50, 0xde, 0x96, 0x4d, 0xe5, 0xed, 0x23, 0x79, 0xe6, 0xd8, 0xa9, 0x68, + 0x6d, 0xff, 0xb6, 0x00, 0x88, 0x57, 0x9f, 0x7e, 0x5c, 0x9a, 0xfb, 0x8f, 0x35, 0x4b, 0x29, 0x99, + 0xf2, 0x0a, 0x83, 0x35, 0xaa, 0x2e, 0xdf, 0x98, 0x51, 0x8f, 0xb2, 0x1e, 0xf0, 0xd9, 0x57, 0x61, + 0x58, 0x3c, 0x9f, 0xb8, 0x92, 0x3c, 0xb8, 0x3a, 0xce, 0x9e, 0xfe, 0x4e, 0xc0, 0x58, 0xa7, 0xb1, + 0xfe, 0x55, 0x09, 0xd2, 0x01, 0x51, 0xe8, 0x4b, 0x30, 0x52, 0xb7, 0x9b, 0xf6, 0xba, 0xeb, 0xb9, + 0xb1, 0x4b, 0xa2, 0x7c, 0x67, 0x98, 0x0b, 0x5a, 0x09, 0x71, 0x02, 0xa1, 0x41, 0xb0, 0xc1, 0x11, + 0xcd, 0x00, 0x34, 0x43, 0x77, 0xdb, 0xf5, 0xc8, 0x26, 0x53, 0x99, 0x58, 0x50, 0x37, 0x3f, 0x8e, + 0x93, 0x50, 0xac, 0x51, 0x74, 0x88, 0xc0, 0x2d, 0x9d, 0x44, 0x04, 0x6e, 0x5f, 0x97, 0x11, 0xb8, + 0xfd, 0xb9, 0x22, 0x70, 0x31, 0x5c, 0x90, 0x07, 0x07, 0xf4, 0xff, 0x92, 0xeb, 0x11, 0x9e, 0xc7, + 0x56, 0x04, 0x7d, 0x4f, 0xed, 0xed, 0x4e, 0x5f, 0xc0, 0x1d, 0x29, 0xf0, 0x01, 0x25, 0xad, 0xff, + 0x54, 0x80, 0xb3, 0x35, 0x12, 0xba, 0x2c, 0xbf, 0xa0, 0x93, 0xac, 0xef, 0x2f, 0x40, 0x39, 0x4c, + 0x89, 0x96, 0x2e, 0xaf, 0x40, 0x6b, 0x79, 0x98, 0xa4, 0x28, 0x49, 0x58, 0xf6, 0x38, 0x1e, 0xfb, + 0xa7, 0x45, 0x18, 0x14, 0x71, 0x8d, 0x3d, 0xdc, 0x62, 0x6f, 0x1a, 0x46, 0xfb, 0x73, 0x59, 0x62, + 0x87, 0x35, 0xe7, 0x40, 0x73, 0xbd, 0x96, 0x32, 0xd7, 0x5f, 0xc8, 0xc7, 0xee, 0x34, 0x0d, 0xf5, + 0xef, 0x94, 0x60, 0xcc, 0x8c, 0x1e, 0xed, 0x61, 0x67, 0xbf, 0x0d, 0x83, 0x91, 0x08, 0xa9, 0x2c, + 0xe6, 0x89, 0x26, 0x4b, 0x4f, 0x47, 0xe5, 0xe7, 0x91, 0x41, 0x94, 0x92, 0x5d, 0xc7, 0xa8, 0xcd, + 0xd2, 0x89, 0x44, 0x6d, 0xf6, 0x76, 0x78, 0xfe, 0x76, 0x11, 0x52, 0xe1, 0xc2, 0x27, 0xb0, 0x17, + 0xbf, 0x65, 0xee, 0x4b, 0x57, 0x72, 0xcd, 0x62, 0xd1, 0xbc, 0x53, 0xd9, 0x93, 0xbf, 0x55, 0x84, + 0x61, 0xd1, 0x8c, 0x13, 0xe8, 0x9e, 0xcf, 0x98, 0xdd, 0xf3, 0x4c, 0xae, 0xee, 0x39, 0x95, 0x7e, + 0xf9, 0x8d, 0xa4, 0x5f, 0xaa, 0x41, 0x18, 0xe7, 0xca, 0x56, 0x3d, 0xd4, 0x0c, 0x83, 0x38, 0xa8, + 0x07, 0x9e, 0xd0, 0x0b, 0x9f, 0x48, 0x2e, 0x51, 0x71, 0xf8, 0xbe, 0xf6, 0x1b, 0x2b, 0x6a, 0x76, + 0x7d, 0x27, 0x08, 0x63, 0xa1, 0x77, 0x24, 0xd7, 0x77, 0x82, 0x30, 0xc6, 0x0c, 0x83, 0xd6, 0x01, + 0x92, 0xc7, 0xf3, 0xd3, 0x6b, 0x25, 0xd5, 0x79, 0xad, 0xd8, 0xf5, 0x66, 0x5c, 0x3f, 0x8e, 0xe2, + 0x70, 0x66, 0xd9, 0x8f, 0x57, 0x43, 0xae, 0x84, 0x6b, 0x77, 0xa2, 0x14, 0x27, 0xac, 0x71, 0x95, + 0x91, 0xee, 0xac, 0x86, 0x7e, 0xf3, 0x44, 0xe2, 0xb6, 0x80, 0x63, 0x45, 0x61, 0x7d, 0x8b, 0x6f, + 0x9c, 0xac, 0x7f, 0x1e, 0xa5, 0xab, 0x48, 0x7f, 0x69, 0x40, 0x8d, 0x1b, 0xf3, 0x09, 0xde, 0x86, + 0x7e, 0xda, 0x83, 0xd2, 0xed, 0x91, 0x6f, 0x97, 0xa2, 0x5f, 0xa8, 0x07, 0x0e, 0x87, 0x71, 0x84, + 0x39, 0x1b, 0x44, 0xda, 0x4e, 0xc9, 0x5e, 0xcb, 0xbd, 0xf1, 0x75, 0x71, 0x2e, 0xc6, 0xf2, 0xe6, + 0xb1, 0x74, 0x5e, 0xcb, 0xd5, 0x74, 0x02, 0xf3, 0x05, 0x89, 0xc0, 0x09, 0x0d, 0x9a, 0x15, 0xd6, + 0x29, 0x37, 0xbc, 0x3f, 0x9c, 0xb2, 0x4e, 0x65, 0x97, 0x68, 0xe6, 0xe9, 0x55, 0x18, 0x56, 0x4f, + 0xb8, 0x54, 0xf9, 0x4b, 0x1c, 0x65, 0xae, 0xf3, 0x2e, 0x26, 0x60, 0xac, 0xd3, 0xa0, 0x65, 0x38, + 0xeb, 0xa8, 0x7b, 0x13, 0xd5, 0xd6, 0xba, 0xe7, 0xd6, 0x69, 0x51, 0x7e, 0x65, 0xf4, 0xb1, 0xbd, + 0xdd, 0xe9, 0xb3, 0x95, 0x76, 0x34, 0xee, 0x54, 0x06, 0xad, 0xc1, 0x78, 0xc4, 0x9f, 0xaa, 0x91, + 0xc1, 0xf1, 0x22, 0xaf, 0xef, 0xf3, 0xf2, 0x78, 0xae, 0x66, 0xa2, 0xf7, 0x19, 0x88, 0x8b, 0x4b, + 0x19, 0x4e, 0x9f, 0x66, 0x81, 0xde, 0x84, 0x31, 0x4f, 0x7f, 0x4c, 0xb5, 0x2a, 0xae, 0x8f, 0xa8, + 0x90, 0x2e, 0xe3, 0xa9, 0xd5, 0x2a, 0x4e, 0x51, 0xa3, 0xb7, 0x61, 0x52, 0x87, 0x88, 0xb4, 0x3b, + 0xb6, 0xbf, 0x49, 0x22, 0xf1, 0x46, 0xc6, 0x13, 0x7b, 0xbb, 0xd3, 0x93, 0xb7, 0x0e, 0xa0, 0xc1, + 0x07, 0x96, 0x46, 0xaf, 0xc3, 0x88, 0xec, 0x49, 0xed, 0x2a, 0x49, 0x12, 0x4c, 0xa8, 0xe1, 0xb0, + 0x41, 0xf9, 0xc1, 0x4e, 0x21, 0xbf, 0x4a, 0x0b, 0x6b, 0x9a, 0x12, 0xfa, 0x32, 0x8c, 0xe8, 0x6d, + 0x14, 0x22, 0xfe, 0xa5, 0xfc, 0x0f, 0xd4, 0x0a, 0x8d, 0x4b, 0xb5, 0x5c, 0xc7, 0x61, 0x83, 0xb7, + 0xb5, 0x0a, 0x03, 0xb5, 0x9d, 0xa8, 0x1e, 0x7b, 0x39, 0x84, 0xe7, 0xd3, 0xc6, 0x27, 0x24, 0x6b, + 0x8f, 0xbd, 0xb3, 0x24, 0xbe, 0xc8, 0xaa, 0xc3, 0xf8, 0xda, 0x42, 0xb5, 0x16, 0xd4, 0xef, 0x93, + 0x78, 0x8e, 0x85, 0x5b, 0xa2, 0xaa, 0x10, 0x9d, 0x85, 0x23, 0x89, 0xc4, 0x0e, 0xa2, 0xd6, 0xfa, + 0x7a, 0x01, 0xfa, 0xd7, 0x6c, 0x37, 0xfb, 0x75, 0xa9, 0x3c, 0x4d, 0x46, 0xaf, 0xc2, 0x00, 0xd9, + 0xd8, 0x20, 0xf5, 0x58, 0x2c, 0xe2, 0x27, 0xa5, 0xa6, 0xba, 0xc8, 0xa0, 0x74, 0x69, 0xb2, 0xca, + 0xf8, 0x5f, 0x2c, 0x88, 0xad, 0x7f, 0x5f, 0x00, 0x58, 0x0b, 0x3c, 0x79, 0xc0, 0x9a, 0xd1, 0x92, + 0xf9, 0xb6, 0x77, 0xae, 0x9e, 0xed, 0xf0, 0xce, 0x15, 0x4a, 0x18, 0x76, 0x78, 0xe5, 0x4a, 0x7d, + 0x4d, 0x29, 0xd7, 0xd7, 0xf4, 0x75, 0xf3, 0x35, 0xdf, 0x2c, 0x80, 0x88, 0x02, 0xcc, 0x31, 0x13, + 0x1c, 0xf9, 0x36, 0x8d, 0x91, 0x50, 0xeb, 0xf9, 0x3c, 0x57, 0x0e, 0x45, 0x1a, 0x2d, 0x35, 0x37, + 0x8d, 0xe4, 0x59, 0x06, 0x57, 0xeb, 0x07, 0x05, 0x18, 0xe6, 0xe8, 0x15, 0xa6, 0xb8, 0x67, 0xb7, + 0xab, 0xab, 0xc4, 0xa4, 0xec, 0xe9, 0x16, 0xca, 0x58, 0xa5, 0x90, 0xd4, 0x9f, 0x6e, 0x91, 0x08, + 0x9c, 0xd0, 0xa0, 0xe7, 0x60, 0x30, 0x6a, 0xad, 0x33, 0xf2, 0x54, 0x48, 0x60, 0x8d, 0x83, 0xb1, + 0xc4, 0x5b, 0x3f, 0x8f, 0xc0, 0xf8, 0x34, 0x23, 0x5d, 0x65, 0xe1, 0xd8, 0xd3, 0x55, 0xbe, 0x03, + 0x43, 0xa4, 0xd1, 0x8c, 0x77, 0x2a, 0x6e, 0x98, 0x2f, 0x2d, 0xf1, 0xa2, 0xa0, 0x6e, 0xe7, 0x2e, + 0x31, 0x58, 0x71, 0x3c, 0x20, 0xf9, 0x68, 0xe9, 0x91, 0x48, 0x3e, 0xda, 0x77, 0x2a, 0xc9, 0x47, + 0xdf, 0x86, 0xc1, 0x4d, 0x37, 0xc6, 0xa4, 0x19, 0x08, 0x67, 0x6e, 0xc6, 0xc9, 0xf5, 0x75, 0x4e, + 0xdc, 0x9e, 0x51, 0x50, 0x20, 0xb0, 0x64, 0x87, 0xd6, 0x60, 0x80, 0x1b, 0x7d, 0x22, 0xa1, 0xc9, + 0x4b, 0x79, 0x3c, 0x85, 0xed, 0xa9, 0x2d, 0x45, 0xdc, 0xa7, 0xe0, 0x25, 0x93, 0x8d, 0x0e, 0x7e, + 0xf0, 0x64, 0xa3, 0x2a, 0x45, 0xe8, 0xd0, 0x71, 0xa5, 0x08, 0x35, 0x52, 0xad, 0x96, 0x7b, 0x91, + 0x6a, 0xf5, 0x9b, 0x05, 0x38, 0xdf, 0xec, 0x94, 0x06, 0x59, 0x24, 0xfb, 0xfc, 0xd4, 0x11, 0xd2, + 0x42, 0x1b, 0x55, 0xb3, 0x9b, 0xbf, 0x1d, 0xc9, 0x70, 0xe7, 0x8a, 0x65, 0xce, 0xd6, 0xe1, 0x0f, + 0x9e, 0xb3, 0xb5, 0xd7, 0x59, 0x41, 0x93, 0x0c, 0xae, 0xa3, 0x3d, 0xc9, 0xe0, 0x3a, 0x76, 0x8c, + 0x19, 0x5c, 0xb5, 0xdc, 0xab, 0xe3, 0xc7, 0x9b, 0x7b, 0x75, 0x0b, 0x86, 0x9d, 0xe0, 0x81, 0xff, + 0xc0, 0x0e, 0x9d, 0xb9, 0xea, 0xb2, 0x48, 0xf5, 0x99, 0x91, 0xf9, 0xa9, 0x92, 0x14, 0x30, 0x6a, + 0xe0, 0x4e, 0xeb, 0x04, 0x89, 0x75, 0xd6, 0x22, 0x0b, 0xed, 0x99, 0x0f, 0x98, 0x85, 0xd6, 0xc8, + 0xe5, 0x8a, 0x7a, 0x91, 0xcb, 0xf5, 0x4b, 0x2c, 0xd1, 0xc9, 0x86, 0xbb, 0xb9, 0x62, 0x37, 0x27, + 0xcf, 0xe6, 0xa9, 0x61, 0x41, 0x92, 0xb7, 0xd7, 0xa0, 0x50, 0x38, 0x61, 0xda, 0x9e, 0x2d, 0xf6, + 0xdc, 0x49, 0x67, 0x8b, 0x3d, 0xdf, 0xc3, 0x6c, 0xb1, 0x17, 0x4e, 0x34, 0x5b, 0xec, 0x63, 0xa7, + 0x92, 0x2d, 0xf6, 0x2f, 0xc0, 0xc5, 0xc3, 0x87, 0x23, 0x79, 0xeb, 0xa0, 0x9a, 0x38, 0x24, 0x52, + 0x6f, 0x1d, 0x30, 0x55, 0x47, 0xa3, 0xca, 0x9d, 0xb4, 0xf2, 0x77, 0x0b, 0xf0, 0xd8, 0x01, 0xd9, + 0xd7, 0x72, 0xdf, 0xc7, 0x6a, 0xc2, 0x78, 0xd3, 0x2c, 0x9a, 0xfb, 0xd6, 0xa7, 0x91, 0xed, 0x4d, + 0x45, 0xb4, 0xa6, 0x10, 0x38, 0xcd, 0x7e, 0xfe, 0x23, 0x3f, 0x7a, 0xff, 0xe2, 0x87, 0x7e, 0xfc, + 0xfe, 0xc5, 0x0f, 0xfd, 0xd1, 0xfb, 0x17, 0x3f, 0xf4, 0x73, 0x7b, 0x17, 0x0b, 0x3f, 0xda, 0xbb, + 0x58, 0xf8, 0xf1, 0xde, 0xc5, 0xc2, 0x9f, 0xec, 0x5d, 0x2c, 0x7c, 0xf3, 0xa7, 0x17, 0x3f, 0xf4, + 0xb9, 0xe2, 0xf6, 0xd5, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x50, 0x19, 0x54, 0x07, 0xc8, + 0x00, 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index 9c0ac56fdc1..7bbe91b733d 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.api.v1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -138,6 +138,8 @@ message AzureFileVolumeSource { // Binding ties one object to another. // For example, a pod is bound to a node by a scheduler. message Binding { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -237,6 +239,8 @@ message ComponentCondition { // ComponentStatus (and ComponentStatusList) holds the cluster validation info. message ComponentStatus { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -249,10 +253,12 @@ message ComponentStatus { // Status of all the conditions for the component as a list of ComponentStatus objects. message ComponentStatusList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ComponentStatus objects. repeated ComponentStatus items = 2; @@ -260,6 +266,8 @@ message ComponentStatusList { // ConfigMap holds configuration data for pods to consume. message ConfigMap { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -292,9 +300,11 @@ message ConfigMapKeySelector { // ConfigMapList is a resource containing a list of ConfigMap objects. message ConfigMapList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ConfigMaps. repeated ConfigMap items = 2; @@ -527,7 +537,7 @@ message ContainerState { message ContainerStateRunning { // Time at which the container was last (re-)started // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time startedAt = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startedAt = 1; } // ContainerStateTerminated is a terminated state of a container. @@ -549,11 +559,11 @@ message ContainerStateTerminated { // Time at which previous execution of the container started // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time startedAt = 5; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startedAt = 5; // Time at which the container last terminated // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time finishedAt = 6; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time finishedAt = 6; // Container's ID in the format 'docker://' // +optional @@ -616,6 +626,8 @@ message DaemonEndpoint { // DeleteOptions may be provided when deleting an API object message DeleteOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // The duration in seconds before the object should be deleted. Value must be non-negative integer. // The value zero indicates delete immediately. If this value is nil, the default grace period for the // specified type will be used. @@ -764,6 +776,8 @@ message EndpointSubset { // }, // ] message Endpoints { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -781,10 +795,12 @@ message Endpoints { // EndpointsList is a list of endpoints. message EndpointsList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of endpoints. repeated Endpoints items = 2; @@ -846,6 +862,8 @@ message EnvVarSource { // Event is a report of an event somewhere in the cluster. // TODO: Decide whether to store these separately or with the object they apply to. message Event { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 10; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata optional ObjectMeta metadata = 1; @@ -870,11 +888,11 @@ message Event { // The time at which the event was first recorded. (Time of server receipt is in TypeMeta.) // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time firstTimestamp = 6; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time firstTimestamp = 6; // The time at which the most recent occurrence of this event was recorded. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTimestamp = 7; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTimestamp = 7; // The number of times this event has occurred. // +optional @@ -887,10 +905,12 @@ message Event { // EventList is a list of events. message EventList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of events repeated Event items = 2; @@ -1192,6 +1212,8 @@ message Lifecycle { // LimitRange sets resource usage limits for each kind of resource in a Namespace. message LimitRange { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -1232,10 +1254,12 @@ message LimitRangeItem { // LimitRangeList is a list of LimitRange items. message LimitRangeList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of LimitRange objects. // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_limit_range.md @@ -1250,17 +1274,21 @@ message LimitRangeSpec { // List holds a list of objects, which may not be known by the server. message List { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of objects - repeated k8s.io.kubernetes.pkg.runtime.RawExtension items = 2; + repeated k8s.io.apimachinery.pkg.runtime.RawExtension items = 2; } // ListOptions is the query options to a standard REST list call. message ListOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 6; + // A selector to restrict the list of returned objects by their labels. // Defaults to everything. // +optional @@ -1344,6 +1372,8 @@ message NFSVolumeSource { // Namespace provides a scope for Names. // Use of multiple namespaces is optional. message Namespace { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -1362,10 +1392,12 @@ message Namespace { // NamespaceList is a list of Namespaces. message NamespaceList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Namespace objects in the list. // More info: http://kubernetes.io/docs/user-guide/namespaces @@ -1391,6 +1423,8 @@ message NamespaceStatus { // Node is a worker node in Kubernetes. // Each node will have a unique identifier in the cache (i.e. in etcd). message Node { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -1451,11 +1485,11 @@ message NodeCondition { // Last time we got an update on a given condition. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastHeartbeatTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastHeartbeatTime = 3; // Last time the condition transit from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // (brief) reason for the condition's last transition. // +optional @@ -1475,10 +1509,12 @@ message NodeDaemonEndpoints { // NodeList is the whole list of all Nodes which have been registered with master. message NodeList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of nodes repeated Node items = 2; @@ -1486,6 +1522,8 @@ message NodeList { // NodeProxyOptions is the query options to a Node's proxy call. message NodeProxyOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 2; + // Path is the URL path to use for the current proxy request to node. // +optional optional string path = 1; @@ -1734,7 +1772,7 @@ message ObjectMeta { // Null for lists. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time creationTimestamp = 8; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time creationTimestamp = 8; // DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This // field is set by the server when a graceful deletion is requested by the user, and is not @@ -1754,7 +1792,7 @@ message ObjectMeta { // Read-only. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time deletionTimestamp = 9; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time deletionTimestamp = 9; // Number of seconds allowed for this object to gracefully terminate before // it will be removed from the system. Only set when deletionTimestamp is also set. @@ -1782,7 +1820,7 @@ message ObjectMeta { // then an entry in this list will point to this controller, with the controller field set to true. // There cannot be more than one managing controller. // +optional - repeated k8s.io.kubernetes.pkg.apis.meta.v1.OwnerReference ownerReferences = 13; + repeated k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference ownerReferences = 13; // Must be empty before the object is deleted from the registry. Each entry // is an identifier for the responsible component that will remove the entry @@ -1845,6 +1883,8 @@ message ObjectReference { // It is analogous to a node. // More info: http://kubernetes.io/docs/user-guide/persistent-volumes message PersistentVolume { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -1866,6 +1906,8 @@ message PersistentVolume { // PersistentVolumeClaim is a user's request for and claim to a persistent volume message PersistentVolumeClaim { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -1885,10 +1927,12 @@ message PersistentVolumeClaim { // PersistentVolumeClaimList is a list of PersistentVolumeClaim items. message PersistentVolumeClaimList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // A list of persistent volume claims. // More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims @@ -1905,7 +1949,7 @@ message PersistentVolumeClaimSpec { // A label query over volumes to consider for binding. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // Resources represents the minimum resources the volume should have. // More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources @@ -1950,10 +1994,12 @@ message PersistentVolumeClaimVolumeSource { // PersistentVolumeList is a list of PersistentVolume items. message PersistentVolumeList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of persistent volumes. // More info: http://kubernetes.io/docs/user-guide/persistent-volumes @@ -2108,6 +2154,8 @@ message PhotonPersistentDiskVolumeSource { // Pod is a collection of containers that can run on a host. This resource is created // by clients and scheduled onto hosts. message Pod { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -2171,7 +2219,7 @@ message PodAffinity { message PodAffinityTerm { // A label query over a set of resources, in this case pods. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector labelSelector = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 1; // namespaces specifies which namespaces the labelSelector applies to (matches against); // nil list means "this pod's namespace," empty list means "all namespaces" @@ -2230,6 +2278,8 @@ message PodAntiAffinity { // TODO: merge w/ PodExecOptions below for stdin, stdout, etc // and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY message PodAttachOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 6; + // Stdin if true, redirects the standard input stream of the pod for this call. // Defaults to false. // +optional @@ -2272,11 +2322,11 @@ message PodCondition { // Last time we probed the condition. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transitioned from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // Unique, one-word, CamelCase reason for the condition's last transition. // +optional @@ -2292,6 +2342,8 @@ message PodCondition { // TODO: This is largely identical to PodAttachOptions above, make sure they stay in sync and see about merging // and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY message PodExecOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 7; + // Redirect the standard input stream of the pod for this call. // Defaults to false. // +optional @@ -2323,10 +2375,12 @@ message PodExecOptions { // PodList is a list of Pods. message PodList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of pods. // More info: http://kubernetes.io/docs/user-guide/pods @@ -2335,6 +2389,8 @@ message PodList { // PodLogOptions is the query options for a Pod's logs REST call. message PodLogOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 9; + // The container for which to stream logs. Defaults to only container if there is one container in the pod. // +optional optional string container = 1; @@ -2359,7 +2415,7 @@ message PodLogOptions { // If this value is in the future, no logs will be returned. // Only one of sinceSeconds or sinceTime may be specified. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time sinceTime = 5; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time sinceTime = 5; // If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line // of log output. Defaults to false. @@ -2380,6 +2436,8 @@ message PodLogOptions { // PodProxyOptions is the query options to a Pod's proxy call. message PodProxyOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 2; + // Path is the URL path to use for the current proxy request to pod. // +optional optional string path = 1; @@ -2438,7 +2496,7 @@ message PodSecurityContext { message PodSignature { // Reference to controller whose pods should avoid this node. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.OwnerReference podController = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.OwnerReference podController = 1; } // PodSpec is a description of a pod. @@ -2587,7 +2645,7 @@ message PodStatus { // RFC 3339 date and time at which the object was acknowledged by the Kubelet. // This is before the Kubelet pulled the container image(s) for the pod. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time startTime = 7; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 7; // The list has one entry per container in the manifest. Each entry is currently the output // of `docker inspect`. @@ -2604,6 +2662,8 @@ message PodStatus { // PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded message PodStatusResult { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -2620,6 +2680,8 @@ message PodStatusResult { // PodTemplate describes a template for creating copies of a predefined pod. message PodTemplate { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -2633,10 +2695,12 @@ message PodTemplate { // PodTemplateList is a list of PodTemplates. message PodTemplateList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of pod templates repeated PodTemplate items = 2; @@ -2669,7 +2733,7 @@ message PreferAvoidPodsEntry { // Time at which this entry was added to the list. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time evictionTime = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time evictionTime = 2; // (brief) reason why this entry was added to the list. // +optional @@ -2803,6 +2867,8 @@ message RBDVolumeSource { // RangeAllocation is not a public type. message RangeAllocation { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -2817,6 +2883,8 @@ message RangeAllocation { // ReplicationController represents the configuration of a replication controller. message ReplicationController { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // If the Labels of a ReplicationController are empty, they are defaulted to // be the same as the Pod(s) that the replication controller manages. // Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata @@ -2847,7 +2915,7 @@ message ReplicationControllerCondition { // The last time the condition transitioned from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -2860,10 +2928,12 @@ message ReplicationControllerCondition { // ReplicationControllerList is a collection of replication controllers. message ReplicationControllerList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of replication controllers. // More info: http://kubernetes.io/docs/user-guide/replication-controller @@ -2944,6 +3014,8 @@ message ResourceFieldSelector { // ResourceQuota sets aggregate quota restrictions enforced per namespace message ResourceQuota { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -2962,10 +3034,12 @@ message ResourceQuota { // ResourceQuotaList is a list of ResourceQuota items. message ResourceQuotaList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ResourceQuota objects. // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota @@ -3034,6 +3108,8 @@ message SELinuxOptions { // Secret holds secret data of a certain type. The total bytes of the values in // the Data field must be less than MaxSecretSize bytes. message Secret { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 5; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -3071,10 +3147,12 @@ message SecretKeySelector { // SecretList is a list of Secret. message SecretList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of secret objects. // More info: http://kubernetes.io/docs/user-guide/secrets @@ -3157,6 +3235,8 @@ message SecurityContext { // SerializedReference is a reference to serialized object. message SerializedReference { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 2; + // The reference to an object in the system. // +optional optional ObjectReference reference = 1; @@ -3166,6 +3246,8 @@ message SerializedReference { // (for example 3306) that the proxy listens on, and the selector that determines which pods // will answer requests sent through the proxy. message Service { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -3189,6 +3271,8 @@ message Service { // * a principal that can be authenticated and authorized // * a set of secrets message ServiceAccount { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -3209,10 +3293,12 @@ message ServiceAccount { // ServiceAccountList is a list of ServiceAccount objects message ServiceAccountList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ServiceAccounts. // More info: http://releases.k8s.io/HEAD/docs/design/service_accounts.md#service-accounts @@ -3221,10 +3307,12 @@ message ServiceAccountList { // ServiceList holds a list of services. message ServiceList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of services repeated Service items = 2; @@ -3269,6 +3357,8 @@ message ServicePort { // ServiceProxyOptions is the query options to a Service's proxy call. message ServiceProxyOptions { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 2; + // Path is the part of URLs that include service endpoints, suffixes, // and parameters to use for the current proxy request to service. // For example, the whole request URL is diff --git a/pkg/api/v1/helpers.go b/pkg/api/v1/helpers.go index e03fc584c23..782180a6a3e 100644 --- a/pkg/api/v1/helpers.go +++ b/pkg/api/v1/helpers.go @@ -21,12 +21,12 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/selection" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" ) // IsOpaqueIntResourceName returns true if the resource name has the opaque diff --git a/pkg/api/v1/helpers_test.go b/pkg/api/v1/helpers_test.go index 57192fdb9c8..ebffcfd06cd 100644 --- a/pkg/api/v1/helpers_test.go +++ b/pkg/api/v1/helpers_test.go @@ -20,9 +20,9 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) func TestAddToNodeAddresses(t *testing.T) { diff --git a/pkg/api/v1/meta.go b/pkg/api/v1/meta.go index f2d1a9d2cf0..89ea684741c 100644 --- a/pkg/api/v1/meta.go +++ b/pkg/api/v1/meta.go @@ -17,9 +17,9 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" ) func (obj *ObjectMeta) GetObjectMeta() meta.Object { return obj } diff --git a/pkg/api/v1/ref.go b/pkg/api/v1/ref.go index ca06c275698..d75d724370f 100644 --- a/pkg/api/v1/ref.go +++ b/pkg/api/v1/ref.go @@ -22,11 +22,11 @@ import ( "net/url" "strings" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" ) var ( diff --git a/pkg/api/v1/register.go b/pkg/api/v1/register.go index ca671cb933a..915a66f6f15 100644 --- a/pkg/api/v1/register.go +++ b/pkg/api/v1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1 import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/api/v1/resource_helpers.go b/pkg/api/v1/resource_helpers.go index 74e8a358db1..f97ebaddd4e 100644 --- a/pkg/api/v1/resource_helpers.go +++ b/pkg/api/v1/resource_helpers.go @@ -19,8 +19,8 @@ package v1 import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // Returns string version of ResourceName. diff --git a/pkg/api/v1/resource_helpers_test.go b/pkg/api/v1/resource_helpers_test.go index 91284bcbbd7..2866b0f33e8 100644 --- a/pkg/api/v1/resource_helpers_test.go +++ b/pkg/api/v1/resource_helpers_test.go @@ -20,8 +20,8 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestResourceHelpers(t *testing.T) { diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index 45f92e8fbd1..72410a92b4a 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg5_runtime "k8s.io/apimachinery/pkg/runtime" + pkg1_types "k8s.io/apimachinery/pkg/types" pkg3_resource "k8s.io/kubernetes/pkg/api/resource" - pkg2_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg5_runtime "k8s.io/kubernetes/pkg/runtime" - pkg1_types "k8s.io/kubernetes/pkg/types" pkg4_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -65,10 +65,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg3_resource.Quantity - var v1 pkg2_v1.Time - var v2 pkg5_runtime.RawExtension - var v3 pkg1_types.UID + var v0 pkg2_v1.Time + var v1 pkg5_runtime.RawExtension + var v2 pkg1_types.UID + var v3 pkg3_resource.Quantity var v4 pkg4_intstr.IntOrString var v5 time.Time _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5 diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index 67af1d17bb7..3dfd4f1e432 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -17,10 +17,10 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/api/v1/validation/BUILD b/pkg/api/v1/validation/BUILD index 8464ec6c069..1c97912a555 100644 --- a/pkg/api/v1/validation/BUILD +++ b/pkg/api/v1/validation/BUILD @@ -15,9 +15,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/api/v1/validation/validation.go b/pkg/api/v1/validation/validation.go index f6138a49fdf..a362cce1029 100644 --- a/pkg/api/v1/validation/validation.go +++ b/pkg/api/v1/validation/validation.go @@ -20,12 +20,12 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) const isNegativeErrorMsg string = `must be greater than or equal to 0` diff --git a/pkg/api/v1/zz_generated.conversion.go b/pkg/api/v1/zz_generated.conversion.go index b7dc9d14761..c29f809d760 100644 --- a/pkg/api/v1/zz_generated.conversion.go +++ b/pkg/api/v1/zz_generated.conversion.go @@ -21,11 +21,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" + types "k8s.io/apimachinery/pkg/types" api "k8s.io/kubernetes/pkg/api" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" - types "k8s.io/kubernetes/pkg/types" unsafe "unsafe" ) diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/pkg/api/v1/zz_generated.deepcopy.go index ae0f1476a86..aeab418f372 100644 --- a/pkg/api/v1/zz_generated.deepcopy.go +++ b/pkg/api/v1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v1 import ( - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" - types "k8s.io/kubernetes/pkg/types" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" + types "k8s.io/apimachinery/pkg/types" reflect "reflect" ) @@ -1259,8 +1259,10 @@ func DeepCopy_v1_List(in interface{}, out interface{}, c *conversion.Cloner) err in, out := &in.Items, &out.Items *out = make([]runtime.RawExtension, len(*in)) for i := range *in { - if err := runtime.DeepCopy_runtime_RawExtension(&(*in)[i], &(*out)[i], c); err != nil { + if newVal, err := c.DeepCopy(&(*in)[i]); err != nil { return err + } else { + (*out)[i] = *newVal.(*runtime.RawExtension) } } } @@ -1668,8 +1670,10 @@ func DeepCopy_v1_ObjectMeta(in interface{}, out interface{}, c *conversion.Clone in, out := &in.OwnerReferences, &out.OwnerReferences *out = make([]meta_v1.OwnerReference, len(*in)) for i := range *in { - if err := meta_v1.DeepCopy_v1_OwnerReference(&(*in)[i], &(*out)[i], c); err != nil { + if newVal, err := c.DeepCopy(&(*in)[i]); err != nil { return err + } else { + (*out)[i] = *newVal.(*meta_v1.OwnerReference) } } } @@ -1756,9 +1760,10 @@ func DeepCopy_v1_PersistentVolumeClaimSpec(in interface{}, out interface{}, c *c } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if err := DeepCopy_v1_ResourceRequirements(&in.Resources, &out.Resources, c); err != nil { @@ -2023,9 +2028,10 @@ func DeepCopy_v1_PodAffinityTerm(in interface{}, out interface{}, c *conversion. *out = *in if in.LabelSelector != nil { in, out := &in.LabelSelector, &out.LabelSelector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if in.Namespaces != nil { @@ -2195,9 +2201,10 @@ func DeepCopy_v1_PodSignature(in interface{}, out interface{}, c *conversion.Clo *out = *in if in.PodController != nil { in, out := &in.PodController, &out.PodController - *out = new(meta_v1.OwnerReference) - if err := meta_v1.DeepCopy_v1_OwnerReference(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.OwnerReference) } } return nil diff --git a/pkg/api/v1/zz_generated.defaults.go b/pkg/api/v1/zz_generated.defaults.go index 260f5f63238..97960127aa7 100644 --- a/pkg/api/v1/zz_generated.defaults.go +++ b/pkg/api/v1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/api/validation/BUILD b/pkg/api/validation/BUILD index d66692c8850..f3dcd06fb8b 100644 --- a/pkg/api/validation/BUILD +++ b/pkg/api/validation/BUILD @@ -19,31 +19,31 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/pod:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/service:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/validation/genericvalidation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/apis/meta/v1/validation:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/capabilities:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/yaml:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/exponent-io/jsonpath", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) @@ -72,18 +72,18 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/capabilities:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/yaml:go_default_library", "//vendor:github.com/ghodss/yaml", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) diff --git a/pkg/api/validation/events.go b/pkg/api/validation/events.go index 79e34958bf2..f2d185df7ee 100644 --- a/pkg/api/validation/events.go +++ b/pkg/api/validation/events.go @@ -19,13 +19,13 @@ package validation import ( "fmt" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" apiutil "k8s.io/kubernetes/pkg/api/util" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) // ValidateEvent makes sure that the event makes sense. diff --git a/pkg/api/validation/genericvalidation/BUILD b/pkg/api/validation/genericvalidation/BUILD index 542952fd3c7..b0048140b92 100644 --- a/pkg/api/validation/genericvalidation/BUILD +++ b/pkg/api/validation/genericvalidation/BUILD @@ -18,12 +18,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/meta/v1/validation:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -34,8 +34,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/api/validation/genericvalidation/validation.go b/pkg/api/validation/genericvalidation/validation.go index 6da2743b779..21d7b9c009f 100644 --- a/pkg/api/validation/genericvalidation/validation.go +++ b/pkg/api/validation/genericvalidation/validation.go @@ -20,14 +20,14 @@ import ( "fmt" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1validation "k8s.io/kubernetes/pkg/apis/meta/v1/validation" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) // TODO: delete this global variable when we enable the validation of common diff --git a/pkg/api/validation/genericvalidation/validation_test.go b/pkg/api/validation/genericvalidation/validation_test.go index 7e3351e5f83..1045c2988de 100644 --- a/pkg/api/validation/genericvalidation/validation_test.go +++ b/pkg/api/validation/genericvalidation/validation_test.go @@ -23,9 +23,9 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/validation/field" ) const ( diff --git a/pkg/api/validation/schema.go b/pkg/api/validation/schema.go index a33904759db..bb5ade46338 100644 --- a/pkg/api/validation/schema.go +++ b/pkg/api/validation/schema.go @@ -27,10 +27,10 @@ import ( "github.com/emicklei/go-restful/swagger" ejson "github.com/exponent-io/jsonpath" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/yaml" apiutil "k8s.io/kubernetes/pkg/api/util" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/yaml" ) type InvalidTypeError struct { diff --git a/pkg/api/validation/schema_test.go b/pkg/api/validation/schema_test.go index 760974221b3..c6f4fb8f1d5 100644 --- a/pkg/api/validation/schema_test.go +++ b/pkg/api/validation/schema_test.go @@ -24,14 +24,14 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + k8syaml "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/runtime" - k8syaml "k8s.io/kubernetes/pkg/util/yaml" "github.com/ghodss/yaml" ) diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index 69c2bddcbc6..2665b95e11e 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -28,22 +28,22 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" utilpod "k8s.io/kubernetes/pkg/api/pod" "k8s.io/kubernetes/pkg/api/resource" apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/api/validation/genericvalidation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" unversionedvalidation "k8s.io/kubernetes/pkg/apis/meta/v1/validation" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/capabilities" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/security/apparmor" utilconfig "k8s.io/kubernetes/pkg/util/config" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) // TODO: delete this global variable when we enable the validation of common diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 58b64bd437a..fc05356cd70 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -21,17 +21,17 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/service" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation/field" ) const ( diff --git a/pkg/api/zz_generated.deepcopy.go b/pkg/api/zz_generated.deepcopy.go index 89e8de56961..8b7ab3bafd6 100644 --- a/pkg/api/zz_generated.deepcopy.go +++ b/pkg/api/zz_generated.deepcopy.go @@ -21,12 +21,12 @@ limitations under the License. package api import ( - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + labels "k8s.io/apimachinery/pkg/labels" + runtime "k8s.io/apimachinery/pkg/runtime" + types "k8s.io/apimachinery/pkg/types" fields "k8s.io/kubernetes/pkg/fields" - labels "k8s.io/kubernetes/pkg/labels" - runtime "k8s.io/kubernetes/pkg/runtime" - types "k8s.io/kubernetes/pkg/types" reflect "reflect" ) @@ -1714,8 +1714,10 @@ func DeepCopy_api_ObjectMeta(in interface{}, out interface{}, c *conversion.Clon in, out := &in.OwnerReferences, &out.OwnerReferences *out = make([]v1.OwnerReference, len(*in)) for i := range *in { - if err := v1.DeepCopy_v1_OwnerReference(&(*in)[i], &(*out)[i], c); err != nil { + if newVal, err := c.DeepCopy(&(*in)[i]); err != nil { return err + } else { + (*out)[i] = *newVal.(*v1.OwnerReference) } } } @@ -1802,9 +1804,10 @@ func DeepCopy_api_PersistentVolumeClaimSpec(in interface{}, out interface{}, c * } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if err := DeepCopy_api_ResourceRequirements(&in.Resources, &out.Resources, c); err != nil { @@ -2069,9 +2072,10 @@ func DeepCopy_api_PodAffinityTerm(in interface{}, out interface{}, c *conversion *out = *in if in.LabelSelector != nil { in, out := &in.LabelSelector, &out.LabelSelector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if in.Namespaces != nil { @@ -2241,9 +2245,10 @@ func DeepCopy_api_PodSignature(in interface{}, out interface{}, c *conversion.Cl *out = *in if in.PodController != nil { in, out := &in.PodController, &out.PodController - *out = new(v1.OwnerReference) - if err := v1.DeepCopy_v1_OwnerReference(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.OwnerReference) } } return nil diff --git a/pkg/apimachinery/.readonly b/pkg/apimachinery/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/apimachinery/announced/BUILD b/pkg/apimachinery/announced/BUILD index 7879f0d8e9d..b838c73124b 100644 --- a/pkg/apimachinery/announced/BUILD +++ b/pkg/apimachinery/announced/BUILD @@ -17,13 +17,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -32,7 +32,7 @@ go_test( srcs = ["announced_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/util/sets:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/sets"], ) filegroup( diff --git a/pkg/apimachinery/announced/announced.go b/pkg/apimachinery/announced/announced.go index bb1982a6498..054dc4aa5a3 100644 --- a/pkg/apimachinery/announced/announced.go +++ b/pkg/apimachinery/announced/announced.go @@ -24,8 +24,8 @@ package announced import ( "fmt" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" ) var ( diff --git a/pkg/apimachinery/announced/announced_test.go b/pkg/apimachinery/announced/announced_test.go index b79523fef5e..9c2765bdb87 100644 --- a/pkg/apimachinery/announced/announced_test.go +++ b/pkg/apimachinery/announced/announced_test.go @@ -20,7 +20,7 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) func TestFactoryRegistry(t *testing.T) { diff --git a/pkg/apimachinery/announced/group_factory.go b/pkg/apimachinery/announced/group_factory.go index 16f911898aa..bdcde98ba1a 100644 --- a/pkg/apimachinery/announced/group_factory.go +++ b/pkg/apimachinery/announced/group_factory.go @@ -21,13 +21,13 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) type SchemeFunc func(*runtime.Scheme) error diff --git a/pkg/apimachinery/registered/.readonly b/pkg/apimachinery/registered/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/apimachinery/tests/BUILD b/pkg/apimachinery/tests/BUILD index 00b263f3f07..dc58dc38b86 100644 --- a/pkg/apimachinery/tests/BUILD +++ b/pkg/apimachinery/tests/BUILD @@ -25,23 +25,23 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/protobuf:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/protobuf", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/apimachinery/tests/api_meta_help_test.go b/pkg/apimachinery/tests/api_meta_help_test.go index 1a68b9248fb..58602fe1ab3 100644 --- a/pkg/apimachinery/tests/api_meta_help_test.go +++ b/pkg/apimachinery/tests/api_meta_help_test.go @@ -20,13 +20,13 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" "github.com/google/gofuzz" ) diff --git a/pkg/apimachinery/tests/api_meta_meta_test.go b/pkg/apimachinery/tests/api_meta_meta_test.go index 817d11b5c3f..d7d39587111 100644 --- a/pkg/apimachinery/tests/api_meta_meta_test.go +++ b/pkg/apimachinery/tests/api_meta_meta_test.go @@ -22,13 +22,13 @@ import ( "github.com/google/gofuzz" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" ) func TestAPIObjectMeta(t *testing.T) { diff --git a/pkg/apimachinery/tests/api_meta_scheme_test.go b/pkg/apimachinery/tests/api_meta_scheme_test.go index 4c9e60442ca..42b2842cd3e 100644 --- a/pkg/apimachinery/tests/api_meta_scheme_test.go +++ b/pkg/apimachinery/tests/api_meta_scheme_test.go @@ -22,9 +22,9 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/testapi" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/sets" ) // These types do not follow the list convention as documented in diff --git a/pkg/apimachinery/tests/apis_meta_v1_unstructed_unstructure_test.go b/pkg/apimachinery/tests/apis_meta_v1_unstructed_unstructure_test.go index 7d9fd7f3bdd..56f04cece49 100644 --- a/pkg/apimachinery/tests/apis_meta_v1_unstructed_unstructure_test.go +++ b/pkg/apimachinery/tests/apis_meta_v1_unstructed_unstructure_test.go @@ -23,14 +23,14 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" ) func TestDecodeUnstructured(t *testing.T) { diff --git a/pkg/apimachinery/tests/runtime_helper_test.go b/pkg/apimachinery/tests/runtime_helper_test.go index b2250283bd6..a8365d70a15 100644 --- a/pkg/apimachinery/tests/runtime_helper_test.go +++ b/pkg/apimachinery/tests/runtime_helper_test.go @@ -19,10 +19,10 @@ package tests import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" ) func TestDecodeList(t *testing.T) { diff --git a/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go b/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go index ca061eff5d1..01ad63bd5e2 100644 --- a/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go +++ b/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go @@ -24,13 +24,13 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/protobuf" - "k8s.io/kubernetes/pkg/util/diff" ) type testObject struct { diff --git a/pkg/apimachinery/tests/runtime_unversioned_test.go b/pkg/apimachinery/tests/runtime_unversioned_test.go index 3589263277d..6ff785831c0 100644 --- a/pkg/apimachinery/tests/runtime_unversioned_test.go +++ b/pkg/apimachinery/tests/runtime_unversioned_test.go @@ -23,11 +23,11 @@ import ( // TODO: Ideally we should create the necessary package structure in e.g., // pkg/conversion/test/... instead of importing pkg/api here. + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) func TestV1EncodeDecodeStatus(t *testing.T) { diff --git a/pkg/apimachinery/tests/watch_until_test.go b/pkg/apimachinery/tests/watch_until_test.go index e73f7fb43c2..43942af8dc9 100644 --- a/pkg/apimachinery/tests/watch_until_test.go +++ b/pkg/apimachinery/tests/watch_until_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" + . "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/wait" - . "k8s.io/kubernetes/pkg/watch" ) func TestUntil(t *testing.T) { diff --git a/pkg/apis/abac/BUILD b/pkg/apis/abac/BUILD index 7ec94c29455..f87893e95cd 100644 --- a/pkg/apis/abac/BUILD +++ b/pkg/apis/abac/BUILD @@ -15,10 +15,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", ], ) diff --git a/pkg/apis/abac/register.go b/pkg/apis/abac/register.go index 14d80cf04d4..dac09f2979a 100644 --- a/pkg/apis/abac/register.go +++ b/pkg/apis/abac/register.go @@ -17,9 +17,9 @@ limitations under the License. package abac import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" ) // Group is the API group for abac diff --git a/pkg/apis/abac/types.go b/pkg/apis/abac/types.go index 751fdc7378c..48b7723a7da 100644 --- a/pkg/apis/abac/types.go +++ b/pkg/apis/abac/types.go @@ -17,7 +17,7 @@ limitations under the License. package abac import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // Policy contains a single ABAC policy rule diff --git a/pkg/apis/abac/v0/BUILD b/pkg/apis/abac/v0/BUILD index d8bd00f7cc9..ee92953ed32 100644 --- a/pkg/apis/abac/v0/BUILD +++ b/pkg/apis/abac/v0/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/abac:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/pkg/apis/abac/v0/conversion.go b/pkg/apis/abac/v0/conversion.go index e1812adaca4..07dffb16f7f 100644 --- a/pkg/apis/abac/v0/conversion.go +++ b/pkg/apis/abac/v0/conversion.go @@ -17,10 +17,10 @@ limitations under the License. package v0 import ( + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authentication/user" api "k8s.io/kubernetes/pkg/apis/abac" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/abac/v0/register.go b/pkg/apis/abac/v0/register.go index 5c423318beb..bb24ce215bb 100644 --- a/pkg/apis/abac/v0/register.go +++ b/pkg/apis/abac/v0/register.go @@ -17,9 +17,9 @@ limitations under the License. package v0 import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" api "k8s.io/kubernetes/pkg/apis/abac" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "abac.authorization.kubernetes.io" diff --git a/pkg/apis/abac/v0/types.go b/pkg/apis/abac/v0/types.go index a656e05132c..3590cd4ce1c 100644 --- a/pkg/apis/abac/v0/types.go +++ b/pkg/apis/abac/v0/types.go @@ -18,7 +18,7 @@ limitations under the License. package v0 import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // Policy contains a single ABAC policy rule diff --git a/pkg/apis/abac/v1beta1/BUILD b/pkg/apis/abac/v1beta1/BUILD index 6dd64e6bea6..a88f0a99340 100644 --- a/pkg/apis/abac/v1beta1/BUILD +++ b/pkg/apis/abac/v1beta1/BUILD @@ -22,10 +22,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/apis/abac:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/pkg/apis/abac/v1beta1/conversion.go b/pkg/apis/abac/v1beta1/conversion.go index 6fb9fcdc576..41c10dab28a 100644 --- a/pkg/apis/abac/v1beta1/conversion.go +++ b/pkg/apis/abac/v1beta1/conversion.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authentication/user" api "k8s.io/kubernetes/pkg/apis/abac" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/abac/v1beta1/register.go b/pkg/apis/abac/v1beta1/register.go index 693e3086392..5c07408b07a 100644 --- a/pkg/apis/abac/v1beta1/register.go +++ b/pkg/apis/abac/v1beta1/register.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" api "k8s.io/kubernetes/pkg/apis/abac" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "abac.authorization.kubernetes.io" diff --git a/pkg/apis/abac/v1beta1/types.go b/pkg/apis/abac/v1beta1/types.go index 793243b9dfb..ee7326fc78d 100644 --- a/pkg/apis/abac/v1beta1/types.go +++ b/pkg/apis/abac/v1beta1/types.go @@ -18,7 +18,7 @@ limitations under the License. package v1beta1 import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // Policy contains a single ABAC policy rule diff --git a/pkg/apis/abac/v1beta1/zz_generated.conversion.go b/pkg/apis/abac/v1beta1/zz_generated.conversion.go index ada24739f13..847c2716512 100644 --- a/pkg/apis/abac/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/abac/v1beta1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" abac "k8s.io/kubernetes/pkg/apis/abac" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" ) func init() { diff --git a/pkg/apis/abac/v1beta1/zz_generated.deepcopy.go b/pkg/apis/abac/v1beta1/zz_generated.deepcopy.go index e9fc794cfea..b20d16392b4 100644 --- a/pkg/apis/abac/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/abac/v1beta1/zz_generated.deepcopy.go @@ -21,8 +21,8 @@ limitations under the License. package v1beta1 import ( - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/abac/v1beta1/zz_generated.defaults.go b/pkg/apis/abac/v1beta1/zz_generated.defaults.go index 7cd6967ccf1..e24e70be38b 100644 --- a/pkg/apis/abac/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/abac/v1beta1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1beta1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/apps/BUILD b/pkg/apis/apps/BUILD index 67fd2f339a8..a714fe336f3 100644 --- a/pkg/apis/apps/BUILD +++ b/pkg/apis/apps/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/apps/register.go b/pkg/apis/apps/register.go index 09927d0ce66..109b10b140d 100644 --- a/pkg/apis/apps/register.go +++ b/pkg/apis/apps/register.go @@ -17,9 +17,9 @@ limitations under the License. package apps import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) var ( diff --git a/pkg/apis/apps/types.go b/pkg/apis/apps/types.go index 0fcba2373d4..2079152bc20 100644 --- a/pkg/apis/apps/types.go +++ b/pkg/apis/apps/types.go @@ -17,8 +17,8 @@ limitations under the License. package apps import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/apps/v1beta1/BUILD b/pkg/apis/apps/v1beta1/BUILD index 85a1b58f08f..00e933000e5 100644 --- a/pkg/apis/apps/v1beta1/BUILD +++ b/pkg/apis/apps/v1beta1/BUILD @@ -28,14 +28,14 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/apps/v1beta1/conversion.go b/pkg/apis/apps/v1beta1/conversion.go index 2f84ba29299..78d50b89337 100644 --- a/pkg/apis/apps/v1beta1/conversion.go +++ b/pkg/apis/apps/v1beta1/conversion.go @@ -19,12 +19,12 @@ package v1beta1 import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/apps" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/apps/v1beta1/defaults.go b/pkg/apis/apps/v1beta1/defaults.go index 01ca9fb8499..bdab631e021 100644 --- a/pkg/apis/apps/v1beta1/defaults.go +++ b/pkg/apis/apps/v1beta1/defaults.go @@ -17,8 +17,8 @@ limitations under the License. package v1beta1 import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/apps/v1beta1/generated.pb.go b/pkg/apis/apps/v1beta1/generated.pb.go index 354215d8f47..e36e9bae14f 100644 --- a/pkg/apis/apps/v1beta1/generated.pb.go +++ b/pkg/apis/apps/v1beta1/generated.pb.go @@ -36,8 +36,9 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" import strings "strings" import reflect "reflect" @@ -114,6 +115,14 @@ func (m *StatefulSet) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -135,11 +144,11 @@ func (m *StatefulSetList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n4, err := m.ListMeta.MarshalTo(data[i:]) + n5, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -152,6 +161,14 @@ func (m *StatefulSetList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n6, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 return i, nil } @@ -179,20 +196,20 @@ func (m *StatefulSetSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n5, err := m.Selector.MarshalTo(data[i:]) + n7, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n7 } data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n6, err := m.Template.MarshalTo(data[i:]) + n8, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n8 if len(m.VolumeClaimTemplates) > 0 { for _, msg := range m.VolumeClaimTemplates { data[i] = 0x22 @@ -274,6 +291,8 @@ func (m *StatefulSet) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -288,6 +307,8 @@ func (m *StatefulSetList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -345,6 +366,7 @@ func (this *StatefulSet) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "StatefulSetSpec", "StatefulSetSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "StatefulSetStatus", "StatefulSetStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -354,8 +376,9 @@ func (this *StatefulSetList) String() string { return "nil" } s := strings.Join([]string{`&StatefulSetList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "StatefulSet", "StatefulSet", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -366,7 +389,7 @@ func (this *StatefulSetSpec) String() string { } s := strings.Join([]string{`&StatefulSetSpec{`, `Replicas:` + valueToStringGenerated(this.Replicas) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `VolumeClaimTemplates:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.VolumeClaimTemplates), "PersistentVolumeClaim", "k8s_io_kubernetes_pkg_api_v1.PersistentVolumeClaim", 1), `&`, ``, 1) + `,`, `ServiceName:` + fmt.Sprintf("%v", this.ServiceName) + `,`, @@ -512,6 +535,36 @@ func (m *StatefulSet) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -623,6 +676,36 @@ func (m *StatefulSetList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -720,7 +803,7 @@ func (m *StatefulSetSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1032,45 +1115,48 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 627 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcb, 0x6e, 0xd3, 0x4c, - 0x14, 0xc7, 0xe3, 0xa4, 0xe9, 0x97, 0x6f, 0x52, 0x6e, 0x43, 0x85, 0xa2, 0x0a, 0xb9, 0x55, 0x36, - 0x04, 0xa9, 0x1d, 0x2b, 0xa5, 0x88, 0x8a, 0xa5, 0x91, 0x40, 0x48, 0x40, 0x91, 0x83, 0x2a, 0x28, - 0xab, 0xb1, 0x73, 0x9a, 0x0e, 0xb1, 0x63, 0xcb, 0x73, 0x9c, 0x35, 0x1b, 0x16, 0xec, 0x78, 0x0b, - 0x5e, 0x80, 0x87, 0xc8, 0xb2, 0x4b, 0x56, 0x15, 0x0d, 0x2f, 0x82, 0x66, 0x32, 0xb9, 0x50, 0xbb, - 0xa1, 0xea, 0xce, 0xe7, 0xcc, 0xf9, 0xff, 0xce, 0xd5, 0xe4, 0x49, 0x7f, 0x5f, 0x32, 0x11, 0x3b, - 0xfd, 0xcc, 0x87, 0x74, 0x00, 0x08, 0xd2, 0x49, 0xfa, 0x3d, 0x87, 0x27, 0x42, 0x3a, 0x3c, 0x49, - 0xa4, 0x33, 0x6c, 0xfb, 0x80, 0xbc, 0xed, 0xf4, 0x60, 0x00, 0x29, 0x47, 0xe8, 0xb2, 0x24, 0x8d, - 0x31, 0xa6, 0x0f, 0x26, 0x42, 0x36, 0x17, 0xb2, 0xa4, 0xdf, 0x63, 0x4a, 0xc8, 0x94, 0x90, 0x19, - 0xe1, 0xc6, 0x4e, 0x4f, 0xe0, 0x49, 0xe6, 0xb3, 0x20, 0x8e, 0x9c, 0x5e, 0xdc, 0x8b, 0x1d, 0xad, - 0xf7, 0xb3, 0x63, 0x6d, 0x69, 0x43, 0x7f, 0x4d, 0xb8, 0x1b, 0xbb, 0x97, 0x16, 0xe4, 0xa4, 0x20, - 0xe3, 0x2c, 0x0d, 0xe0, 0x62, 0x2d, 0x1b, 0xdb, 0x97, 0x6b, 0x86, 0xb9, 0xca, 0x97, 0x64, 0x90, - 0x4e, 0x04, 0xc8, 0x8b, 0x34, 0x3b, 0xc5, 0x9a, 0x34, 0x1b, 0xa0, 0x88, 0xf2, 0x05, 0xed, 0x2d, - 0x0f, 0x97, 0xc1, 0x09, 0x44, 0x3c, 0xa7, 0x6a, 0x17, 0xab, 0x32, 0x14, 0xa1, 0x23, 0x06, 0x28, - 0x31, 0xbd, 0x28, 0x69, 0x7e, 0x2f, 0x93, 0x7a, 0x07, 0x39, 0xc2, 0x71, 0x16, 0x76, 0x00, 0xe9, - 0x7b, 0x52, 0x53, 0x2d, 0x74, 0x39, 0xf2, 0x86, 0xb5, 0x65, 0xb5, 0xea, 0xbb, 0x2d, 0x76, 0xe9, - 0xa2, 0xd8, 0xb0, 0xcd, 0x0e, 0xfc, 0x4f, 0x10, 0xe0, 0x6b, 0x40, 0xee, 0xd2, 0xd1, 0xd9, 0x66, - 0x69, 0x7c, 0xb6, 0x49, 0xe6, 0x3e, 0x6f, 0x46, 0xa3, 0x47, 0x64, 0x45, 0x26, 0x10, 0x34, 0xca, - 0x9a, 0xba, 0xcf, 0xae, 0xb8, 0x7e, 0xb6, 0x50, 0x5d, 0x27, 0x81, 0xc0, 0x5d, 0x33, 0x59, 0x56, - 0x94, 0xe5, 0x69, 0x26, 0xf5, 0xc9, 0xaa, 0x44, 0x8e, 0x99, 0x6c, 0x54, 0x34, 0xfd, 0xe9, 0xb5, - 0xe8, 0x9a, 0xe0, 0xde, 0x34, 0xfc, 0xd5, 0x89, 0xed, 0x19, 0x72, 0x73, 0x64, 0x91, 0x5b, 0x0b, - 0xd1, 0xaf, 0x84, 0x44, 0x7a, 0x94, 0x9b, 0xd6, 0xf6, 0xb2, 0xcc, 0x2a, 0x56, 0xcd, 0x4c, 0x69, - 0xf5, 0xc4, 0x6e, 0x9b, 0x5c, 0xb5, 0xa9, 0x67, 0x61, 0x5e, 0x1f, 0x48, 0x55, 0x20, 0x44, 0xb2, - 0x51, 0xde, 0xaa, 0xb4, 0xea, 0xbb, 0x7b, 0xd7, 0x69, 0xc9, 0xbd, 0x61, 0x12, 0x54, 0x5f, 0x2a, - 0x94, 0x37, 0x21, 0x36, 0x7f, 0x54, 0xfe, 0x6a, 0x45, 0x0d, 0x92, 0xb6, 0x48, 0x2d, 0x85, 0x24, - 0x14, 0x01, 0x97, 0xba, 0x95, 0xaa, 0xbb, 0xa6, 0x0a, 0xf3, 0x8c, 0xcf, 0x9b, 0xbd, 0xd2, 0x8f, - 0xa4, 0x26, 0x21, 0x84, 0x00, 0xe3, 0xd4, 0x2c, 0xb3, 0x7d, 0xa5, 0xa6, 0xb9, 0x0f, 0x61, 0xc7, - 0x08, 0x27, 0xf0, 0xa9, 0xe5, 0xcd, 0x80, 0x0a, 0x8e, 0x10, 0x25, 0x21, 0x47, 0x30, 0xbb, 0xdc, - 0x59, 0x7e, 0x7f, 0x6f, 0xe3, 0xee, 0x3b, 0x23, 0xd0, 0xe7, 0x31, 0x1b, 0xe9, 0xd4, 0xeb, 0xcd, - 0x80, 0xf4, 0x8b, 0x45, 0xd6, 0x87, 0x71, 0x98, 0x45, 0xf0, 0x2c, 0xe4, 0x22, 0x9a, 0x46, 0xc8, - 0xc6, 0x8a, 0x1e, 0xf1, 0xa3, 0x7f, 0x64, 0x82, 0x54, 0x0a, 0x89, 0x30, 0xc0, 0xc3, 0x39, 0xc3, - 0xbd, 0x6f, 0xf2, 0xad, 0x1f, 0x16, 0x80, 0xbd, 0xc2, 0x74, 0xf4, 0x31, 0xa9, 0x4b, 0x48, 0x87, - 0x22, 0x80, 0x37, 0x3c, 0x82, 0x46, 0x75, 0xcb, 0x6a, 0xfd, 0xef, 0xde, 0x35, 0xa0, 0x7a, 0x67, - 0xfe, 0xe4, 0x2d, 0xc6, 0x35, 0xbf, 0x5a, 0xe4, 0x4e, 0xee, 0x5e, 0xe9, 0x73, 0x42, 0x63, 0x5f, - 0x85, 0x41, 0xf7, 0xc5, 0xe4, 0xe7, 0x16, 0xf1, 0x40, 0xaf, 0xb0, 0xe2, 0xde, 0x1b, 0x9f, 0x6d, - 0xd2, 0x83, 0xdc, 0xab, 0x57, 0xa0, 0xa0, 0xdb, 0x0b, 0x07, 0x50, 0xd6, 0x07, 0x30, 0x1b, 0x65, - 0xfe, 0x08, 0xdc, 0x87, 0xa3, 0x73, 0xbb, 0x74, 0x7a, 0x6e, 0x97, 0x7e, 0x9e, 0xdb, 0xa5, 0xcf, - 0x63, 0xdb, 0x1a, 0x8d, 0x6d, 0xeb, 0x74, 0x6c, 0x5b, 0xbf, 0xc6, 0xb6, 0xf5, 0xed, 0xb7, 0x5d, - 0x3a, 0xfa, 0xcf, 0xdc, 0xe3, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x47, 0x2a, 0x55, 0x22, - 0x06, 0x00, 0x00, + // 677 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x94, 0xcb, 0x6e, 0xd3, 0x4e, + 0x14, 0xc6, 0xe3, 0x5c, 0xfa, 0xcf, 0x7f, 0x52, 0x6e, 0x43, 0x85, 0xac, 0x0a, 0xb9, 0x55, 0x37, + 0x04, 0xa9, 0x1d, 0x2b, 0x6d, 0x81, 0x8a, 0xa5, 0x91, 0x40, 0x48, 0x40, 0x91, 0x53, 0x55, 0x50, + 0x60, 0x31, 0x76, 0x4e, 0xd3, 0x21, 0xbe, 0xc9, 0x33, 0x8e, 0xd4, 0x1d, 0x9b, 0x2e, 0xd8, 0xf1, + 0x18, 0x3c, 0x01, 0xcf, 0xd0, 0x65, 0x97, 0xac, 0x2a, 0x1a, 0x5e, 0x04, 0xcd, 0x64, 0x12, 0xa7, + 0x75, 0x42, 0xab, 0x8a, 0x5d, 0xe6, 0xf2, 0xfd, 0xbe, 0x39, 0xdf, 0x39, 0x0e, 0x7a, 0xd2, 0xdb, + 0xe2, 0x84, 0xc5, 0x76, 0x2f, 0xf3, 0x20, 0x8d, 0x40, 0x00, 0xb7, 0x93, 0x5e, 0xd7, 0xa6, 0x09, + 0xe3, 0x36, 0x4d, 0x12, 0x6e, 0xf7, 0x5b, 0x1e, 0x08, 0xda, 0xb2, 0xbb, 0x10, 0x41, 0x4a, 0x05, + 0x74, 0x48, 0x92, 0xc6, 0x22, 0xc6, 0x0f, 0x86, 0x42, 0x92, 0x0b, 0x49, 0xd2, 0xeb, 0x12, 0x29, + 0x24, 0x52, 0x48, 0xb4, 0x70, 0x71, 0xad, 0xcb, 0xc4, 0x41, 0xe6, 0x11, 0x3f, 0x0e, 0xed, 0x6e, + 0xdc, 0x8d, 0x6d, 0xa5, 0xf7, 0xb2, 0x7d, 0xb5, 0x52, 0x0b, 0xf5, 0x6b, 0xc8, 0x5d, 0xdc, 0xd4, + 0x0f, 0xa2, 0x09, 0x0b, 0xa9, 0x7f, 0xc0, 0x22, 0x48, 0x0f, 0xf3, 0x27, 0x85, 0x20, 0xa8, 0xdd, + 0x2f, 0xbc, 0x66, 0xd1, 0x9e, 0xa5, 0x4a, 0xb3, 0x48, 0xb0, 0x10, 0x0a, 0x82, 0xc7, 0x97, 0x09, + 0xb8, 0x7f, 0x00, 0x21, 0x2d, 0xe8, 0xd6, 0x67, 0xe6, 0x65, 0xa7, 0xc0, 0xe3, 0x2c, 0xf5, 0x8b, + 0x5e, 0xab, 0xb3, 0x35, 0x53, 0x4a, 0x69, 0x4d, 0xbf, 0x9d, 0x09, 0x16, 0xd8, 0x2c, 0x12, 0x5c, + 0xa4, 0x17, 0x25, 0x2b, 0x47, 0x15, 0xd4, 0x68, 0x0b, 0x2a, 0x60, 0x3f, 0x0b, 0xda, 0x20, 0xf0, + 0x3b, 0x54, 0x97, 0x41, 0x75, 0xa8, 0xa0, 0xa6, 0xb1, 0x6c, 0x34, 0x1b, 0xeb, 0x4d, 0x32, 0xb3, + 0x5d, 0xa4, 0xdf, 0x22, 0xdb, 0xde, 0x67, 0xf0, 0xc5, 0x6b, 0x10, 0xd4, 0xc1, 0xc7, 0xa7, 0x4b, + 0xa5, 0xc1, 0xe9, 0x12, 0xca, 0xf7, 0xdc, 0x31, 0x0d, 0xef, 0xa1, 0x2a, 0x4f, 0xc0, 0x37, 0xcb, + 0x8a, 0xba, 0x45, 0xae, 0x38, 0x04, 0x64, 0xe2, 0x75, 0xed, 0x04, 0x7c, 0x67, 0x5e, 0xbb, 0x54, + 0xe5, 0xca, 0x55, 0x4c, 0xec, 0xa1, 0x39, 0x2e, 0xa8, 0xc8, 0xb8, 0x59, 0x51, 0xf4, 0xa7, 0xd7, + 0xa2, 0x2b, 0x82, 0x73, 0x53, 0xf3, 0xe7, 0x86, 0x6b, 0x57, 0x93, 0xf1, 0x47, 0x54, 0x17, 0x87, + 0x09, 0xc8, 0xaa, 0xcc, 0xaa, 0x72, 0x21, 0x23, 0x97, 0xc9, 0x49, 0xc8, 0x7d, 0x64, 0xe5, 0x32, + 0xa1, 0x1d, 0xad, 0x72, 0x6e, 0x6b, 0x72, 0x7d, 0xb4, 0xe3, 0x8e, 0x89, 0x2b, 0xdf, 0xcb, 0xe8, + 0xd6, 0xc4, 0x5b, 0x5e, 0x31, 0x2e, 0xa4, 0xe3, 0x85, 0x5e, 0x5c, 0xd1, 0x51, 0xaa, 0xcf, 0x3b, + 0x8e, 0x76, 0x26, 0xfa, 0xf1, 0x1e, 0xd5, 0x98, 0x80, 0x90, 0x9b, 0xe5, 0xe5, 0x4a, 0xb3, 0xb1, + 0xbe, 0x79, 0x9d, 0xc8, 0x9c, 0x1b, 0xda, 0xa0, 0xf6, 0x52, 0xa2, 0xdc, 0x21, 0xf1, 0x5c, 0x54, + 0x95, 0x7f, 0x1e, 0xd5, 0x8f, 0xca, 0xb9, 0xa8, 0xe4, 0x18, 0xe0, 0x26, 0xaa, 0xa7, 0x90, 0x04, + 0xcc, 0xa7, 0x5c, 0x45, 0x55, 0x73, 0xe6, 0xa5, 0xda, 0xd5, 0x7b, 0xee, 0xf8, 0x14, 0x7f, 0x42, + 0x75, 0x0e, 0x01, 0xf8, 0x22, 0x4e, 0xf5, 0x28, 0x6e, 0x5c, 0x31, 0x54, 0xea, 0x41, 0xd0, 0xd6, + 0xd2, 0x21, 0x7e, 0xb4, 0x72, 0xc7, 0x48, 0xfc, 0x01, 0xd5, 0x05, 0x84, 0x49, 0x40, 0x05, 0xe8, + 0xd2, 0xd7, 0xfe, 0xfe, 0xfd, 0xbc, 0x8d, 0x3b, 0x3b, 0x5a, 0xa0, 0xc6, 0x3b, 0xaf, 0x5c, 0xef, + 0xba, 0x63, 0x20, 0x3e, 0x32, 0xd0, 0x42, 0x3f, 0x0e, 0xb2, 0x10, 0x9e, 0x05, 0x94, 0x85, 0xa3, + 0x1b, 0xdc, 0xac, 0xaa, 0x16, 0x6e, 0x5c, 0xe2, 0x04, 0x29, 0x67, 0x5c, 0x40, 0x24, 0x76, 0x73, + 0x86, 0x73, 0x5f, 0xfb, 0x2d, 0xec, 0x4e, 0x01, 0xbb, 0x53, 0xed, 0xf0, 0x23, 0xd4, 0xe0, 0x90, + 0xf6, 0x99, 0x0f, 0x6f, 0x68, 0x08, 0x66, 0x6d, 0xd9, 0x68, 0xfe, 0xef, 0xdc, 0xd5, 0xa0, 0x46, + 0x3b, 0x3f, 0x72, 0x27, 0xef, 0xad, 0x7c, 0x35, 0xd0, 0x9d, 0xc2, 0xf7, 0x86, 0x9f, 0x23, 0x1c, + 0x7b, 0xf2, 0x1a, 0x74, 0x5e, 0x0c, 0xff, 0x9c, 0x58, 0x1c, 0xa9, 0x26, 0x56, 0x9c, 0x7b, 0x83, + 0xd3, 0x25, 0xbc, 0x5d, 0x38, 0x75, 0xa7, 0x28, 0xf0, 0xea, 0xc4, 0x08, 0x94, 0xd5, 0x08, 0x8c, + 0xa3, 0x2c, 0x8e, 0x81, 0xf3, 0xf0, 0xf8, 0xcc, 0x2a, 0x9d, 0x9c, 0x59, 0xa5, 0x9f, 0x67, 0x56, + 0xe9, 0xcb, 0xc0, 0x32, 0x8e, 0x07, 0x96, 0x71, 0x32, 0xb0, 0x8c, 0x5f, 0x03, 0xcb, 0xf8, 0xf6, + 0xdb, 0x2a, 0xed, 0xfd, 0xa7, 0xe7, 0xfd, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0xe5, 0x31, + 0x59, 0xe8, 0x06, 0x00, 0x00, } diff --git a/pkg/apis/apps/v1beta1/generated.proto b/pkg/apis/apps/v1beta1/generated.proto index 0b2010d3b77..9735238b459 100644 --- a/pkg/apis/apps/v1beta1/generated.proto +++ b/pkg/apis/apps/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.apps.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -38,6 +38,8 @@ option go_package = "v1beta1"; // The StatefulSet guarantees that a given network identity will always // map to the same storage identity. message StatefulSet { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -53,8 +55,10 @@ message StatefulSet { // StatefulSetList is a collection of StatefulSets. message StatefulSetList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; repeated StatefulSet items = 2; } @@ -73,7 +77,7 @@ message StatefulSetSpec { // If empty, defaulted to labels on the pod template. // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template is the object that describes the pod that will be created if // insufficient replicas are detected. Each pod stamped out by the StatefulSet diff --git a/pkg/apis/apps/v1beta1/register.go b/pkg/apis/apps/v1beta1/register.go index 5c6c2e328b7..726c63a5a73 100644 --- a/pkg/apis/apps/v1beta1/register.go +++ b/pkg/apis/apps/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/apps/v1beta1/types.generated.go b/pkg/apis/apps/v1beta1/types.generated.go index f84f2ba00ed..36d7f93caa6 100644 --- a/pkg/apis/apps/v1beta1/types.generated.go +++ b/pkg/apis/apps/v1beta1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -65,10 +65,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg4_resource.Quantity - var v1 pkg2_v1.ObjectMeta - var v2 pkg1_v1.TypeMeta - var v3 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg4_resource.Quantity + var v3 pkg2_v1.ObjectMeta var v4 pkg5_intstr.IntOrString var v5 time.Time _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5 diff --git a/pkg/apis/apps/v1beta1/types.go b/pkg/apis/apps/v1beta1/types.go index 7fc4bb238b8..0b7f74eb0e8 100644 --- a/pkg/apis/apps/v1beta1/types.go +++ b/pkg/apis/apps/v1beta1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/apps/v1beta1/zz_generated.conversion.go b/pkg/apis/apps/v1beta1/zz_generated.conversion.go index 1112dc4929b..4a5d376ec00 100644 --- a/pkg/apis/apps/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/apps/v1beta1/zz_generated.conversion.go @@ -21,12 +21,12 @@ limitations under the License. package v1beta1 import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/apps/v1beta1/zz_generated.deepcopy.go b/pkg/apis/apps/v1beta1/zz_generated.deepcopy.go index 1f0e77dee71..3ebaa3ae7de 100644 --- a/pkg/apis/apps/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/apps/v1beta1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -91,9 +91,10 @@ func DeepCopy_v1beta1_StatefulSetSpec(in interface{}, out interface{}, c *conver } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { diff --git a/pkg/apis/apps/v1beta1/zz_generated.defaults.go b/pkg/apis/apps/v1beta1/zz_generated.defaults.go index 3890c40a034..b086294795e 100644 --- a/pkg/apis/apps/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/apps/v1beta1/zz_generated.defaults.go @@ -21,8 +21,8 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - runtime "k8s.io/kubernetes/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/apps/validation/BUILD b/pkg/apis/apps/validation/BUILD index d9dbc2d14ce..a8e1f32f70c 100644 --- a/pkg/apis/apps/validation/BUILD +++ b/pkg/apis/apps/validation/BUILD @@ -16,10 +16,10 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/meta/v1/validation:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -31,7 +31,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/apis/apps/validation/validation.go b/pkg/apis/apps/validation/validation.go index 13a10e6a99f..642b52a6534 100644 --- a/pkg/apis/apps/validation/validation.go +++ b/pkg/apis/apps/validation/validation.go @@ -19,13 +19,13 @@ package validation import ( "reflect" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" apivalidation "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/apis/apps" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" unversionedvalidation "k8s.io/kubernetes/pkg/apis/meta/v1/validation" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/validation/field" ) // ValidateStatefulSetName can be used to check whether the given StatefulSet name is valid. diff --git a/pkg/apis/apps/validation/validation_test.go b/pkg/apis/apps/validation/validation_test.go index 418378af61f..6b507504d26 100644 --- a/pkg/apis/apps/validation/validation_test.go +++ b/pkg/apis/apps/validation/validation_test.go @@ -20,9 +20,9 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestValidateStatefulSet(t *testing.T) { diff --git a/pkg/apis/apps/zz_generated.deepcopy.go b/pkg/apis/apps/zz_generated.deepcopy.go index 26826983768..c1d826e447a 100644 --- a/pkg/apis/apps/zz_generated.deepcopy.go +++ b/pkg/apis/apps/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package apps import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -86,9 +86,10 @@ func DeepCopy_apps_StatefulSetSpec(in interface{}, out interface{}, c *conversio *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if err := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { diff --git a/pkg/apis/authentication/BUILD b/pkg/apis/authentication/BUILD index ba518908f5c..ac95dcf3244 100644 --- a/pkg/apis/authentication/BUILD +++ b/pkg/apis/authentication/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/authentication/install/BUILD b/pkg/apis/authentication/install/BUILD index 899ecca5dc5..9613ef53085 100644 --- a/pkg/apis/authentication/install/BUILD +++ b/pkg/apis/authentication/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/authentication:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/authentication/install/install.go b/pkg/apis/authentication/install/install.go index 48796b9a09c..d009dcdaae3 100644 --- a/pkg/apis/authentication/install/install.go +++ b/pkg/apis/authentication/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/authentication" "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/authentication/register.go b/pkg/apis/authentication/register.go index bd02b2c6d6c..d6c8b89b72c 100644 --- a/pkg/apis/authentication/register.go +++ b/pkg/apis/authentication/register.go @@ -17,10 +17,10 @@ limitations under the License. package authentication import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/authentication/types.go b/pkg/apis/authentication/types.go index f053de1bf8b..c6be6df52ec 100644 --- a/pkg/apis/authentication/types.go +++ b/pkg/apis/authentication/types.go @@ -17,8 +17,8 @@ limitations under the License. package authentication import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) const ( diff --git a/pkg/apis/authentication/v1beta1/BUILD b/pkg/apis/authentication/v1beta1/BUILD index 144cb7cd3e5..b82a6b823c4 100644 --- a/pkg/apis/authentication/v1beta1/BUILD +++ b/pkg/apis/authentication/v1beta1/BUILD @@ -26,14 +26,14 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/authentication:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/authentication/v1beta1/conversion.go b/pkg/apis/authentication/v1beta1/conversion.go index a0b7051c97e..51f3adfc712 100644 --- a/pkg/apis/authentication/v1beta1/conversion.go +++ b/pkg/apis/authentication/v1beta1/conversion.go @@ -17,7 +17,7 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/authentication/v1beta1/defaults.go b/pkg/apis/authentication/v1beta1/defaults.go index bcd5e07d9c5..1a4566479f6 100644 --- a/pkg/apis/authentication/v1beta1/defaults.go +++ b/pkg/apis/authentication/v1beta1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/authentication/v1beta1/generated.pb.go b/pkg/apis/authentication/v1beta1/generated.pb.go index c2226e586c9..e7af3945605 100644 --- a/pkg/apis/authentication/v1beta1/generated.pb.go +++ b/pkg/apis/authentication/v1beta1/generated.pb.go @@ -151,6 +151,14 @@ func (m *TokenReview) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -202,11 +210,11 @@ func (m *TokenReviewStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.User.Size())) - n4, err := m.User.MarshalTo(data[i:]) + n5, err := m.User.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Error))) @@ -267,11 +275,11 @@ func (m *UserInfo) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n5, err := (&v).MarshalTo(data[i:]) + n6, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n6 } } return i, nil @@ -325,6 +333,8 @@ func (m *TokenReview) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -393,6 +403,7 @@ func (this *TokenReview) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "TokenReviewSpec", "TokenReviewSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "TokenReviewStatus", "TokenReviewStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -648,6 +659,36 @@ func (m *TokenReview) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1236,46 +1277,48 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 644 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x53, 0x4f, 0x4f, 0x13, 0x41, - 0x14, 0xdf, 0xed, 0x1f, 0x6c, 0xa7, 0xa2, 0x38, 0x89, 0x49, 0xd3, 0xc4, 0x6d, 0x53, 0x2f, 0x35, - 0x81, 0xd9, 0x94, 0x18, 0x25, 0x10, 0x0f, 0x6c, 0x40, 0xc3, 0xc1, 0x98, 0x0c, 0x62, 0x8c, 0x89, - 0x87, 0xe9, 0xf6, 0xb1, 0xac, 0x4b, 0x77, 0x37, 0x33, 0xb3, 0x45, 0x6e, 0x7c, 0x04, 0x8f, 0x1e, - 0xfd, 0x1e, 0x7e, 0x01, 0x8e, 0x1c, 0x3c, 0x78, 0x30, 0xc4, 0xd6, 0x2f, 0x62, 0x66, 0x76, 0xa4, - 0x85, 0x02, 0x89, 0x70, 0xdb, 0xf9, 0xcd, 0xfb, 0xfd, 0x79, 0x6f, 0xf6, 0xa1, 0xf5, 0x68, 0x45, - 0x90, 0x30, 0x71, 0xa3, 0xac, 0x07, 0x3c, 0x06, 0x09, 0xc2, 0x4d, 0xa3, 0xc0, 0x65, 0x69, 0x28, - 0x5c, 0x96, 0xc9, 0x3d, 0x88, 0x65, 0xe8, 0x33, 0x19, 0x26, 0xb1, 0x3b, 0xec, 0xf6, 0x40, 0xb2, - 0xae, 0x1b, 0x40, 0x0c, 0x9c, 0x49, 0xe8, 0x93, 0x94, 0x27, 0x32, 0xc1, 0xdd, 0x5c, 0x82, 0x4c, - 0x24, 0x48, 0x1a, 0x05, 0x44, 0x49, 0x90, 0xf3, 0x12, 0xc4, 0x48, 0x34, 0x96, 0x82, 0x50, 0xee, - 0x65, 0x3d, 0xe2, 0x27, 0x03, 0x37, 0x48, 0x82, 0xc4, 0xd5, 0x4a, 0xbd, 0x6c, 0x57, 0x9f, 0xf4, - 0x41, 0x7f, 0xe5, 0x0e, 0x8d, 0xe5, 0x2b, 0x43, 0xba, 0x1c, 0x44, 0x92, 0x71, 0x1f, 0x2e, 0xa6, - 0x6a, 0x2c, 0x5e, 0xcd, 0x19, 0xce, 0xf4, 0x70, 0x8d, 0x83, 0x70, 0x07, 0x20, 0xd9, 0x65, 0x9c, - 0xa5, 0xcb, 0x39, 0x3c, 0x8b, 0x65, 0x38, 0x98, 0x0d, 0xf4, 0xf4, 0xfa, 0x72, 0xe1, 0xef, 0xc1, - 0x80, 0xcd, 0xb0, 0xba, 0x97, 0xb3, 0x32, 0x19, 0xee, 0xbb, 0x61, 0x2c, 0x85, 0xe4, 0x17, 0x29, - 0xed, 0xe7, 0x08, 0x6d, 0x7e, 0x96, 0x9c, 0xbd, 0x63, 0xfb, 0x19, 0xe0, 0x26, 0x2a, 0x87, 0x12, - 0x06, 0xa2, 0x6e, 0xb7, 0x8a, 0x9d, 0xaa, 0x57, 0x1d, 0x9f, 0x36, 0xcb, 0x5b, 0x0a, 0xa0, 0x39, - 0xbe, 0x5a, 0xf9, 0xfa, 0xad, 0x69, 0x1d, 0xfd, 0x6a, 0x59, 0xed, 0xef, 0x05, 0x54, 0x7b, 0x9b, - 0x44, 0x10, 0x53, 0x18, 0x86, 0x70, 0x80, 0xdf, 0xa3, 0x8a, 0xea, 0xbd, 0xcf, 0x24, 0xab, 0xdb, - 0x2d, 0xbb, 0x53, 0x5b, 0xee, 0x90, 0x2b, 0xdf, 0x9a, 0x0c, 0xbb, 0xe4, 0x4d, 0xef, 0x13, 0xf8, - 0xf2, 0x35, 0x48, 0xe6, 0xe1, 0xe3, 0xd3, 0xa6, 0x35, 0x3e, 0x6d, 0xa2, 0x09, 0x46, 0xcf, 0xd4, - 0x70, 0x1f, 0x95, 0x44, 0x0a, 0x7e, 0xbd, 0xa0, 0x55, 0x3d, 0xf2, 0xdf, 0x7f, 0x10, 0x99, 0xca, - 0xb9, 0x9d, 0x82, 0xef, 0xdd, 0x35, 0x7e, 0x25, 0x75, 0xa2, 0x5a, 0x1d, 0xef, 0xa3, 0x39, 0x21, - 0x99, 0xcc, 0x44, 0xbd, 0xa8, 0x7d, 0x36, 0x6e, 0xe9, 0xa3, 0xb5, 0xbc, 0x7b, 0xc6, 0x69, 0x2e, - 0x3f, 0x53, 0xe3, 0xd1, 0x7e, 0x86, 0xee, 0x5f, 0x08, 0x85, 0x1f, 0xa3, 0xb2, 0x54, 0x90, 0x9e, - 0x5e, 0xd5, 0x9b, 0x37, 0xcc, 0x72, 0x5e, 0x97, 0xdf, 0xb5, 0x7f, 0xd8, 0xe8, 0xc1, 0x8c, 0x0b, - 0x5e, 0x43, 0xf3, 0x53, 0x89, 0xa0, 0xaf, 0x25, 0x2a, 0xde, 0x43, 0x23, 0x31, 0xbf, 0x3e, 0x7d, - 0x49, 0xcf, 0xd7, 0xe2, 0x8f, 0xa8, 0x94, 0x09, 0xe0, 0x66, 0xbc, 0x6b, 0x37, 0x68, 0x7b, 0x47, - 0x00, 0xdf, 0x8a, 0x77, 0x93, 0xc9, 0x5c, 0x15, 0x42, 0xb5, 0xac, 0x6a, 0x0b, 0x38, 0x4f, 0xb8, - 0x1e, 0xeb, 0x54, 0x5b, 0x9b, 0x0a, 0xa4, 0xf9, 0x5d, 0x7b, 0x54, 0x40, 0x95, 0x7f, 0x2a, 0x78, - 0x11, 0x55, 0x14, 0x33, 0x66, 0x03, 0x30, 0xb3, 0x58, 0x30, 0x24, 0x5d, 0xa3, 0x70, 0x7a, 0x56, - 0x81, 0x1f, 0xa1, 0x62, 0x16, 0xf6, 0x75, 0xfa, 0xaa, 0x57, 0x33, 0x85, 0xc5, 0x9d, 0xad, 0x0d, - 0xaa, 0x70, 0xdc, 0x46, 0x73, 0x01, 0x4f, 0xb2, 0x54, 0x3d, 0xab, 0xfa, 0xa5, 0x91, 0x7a, 0x8c, - 0x57, 0x1a, 0xa1, 0xe6, 0x06, 0x47, 0xa8, 0x0c, 0x6a, 0x07, 0xea, 0xa5, 0x56, 0xb1, 0x53, 0x5b, - 0x7e, 0x79, 0x8b, 0x11, 0x10, 0xbd, 0x4c, 0x9b, 0xb1, 0xe4, 0x87, 0x53, 0xad, 0x2a, 0x8c, 0xe6, - 0x1e, 0x8d, 0x03, 0xb3, 0x70, 0xba, 0x06, 0x2f, 0xa0, 0x62, 0x04, 0x87, 0x79, 0x9b, 0x54, 0x7d, - 0xe2, 0x6d, 0x54, 0x1e, 0xaa, 0x5d, 0x34, 0xef, 0xf1, 0xe2, 0x06, 0x61, 0x26, 0x0b, 0x4d, 0x73, - 0xad, 0xd5, 0xc2, 0x8a, 0xed, 0x3d, 0x39, 0x1e, 0x39, 0xd6, 0xc9, 0xc8, 0xb1, 0x7e, 0x8e, 0x1c, - 0xeb, 0x68, 0xec, 0xd8, 0xc7, 0x63, 0xc7, 0x3e, 0x19, 0x3b, 0xf6, 0xef, 0xb1, 0x63, 0x7f, 0xf9, - 0xe3, 0x58, 0x1f, 0xee, 0x18, 0x81, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x1c, 0x7a, 0x75, - 0xe8, 0x05, 0x00, 0x00, + // 688 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xcf, 0x4f, 0x13, 0x41, + 0x14, 0xee, 0xd2, 0x16, 0xdb, 0xa9, 0x28, 0x4e, 0x62, 0xd2, 0x34, 0x71, 0xdb, 0xd4, 0x4b, 0x4d, + 0x70, 0x36, 0x25, 0x06, 0x09, 0xc4, 0x03, 0x1b, 0xd0, 0x70, 0x30, 0x26, 0x03, 0x18, 0x63, 0xf4, + 0x30, 0xdd, 0x3e, 0xb6, 0xeb, 0xb2, 0x3f, 0x32, 0x3b, 0x5b, 0xec, 0x8d, 0x3f, 0xc1, 0xa3, 0xde, + 0xfc, 0x73, 0x38, 0x72, 0xf0, 0xe0, 0xc1, 0x10, 0x5b, 0xff, 0x11, 0x33, 0xb3, 0x43, 0x5b, 0x28, + 0x8d, 0x11, 0x6e, 0x3b, 0xdf, 0xbc, 0xf7, 0x7d, 0xef, 0x7b, 0x6f, 0xde, 0xa2, 0x2d, 0x7f, 0x3d, + 0x21, 0x5e, 0x64, 0xf9, 0x69, 0x07, 0x78, 0x08, 0x02, 0x12, 0x2b, 0xf6, 0x5d, 0x8b, 0xc5, 0x5e, + 0x62, 0xb1, 0x54, 0xf4, 0x20, 0x14, 0x9e, 0xc3, 0x84, 0x17, 0x85, 0x56, 0xbf, 0xdd, 0x01, 0xc1, + 0xda, 0x96, 0x0b, 0x21, 0x70, 0x26, 0xa0, 0x4b, 0x62, 0x1e, 0x89, 0x08, 0xb7, 0x33, 0x0a, 0x32, + 0xa1, 0x20, 0xb1, 0xef, 0x12, 0x49, 0x41, 0x2e, 0x53, 0x10, 0x4d, 0x51, 0x7b, 0xea, 0x7a, 0xa2, + 0x97, 0x76, 0x88, 0x13, 0x05, 0x96, 0x1b, 0xb9, 0x91, 0xa5, 0x98, 0x3a, 0xe9, 0xa1, 0x3a, 0xa9, + 0x83, 0xfa, 0xca, 0x14, 0x6a, 0xcf, 0x74, 0x91, 0x2c, 0xf6, 0x02, 0xe6, 0xf4, 0xbc, 0x10, 0xf8, + 0x60, 0x52, 0x66, 0x00, 0x82, 0x59, 0xfd, 0x99, 0xba, 0x6a, 0xd6, 0xbc, 0x2c, 0x9e, 0x86, 0xc2, + 0x0b, 0x60, 0x26, 0x61, 0xed, 0x5f, 0x09, 0x89, 0xd3, 0x83, 0x80, 0xcd, 0xe4, 0xad, 0xce, 0xed, + 0xa1, 0xc5, 0x21, 0x89, 0x52, 0xee, 0xcc, 0x6a, 0xad, 0xcc, 0xcf, 0xb9, 0xc6, 0x4a, 0xfb, 0xfa, + 0xe8, 0x54, 0x78, 0x47, 0x96, 0x17, 0x8a, 0x44, 0xf0, 0xab, 0x29, 0xcd, 0xe7, 0x08, 0xed, 0x7c, + 0x16, 0x9c, 0xbd, 0x65, 0x47, 0x29, 0xe0, 0x3a, 0x2a, 0x7a, 0x02, 0x82, 0xa4, 0x6a, 0x34, 0xf2, + 0xad, 0xb2, 0x5d, 0x1e, 0x9d, 0xd7, 0x8b, 0xbb, 0x12, 0xa0, 0x19, 0xbe, 0x51, 0xfa, 0xfa, 0xbd, + 0x9e, 0x3b, 0xf9, 0xd5, 0xc8, 0x35, 0xbf, 0xe5, 0x51, 0x65, 0x3f, 0xf2, 0x21, 0xa4, 0xd0, 0xf7, + 0xe0, 0x18, 0xbf, 0x43, 0x25, 0xd9, 0xe1, 0x2e, 0x13, 0xac, 0x6a, 0x34, 0x8c, 0x56, 0x65, 0xb5, + 0x45, 0xe6, 0x4e, 0x9c, 0xf4, 0xdb, 0xe4, 0x4d, 0xe7, 0x13, 0x38, 0xe2, 0x35, 0x08, 0x66, 0xe3, + 0xd3, 0xf3, 0x7a, 0x6e, 0x74, 0x5e, 0x47, 0x13, 0x8c, 0x8e, 0xd9, 0x70, 0x17, 0x15, 0x92, 0x18, + 0x9c, 0xea, 0x82, 0x62, 0xb5, 0xc9, 0x7f, 0xbf, 0x23, 0x32, 0x55, 0xe7, 0x5e, 0x0c, 0x8e, 0x7d, + 0x57, 0xeb, 0x15, 0xe4, 0x89, 0x2a, 0x76, 0x7c, 0x84, 0x16, 0x13, 0xc1, 0x44, 0x9a, 0x54, 0xf3, + 0x4a, 0x67, 0xfb, 0x96, 0x3a, 0x8a, 0xcb, 0xbe, 0xa7, 0x95, 0x16, 0xb3, 0x33, 0xd5, 0x1a, 0xf8, + 0x03, 0x2a, 0x89, 0x41, 0x0c, 0xd2, 0x69, 0xb5, 0xa0, 0xf4, 0xc8, 0x85, 0xde, 0xf4, 0xb3, 0x9a, + 0x28, 0xca, 0x6e, 0xc8, 0xae, 0xed, 0xeb, 0x2c, 0x7b, 0x59, 0x33, 0x97, 0x2e, 0x10, 0x3a, 0x66, + 0x6c, 0xae, 0xa1, 0xfb, 0x57, 0x2c, 0xe3, 0xc7, 0xa8, 0x28, 0x24, 0xa4, 0x66, 0x53, 0xb6, 0x97, + 0x74, 0x76, 0x31, 0x8b, 0xcb, 0xee, 0x9a, 0x3f, 0x0c, 0xf4, 0x60, 0xc6, 0x03, 0xde, 0x44, 0x4b, + 0x53, 0x7e, 0xa1, 0xab, 0x28, 0x4a, 0xf6, 0x43, 0x4d, 0xb1, 0xb4, 0x35, 0x7d, 0x49, 0x2f, 0xc7, + 0xe2, 0x8f, 0xa8, 0x90, 0x26, 0xc0, 0xf5, 0xf0, 0x36, 0x6f, 0xd0, 0xd4, 0x83, 0x04, 0xf8, 0x6e, + 0x78, 0x18, 0x4d, 0xa6, 0x26, 0x11, 0xaa, 0x68, 0xa5, 0x2d, 0xe0, 0x3c, 0xe2, 0x6a, 0x68, 0x53, + 0xb6, 0x76, 0x24, 0x48, 0xb3, 0xbb, 0xe6, 0x70, 0x01, 0x95, 0x2e, 0x58, 0xf0, 0x0a, 0x2a, 0xc9, + 0xcc, 0x90, 0x05, 0xa0, 0x7b, 0x31, 0xee, 0xe4, 0x81, 0xc6, 0xe9, 0x38, 0x02, 0x3f, 0x42, 0xf9, + 0xd4, 0xeb, 0xaa, 0xea, 0xcb, 0x76, 0x45, 0x07, 0xe6, 0x0f, 0x76, 0xb7, 0xa9, 0xc4, 0x71, 0x13, + 0x2d, 0xba, 0x3c, 0x4a, 0x63, 0xf9, 0x68, 0xe4, 0xc2, 0x20, 0x39, 0xea, 0x57, 0x0a, 0xa1, 0xfa, + 0x06, 0xfb, 0xa8, 0x08, 0x72, 0xc3, 0xaa, 0x85, 0x46, 0xbe, 0x55, 0x59, 0x7d, 0x79, 0x8b, 0x16, + 0x10, 0xb5, 0xaa, 0x3b, 0xa1, 0xe0, 0x83, 0x29, 0xab, 0x12, 0xa3, 0x99, 0x46, 0xed, 0x58, 0xaf, + 0xb3, 0x8a, 0xc1, 0xcb, 0x28, 0xef, 0xc3, 0x20, 0xb3, 0x49, 0xe5, 0x27, 0xde, 0x43, 0xc5, 0xbe, + 0xdc, 0x74, 0x3d, 0x8f, 0x17, 0x37, 0x28, 0x66, 0xf2, 0xbb, 0xa0, 0x19, 0xd7, 0xc6, 0xc2, 0xba, + 0x61, 0x3f, 0x39, 0x1d, 0x9a, 0xb9, 0xb3, 0xa1, 0x99, 0xfb, 0x39, 0x34, 0x73, 0x27, 0x23, 0xd3, + 0x38, 0x1d, 0x99, 0xc6, 0xd9, 0xc8, 0x34, 0x7e, 0x8f, 0x4c, 0xe3, 0xcb, 0x1f, 0x33, 0xf7, 0xfe, + 0x8e, 0x26, 0xf8, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x34, 0x80, 0x2a, 0x5b, 0x4c, 0x06, 0x00, 0x00, } diff --git a/pkg/apis/authentication/v1beta1/generated.proto b/pkg/apis/authentication/v1beta1/generated.proto index 665aa715a7b..4fa0d1b7224 100644 --- a/pkg/apis/authentication/v1beta1/generated.proto +++ b/pkg/apis/authentication/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.authentication.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -44,6 +44,8 @@ message ExtraValue { // Note: TokenReview requests may be cached by the webhook token authenticator // plugin in the kube-apiserver. message TokenReview { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; diff --git a/pkg/apis/authentication/v1beta1/register.go b/pkg/apis/authentication/v1beta1/register.go index 64b658042b9..f29dae3ccf4 100644 --- a/pkg/apis/authentication/v1beta1/register.go +++ b/pkg/apis/authentication/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/authentication/v1beta1/types.generated.go b/pkg/apis/authentication/v1beta1/types.generated.go index c381d58c8d0..b8fba2143bb 100644 --- a/pkg/apis/authentication/v1beta1/types.generated.go +++ b/pkg/apis/authentication/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/apis/authentication/v1beta1/types.go b/pkg/apis/authentication/v1beta1/types.go index 4d41942271c..ef2e05606b6 100644 --- a/pkg/apis/authentication/v1beta1/types.go +++ b/pkg/apis/authentication/v1beta1/types.go @@ -19,8 +19,8 @@ package v1beta1 import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/authentication/v1beta1/zz_generated.conversion.go b/pkg/apis/authentication/v1beta1/zz_generated.conversion.go index 0fcda9cbf60..960ffb34a89 100644 --- a/pkg/apis/authentication/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/authentication/v1beta1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" authentication "k8s.io/kubernetes/pkg/apis/authentication" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/authentication/v1beta1/zz_generated.deepcopy.go b/pkg/apis/authentication/v1beta1/zz_generated.deepcopy.go index cad8da37d54..f7d417ac9cb 100644 --- a/pkg/apis/authentication/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/authentication/v1beta1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/authentication/v1beta1/zz_generated.defaults.go b/pkg/apis/authentication/v1beta1/zz_generated.defaults.go index 7cd6967ccf1..e24e70be38b 100644 --- a/pkg/apis/authentication/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/authentication/v1beta1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1beta1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/authentication/zz_generated.deepcopy.go b/pkg/apis/authentication/zz_generated.deepcopy.go index d022dbcefa0..fafe595b3b6 100644 --- a/pkg/apis/authentication/zz_generated.deepcopy.go +++ b/pkg/apis/authentication/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package authentication import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/authorization/BUILD b/pkg/apis/authorization/BUILD index 6d79d73b672..cc0da7d2719 100644 --- a/pkg/apis/authorization/BUILD +++ b/pkg/apis/authorization/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/authorization/install/BUILD b/pkg/apis/authorization/install/BUILD index 70a52a1f146..e0b27ccd011 100644 --- a/pkg/apis/authorization/install/BUILD +++ b/pkg/apis/authorization/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/authorization:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/authorization/install/install.go b/pkg/apis/authorization/install/install.go index c2356d3ebd2..a26fa36eadf 100644 --- a/pkg/apis/authorization/install/install.go +++ b/pkg/apis/authorization/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/authorization" "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/authorization/register.go b/pkg/apis/authorization/register.go index f5eb46d5292..55c6020b563 100644 --- a/pkg/apis/authorization/register.go +++ b/pkg/apis/authorization/register.go @@ -17,10 +17,10 @@ limitations under the License. package authorization import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/authorization/types.go b/pkg/apis/authorization/types.go index 5d9f0afe08b..42f3122b9bc 100644 --- a/pkg/apis/authorization/types.go +++ b/pkg/apis/authorization/types.go @@ -17,8 +17,8 @@ limitations under the License. package authorization import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/authorization/v1beta1/BUILD b/pkg/apis/authorization/v1beta1/BUILD index 9b744f75aee..e0044b9e1cd 100644 --- a/pkg/apis/authorization/v1beta1/BUILD +++ b/pkg/apis/authorization/v1beta1/BUILD @@ -26,14 +26,14 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/authorization:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/authorization/v1beta1/conversion.go b/pkg/apis/authorization/v1beta1/conversion.go index fa887912577..c4013836566 100644 --- a/pkg/apis/authorization/v1beta1/conversion.go +++ b/pkg/apis/authorization/v1beta1/conversion.go @@ -17,7 +17,7 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/authorization/v1beta1/defaults.go b/pkg/apis/authorization/v1beta1/defaults.go index 57dd337dac0..cb49b06ac22 100644 --- a/pkg/apis/authorization/v1beta1/defaults.go +++ b/pkg/apis/authorization/v1beta1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/authorization/v1beta1/generated.pb.go b/pkg/apis/authorization/v1beta1/generated.pb.go index d58f4667c9a..96a3389bfef 100644 --- a/pkg/apis/authorization/v1beta1/generated.pb.go +++ b/pkg/apis/authorization/v1beta1/generated.pb.go @@ -181,6 +181,14 @@ func (m *LocalSubjectAccessReview) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -274,27 +282,35 @@ func (m *SelfSubjectAccessReview) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n4, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n4 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n5, err := m.Spec.MarshalTo(data[i:]) + n5, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n5 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n6, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n6, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n6 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n7, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n7 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n8, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n8 return i, nil } @@ -317,21 +333,21 @@ func (m *SelfSubjectAccessReviewSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ResourceAttributes.Size())) - n7, err := m.ResourceAttributes.MarshalTo(data[i:]) + n9, err := m.ResourceAttributes.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n9 } if m.NonResourceAttributes != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.NonResourceAttributes.Size())) - n8, err := m.NonResourceAttributes.MarshalTo(data[i:]) + n10, err := m.NonResourceAttributes.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n10 } return i, nil } @@ -354,27 +370,35 @@ func (m *SubjectAccessReview) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n9, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n9 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n10, err := m.Spec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n10 - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n11, err := m.Status.MarshalTo(data[i:]) + n11, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n11 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n12, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n12 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n13, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n13 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n14, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n14 return i, nil } @@ -397,21 +421,21 @@ func (m *SubjectAccessReviewSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ResourceAttributes.Size())) - n12, err := m.ResourceAttributes.MarshalTo(data[i:]) + n15, err := m.ResourceAttributes.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n12 + i += n15 } if m.NonResourceAttributes != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.NonResourceAttributes.Size())) - n13, err := m.NonResourceAttributes.MarshalTo(data[i:]) + n16, err := m.NonResourceAttributes.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n13 + i += n16 } data[i] = 0x1a i++ @@ -447,11 +471,11 @@ func (m *SubjectAccessReviewSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n14, err := (&v).MarshalTo(data[i:]) + n17, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n14 + i += n17 } } return i, nil @@ -539,6 +563,8 @@ func (m *LocalSubjectAccessReview) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -581,6 +607,8 @@ func (m *SelfSubjectAccessReview) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -607,6 +635,8 @@ func (m *SubjectAccessReview) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -673,6 +703,7 @@ func (this *LocalSubjectAccessReview) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "SubjectAccessReviewSpec", "SubjectAccessReviewSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "SubjectAccessReviewStatus", "SubjectAccessReviewStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -712,6 +743,7 @@ func (this *SelfSubjectAccessReview) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "SelfSubjectAccessReviewSpec", "SelfSubjectAccessReviewSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "SubjectAccessReviewStatus", "SubjectAccessReviewStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -735,6 +767,7 @@ func (this *SubjectAccessReview) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "SubjectAccessReviewSpec", "SubjectAccessReviewSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "SubjectAccessReviewStatus", "SubjectAccessReviewStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -981,6 +1014,36 @@ func (m *LocalSubjectAccessReview) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1482,6 +1545,36 @@ func (m *SelfSubjectAccessReview) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1738,6 +1831,36 @@ func (m *SubjectAccessReview) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2283,60 +2406,63 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 880 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x56, 0x4f, 0x8f, 0xdb, 0x44, - 0x14, 0x8f, 0x93, 0x78, 0x37, 0x99, 0x05, 0xb6, 0x4c, 0x55, 0xd6, 0x5d, 0x24, 0x27, 0x0a, 0x12, - 0xda, 0x4a, 0xad, 0xcd, 0xae, 0x40, 0x54, 0x15, 0x07, 0xd6, 0x62, 0x55, 0x55, 0xd0, 0x82, 0x66, - 0x61, 0x85, 0xe0, 0x34, 0xf6, 0xbe, 0x26, 0x26, 0x89, 0xc7, 0x9a, 0x19, 0xbb, 0x2c, 0xa7, 0x7e, - 0x00, 0x0e, 0x1c, 0x7b, 0xe4, 0x2b, 0xf0, 0x05, 0xb8, 0xb2, 0xc7, 0x72, 0x41, 0x20, 0xa1, 0x88, - 0x35, 0xdf, 0x82, 0x13, 0xf2, 0x78, 0x12, 0x37, 0x1b, 0x67, 0x51, 0x60, 0x85, 0x7a, 0xe8, 0xcd, - 0xf3, 0xfe, 0xfc, 0xde, 0x6f, 0xde, 0xfc, 0xc6, 0x6f, 0xd0, 0xfb, 0xc3, 0xdb, 0xc2, 0x09, 0x99, - 0x3b, 0x4c, 0x7c, 0xe0, 0x11, 0x48, 0x10, 0x6e, 0x3c, 0xec, 0xbb, 0x34, 0x0e, 0x85, 0x4b, 0x13, - 0x39, 0x60, 0x3c, 0xfc, 0x86, 0xca, 0x90, 0x45, 0x6e, 0xba, 0xeb, 0x83, 0xa4, 0xbb, 0x6e, 0x1f, - 0x22, 0xe0, 0x54, 0xc2, 0xb1, 0x13, 0x73, 0x26, 0x19, 0x7e, 0xab, 0x40, 0x70, 0x4a, 0x04, 0x27, - 0x1e, 0xf6, 0x9d, 0x1c, 0xc1, 0x99, 0x43, 0x70, 0x34, 0xc2, 0xf6, 0xad, 0x7e, 0x28, 0x07, 0x89, - 0xef, 0x04, 0x6c, 0xec, 0xf6, 0x59, 0x9f, 0xb9, 0x0a, 0xc8, 0x4f, 0x1e, 0xaa, 0x95, 0x5a, 0xa8, - 0xaf, 0xa2, 0xc0, 0xf6, 0xde, 0x52, 0x8a, 0x2e, 0x07, 0xc1, 0x12, 0x1e, 0xc0, 0x79, 0x52, 0xdb, - 0x37, 0x97, 0xe7, 0xa4, 0x0b, 0x5b, 0xb8, 0xa0, 0x82, 0x70, 0xc7, 0x20, 0x69, 0x55, 0xce, 0xad, - 0xea, 0x1c, 0x9e, 0x44, 0x32, 0x1c, 0x2f, 0x12, 0x7a, 0xfb, 0xe2, 0x70, 0x11, 0x0c, 0x60, 0x4c, - 0x17, 0xb2, 0x76, 0xab, 0xb3, 0x12, 0x19, 0x8e, 0xdc, 0x30, 0x92, 0x42, 0xf2, 0xf3, 0x29, 0xbd, - 0x77, 0x11, 0x3a, 0xf8, 0x5a, 0x72, 0x7a, 0x44, 0x47, 0x09, 0xe0, 0x0e, 0x32, 0x43, 0x09, 0x63, - 0x61, 0x19, 0xdd, 0xc6, 0x4e, 0xdb, 0x6b, 0x67, 0x93, 0x8e, 0x79, 0x2f, 0x37, 0x90, 0xc2, 0x7e, - 0xa7, 0xf5, 0xe4, 0xfb, 0x4e, 0xed, 0xf1, 0xef, 0xdd, 0x5a, 0xef, 0x97, 0x3a, 0xb2, 0x3e, 0x62, - 0x01, 0x1d, 0x1d, 0x26, 0xfe, 0x57, 0x10, 0xc8, 0xfd, 0x20, 0x00, 0x21, 0x08, 0xa4, 0x21, 0x3c, - 0xc2, 0x9f, 0xa3, 0x56, 0xde, 0x88, 0x63, 0x2a, 0xa9, 0x65, 0x74, 0x8d, 0x9d, 0x8d, 0xbd, 0x1d, - 0x67, 0xe9, 0xb9, 0x3b, 0xe9, 0xae, 0xf3, 0xb1, 0xc2, 0xb8, 0x0f, 0x92, 0x7a, 0xf8, 0x74, 0xd2, - 0xa9, 0x65, 0x93, 0x0e, 0x2a, 0x6d, 0x64, 0x86, 0x86, 0x87, 0xa8, 0x29, 0x62, 0x08, 0xac, 0xba, - 0x42, 0xbd, 0xe7, 0xac, 0xaa, 0x26, 0xa7, 0x82, 0xee, 0x61, 0x0c, 0x81, 0xf7, 0x92, 0x2e, 0xdb, - 0xcc, 0x57, 0x44, 0x15, 0xc1, 0x02, 0xad, 0x09, 0x49, 0x65, 0x22, 0xac, 0x86, 0x2a, 0xf7, 0xe1, - 0xe5, 0x94, 0x53, 0x90, 0xde, 0x2b, 0xba, 0xe0, 0x5a, 0xb1, 0x26, 0xba, 0x54, 0xef, 0x4b, 0x74, - 0xed, 0x01, 0x8b, 0x88, 0x96, 0xea, 0xbe, 0x94, 0x3c, 0xf4, 0x13, 0x09, 0x02, 0x77, 0x51, 0x33, - 0xa6, 0x72, 0xa0, 0x1a, 0xda, 0x2e, 0xf9, 0x7e, 0x42, 0xe5, 0x80, 0x28, 0x4f, 0x1e, 0x91, 0x02, - 0xf7, 0x55, 0x73, 0x9e, 0x89, 0x38, 0x02, 0xee, 0x13, 0xe5, 0xe9, 0xfd, 0x58, 0x47, 0xb8, 0x02, - 0xda, 0x45, 0xed, 0x88, 0x8e, 0x41, 0xc4, 0x34, 0x00, 0x8d, 0xff, 0xaa, 0xce, 0x6e, 0x3f, 0x98, - 0x3a, 0x48, 0x19, 0xf3, 0xcf, 0x95, 0xf0, 0x1b, 0xc8, 0xec, 0x73, 0x96, 0xc4, 0xaa, 0x75, 0x6d, - 0xef, 0x65, 0x1d, 0x62, 0xde, 0xcd, 0x8d, 0xa4, 0xf0, 0xe1, 0x1b, 0x68, 0x3d, 0x05, 0x2e, 0x42, - 0x16, 0x59, 0x4d, 0x15, 0xb6, 0xa9, 0xc3, 0xd6, 0x8f, 0x0a, 0x33, 0x99, 0xfa, 0xf1, 0x4d, 0xd4, - 0x9a, 0x5e, 0x5f, 0xcb, 0x54, 0xb1, 0x57, 0x74, 0x6c, 0x6b, 0xba, 0x21, 0x32, 0x8b, 0xc0, 0xef, - 0xa0, 0x0d, 0x91, 0xf8, 0xb3, 0x84, 0x35, 0x95, 0x70, 0x55, 0x27, 0x6c, 0x1c, 0x96, 0x2e, 0xf2, - 0x6c, 0x5c, 0xbe, 0xad, 0x7c, 0x8f, 0xd6, 0xfa, 0xfc, 0xb6, 0xf2, 0x16, 0x10, 0xe5, 0xe9, 0xfd, - 0x56, 0x47, 0x5b, 0x87, 0x30, 0x7a, 0xf8, 0xff, 0xaa, 0x9e, 0xcd, 0xa9, 0xfe, 0xfe, 0xbf, 0x90, - 0x61, 0x35, 0xe5, 0xe7, 0x4b, 0xf9, 0x3f, 0xd5, 0xd1, 0xeb, 0x17, 0x10, 0xc5, 0xdf, 0x1a, 0x08, - 0xf3, 0x05, 0xf1, 0xea, 0x56, 0x7f, 0xb0, 0x3a, 0xc3, 0xc5, 0x8b, 0xe0, 0xbd, 0x96, 0x4d, 0x3a, - 0x15, 0x17, 0x84, 0x54, 0xd4, 0xc5, 0x4f, 0x0c, 0x74, 0x2d, 0xaa, 0xba, 0xa9, 0xfa, 0x98, 0xee, - 0xae, 0xce, 0xa8, 0xf2, 0xe2, 0x7b, 0xd7, 0xb3, 0x49, 0xa7, 0xfa, 0x9f, 0x40, 0xaa, 0x09, 0xf4, - 0x7e, 0xae, 0xa3, 0xab, 0x2f, 0xfe, 0xcb, 0x97, 0xab, 0xce, 0xbf, 0x9a, 0x68, 0xeb, 0x85, 0x32, - 0xff, 0xa3, 0x32, 0x67, 0x83, 0xa3, 0x31, 0xff, 0x87, 0xfd, 0x4c, 0x00, 0xd7, 0x83, 0xa3, 0x3b, - 0x1d, 0x1c, 0x4d, 0xf5, 0x06, 0x41, 0xf9, 0x51, 0xa8, 0xa1, 0x21, 0xa6, 0x53, 0xe3, 0x04, 0x99, - 0x90, 0xbf, 0x59, 0x2c, 0xb3, 0xdb, 0xd8, 0xd9, 0xd8, 0xfb, 0xf4, 0xd2, 0xc4, 0xe6, 0xa8, 0xa7, - 0xd0, 0x41, 0x24, 0xf9, 0x49, 0x39, 0xb0, 0x94, 0x8d, 0x14, 0x15, 0xb7, 0x53, 0xfd, 0x5c, 0x52, - 0x31, 0xf8, 0x0a, 0x6a, 0x0c, 0xe1, 0xa4, 0x18, 0x98, 0x24, 0xff, 0xc4, 0x04, 0x99, 0x69, 0xfe, - 0x92, 0xd2, 0x8d, 0x7e, 0x6f, 0x75, 0x6a, 0xe5, 0x6b, 0x8c, 0x14, 0x50, 0x77, 0xea, 0xb7, 0x8d, - 0xde, 0x0f, 0x06, 0xba, 0xbe, 0x54, 0xb2, 0xf9, 0x18, 0xa5, 0xa3, 0x11, 0x7b, 0x04, 0xc7, 0x8a, - 0x4b, 0xab, 0x1c, 0xa3, 0xfb, 0x85, 0x99, 0x4c, 0xfd, 0xf8, 0x4d, 0xb4, 0xc6, 0x81, 0x0a, 0x16, - 0xe9, 0xd1, 0x3d, 0x53, 0x3b, 0x51, 0x56, 0xa2, 0xbd, 0x78, 0x1f, 0x6d, 0x42, 0x5e, 0x5e, 0x91, - 0x3b, 0xe0, 0x9c, 0x71, 0x7d, 0x64, 0x5b, 0x3a, 0x61, 0xf3, 0x60, 0xde, 0x4d, 0xce, 0xc7, 0x7b, - 0x37, 0x4e, 0xcf, 0xec, 0xda, 0xd3, 0x33, 0xbb, 0xf6, 0xeb, 0x99, 0x5d, 0x7b, 0x9c, 0xd9, 0xc6, - 0x69, 0x66, 0x1b, 0x4f, 0x33, 0xdb, 0xf8, 0x23, 0xb3, 0x8d, 0xef, 0xfe, 0xb4, 0x6b, 0x5f, 0xac, - 0xeb, 0x4d, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x8f, 0xa4, 0x81, 0x57, 0x0c, 0x00, 0x00, + // 927 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x56, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0xc6, 0x76, 0x62, 0x4f, 0x80, 0x94, 0xa9, 0x4a, 0xb6, 0x41, 0xb2, 0x2d, 0x23, 0xa1, + 0x54, 0x2a, 0xbb, 0x24, 0xe2, 0x4f, 0x55, 0x71, 0x20, 0x2b, 0xa2, 0xaa, 0x82, 0x16, 0x34, 0x29, + 0x11, 0x02, 0x2e, 0xb3, 0x9b, 0x57, 0x7b, 0xb1, 0xbd, 0xb3, 0x9a, 0x99, 0x75, 0x31, 0xa7, 0x7e, + 0x00, 0x0e, 0x1c, 0x7b, 0xe4, 0x1b, 0x20, 0x24, 0x24, 0x6e, 0x5c, 0xc9, 0xb1, 0x47, 0x0e, 0xc8, + 0x22, 0xcb, 0xb7, 0xe0, 0x84, 0x66, 0x76, 0xd6, 0x1b, 0xd7, 0x6b, 0x2a, 0x43, 0x85, 0x84, 0xc8, + 0x6d, 0xe7, 0xfd, 0xf9, 0xfd, 0xde, 0xbc, 0x79, 0x6f, 0xdf, 0x43, 0xef, 0x0e, 0x6e, 0x08, 0x27, + 0x64, 0xee, 0x20, 0xf1, 0x81, 0x47, 0x20, 0x41, 0xb8, 0xf1, 0xa0, 0xe7, 0xd2, 0x38, 0x14, 0x2e, + 0x4d, 0x64, 0x9f, 0xf1, 0xf0, 0x2b, 0x2a, 0x43, 0x16, 0xb9, 0xe3, 0x3d, 0x1f, 0x24, 0xdd, 0x73, + 0x7b, 0x10, 0x01, 0xa7, 0x12, 0x4e, 0x9c, 0x98, 0x33, 0xc9, 0xf0, 0xeb, 0x19, 0x82, 0x53, 0x20, + 0x38, 0xf1, 0xa0, 0xe7, 0x28, 0x04, 0x67, 0x0e, 0xc1, 0x31, 0x08, 0x3b, 0xaf, 0xf5, 0x42, 0xd9, + 0x4f, 0x7c, 0x27, 0x60, 0x23, 0xb7, 0xc7, 0x7a, 0xcc, 0xd5, 0x40, 0x7e, 0x72, 0x5f, 0x9f, 0xf4, + 0x41, 0x7f, 0x65, 0x04, 0x3b, 0x6f, 0x98, 0x10, 0x69, 0x1c, 0x8e, 0x68, 0xd0, 0x0f, 0x23, 0xe0, + 0x93, 0x22, 0xc8, 0x11, 0x48, 0xea, 0x8e, 0x17, 0xc2, 0xda, 0x71, 0x97, 0x79, 0xf1, 0x24, 0x92, + 0xe1, 0x08, 0x16, 0x1c, 0xde, 0x7a, 0x9a, 0x83, 0x08, 0xfa, 0x30, 0xa2, 0x0b, 0x7e, 0xfb, 0x4b, + 0x33, 0xe8, 0x72, 0x10, 0x2c, 0xe1, 0xc1, 0x22, 0xd7, 0xf5, 0xe5, 0x3e, 0x25, 0x57, 0xd9, 0x2b, + 0xb7, 0x4e, 0x64, 0x38, 0x74, 0xc3, 0x48, 0x0a, 0xc9, 0x9f, 0x74, 0xe9, 0xbe, 0x8d, 0xd0, 0xe1, + 0x97, 0x92, 0xd3, 0x63, 0x3a, 0x4c, 0x00, 0xb7, 0x51, 0x3d, 0x94, 0x30, 0x12, 0xb6, 0xd5, 0xa9, + 0xee, 0x36, 0xbd, 0x66, 0x3a, 0x6d, 0xd7, 0x6f, 0x2b, 0x01, 0xc9, 0xe4, 0x37, 0x1b, 0x8f, 0xbe, + 0x6d, 0x57, 0x1e, 0xfe, 0xda, 0xa9, 0x74, 0x7f, 0xa8, 0x22, 0xfb, 0x03, 0x16, 0xd0, 0xe1, 0x51, + 0xe2, 0x7f, 0x01, 0x81, 0x3c, 0x08, 0x02, 0x10, 0x82, 0xc0, 0x38, 0x84, 0x07, 0xf8, 0x13, 0xd4, + 0x50, 0xe9, 0x3e, 0xa1, 0x92, 0xda, 0x56, 0xc7, 0xda, 0xdd, 0xdc, 0xdf, 0x75, 0x96, 0xbe, 0xbe, + 0x33, 0xde, 0x73, 0x3e, 0xd4, 0x18, 0x77, 0x40, 0x52, 0x0f, 0x9f, 0x4e, 0xdb, 0x95, 0x74, 0xda, + 0x46, 0x85, 0x8c, 0xcc, 0xd0, 0xf0, 0x00, 0xd5, 0x44, 0x0c, 0x81, 0xbd, 0xa6, 0x51, 0x6f, 0x3b, + 0xab, 0xd6, 0x94, 0x53, 0x12, 0xee, 0x51, 0x0c, 0x81, 0xf7, 0x9c, 0xa1, 0xad, 0xa9, 0x13, 0xd1, + 0x24, 0x58, 0xa0, 0x75, 0x21, 0xa9, 0x4c, 0x84, 0x5d, 0xd5, 0x74, 0xef, 0x3f, 0x1b, 0x3a, 0x0d, + 0xe9, 0xbd, 0x60, 0x08, 0xd7, 0xb3, 0x33, 0x31, 0x54, 0xf8, 0x73, 0xd4, 0x90, 0x93, 0x18, 0xd4, + 0xbd, 0xed, 0x9a, 0xa6, 0x75, 0x72, 0xda, 0xf3, 0x15, 0x57, 0x10, 0xab, 0xdc, 0xa8, 0x1c, 0xde, + 0x33, 0x5e, 0xde, 0x25, 0x83, 0xdc, 0xc8, 0x25, 0x64, 0x86, 0xd8, 0xfd, 0x0c, 0x5d, 0xb9, 0xcb, + 0x22, 0x62, 0xea, 0xed, 0x40, 0x4a, 0x1e, 0xfa, 0x89, 0x04, 0x81, 0x3b, 0xa8, 0x16, 0x53, 0xd9, + 0xd7, 0xcf, 0xd5, 0x2c, 0xb2, 0xf1, 0x11, 0x95, 0x7d, 0xa2, 0x35, 0xca, 0x62, 0x0c, 0xdc, 0xd7, + 0xa9, 0x3f, 0x67, 0x71, 0x0c, 0xdc, 0x27, 0x5a, 0xd3, 0xfd, 0x69, 0x0d, 0xe1, 0x12, 0x68, 0x17, + 0x35, 0x23, 0x3a, 0x02, 0x11, 0xd3, 0x00, 0x0c, 0xfe, 0x8b, 0xc6, 0xbb, 0x79, 0x37, 0x57, 0x90, + 0xc2, 0xe6, 0xe9, 0x4c, 0xf8, 0x15, 0x54, 0xef, 0x71, 0x96, 0xc4, 0xfa, 0x61, 0x9a, 0xde, 0xf3, + 0xc6, 0xa4, 0x7e, 0x4b, 0x09, 0x49, 0xa6, 0xc3, 0xd7, 0xd0, 0xc6, 0x18, 0xb8, 0x08, 0x59, 0xa4, + 0x13, 0xd9, 0xf4, 0xb6, 0x8c, 0xd9, 0xc6, 0x71, 0x26, 0x26, 0xb9, 0x1e, 0x5f, 0x47, 0x8d, 0xbc, + 0x07, 0xed, 0xba, 0xb6, 0x9d, 0x25, 0x31, 0xbf, 0x10, 0x99, 0x59, 0xe0, 0x37, 0xd1, 0xa6, 0x48, + 0xfc, 0x99, 0xc3, 0xba, 0x76, 0xb8, 0x6c, 0x1c, 0x36, 0x8f, 0x0a, 0x15, 0x39, 0x6f, 0xa7, 0xae, + 0xa5, 0xee, 0x68, 0x6f, 0xcc, 0x5f, 0x4b, 0xa5, 0x80, 0x68, 0x4d, 0xf7, 0xc7, 0x2a, 0xda, 0x3e, + 0x82, 0xe1, 0xfd, 0x7f, 0xb7, 0xa7, 0xd8, 0x5c, 0x4f, 0xdd, 0xf9, 0x1b, 0x45, 0x5e, 0x1e, 0xf2, + 0xff, 0xa9, 0xaf, 0x7e, 0x5e, 0x43, 0x2f, 0xff, 0x45, 0x1a, 0xf0, 0xd7, 0x16, 0xc2, 0x7c, 0xa1, + 0x35, 0xcc, 0x43, 0xbe, 0xb7, 0xfa, 0xfd, 0x17, 0xdb, 0xcc, 0x7b, 0x29, 0x9d, 0xb6, 0x4b, 0xda, + 0x8f, 0x94, 0xf0, 0xe2, 0x47, 0x16, 0xba, 0x12, 0x95, 0xfd, 0x07, 0x4c, 0x11, 0xdc, 0x5a, 0x3d, + 0xa2, 0xd2, 0xdf, 0x8a, 0x77, 0x35, 0x9d, 0xb6, 0xcb, 0xff, 0x38, 0xa4, 0x3c, 0x80, 0xee, 0x77, + 0x55, 0x74, 0xf9, 0x62, 0xa6, 0xfc, 0x97, 0x6a, 0xff, 0x8f, 0x1a, 0xda, 0xbe, 0xa8, 0xfb, 0x7f, + 0x58, 0xf7, 0xb3, 0xa1, 0x57, 0x9d, 0x9f, 0x0e, 0x1f, 0x0b, 0xe0, 0x66, 0xe8, 0x75, 0xf2, 0xa1, + 0x57, 0xd3, 0xdb, 0x19, 0x52, 0x0f, 0xad, 0x07, 0x9e, 0xc8, 0x27, 0xde, 0x04, 0xd5, 0x41, 0x6d, + 0x73, 0x76, 0xbd, 0x53, 0xdd, 0xdd, 0xdc, 0xbf, 0xf7, 0xcc, 0x4a, 0xd9, 0xd1, 0x4b, 0xe2, 0x61, + 0x24, 0xf9, 0xa4, 0x18, 0xb6, 0x5a, 0x46, 0x32, 0xc6, 0x9d, 0xb1, 0x59, 0x24, 0xb5, 0x0d, 0xbe, + 0x84, 0xaa, 0x03, 0x98, 0x64, 0xc3, 0x9e, 0xa8, 0x4f, 0x4c, 0x50, 0x7d, 0xac, 0x76, 0x4c, 0x93, + 0xe8, 0x77, 0x56, 0x0f, 0xad, 0xd8, 0x53, 0x49, 0x06, 0x75, 0x73, 0xed, 0x86, 0xd5, 0xfd, 0xde, + 0x42, 0x57, 0x97, 0x36, 0x84, 0x5a, 0x01, 0xe8, 0x70, 0xc8, 0x1e, 0xc0, 0x89, 0x8e, 0xa5, 0x51, + 0xac, 0x00, 0x07, 0x99, 0x98, 0xe4, 0x7a, 0xfc, 0x2a, 0x5a, 0xe7, 0x40, 0x05, 0x8b, 0xcc, 0xda, + 0x31, 0xeb, 0x25, 0xa2, 0xa5, 0xc4, 0x68, 0xf1, 0x01, 0xda, 0x02, 0x45, 0xaf, 0x83, 0x3b, 0xe4, + 0x9c, 0x71, 0xf3, 0x64, 0xdb, 0xc6, 0x61, 0xeb, 0x70, 0x5e, 0x4d, 0x9e, 0xb4, 0xf7, 0xae, 0x9d, + 0x9e, 0xb5, 0x2a, 0x8f, 0xcf, 0x5a, 0x95, 0x5f, 0xce, 0x5a, 0x95, 0x87, 0x69, 0xcb, 0x3a, 0x4d, + 0x5b, 0xd6, 0xe3, 0xb4, 0x65, 0xfd, 0x96, 0xb6, 0xac, 0x6f, 0x7e, 0x6f, 0x55, 0x3e, 0xdd, 0x30, + 0x97, 0xfe, 0x33, 0x00, 0x00, 0xff, 0xff, 0x4a, 0x7d, 0x0c, 0xb9, 0x77, 0x0d, 0x00, 0x00, } diff --git a/pkg/apis/authorization/v1beta1/generated.proto b/pkg/apis/authorization/v1beta1/generated.proto index 71174cc8f1e..e35bd8823c2 100644 --- a/pkg/apis/authorization/v1beta1/generated.proto +++ b/pkg/apis/authorization/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.authorization.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -44,6 +44,8 @@ message ExtraValue { // Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions // checking. message LocalSubjectAccessReview { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -105,6 +107,8 @@ message ResourceAttributes { // spec.namespace means "in all namespaces". Self is a special case, because users should always be able // to check whether they can perform an action message SelfSubjectAccessReview { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -130,6 +134,8 @@ message SelfSubjectAccessReviewSpec { // SubjectAccessReview checks whether or not a user or group can perform an action. message SubjectAccessReview { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; diff --git a/pkg/apis/authorization/v1beta1/register.go b/pkg/apis/authorization/v1beta1/register.go index c930f976308..ed6a234ad8f 100644 --- a/pkg/apis/authorization/v1beta1/register.go +++ b/pkg/apis/authorization/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/authorization/v1beta1/types.generated.go b/pkg/apis/authorization/v1beta1/types.generated.go index fbc4764e988..7a2e766747c 100644 --- a/pkg/apis/authorization/v1beta1/types.generated.go +++ b/pkg/apis/authorization/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/apis/authorization/v1beta1/types.go b/pkg/apis/authorization/v1beta1/types.go index 4f13fbeab1f..65623ae041d 100644 --- a/pkg/apis/authorization/v1beta1/types.go +++ b/pkg/apis/authorization/v1beta1/types.go @@ -19,8 +19,8 @@ package v1beta1 import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/authorization/v1beta1/zz_generated.conversion.go b/pkg/apis/authorization/v1beta1/zz_generated.conversion.go index 3ddc52d5b28..4e96aaf5c26 100644 --- a/pkg/apis/authorization/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/authorization/v1beta1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" authorization "k8s.io/kubernetes/pkg/apis/authorization" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/authorization/v1beta1/zz_generated.deepcopy.go b/pkg/apis/authorization/v1beta1/zz_generated.deepcopy.go index 6c4552c3287..76c0200e774 100644 --- a/pkg/apis/authorization/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/authorization/v1beta1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/authorization/v1beta1/zz_generated.defaults.go b/pkg/apis/authorization/v1beta1/zz_generated.defaults.go index 7cd6967ccf1..e24e70be38b 100644 --- a/pkg/apis/authorization/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/authorization/v1beta1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1beta1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/authorization/validation/BUILD b/pkg/apis/authorization/validation/BUILD index 30e1303c337..18bb6b82f0f 100644 --- a/pkg/apis/authorization/validation/BUILD +++ b/pkg/apis/authorization/validation/BUILD @@ -15,7 +15,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/authorization:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -27,7 +27,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/authorization:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/apis/authorization/validation/validation.go b/pkg/apis/authorization/validation/validation.go index 73326ee9a72..5e8a6e011aa 100644 --- a/pkg/apis/authorization/validation/validation.go +++ b/pkg/apis/authorization/validation/validation.go @@ -17,9 +17,9 @@ limitations under the License. package validation import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" - "k8s.io/kubernetes/pkg/util/validation/field" ) func ValidateSubjectAccessReviewSpec(spec authorizationapi.SubjectAccessReviewSpec, fldPath *field.Path) field.ErrorList { diff --git a/pkg/apis/authorization/validation/validation_test.go b/pkg/apis/authorization/validation/validation_test.go index 833b3eb4c1b..6a7560a33de 100644 --- a/pkg/apis/authorization/validation/validation_test.go +++ b/pkg/apis/authorization/validation/validation_test.go @@ -20,9 +20,9 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestValidateSARSpec(t *testing.T) { diff --git a/pkg/apis/authorization/zz_generated.deepcopy.go b/pkg/apis/authorization/zz_generated.deepcopy.go index 46d0df23b4f..de1e59498a6 100644 --- a/pkg/apis/authorization/zz_generated.deepcopy.go +++ b/pkg/apis/authorization/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package authorization import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/autoscaling/BUILD b/pkg/apis/autoscaling/BUILD index a3daeb8b7d0..2f612cbe128 100644 --- a/pkg/apis/autoscaling/BUILD +++ b/pkg/apis/autoscaling/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/autoscaling/register.go b/pkg/apis/autoscaling/register.go index ee6b32b61f3..1526188f741 100644 --- a/pkg/apis/autoscaling/register.go +++ b/pkg/apis/autoscaling/register.go @@ -17,9 +17,9 @@ limitations under the License. package autoscaling import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/autoscaling/types.go b/pkg/apis/autoscaling/types.go index 85e34729bd7..126c2177af4 100644 --- a/pkg/apis/autoscaling/types.go +++ b/pkg/apis/autoscaling/types.go @@ -17,8 +17,8 @@ limitations under the License. package autoscaling import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // Scale represents a scaling request for a resource. diff --git a/pkg/apis/autoscaling/v1/BUILD b/pkg/apis/autoscaling/v1/BUILD index cc3a3f12160..0d451c93234 100644 --- a/pkg/apis/autoscaling/v1/BUILD +++ b/pkg/apis/autoscaling/v1/BUILD @@ -26,13 +26,13 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -45,7 +45,7 @@ go_test( "//pkg/api/install:go_default_library", "//pkg/apis/autoscaling/install:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/apis/autoscaling/v1/defaults.go b/pkg/apis/autoscaling/v1/defaults.go index e81d9549056..0dde73214c5 100644 --- a/pkg/apis/autoscaling/v1/defaults.go +++ b/pkg/apis/autoscaling/v1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/autoscaling/v1/defaults_test.go b/pkg/apis/autoscaling/v1/defaults_test.go index 4f94a4c1ad3..aab0eade614 100644 --- a/pkg/apis/autoscaling/v1/defaults_test.go +++ b/pkg/apis/autoscaling/v1/defaults_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" _ "k8s.io/kubernetes/pkg/apis/autoscaling/install" . "k8s.io/kubernetes/pkg/apis/autoscaling/v1" - "k8s.io/kubernetes/pkg/runtime" ) func TestSetDefaultHPA(t *testing.T) { diff --git a/pkg/apis/autoscaling/v1/generated.pb.go b/pkg/apis/autoscaling/v1/generated.pb.go index 3a31a0f6325..851ffa99250 100644 --- a/pkg/apis/autoscaling/v1/generated.pb.go +++ b/pkg/apis/autoscaling/v1/generated.pb.go @@ -40,7 +40,7 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" import strings "strings" import reflect "reflect" @@ -175,6 +175,14 @@ func (m *HorizontalPodAutoscaler) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -196,11 +204,11 @@ func (m *HorizontalPodAutoscalerList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n4, err := m.ListMeta.MarshalTo(data[i:]) + n5, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -213,6 +221,14 @@ func (m *HorizontalPodAutoscalerList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n6, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 return i, nil } @@ -234,11 +250,11 @@ func (m *HorizontalPodAutoscalerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ScaleTargetRef.Size())) - n5, err := m.ScaleTargetRef.MarshalTo(data[i:]) + n7, err := m.ScaleTargetRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n7 if m.MinReplicas != nil { data[i] = 0x10 i++ @@ -279,11 +295,11 @@ func (m *HorizontalPodAutoscalerStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.LastScaleTime.Size())) - n6, err := m.LastScaleTime.MarshalTo(data[i:]) + n8, err := m.LastScaleTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n8 } data[i] = 0x18 i++ @@ -317,27 +333,35 @@ func (m *Scale) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n7, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n7 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n8, err := m.Spec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n8 - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n9, err := m.Status.MarshalTo(data[i:]) + n9, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n9 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n10, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n10 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n11, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n11 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n12, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n12 return i, nil } @@ -435,6 +459,8 @@ func (m *HorizontalPodAutoscaler) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -449,6 +475,8 @@ func (m *HorizontalPodAutoscalerList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -494,6 +522,8 @@ func (m *Scale) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -546,6 +576,7 @@ func (this *HorizontalPodAutoscaler) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "HorizontalPodAutoscalerSpec", "HorizontalPodAutoscalerSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "HorizontalPodAutoscalerStatus", "HorizontalPodAutoscalerStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -555,8 +586,9 @@ func (this *HorizontalPodAutoscalerList) String() string { return "nil" } s := strings.Join([]string{`&HorizontalPodAutoscalerList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "HorizontalPodAutoscaler", "HorizontalPodAutoscaler", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -580,7 +612,7 @@ func (this *HorizontalPodAutoscalerStatus) String() string { } s := strings.Join([]string{`&HorizontalPodAutoscalerStatus{`, `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`, - `LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `CurrentReplicas:` + fmt.Sprintf("%v", this.CurrentReplicas) + `,`, `DesiredReplicas:` + fmt.Sprintf("%v", this.DesiredReplicas) + `,`, `CurrentCPUUtilizationPercentage:` + valueToStringGenerated(this.CurrentCPUUtilizationPercentage) + `,`, @@ -596,6 +628,7 @@ func (this *Scale) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ScaleSpec", "ScaleSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ScaleStatus", "ScaleStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -885,6 +918,36 @@ func (m *HorizontalPodAutoscaler) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -996,6 +1059,36 @@ func (m *HorizontalPodAutoscalerList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1232,7 +1325,7 @@ func (m *HorizontalPodAutoscalerStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.LastScaleTime == nil { - m.LastScaleTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.LastScaleTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.LastScaleTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1436,6 +1529,36 @@ func (m *Scale) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1730,58 +1853,61 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 838 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6f, 0xdc, 0x44, - 0x14, 0x5f, 0xef, 0x47, 0x95, 0x8e, 0x49, 0x02, 0x83, 0xd4, 0xae, 0x52, 0x61, 0x47, 0x0b, 0x87, - 0x20, 0xa5, 0xb6, 0x76, 0x55, 0x10, 0x3d, 0xc6, 0x41, 0xa5, 0x15, 0x0d, 0x8d, 0x26, 0x6d, 0x85, - 0x7a, 0x40, 0x9a, 0xf5, 0xbe, 0x3a, 0xd3, 0x5d, 0x7b, 0xac, 0x99, 0xf1, 0x0a, 0xf5, 0xc4, 0x89, - 0x33, 0x17, 0x0e, 0xfc, 0x35, 0x5c, 0x73, 0xa3, 0x47, 0x4e, 0x2b, 0x62, 0xfe, 0x0d, 0x0e, 0xc8, - 0xb3, 0x53, 0xef, 0x57, 0xec, 0x12, 0x01, 0xb7, 0x9d, 0x79, 0xbf, 0x8f, 0x37, 0xef, 0x3d, 0xbf, - 0x45, 0xf7, 0xc7, 0x5f, 0x48, 0x8f, 0x71, 0x7f, 0x9c, 0x0d, 0x41, 0x24, 0xa0, 0x40, 0xfa, 0xe9, - 0x38, 0xf2, 0x69, 0xca, 0xa4, 0x4f, 0x33, 0xc5, 0x65, 0x48, 0x27, 0x2c, 0x89, 0xfc, 0x69, 0xdf, - 0x8f, 0x20, 0x01, 0x41, 0x15, 0x8c, 0xbc, 0x54, 0x70, 0xc5, 0xf1, 0xa7, 0x73, 0xaa, 0xb7, 0xa0, - 0x7a, 0xe9, 0x38, 0xf2, 0x0a, 0xaa, 0xb7, 0x44, 0xf5, 0xa6, 0xfd, 0xbd, 0xbb, 0x11, 0x53, 0xe7, - 0xd9, 0xd0, 0x0b, 0x79, 0xec, 0x47, 0x3c, 0xe2, 0xbe, 0x56, 0x18, 0x66, 0x2f, 0xf5, 0x49, 0x1f, - 0xf4, 0xaf, 0xb9, 0xf2, 0xde, 0xa0, 0x32, 0x29, 0x5f, 0x80, 0xe4, 0x99, 0x08, 0x61, 0x3d, 0x9b, - 0xbd, 0xc3, 0x6a, 0xce, 0x66, 0xee, 0x35, 0x0e, 0xd2, 0x8f, 0x41, 0xd1, 0xab, 0x38, 0x77, 0xaf, - 0xe6, 0x88, 0x2c, 0x51, 0x2c, 0xde, 0x4c, 0xe8, 0x5e, 0x3d, 0x5c, 0x86, 0xe7, 0x10, 0xd3, 0x0d, - 0x56, 0xff, 0x6a, 0x56, 0xa6, 0xd8, 0xc4, 0x67, 0x89, 0x92, 0x4a, 0xac, 0x53, 0x7a, 0x3f, 0x5b, - 0xe8, 0xce, 0xb1, 0xe0, 0x52, 0x3e, 0x07, 0x21, 0x19, 0x4f, 0x9e, 0x0c, 0x5f, 0x41, 0xa8, 0x08, - 0xbc, 0x04, 0x01, 0x49, 0x08, 0x78, 0x1f, 0xb5, 0xc7, 0x2c, 0x19, 0x75, 0xad, 0x7d, 0xeb, 0xe0, - 0x66, 0xf0, 0xde, 0xc5, 0xcc, 0x6d, 0xe4, 0x33, 0xb7, 0xfd, 0x35, 0x4b, 0x46, 0x44, 0x47, 0x0a, - 0x44, 0x42, 0x63, 0xe8, 0x36, 0x57, 0x11, 0xdf, 0xd0, 0x18, 0x88, 0x8e, 0xe0, 0x01, 0x42, 0x34, - 0x65, 0xc6, 0xa0, 0xdb, 0xd2, 0x38, 0x6c, 0x70, 0xe8, 0xe8, 0xf4, 0x91, 0x89, 0x90, 0x25, 0x54, - 0xef, 0xb7, 0x26, 0xba, 0xfd, 0x90, 0x0b, 0xf6, 0x9a, 0x27, 0x8a, 0x4e, 0x4e, 0xf9, 0xe8, 0xc8, - 0x0c, 0x05, 0x08, 0xfc, 0x2d, 0xda, 0x2a, 0xca, 0x3c, 0xa2, 0x8a, 0xea, 0xbc, 0xec, 0xc1, 0x81, - 0x57, 0x39, 0x4e, 0xde, 0xb4, 0xef, 0xcd, 0x1f, 0x75, 0x02, 0x8a, 0x2e, 0x7c, 0x17, 0x77, 0xa4, - 0x54, 0xc3, 0xe7, 0xa8, 0x2d, 0x53, 0x08, 0xf5, 0x5b, 0xec, 0xc1, 0x03, 0xef, 0x1f, 0x0f, 0xa9, - 0x57, 0x91, 0xeb, 0x59, 0x0a, 0xe1, 0xa2, 0x26, 0xc5, 0x89, 0x68, 0x07, 0x9c, 0xa2, 0x1b, 0x52, - 0x51, 0x95, 0x49, 0x5d, 0x0f, 0x7b, 0xf0, 0xf0, 0x3f, 0xf0, 0xd2, 0x7a, 0xc1, 0x8e, 0x71, 0xbb, - 0x31, 0x3f, 0x13, 0xe3, 0xd3, 0xcb, 0x2d, 0x74, 0xa7, 0x82, 0xf9, 0x98, 0x49, 0x85, 0x5f, 0x6c, - 0x54, 0xf5, 0xb0, 0x2e, 0xa7, 0x02, 0x5b, 0x24, 0x53, 0x70, 0x75, 0x65, 0xdf, 0x37, 0xbe, 0x5b, - 0x6f, 0x6f, 0x96, 0xea, 0x1a, 0xa1, 0x0e, 0x53, 0x10, 0xcb, 0x6e, 0x73, 0xbf, 0x75, 0x60, 0x0f, - 0x82, 0x7f, 0xff, 0xd8, 0x60, 0xdb, 0xd8, 0x75, 0x1e, 0x15, 0xc2, 0x64, 0xae, 0xdf, 0xfb, 0xab, - 0x59, 0xf9, 0xc8, 0xa2, 0xf8, 0xf8, 0x47, 0x0b, 0xed, 0xe8, 0xe3, 0x53, 0x2a, 0x22, 0x28, 0xe6, - 0xdc, 0xbc, 0xf5, 0x3a, 0xbd, 0xae, 0xf9, 0x5e, 0x82, 0x5b, 0x26, 0xad, 0x9d, 0xb3, 0x15, 0x17, - 0xb2, 0xe6, 0x8a, 0xfb, 0xc8, 0x8e, 0x59, 0x42, 0x20, 0x9d, 0xb0, 0x90, 0x4a, 0x3d, 0x70, 0x9d, - 0x60, 0x37, 0x9f, 0xb9, 0xf6, 0xc9, 0xe2, 0x9a, 0x2c, 0x63, 0xf0, 0x67, 0xc8, 0x8e, 0xe9, 0xf7, - 0x25, 0xa5, 0xa5, 0x29, 0x1f, 0x1a, 0x3f, 0xfb, 0x64, 0x11, 0x22, 0xcb, 0x38, 0xfc, 0x0a, 0x39, - 0x4a, 0xdb, 0x1e, 0x9f, 0x3e, 0x7b, 0xa6, 0xd8, 0x84, 0xbd, 0xa6, 0x8a, 0xf1, 0xe4, 0x14, 0x44, - 0x08, 0x89, 0xa2, 0x11, 0x74, 0xdb, 0x5a, 0xa9, 0x97, 0xcf, 0x5c, 0xe7, 0x69, 0x2d, 0x92, 0xbc, - 0x43, 0xa9, 0xf7, 0x6b, 0x0b, 0x7d, 0x54, 0x3b, 0x9d, 0xf8, 0x01, 0xc2, 0x7c, 0x28, 0x41, 0x4c, - 0x61, 0xf4, 0xd5, 0x7c, 0x15, 0x15, 0x3b, 0xa1, 0xe8, 0x41, 0x2b, 0xb8, 0x95, 0xcf, 0x5c, 0xfc, - 0x64, 0x23, 0x4a, 0xae, 0x60, 0x60, 0x8a, 0xb6, 0x27, 0x54, 0xaa, 0x79, 0x95, 0x99, 0x59, 0x3f, - 0xb5, 0x8b, 0x60, 0x31, 0xb2, 0x05, 0x3e, 0xf8, 0x20, 0x9f, 0xb9, 0xdb, 0x8f, 0x97, 0x25, 0xc8, - 0xaa, 0x22, 0x3e, 0x42, 0xbb, 0x61, 0x26, 0x04, 0x24, 0x6a, 0xad, 0xe6, 0xb7, 0x4d, 0xcd, 0x77, - 0x8f, 0x57, 0xc3, 0x64, 0x1d, 0x5f, 0x48, 0x8c, 0x40, 0x32, 0x01, 0xa3, 0x52, 0xa2, 0xbd, 0x2a, - 0xf1, 0xe5, 0x6a, 0x98, 0xac, 0xe3, 0x71, 0x8c, 0x5c, 0xa3, 0x5a, 0xd9, 0xbf, 0x8e, 0x96, 0xfc, - 0x38, 0x9f, 0xb9, 0xee, 0x71, 0x3d, 0x94, 0xbc, 0x4b, 0xab, 0xf7, 0x4b, 0x13, 0x75, 0x74, 0x09, - 0xfe, 0xc7, 0x2d, 0xfb, 0x7c, 0x65, 0xcb, 0xde, 0xbb, 0xc6, 0x97, 0xa7, 0x33, 0xab, 0xdc, 0xa9, - 0xdf, 0xad, 0xed, 0xd4, 0xcf, 0xaf, 0xad, 0x5c, 0xbf, 0x41, 0xef, 0xa3, 0x9b, 0x65, 0x02, 0xf8, - 0x10, 0x6d, 0x89, 0xb7, 0x3d, 0xb5, 0x74, 0x03, 0xca, 0x05, 0x58, 0x36, 0xb3, 0x44, 0xf4, 0x18, - 0xb2, 0x97, 0x1c, 0xae, 0x47, 0x2e, 0xd0, 0x12, 0x26, 0x10, 0x2a, 0x2e, 0xcc, 0xbf, 0x6c, 0x89, - 0x3e, 0x33, 0xf7, 0xa4, 0x44, 0x04, 0x9f, 0x5c, 0x5c, 0x3a, 0x8d, 0x37, 0x97, 0x4e, 0xe3, 0xf7, - 0x4b, 0xa7, 0xf1, 0x43, 0xee, 0x58, 0x17, 0xb9, 0x63, 0xbd, 0xc9, 0x1d, 0xeb, 0x8f, 0xdc, 0xb1, - 0x7e, 0xfa, 0xd3, 0x69, 0xbc, 0x68, 0x4e, 0xfb, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x62, - 0x6b, 0x34, 0xbb, 0x09, 0x00, 0x00, + // 888 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x56, 0x4d, 0x6f, 0xdc, 0x44, + 0x18, 0x5e, 0xef, 0x47, 0x95, 0x8e, 0x49, 0x02, 0x83, 0xd4, 0xae, 0x52, 0x61, 0x47, 0x0b, 0x87, + 0x80, 0x8a, 0xad, 0x5d, 0x95, 0x8a, 0x1e, 0xe3, 0xa0, 0xd2, 0x8a, 0x86, 0x46, 0x93, 0xb4, 0x42, + 0x08, 0x21, 0xcd, 0x7a, 0xdf, 0x3a, 0xd3, 0x5d, 0x7f, 0x68, 0x66, 0xbc, 0xa2, 0x3d, 0x71, 0xe2, + 0xcc, 0x85, 0x9f, 0xc1, 0x8f, 0x80, 0x53, 0x8e, 0x3d, 0x72, 0x5a, 0x11, 0xf3, 0x23, 0xb8, 0x70, + 0x40, 0x9e, 0x9d, 0x78, 0xed, 0x4d, 0x9c, 0x0f, 0x11, 0xd4, 0xdb, 0xce, 0xcc, 0xf3, 0xf1, 0xce, + 0x33, 0xef, 0x78, 0x16, 0x3d, 0x18, 0x7f, 0x2e, 0x1c, 0x16, 0xbb, 0xe3, 0x74, 0x08, 0x3c, 0x02, + 0x09, 0xc2, 0x4d, 0xc6, 0x81, 0x4b, 0x13, 0x26, 0x5c, 0x9a, 0xca, 0x58, 0xf8, 0x74, 0xc2, 0xa2, + 0xc0, 0x9d, 0xf6, 0xdd, 0x00, 0x22, 0xe0, 0x54, 0xc2, 0xc8, 0x49, 0x78, 0x2c, 0x63, 0xfc, 0xf1, + 0x9c, 0xea, 0x2c, 0xa8, 0x4e, 0x32, 0x0e, 0x9c, 0x9c, 0xea, 0x94, 0xa8, 0xce, 0xb4, 0xbf, 0xf1, + 0x69, 0xc0, 0xe4, 0x61, 0x3a, 0x74, 0xfc, 0x38, 0x74, 0x83, 0x38, 0x88, 0x5d, 0xa5, 0x30, 0x4c, + 0x5f, 0xa8, 0x91, 0x1a, 0xa8, 0x5f, 0x73, 0xe5, 0x8d, 0x7b, 0xba, 0x28, 0x9a, 0xb0, 0x90, 0xfa, + 0x87, 0x2c, 0x02, 0xfe, 0x6a, 0x51, 0x56, 0x08, 0x92, 0x9e, 0x51, 0xcf, 0x86, 0x5b, 0xc7, 0xe2, + 0x69, 0x24, 0x59, 0x08, 0xa7, 0x08, 0xf7, 0x2f, 0x22, 0x08, 0xff, 0x10, 0x42, 0x7a, 0x8a, 0x37, + 0xa8, 0xcd, 0xcc, 0xe5, 0x20, 0xe2, 0x94, 0xfb, 0xa7, 0xbd, 0xee, 0xd6, 0x73, 0xce, 0xd8, 0x4a, + 0xff, 0x6c, 0x74, 0x2a, 0xd9, 0xc4, 0x65, 0x91, 0x14, 0x92, 0x2f, 0x53, 0x7a, 0xbf, 0x18, 0xe8, + 0xce, 0x0e, 0x8f, 0x85, 0x78, 0x0e, 0x5c, 0xb0, 0x38, 0x7a, 0x3a, 0x7c, 0x09, 0xbe, 0x24, 0xf0, + 0x02, 0x38, 0x44, 0x3e, 0xe0, 0x4d, 0xd4, 0x1e, 0xb3, 0x68, 0xd4, 0x35, 0x36, 0x8d, 0xad, 0x9b, + 0xde, 0x3b, 0x47, 0x33, 0xbb, 0x91, 0xcd, 0xec, 0xf6, 0x57, 0x2c, 0x1a, 0x11, 0xb5, 0x92, 0x23, + 0x22, 0x1a, 0x42, 0xb7, 0x59, 0x45, 0x7c, 0x4d, 0x43, 0x20, 0x6a, 0x05, 0x0f, 0x10, 0xa2, 0x09, + 0xd3, 0x06, 0xdd, 0x96, 0xc2, 0x61, 0x8d, 0x43, 0xdb, 0x7b, 0x8f, 0xf5, 0x0a, 0x29, 0xa1, 0x7a, + 0xbf, 0xb6, 0xd0, 0xed, 0x47, 0x31, 0x67, 0xaf, 0xe3, 0x48, 0xd2, 0xc9, 0x5e, 0x3c, 0xda, 0xd6, + 0xad, 0x01, 0x1c, 0x7f, 0x83, 0x56, 0xf2, 0xc3, 0x1c, 0x51, 0x49, 0x55, 0x5d, 0xe6, 0x60, 0xcb, + 0xa9, 0x6d, 0x2a, 0x67, 0xda, 0x77, 0xe6, 0x9b, 0xda, 0x05, 0x49, 0x17, 0xbe, 0x8b, 0x39, 0x52, + 0xa8, 0xe1, 0x43, 0xd4, 0x16, 0x09, 0xf8, 0x6a, 0x2f, 0xe6, 0xe0, 0xa1, 0x73, 0xe9, 0x56, 0x75, + 0x6a, 0x6a, 0xdd, 0x4f, 0xc0, 0x5f, 0x64, 0x92, 0x8f, 0x88, 0x72, 0xc0, 0x09, 0xba, 0x21, 0x24, + 0x95, 0xa9, 0x50, 0x79, 0x98, 0x83, 0x47, 0xd7, 0xe0, 0xa5, 0xf4, 0xbc, 0x35, 0xed, 0x76, 0x63, + 0x3e, 0x26, 0xda, 0x07, 0x7f, 0x87, 0x56, 0xe4, 0xab, 0x04, 0xf2, 0x1d, 0x77, 0xdb, 0xca, 0xd3, + 0x39, 0xf1, 0x2c, 0x77, 0xf2, 0xc2, 0x35, 0x4f, 0x25, 0xb7, 0x3b, 0xd0, 0x2c, 0xef, 0x5d, 0xad, + 0xbc, 0x72, 0x32, 0x43, 0x0a, 0xc5, 0xde, 0xef, 0x4d, 0x74, 0xa7, 0xa6, 0xae, 0x27, 0x4c, 0xc8, + 0xdc, 0x7d, 0xe9, 0xcc, 0x2e, 0xe9, 0x9e, 0xb3, 0xab, 0xee, 0x27, 0x33, 0xa5, 0x73, 0x0b, 0x50, + 0x87, 0x49, 0x08, 0x45, 0xb7, 0xb9, 0xd9, 0xda, 0x32, 0x07, 0xde, 0x7f, 0x0f, 0xd3, 0x5b, 0xd5, + 0x76, 0x9d, 0xc7, 0xb9, 0x30, 0x99, 0xeb, 0x57, 0x42, 0x6c, 0x5d, 0x7b, 0x88, 0xff, 0xd4, 0x87, + 0x98, 0xb7, 0x0e, 0xfe, 0xc9, 0x40, 0x6b, 0x6a, 0x78, 0x40, 0x79, 0x00, 0xf9, 0x2d, 0xd5, 0x59, + 0x5e, 0xa5, 0x53, 0xcf, 0xb9, 0xed, 0xde, 0x2d, 0x5d, 0xdc, 0xda, 0x7e, 0xc5, 0x85, 0x2c, 0xb9, + 0xe2, 0x3e, 0x32, 0x43, 0x16, 0x11, 0x48, 0x26, 0xcc, 0xa7, 0x42, 0x5d, 0x97, 0x8e, 0xb7, 0x9e, + 0xcd, 0x6c, 0x73, 0x77, 0x31, 0x4d, 0xca, 0x18, 0xfc, 0x19, 0x32, 0x43, 0xfa, 0x43, 0x41, 0x69, + 0x29, 0xca, 0xfb, 0xda, 0xcf, 0xdc, 0x5d, 0x2c, 0x91, 0x32, 0x0e, 0xbf, 0x44, 0x96, 0x54, 0xb6, + 0x3b, 0x7b, 0xcf, 0x9e, 0x49, 0x36, 0x61, 0xaf, 0xa9, 0x64, 0x71, 0xb4, 0x07, 0xdc, 0x87, 0x48, + 0xd2, 0x00, 0x54, 0x2f, 0x77, 0xbc, 0x5e, 0x36, 0xb3, 0xad, 0x83, 0x73, 0x91, 0xe4, 0x02, 0xa5, + 0xde, 0x6f, 0x2d, 0xf4, 0xc1, 0xb9, 0x77, 0x0b, 0x3f, 0x44, 0x38, 0x1e, 0x0a, 0xe0, 0x53, 0x18, + 0x7d, 0x39, 0xff, 0x90, 0xe6, 0x5f, 0xb4, 0xfc, 0x0c, 0x5a, 0xde, 0xad, 0x6c, 0x66, 0xe3, 0xa7, + 0xa7, 0x56, 0xc9, 0x19, 0x0c, 0xec, 0xa3, 0xd5, 0x09, 0x15, 0x72, 0x9e, 0x32, 0xd3, 0x1f, 0x4f, + 0x73, 0xf0, 0xc9, 0x25, 0x7b, 0x89, 0x85, 0xe0, 0xbd, 0x97, 0xcd, 0xec, 0xd5, 0x27, 0x65, 0x11, + 0x52, 0xd5, 0xc4, 0xdb, 0x68, 0xdd, 0x4f, 0x39, 0x87, 0x48, 0x2e, 0xa5, 0x7e, 0x5b, 0xa7, 0xbe, + 0xbe, 0x53, 0x5d, 0x26, 0xcb, 0xf8, 0x5c, 0x62, 0x04, 0x82, 0x71, 0x18, 0x15, 0x12, 0xed, 0xaa, + 0xc4, 0x17, 0xd5, 0x65, 0xb2, 0x8c, 0xc7, 0x21, 0xb2, 0xb5, 0x6a, 0xed, 0x09, 0x76, 0x94, 0xe4, + 0x87, 0xd9, 0xcc, 0xb6, 0x77, 0xce, 0x87, 0x92, 0x8b, 0xb4, 0x7a, 0x7f, 0x37, 0x51, 0x47, 0x45, + 0xf0, 0x3f, 0xbe, 0x12, 0xcf, 0x2b, 0xaf, 0xc4, 0xbd, 0x2b, 0xdc, 0x3d, 0x55, 0x59, 0xed, 0x9b, + 0xf0, 0xfd, 0xd2, 0x9b, 0x70, 0xff, 0xca, 0xca, 0x6f, 0xf3, 0x05, 0x78, 0x80, 0x6e, 0x16, 0xdb, + 0xc3, 0x77, 0xd1, 0x0a, 0x3f, 0xe9, 0x18, 0x43, 0x1d, 0x6f, 0x41, 0x2d, 0x5a, 0xa5, 0x40, 0xf4, + 0x18, 0x32, 0x4b, 0xf5, 0x5f, 0x8d, 0x9c, 0xa3, 0x05, 0x4c, 0xc0, 0x97, 0x31, 0xd7, 0xff, 0x41, + 0x0a, 0xf4, 0xbe, 0x9e, 0x27, 0x05, 0xc2, 0xfb, 0xe8, 0xe8, 0xd8, 0x6a, 0xbc, 0x39, 0xb6, 0x1a, + 0x7f, 0x1c, 0x5b, 0x8d, 0x1f, 0x33, 0xcb, 0x38, 0xca, 0x2c, 0xe3, 0x4d, 0x66, 0x19, 0x7f, 0x66, + 0x96, 0xf1, 0xf3, 0x5f, 0x56, 0xe3, 0xdb, 0xe6, 0xb4, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xab, 0x47, 0x03, 0x8d, 0xdf, 0x0a, 0x00, 0x00, } diff --git a/pkg/apis/autoscaling/v1/generated.proto b/pkg/apis/autoscaling/v1/generated.proto index 0c6ecf69361..5607cc949d9 100644 --- a/pkg/apis/autoscaling/v1/generated.proto +++ b/pkg/apis/autoscaling/v1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.autoscaling.v1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -46,6 +46,8 @@ message CrossVersionObjectReference { // configuration of a horizontal pod autoscaler. message HorizontalPodAutoscaler { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -61,9 +63,11 @@ message HorizontalPodAutoscaler { // list of horizontal pod autoscaler objects. message HorizontalPodAutoscalerList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // list of horizontal pod autoscaler objects. repeated HorizontalPodAutoscaler items = 2; @@ -97,7 +101,7 @@ message HorizontalPodAutoscalerStatus { // last time the HorizontalPodAutoscaler scaled the number of pods; // used by the autoscaler to control how often the number of pods is changed. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastScaleTime = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; // current number of replicas of pods managed by this autoscaler. optional int32 currentReplicas = 3; @@ -113,6 +117,8 @@ message HorizontalPodAutoscalerStatus { // Scale represents a scaling request for a resource. message Scale { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; diff --git a/pkg/apis/autoscaling/v1/register.go b/pkg/apis/autoscaling/v1/register.go index 0b6ae067d40..8f57373b916 100644 --- a/pkg/apis/autoscaling/v1/register.go +++ b/pkg/apis/autoscaling/v1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/autoscaling/v1/types.generated.go b/pkg/apis/autoscaling/v1/types.generated.go index cc488868426..dc14e0b50bd 100644 --- a/pkg/apis/autoscaling/v1/types.generated.go +++ b/pkg/apis/autoscaling/v1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.Time - var v2 pkg3_types.UID + var v0 pkg1_v1.Time + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/apis/autoscaling/v1/types.go b/pkg/apis/autoscaling/v1/types.go index 74790cae7a2..30340b8f58d 100644 --- a/pkg/apis/autoscaling/v1/types.go +++ b/pkg/apis/autoscaling/v1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // CrossVersionObjectReference contains enough information to let you identify the referred resource. diff --git a/pkg/apis/autoscaling/v1/zz_generated.conversion.go b/pkg/apis/autoscaling/v1/zz_generated.conversion.go index fdc2e0fc87d..b89c66578ab 100644 --- a/pkg/apis/autoscaling/v1/zz_generated.conversion.go +++ b/pkg/apis/autoscaling/v1/zz_generated.conversion.go @@ -21,10 +21,10 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/autoscaling/v1/zz_generated.deepcopy.go b/pkg/apis/autoscaling/v1/zz_generated.deepcopy.go index 9bc8a91b867..fe31487e694 100644 --- a/pkg/apis/autoscaling/v1/zz_generated.deepcopy.go +++ b/pkg/apis/autoscaling/v1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api_v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/autoscaling/v1/zz_generated.defaults.go b/pkg/apis/autoscaling/v1/zz_generated.defaults.go index f1e36589b6d..af20e988493 100644 --- a/pkg/apis/autoscaling/v1/zz_generated.defaults.go +++ b/pkg/apis/autoscaling/v1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/autoscaling/validation/BUILD b/pkg/apis/autoscaling/validation/BUILD index 5d86af20a6e..3dd4c7d0e8c 100644 --- a/pkg/apis/autoscaling/validation/BUILD +++ b/pkg/apis/autoscaling/validation/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/controller/podautoscaler:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/apis/autoscaling/validation/validation.go b/pkg/apis/autoscaling/validation/validation.go index 53feaf98b34..141bbddd5b1 100644 --- a/pkg/apis/autoscaling/validation/validation.go +++ b/pkg/apis/autoscaling/validation/validation.go @@ -19,12 +19,12 @@ package validation import ( "encoding/json" + "k8s.io/apimachinery/pkg/util/validation/field" apivalidation "k8s.io/kubernetes/pkg/api/validation" pathvalidation "k8s.io/kubernetes/pkg/api/validation/path" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/controller/podautoscaler" - "k8s.io/kubernetes/pkg/util/validation/field" ) func ValidateScale(scale *autoscaling.Scale) field.ErrorList { diff --git a/pkg/apis/autoscaling/zz_generated.deepcopy.go b/pkg/apis/autoscaling/zz_generated.deepcopy.go index e5c3e3020ee..eee5fd43e1d 100644 --- a/pkg/apis/autoscaling/zz_generated.deepcopy.go +++ b/pkg/apis/autoscaling/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package autoscaling import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/batch/BUILD b/pkg/apis/batch/BUILD index 6f36fda0737..f0fc826f327 100644 --- a/pkg/apis/batch/BUILD +++ b/pkg/apis/batch/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/batch/register.go b/pkg/apis/batch/register.go index f066c732459..b28019e4a8d 100644 --- a/pkg/apis/batch/register.go +++ b/pkg/apis/batch/register.go @@ -17,9 +17,9 @@ limitations under the License. package batch import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/batch/types.go b/pkg/apis/batch/types.go index 7cd12dfc776..56a3b15e6e4 100644 --- a/pkg/apis/batch/types.go +++ b/pkg/apis/batch/types.go @@ -17,8 +17,8 @@ limitations under the License. package batch import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/batch/v1/BUILD b/pkg/apis/batch/v1/BUILD index f39ce48e9ac..44960a30f1e 100644 --- a/pkg/apis/batch/v1/BUILD +++ b/pkg/apis/batch/v1/BUILD @@ -29,14 +29,14 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -50,7 +50,7 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/apis/batch/install:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/apis/batch/v1/conversion.go b/pkg/apis/batch/v1/conversion.go index e996bad27a7..ebb11b89a8e 100644 --- a/pkg/apis/batch/v1/conversion.go +++ b/pkg/apis/batch/v1/conversion.go @@ -19,11 +19,11 @@ package v1 import ( "fmt" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/batch/v1/defaults.go b/pkg/apis/batch/v1/defaults.go index 46685ef8a91..3603247f243 100644 --- a/pkg/apis/batch/v1/defaults.go +++ b/pkg/apis/batch/v1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/batch/v1/defaults_test.go b/pkg/apis/batch/v1/defaults_test.go index e655e685870..63b4dc8d69a 100644 --- a/pkg/apis/batch/v1/defaults_test.go +++ b/pkg/apis/batch/v1/defaults_test.go @@ -20,12 +20,12 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/batch/install" . "k8s.io/kubernetes/pkg/apis/batch/v1" - "k8s.io/kubernetes/pkg/runtime" ) func TestSetDefaultJob(t *testing.T) { diff --git a/pkg/apis/batch/v1/generated.pb.go b/pkg/apis/batch/v1/generated.pb.go index 6598af05671..70709f24bbb 100644 --- a/pkg/apis/batch/v1/generated.pb.go +++ b/pkg/apis/batch/v1/generated.pb.go @@ -37,8 +37,9 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" import strings "strings" import reflect "reflect" @@ -120,6 +121,14 @@ func (m *Job) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -149,19 +158,19 @@ func (m *JobCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - n4, err := m.LastProbeTime.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n4 - data[i] = 0x22 - i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n5, err := m.LastTransitionTime.MarshalTo(data[i:]) + n5, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n5 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n6, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -191,11 +200,11 @@ func (m *JobList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n6, err := m.ListMeta.MarshalTo(data[i:]) + n7, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -208,6 +217,14 @@ func (m *JobList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n8, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n8 return i, nil } @@ -245,11 +262,11 @@ func (m *JobSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n7, err := m.Selector.MarshalTo(data[i:]) + n9, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n9 } if m.ManualSelector != nil { data[i] = 0x28 @@ -264,11 +281,11 @@ func (m *JobSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n8, err := m.Template.MarshalTo(data[i:]) + n10, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n10 return i, nil } @@ -303,21 +320,21 @@ func (m *JobStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.StartTime.Size())) - n9, err := m.StartTime.MarshalTo(data[i:]) + n11, err := m.StartTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n9 + i += n11 } if m.CompletionTime != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.CompletionTime.Size())) - n10, err := m.CompletionTime.MarshalTo(data[i:]) + n12, err := m.CompletionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n10 + i += n12 } data[i] = 0x20 i++ @@ -367,6 +384,8 @@ func (m *Job) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -399,6 +418,8 @@ func (m *JobList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -470,6 +491,7 @@ func (this *Job) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "JobSpec", "JobSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "JobStatus", "JobStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -481,8 +503,8 @@ func (this *JobCondition) String() string { s := strings.Join([]string{`&JobCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -494,8 +516,9 @@ func (this *JobList) String() string { return "nil" } s := strings.Join([]string{`&JobList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Job", "Job", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -508,7 +531,7 @@ func (this *JobSpec) String() string { `Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`, `Completions:` + valueToStringGenerated(this.Completions) + `,`, `ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `}`, @@ -521,8 +544,8 @@ func (this *JobStatus) String() string { } s := strings.Join([]string{`&JobStatus{`, `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "JobCondition", "JobCondition", 1), `&`, ``, 1) + `,`, - `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, - `CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `Active:` + fmt.Sprintf("%v", this.Active) + `,`, `Succeeded:` + fmt.Sprintf("%v", this.Succeeded) + `,`, `Failed:` + fmt.Sprintf("%v", this.Failed) + `,`, @@ -657,6 +680,36 @@ func (m *Job) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -994,6 +1047,36 @@ func (m *JobList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1131,7 +1214,7 @@ func (m *JobSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1296,7 +1379,7 @@ func (m *JobStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.StartTime == nil { - m.StartTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.StartTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.StartTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1329,7 +1412,7 @@ func (m *JobStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.CompletionTime == nil { - m.CompletionTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.CompletionTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.CompletionTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1519,59 +1602,62 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 863 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x6f, 0xe3, 0x44, - 0x18, 0xce, 0x47, 0xd3, 0x36, 0xd3, 0x8f, 0x5d, 0x46, 0xaa, 0x14, 0x7a, 0x48, 0x56, 0x01, 0xa1, - 0x22, 0xb5, 0xb6, 0x5c, 0xf6, 0x80, 0x38, 0x20, 0xe1, 0x22, 0x24, 0xaa, 0x96, 0xad, 0x26, 0x05, - 0xa1, 0xe5, 0x34, 0xb6, 0xdf, 0x4d, 0x4d, 0x6d, 0x8f, 0xe5, 0x19, 0x47, 0xda, 0x1b, 0x37, 0xae, - 0xfc, 0x14, 0x0e, 0x88, 0xdf, 0xd0, 0x03, 0x87, 0x3d, 0x72, 0xb2, 0xa8, 0xf9, 0x17, 0x7b, 0x42, - 0x33, 0x1e, 0x7f, 0xa4, 0x49, 0x43, 0x76, 0x6f, 0xf6, 0x3b, 0xcf, 0xf3, 0xcc, 0x33, 0xf3, 0x3e, - 0xf3, 0xa2, 0xcf, 0x6e, 0x3f, 0xe7, 0x86, 0xcf, 0xcc, 0xdb, 0xd4, 0x81, 0x24, 0x02, 0x01, 0xdc, - 0x8c, 0x6f, 0xa7, 0x26, 0x8d, 0x7d, 0x6e, 0x3a, 0x54, 0xb8, 0x37, 0xe6, 0xcc, 0x32, 0xa7, 0x10, - 0x41, 0x42, 0x05, 0x78, 0x46, 0x9c, 0x30, 0xc1, 0xf0, 0x47, 0x05, 0xc9, 0xa8, 0x49, 0x46, 0x7c, - 0x3b, 0x35, 0x24, 0xc9, 0x50, 0x24, 0x63, 0x66, 0x1d, 0x9e, 0x4c, 0x7d, 0x71, 0x93, 0x3a, 0x86, - 0xcb, 0x42, 0x73, 0xca, 0xa6, 0xcc, 0x54, 0x5c, 0x27, 0x7d, 0xa5, 0xfe, 0xd4, 0x8f, 0xfa, 0x2a, - 0x34, 0x0f, 0x4f, 0x1f, 0x35, 0x62, 0x26, 0xc0, 0x59, 0x9a, 0xb8, 0xf0, 0xd0, 0xc7, 0xe1, 0xf1, - 0xe3, 0x9c, 0x45, 0xd7, 0x2b, 0x76, 0xe0, 0x66, 0x08, 0x82, 0x2e, 0xe3, 0x9c, 0x2c, 0xe7, 0x24, - 0x69, 0x24, 0xfc, 0x70, 0xd1, 0xd0, 0xf3, 0xd5, 0x70, 0xee, 0xde, 0x40, 0x48, 0x17, 0x58, 0xd6, - 0x72, 0x56, 0x2a, 0xfc, 0xc0, 0xf4, 0x23, 0xc1, 0x45, 0xf2, 0x90, 0x32, 0xfe, 0xb5, 0x83, 0xba, - 0xe7, 0xcc, 0xc1, 0x3f, 0xa2, 0x6d, 0x69, 0xdd, 0xa3, 0x82, 0x0e, 0xda, 0xcf, 0xda, 0x47, 0x3b, - 0xa7, 0x47, 0xc6, 0xa3, 0xcd, 0x31, 0x66, 0x96, 0xf1, 0xc2, 0xf9, 0x19, 0x5c, 0x71, 0x09, 0x82, - 0xda, 0xf8, 0x2e, 0x1b, 0xb5, 0xf2, 0x6c, 0x84, 0xea, 0x1a, 0xa9, 0xd4, 0xf0, 0x77, 0x68, 0x83, - 0xc7, 0xe0, 0x0e, 0x3a, 0x4a, 0xf5, 0xd8, 0x58, 0xa3, 0xe5, 0xc6, 0x39, 0x73, 0x26, 0x31, 0xb8, - 0xf6, 0xae, 0x56, 0xde, 0x90, 0x7f, 0x44, 0xe9, 0xe0, 0x1f, 0xd0, 0x26, 0x17, 0x54, 0xa4, 0x7c, - 0xd0, 0x55, 0x8a, 0xc6, 0xda, 0x8a, 0x8a, 0x65, 0xef, 0x6b, 0xcd, 0xcd, 0xe2, 0x9f, 0x68, 0xb5, - 0xf1, 0x5f, 0x5d, 0xb4, 0x7b, 0xce, 0x9c, 0x33, 0x16, 0x79, 0xbe, 0xf0, 0x59, 0x84, 0x9f, 0xa3, - 0x0d, 0xf1, 0x3a, 0x06, 0x75, 0x1d, 0x7d, 0xfb, 0x59, 0x69, 0xe5, 0xfa, 0x75, 0x0c, 0x6f, 0xb3, - 0xd1, 0xd3, 0x26, 0x56, 0xd6, 0x88, 0x42, 0x37, 0xec, 0x75, 0x14, 0xef, 0xcb, 0xf9, 0xed, 0xde, - 0x66, 0xa3, 0x95, 0x61, 0x33, 0x2a, 0xcd, 0x79, 0x7b, 0x18, 0xd0, 0x5e, 0x40, 0xb9, 0xb8, 0x4a, - 0x98, 0x03, 0xd7, 0x7e, 0x08, 0xfa, 0xf4, 0x47, 0xab, 0x4e, 0x2f, 0x7b, 0x20, 0x0f, 0x2f, 0xf1, - 0xf6, 0x81, 0x36, 0xb2, 0x77, 0xd1, 0x94, 0x21, 0xf3, 0xaa, 0x58, 0x20, 0x2c, 0x0b, 0xd7, 0x09, - 0x8d, 0x78, 0x71, 0x34, 0xb9, 0xd7, 0xc6, 0x3b, 0xee, 0x75, 0xa8, 0xf7, 0xc2, 0x17, 0x0b, 0x5a, - 0x64, 0x89, 0x3e, 0xfe, 0x04, 0x6d, 0x26, 0x40, 0x39, 0x8b, 0x06, 0x3d, 0x75, 0x69, 0x55, 0x8f, - 0x88, 0xaa, 0x12, 0xbd, 0x8a, 0x3f, 0x45, 0x5b, 0x21, 0x70, 0x4e, 0xa7, 0x30, 0xd8, 0x54, 0xc0, - 0x27, 0x1a, 0xb8, 0x75, 0x59, 0x94, 0x49, 0xb9, 0x3e, 0xfe, 0xa3, 0x8d, 0xb6, 0xce, 0x99, 0x73, - 0xe1, 0x73, 0x81, 0x5f, 0x2e, 0x84, 0xfb, 0x78, 0x9d, 0xa3, 0x48, 0xae, 0x0a, 0xf8, 0x53, 0xbd, - 0xcb, 0x76, 0x59, 0x69, 0xc4, 0xfb, 0x12, 0xf5, 0x7c, 0x01, 0xa1, 0x6c, 0x77, 0xf7, 0xff, 0xee, - 0xa8, 0x99, 0x46, 0x7b, 0x4f, 0x8b, 0xf6, 0xbe, 0x95, 0x74, 0x52, 0xa8, 0x8c, 0xff, 0xec, 0x2a, - 0xdb, 0x32, 0xef, 0xd8, 0x42, 0x3b, 0x31, 0x4d, 0x68, 0x10, 0x40, 0xe0, 0xf3, 0x50, 0x39, 0xef, - 0xd9, 0x4f, 0xf2, 0x6c, 0xb4, 0x73, 0x55, 0x97, 0x49, 0x13, 0x23, 0x29, 0x2e, 0x0b, 0xe3, 0x00, - 0xe4, 0xd5, 0x16, 0x11, 0xd4, 0x94, 0xb3, 0xba, 0x4c, 0x9a, 0x18, 0xfc, 0x02, 0x1d, 0x50, 0x57, - 0xf8, 0x33, 0xf8, 0x1a, 0xa8, 0x17, 0xf8, 0x11, 0x4c, 0xc0, 0x65, 0x91, 0x57, 0x3c, 0xaf, 0xae, - 0xfd, 0x61, 0x9e, 0x8d, 0x0e, 0xbe, 0x5a, 0x06, 0x20, 0xcb, 0x79, 0xf8, 0x27, 0xb4, 0xcd, 0x21, - 0x00, 0x57, 0xb0, 0x44, 0x07, 0xc7, 0x5a, 0xeb, 0xb6, 0xa9, 0x03, 0xc1, 0x44, 0x13, 0xed, 0x5d, - 0x79, 0xdd, 0xe5, 0x1f, 0xa9, 0x04, 0xf1, 0x17, 0x68, 0x3f, 0xa4, 0x51, 0x4a, 0x2b, 0xa4, 0x4a, - 0xcc, 0xb6, 0x8d, 0xf3, 0x6c, 0xb4, 0x7f, 0x39, 0xb7, 0x42, 0x1e, 0x20, 0xa5, 0x31, 0x01, 0x61, - 0x1c, 0x50, 0x51, 0xc4, 0x67, 0xe7, 0xf4, 0x64, 0xf5, 0x8c, 0xbb, 0x62, 0xde, 0xb5, 0x26, 0xa8, - 0x71, 0x54, 0xe5, 0xa0, 0xac, 0x92, 0x4a, 0x70, 0xfc, 0x7b, 0x17, 0xf5, 0xab, 0x21, 0x83, 0x01, - 0x21, 0xb7, 0x7c, 0xc8, 0x7c, 0xd0, 0x56, 0xd1, 0xb0, 0xd6, 0x8d, 0x46, 0x35, 0x02, 0xea, 0xc9, - 0x5a, 0x95, 0x38, 0x69, 0x08, 0xe3, 0xef, 0x51, 0x9f, 0x0b, 0x9a, 0x08, 0xf5, 0x48, 0x3b, 0xef, - 0xf8, 0x48, 0xf7, 0xf2, 0x6c, 0xd4, 0x9f, 0x94, 0x74, 0x52, 0x2b, 0x61, 0x0f, 0xed, 0xd7, 0x09, - 0x79, 0xaf, 0x61, 0xa3, 0xda, 0x71, 0x36, 0xa7, 0x41, 0x1e, 0x68, 0xca, 0x47, 0x5f, 0x04, 0x48, - 0xa5, 0xa4, 0x57, 0x3f, 0xfa, 0x22, 0x6d, 0x44, 0xaf, 0x62, 0x13, 0xf5, 0x79, 0xea, 0xba, 0x00, - 0x1e, 0x78, 0xaa, 0xdb, 0x3d, 0xfb, 0x03, 0x0d, 0xed, 0x4f, 0xca, 0x05, 0x52, 0x63, 0xa4, 0xf0, - 0x2b, 0xea, 0x07, 0xe0, 0xa9, 0x2e, 0x37, 0x84, 0xbf, 0x51, 0x55, 0xa2, 0x57, 0xed, 0x8f, 0xef, - 0xee, 0x87, 0xad, 0x37, 0xf7, 0xc3, 0xd6, 0xdf, 0xf7, 0xc3, 0xd6, 0x2f, 0xf9, 0xb0, 0x7d, 0x97, - 0x0f, 0xdb, 0x6f, 0xf2, 0x61, 0xfb, 0x9f, 0x7c, 0xd8, 0xfe, 0xed, 0xdf, 0x61, 0xeb, 0x65, 0x67, - 0x66, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x37, 0xe1, 0x87, 0xd9, 0x08, 0x00, 0x00, + // 905 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x95, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0xc7, 0xf3, 0xda, 0x26, 0xd3, 0x97, 0x5d, 0x46, 0xaa, 0x14, 0x7a, 0x48, 0x56, 0x05, 0xa1, + 0x05, 0xed, 0xda, 0x4a, 0x77, 0x85, 0x10, 0x07, 0x24, 0x5c, 0x84, 0x44, 0xd5, 0xb2, 0xd5, 0xa4, + 0x02, 0xc4, 0xcb, 0x61, 0x6c, 0x3f, 0x4d, 0x87, 0xda, 0x1e, 0xcb, 0x33, 0x8e, 0xb4, 0x37, 0x3e, + 0x02, 0x07, 0x3e, 0x0a, 0x07, 0x3e, 0x42, 0x8f, 0x3d, 0x72, 0x8a, 0xa8, 0x11, 0x5f, 0x62, 0x4f, + 0x68, 0xc6, 0x13, 0xdb, 0x49, 0x93, 0x92, 0xa2, 0xbd, 0x65, 0x9e, 0x79, 0xfe, 0xbf, 0x99, 0x79, + 0x9e, 0xbf, 0x9f, 0xa0, 0x17, 0x57, 0x9f, 0x08, 0x8b, 0x71, 0xfb, 0x2a, 0x75, 0x21, 0x89, 0x40, + 0x82, 0xb0, 0xe3, 0xab, 0xb1, 0x4d, 0x63, 0x26, 0x6c, 0x97, 0x4a, 0xef, 0xd2, 0x9e, 0x0c, 0xed, + 0x31, 0x44, 0x90, 0x50, 0x09, 0xbe, 0x15, 0x27, 0x5c, 0x72, 0xfc, 0x5e, 0x2e, 0xb2, 0x4a, 0x91, + 0x15, 0x5f, 0x8d, 0x2d, 0x25, 0xb2, 0xb4, 0xc8, 0x9a, 0x0c, 0xf7, 0x9f, 0x8f, 0x99, 0xbc, 0x4c, + 0x5d, 0xcb, 0xe3, 0xa1, 0x3d, 0xe6, 0x63, 0x6e, 0x6b, 0xad, 0x9b, 0x5e, 0xe8, 0x95, 0x5e, 0xe8, + 0x5f, 0x39, 0x73, 0xff, 0xa5, 0xb9, 0x08, 0x8d, 0x59, 0x48, 0xbd, 0x4b, 0x16, 0x41, 0xf2, 0xba, + 0xbc, 0x4a, 0x08, 0x92, 0x2e, 0xb9, 0xc9, 0xbe, 0xbd, 0x4a, 0x95, 0xa4, 0x91, 0x64, 0x21, 0xdc, + 0x11, 0x7c, 0xfc, 0x5f, 0x02, 0xe1, 0x5d, 0x42, 0x48, 0xef, 0xe8, 0x0e, 0x57, 0xd6, 0xc9, 0x4e, + 0x40, 0xf0, 0x34, 0xf1, 0xee, 0x9e, 0xf5, 0x6c, 0xb5, 0x66, 0xc9, 0x53, 0x86, 0xcb, 0xb3, 0x53, + 0xc9, 0x02, 0x9b, 0x45, 0x52, 0xc8, 0x64, 0x51, 0x72, 0xf0, 0x4f, 0x03, 0x35, 0x8f, 0xb9, 0x8b, + 0xbf, 0x43, 0x1d, 0x55, 0x20, 0x9f, 0x4a, 0xda, 0xab, 0x3f, 0xa9, 0x3f, 0xdd, 0x3a, 0x7c, 0x6a, + 0xad, 0x6c, 0x91, 0x35, 0x19, 0x5a, 0xaf, 0xdc, 0x9f, 0xc1, 0x93, 0xa7, 0x20, 0xa9, 0x83, 0xaf, + 0xa7, 0x83, 0x5a, 0x36, 0x1d, 0xa0, 0x32, 0x46, 0x0a, 0x1a, 0xfe, 0x1a, 0xb5, 0x44, 0x0c, 0x5e, + 0xaf, 0xa1, 0xa9, 0xcf, 0xac, 0x35, 0x1a, 0x6f, 0x1d, 0x73, 0x77, 0x14, 0x83, 0xe7, 0x6c, 0x1b, + 0x72, 0x4b, 0xad, 0x88, 0xe6, 0xe0, 0x6f, 0xd0, 0x86, 0x90, 0x54, 0xa6, 0xa2, 0xd7, 0xd4, 0x44, + 0x6b, 0x6d, 0xa2, 0x56, 0x39, 0xbb, 0x86, 0xb9, 0x91, 0xaf, 0x89, 0xa1, 0xe1, 0x1f, 0x51, 0x47, + 0xbe, 0x8e, 0x41, 0xdd, 0xbe, 0xd7, 0x9a, 0x27, 0x57, 0x3b, 0x5d, 0xb2, 0xd5, 0x0b, 0x15, 0xfa, + 0xdc, 0xa8, 0x9c, 0xc7, 0x86, 0xdc, 0x99, 0x45, 0x48, 0x41, 0x3c, 0xb8, 0x69, 0xa2, 0xed, 0x63, + 0xee, 0x1e, 0xf1, 0xc8, 0x67, 0x92, 0xf1, 0x08, 0xbf, 0x44, 0x2d, 0xb5, 0xa9, 0x8b, 0xdd, 0x75, + 0x9e, 0xcc, 0x1e, 0xaa, 0xa4, 0x6f, 0xa6, 0x83, 0xc7, 0xd5, 0x5c, 0x15, 0x23, 0x3a, 0xbb, 0xf2, + 0xf8, 0x86, 0xd6, 0x7d, 0x36, 0xff, 0x98, 0x37, 0xd3, 0xc1, 0xbd, 0x8e, 0xb1, 0x0a, 0xe6, 0xc2, + 0xe3, 0xc7, 0x68, 0x27, 0xa0, 0x42, 0x9e, 0x25, 0xdc, 0x85, 0x73, 0x16, 0x82, 0xa9, 0xed, 0x47, + 0x6b, 0x56, 0x80, 0x85, 0xe0, 0xec, 0x99, 0xab, 0xec, 0x9c, 0x54, 0x41, 0x64, 0x9e, 0x8b, 0x27, + 0x08, 0xab, 0xc0, 0x79, 0x42, 0x23, 0x91, 0x3f, 0x4e, 0x9d, 0xd6, 0x7a, 0xf0, 0x69, 0xfb, 0xe6, + 0x34, 0x7c, 0x72, 0x87, 0x46, 0x96, 0x9c, 0x80, 0x3f, 0x40, 0x1b, 0x09, 0x50, 0xc1, 0xa3, 0x5e, + 0x5b, 0x17, 0xae, 0x70, 0x01, 0xd1, 0x51, 0x62, 0x76, 0xf1, 0x87, 0x68, 0x33, 0x04, 0x21, 0xe8, + 0x18, 0x7a, 0x1b, 0x3a, 0xf1, 0x91, 0x49, 0xdc, 0x3c, 0xcd, 0xc3, 0x64, 0xb6, 0x7f, 0xf0, 0x5b, + 0x03, 0x6d, 0x1e, 0x73, 0xf7, 0x84, 0x09, 0xa9, 0xcc, 0xb3, 0xf0, 0xf9, 0xac, 0x69, 0x1e, 0xa5, + 0x9e, 0x37, 0xcf, 0x2c, 0x52, 0xf9, 0x84, 0x4e, 0x51, 0x9b, 0x49, 0x08, 0x55, 0xd3, 0x9b, 0xf7, + 0x7f, 0x99, 0xf3, 0x8e, 0x77, 0x76, 0x0c, 0xb4, 0xfd, 0x95, 0x92, 0x93, 0x9c, 0x32, 0xe7, 0xf4, + 0xe6, 0x5b, 0x77, 0xfa, 0x1f, 0x4d, 0x5d, 0x16, 0xf5, 0xc5, 0xe2, 0x21, 0xda, 0x8a, 0x69, 0x42, + 0x83, 0x00, 0x02, 0x26, 0x42, 0x5d, 0x99, 0xb6, 0xf3, 0x28, 0x9b, 0x0e, 0xb6, 0xce, 0xca, 0x30, + 0xa9, 0xe6, 0x28, 0x89, 0xc7, 0xc3, 0x38, 0x00, 0xd5, 0xba, 0xdc, 0xe6, 0x46, 0x72, 0x54, 0x86, + 0x49, 0x35, 0x07, 0xbf, 0x42, 0x7b, 0xd4, 0x93, 0x6c, 0x02, 0x5f, 0x00, 0xf5, 0x03, 0x16, 0xc1, + 0x08, 0x3c, 0x1e, 0xf9, 0xf9, 0x80, 0x68, 0x3a, 0xef, 0x66, 0xd3, 0xc1, 0xde, 0xe7, 0xcb, 0x12, + 0xc8, 0x72, 0x1d, 0xfe, 0x09, 0x75, 0x04, 0x04, 0xe0, 0x49, 0x9e, 0x18, 0x6b, 0xbe, 0x58, 0xb3, + 0x9b, 0xd4, 0x85, 0x60, 0x64, 0xa4, 0xce, 0xb6, 0xaa, 0xd0, 0x6c, 0x45, 0x0a, 0x24, 0xfe, 0x14, + 0xed, 0x86, 0x34, 0x4a, 0x69, 0x91, 0xa9, 0x3d, 0xd9, 0x71, 0x70, 0x36, 0x1d, 0xec, 0x9e, 0xce, + 0xed, 0x90, 0x85, 0x4c, 0xfc, 0x03, 0xea, 0x48, 0x08, 0xe3, 0x80, 0xca, 0xdc, 0xa0, 0x5b, 0x87, + 0xcf, 0xef, 0x9f, 0xd3, 0x67, 0xdc, 0x3f, 0x37, 0x02, 0x3d, 0x52, 0xcb, 0xd6, 0x99, 0x28, 0x29, + 0x80, 0x07, 0xbf, 0x37, 0x51, 0xb7, 0x18, 0x94, 0x18, 0x10, 0xf2, 0x66, 0xe3, 0x42, 0xf4, 0xea, + 0xda, 0x7a, 0xc3, 0x75, 0xad, 0x57, 0x0c, 0x9a, 0xf2, 0xdf, 0xa1, 0x08, 0x09, 0x52, 0x01, 0xe3, + 0x6f, 0x51, 0x57, 0x48, 0x9a, 0x48, 0x3d, 0x08, 0x1a, 0x0f, 0x1e, 0x04, 0x3b, 0xd9, 0x74, 0xd0, + 0x1d, 0xcd, 0x00, 0xa4, 0x64, 0xe1, 0x0b, 0xb4, 0x5b, 0xba, 0xe4, 0x7f, 0x0e, 0x35, 0xdd, 0x92, + 0xa3, 0x39, 0x0a, 0x59, 0xa0, 0xaa, 0xd1, 0x92, 0xdb, 0x48, 0x7b, 0xa5, 0x5d, 0x8e, 0x96, 0xdc, + 0x73, 0xc4, 0xec, 0x62, 0x1b, 0x75, 0x45, 0xea, 0x79, 0x00, 0x3e, 0xf8, 0xba, 0xe3, 0x6d, 0xe7, + 0x1d, 0x93, 0xda, 0x1d, 0xcd, 0x36, 0x48, 0x99, 0xa3, 0xc0, 0x17, 0x94, 0x05, 0xe0, 0xeb, 0x4e, + 0x57, 0xc0, 0x5f, 0xea, 0x28, 0x31, 0xbb, 0xce, 0xfb, 0xd7, 0xb7, 0xfd, 0xda, 0xcd, 0x6d, 0xbf, + 0xf6, 0xe7, 0x6d, 0xbf, 0xf6, 0x4b, 0xd6, 0xaf, 0x5f, 0x67, 0xfd, 0xfa, 0x4d, 0xd6, 0xaf, 0xff, + 0x95, 0xf5, 0xeb, 0xbf, 0xfe, 0xdd, 0xaf, 0x7d, 0xdf, 0x98, 0x0c, 0xff, 0x0d, 0x00, 0x00, 0xff, + 0xff, 0xa2, 0x94, 0x7a, 0x7f, 0xa7, 0x09, 0x00, 0x00, } diff --git a/pkg/apis/batch/v1/generated.proto b/pkg/apis/batch/v1/generated.proto index a5c6939b2f9..d65b4847bd0 100644 --- a/pkg/apis/batch/v1/generated.proto +++ b/pkg/apis/batch/v1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.batch.v1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -33,6 +33,8 @@ option go_package = "v1"; // Job represents the configuration of a single job. message Job { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -59,11 +61,11 @@ message JobCondition { // Last time the condition was checked. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transit from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // (brief) reason for the condition's last transition. // +optional @@ -76,10 +78,12 @@ message JobCondition { // JobList is a collection of jobs. message JobList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Job. repeated Job items = 2; @@ -113,7 +117,7 @@ message JobSpec { // Normally, the system sets this field for you. // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // ManualSelector controls generation of pod labels and pod selectors. // Leave `manualSelector` unset unless you are certain what you are doing. @@ -145,13 +149,13 @@ message JobStatus { // It is not guaranteed to be set in happens-before order across separate operations. // It is represented in RFC3339 form and is in UTC. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time startTime = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 2; // CompletionTime represents time when the job was completed. It is not guaranteed to // be set in happens-before order across separate operations. // It is represented in RFC3339 form and is in UTC. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time completionTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time completionTime = 3; // Active is the number of actively running pods. // +optional diff --git a/pkg/apis/batch/v1/register.go b/pkg/apis/batch/v1/register.go index 2a8fdcd8e19..d47aaf8956b 100644 --- a/pkg/apis/batch/v1/register.go +++ b/pkg/apis/batch/v1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/batch/v1/types.generated.go b/pkg/apis/batch/v1/types.generated.go index 3c9fb3c2690..2766c0a66f6 100644 --- a/pkg/apis/batch/v1/types.generated.go +++ b/pkg/apis/batch/v1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -65,10 +65,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg4_resource.Quantity - var v1 pkg2_v1.ObjectMeta - var v2 pkg1_v1.TypeMeta - var v3 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg4_resource.Quantity + var v3 pkg2_v1.ObjectMeta var v4 pkg5_intstr.IntOrString var v5 time.Time _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5 diff --git a/pkg/apis/batch/v1/types.go b/pkg/apis/batch/v1/types.go index b3dd42adc83..6bdd403681b 100644 --- a/pkg/apis/batch/v1/types.go +++ b/pkg/apis/batch/v1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/batch/v1/zz_generated.conversion.go b/pkg/apis/batch/v1/zz_generated.conversion.go index 25eaea332d3..e8bdd154884 100644 --- a/pkg/apis/batch/v1/zz_generated.conversion.go +++ b/pkg/apis/batch/v1/zz_generated.conversion.go @@ -21,12 +21,12 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/batch/v1/zz_generated.deepcopy.go b/pkg/apis/batch/v1/zz_generated.deepcopy.go index 305b7c904ca..ed95a29b506 100644 --- a/pkg/apis/batch/v1/zz_generated.deepcopy.go +++ b/pkg/apis/batch/v1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api_v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -113,9 +113,10 @@ func DeepCopy_v1_JobSpec(in interface{}, out interface{}, c *conversion.Cloner) } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if in.ManualSelector != nil { diff --git a/pkg/apis/batch/v1/zz_generated.defaults.go b/pkg/apis/batch/v1/zz_generated.defaults.go index 8ded645b887..b35b8638c3a 100644 --- a/pkg/apis/batch/v1/zz_generated.defaults.go +++ b/pkg/apis/batch/v1/zz_generated.defaults.go @@ -21,8 +21,8 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" api_v1 "k8s.io/kubernetes/pkg/api/v1" - runtime "k8s.io/kubernetes/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/batch/v2alpha1/BUILD b/pkg/apis/batch/v2alpha1/BUILD index cdafdb03746..2e5b2ddb076 100644 --- a/pkg/apis/batch/v2alpha1/BUILD +++ b/pkg/apis/batch/v2alpha1/BUILD @@ -29,14 +29,14 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -50,7 +50,7 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/apis/batch/install:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/apis/batch/v2alpha1/conversion.go b/pkg/apis/batch/v2alpha1/conversion.go index b5f7faf0f10..a3213c4bd14 100644 --- a/pkg/apis/batch/v2alpha1/conversion.go +++ b/pkg/apis/batch/v2alpha1/conversion.go @@ -19,11 +19,11 @@ package v2alpha1 import ( "fmt" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/batch/v2alpha1/defaults.go b/pkg/apis/batch/v2alpha1/defaults.go index d645b64e5c5..63cf624c2d1 100644 --- a/pkg/apis/batch/v2alpha1/defaults.go +++ b/pkg/apis/batch/v2alpha1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v2alpha1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/batch/v2alpha1/defaults_test.go b/pkg/apis/batch/v2alpha1/defaults_test.go index 0e3b6e62511..55a44cdf821 100644 --- a/pkg/apis/batch/v2alpha1/defaults_test.go +++ b/pkg/apis/batch/v2alpha1/defaults_test.go @@ -20,12 +20,12 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/batch/install" . "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - "k8s.io/kubernetes/pkg/runtime" ) func TestSetDefaultJob(t *testing.T) { diff --git a/pkg/apis/batch/v2alpha1/generated.pb.go b/pkg/apis/batch/v2alpha1/generated.pb.go index f1eb4e69c9f..e1e373ffdfb 100644 --- a/pkg/apis/batch/v2alpha1/generated.pb.go +++ b/pkg/apis/batch/v2alpha1/generated.pb.go @@ -43,8 +43,9 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" import strings "strings" import reflect "reflect" @@ -156,6 +157,14 @@ func (m *CronJob) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -177,11 +186,11 @@ func (m *CronJobList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n4, err := m.ListMeta.MarshalTo(data[i:]) + n5, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -194,6 +203,14 @@ func (m *CronJobList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n6, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 return i, nil } @@ -238,11 +255,11 @@ func (m *CronJobSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.JobTemplate.Size())) - n5, err := m.JobTemplate.MarshalTo(data[i:]) + n7, err := m.JobTemplate.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n7 return i, nil } @@ -277,11 +294,11 @@ func (m *CronJobStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.LastScheduleTime.Size())) - n6, err := m.LastScheduleTime.MarshalTo(data[i:]) + n8, err := m.LastScheduleTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n8 } return i, nil } @@ -304,27 +321,35 @@ func (m *Job) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n7, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n7 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n8, err := m.Spec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n8 - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n9, err := m.Status.MarshalTo(data[i:]) + n9, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n9 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n10, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n10 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n11, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n11 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n12, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n12 return i, nil } @@ -354,19 +379,19 @@ func (m *JobCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - n10, err := m.LastProbeTime.MarshalTo(data[i:]) + n13, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n10 + i += n13 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n11, err := m.LastTransitionTime.MarshalTo(data[i:]) + n14, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n11 + i += n14 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -396,11 +421,11 @@ func (m *JobList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n12, err := m.ListMeta.MarshalTo(data[i:]) + n15, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n12 + i += n15 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -413,6 +438,14 @@ func (m *JobList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n16, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n16 return i, nil } @@ -450,11 +483,11 @@ func (m *JobSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n13, err := m.Selector.MarshalTo(data[i:]) + n17, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n13 + i += n17 } if m.ManualSelector != nil { data[i] = 0x28 @@ -469,11 +502,11 @@ func (m *JobSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n14, err := m.Template.MarshalTo(data[i:]) + n18, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n14 + i += n18 return i, nil } @@ -508,21 +541,21 @@ func (m *JobStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.StartTime.Size())) - n15, err := m.StartTime.MarshalTo(data[i:]) + n19, err := m.StartTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n15 + i += n19 } if m.CompletionTime != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.CompletionTime.Size())) - n16, err := m.CompletionTime.MarshalTo(data[i:]) + n20, err := m.CompletionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n16 + i += n20 } data[i] = 0x20 i++ @@ -554,19 +587,27 @@ func (m *JobTemplate) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n17, err := m.ObjectMeta.MarshalTo(data[i:]) + n21, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n17 + i += n21 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n18, err := m.Template.MarshalTo(data[i:]) + n22, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n18 + i += n22 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n23, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n23 return i, nil } @@ -588,19 +629,19 @@ func (m *JobTemplateSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n19, err := m.ObjectMeta.MarshalTo(data[i:]) + n24, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n19 + i += n24 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n20, err := m.Spec.MarshalTo(data[i:]) + n25, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n20 + i += n25 return i, nil } @@ -640,6 +681,8 @@ func (m *CronJob) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -654,6 +697,8 @@ func (m *CronJobList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -700,6 +745,8 @@ func (m *Job) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -732,6 +779,8 @@ func (m *JobList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -789,6 +838,8 @@ func (m *JobTemplate) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Template.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -823,6 +874,7 @@ func (this *CronJob) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "CronJobSpec", "CronJobSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "CronJobStatus", "CronJobStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -832,8 +884,9 @@ func (this *CronJobList) String() string { return "nil" } s := strings.Join([]string{`&CronJobList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "CronJob", "CronJob", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -858,7 +911,7 @@ func (this *CronJobStatus) String() string { } s := strings.Join([]string{`&CronJobStatus{`, `Active:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Active), "ObjectReference", "k8s_io_kubernetes_pkg_api_v1.ObjectReference", 1), `&`, ``, 1) + `,`, - `LastScheduleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScheduleTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `LastScheduleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScheduleTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `}`, }, "") return s @@ -871,6 +924,7 @@ func (this *Job) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "JobSpec", "JobSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "JobStatus", "JobStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -882,8 +936,8 @@ func (this *JobCondition) String() string { s := strings.Join([]string{`&JobCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -895,8 +949,9 @@ func (this *JobList) String() string { return "nil" } s := strings.Join([]string{`&JobList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Job", "Job", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -909,7 +964,7 @@ func (this *JobSpec) String() string { `Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`, `Completions:` + valueToStringGenerated(this.Completions) + `,`, `ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `}`, @@ -922,8 +977,8 @@ func (this *JobStatus) String() string { } s := strings.Join([]string{`&JobStatus{`, `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "JobCondition", "JobCondition", 1), `&`, ``, 1) + `,`, - `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, - `CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `StartTime:` + strings.Replace(fmt.Sprintf("%v", this.StartTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `CompletionTime:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `Active:` + fmt.Sprintf("%v", this.Active) + `,`, `Succeeded:` + fmt.Sprintf("%v", this.Succeeded) + `,`, `Failed:` + fmt.Sprintf("%v", this.Failed) + `,`, @@ -938,6 +993,7 @@ func (this *JobTemplate) String() string { s := strings.Join([]string{`&JobTemplate{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "JobTemplateSpec", "JobTemplateSpec", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1080,6 +1136,36 @@ func (m *CronJob) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1191,6 +1277,36 @@ func (m *CronJobList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1478,7 +1594,7 @@ func (m *CronJobStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.LastScheduleTime == nil { - m.LastScheduleTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.LastScheduleTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.LastScheduleTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1624,6 +1740,36 @@ func (m *Job) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1961,6 +2107,36 @@ func (m *JobList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2098,7 +2274,7 @@ func (m *JobSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -2263,7 +2439,7 @@ func (m *JobStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.StartTime == nil { - m.StartTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.StartTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.StartTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -2296,7 +2472,7 @@ func (m *JobStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.CompletionTime == nil { - m.CompletionTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.CompletionTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.CompletionTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -2469,6 +2645,36 @@ func (m *JobTemplate) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2706,77 +2912,80 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 1137 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0x4b, 0x6f, 0x23, 0x45, - 0x17, 0x4d, 0xdb, 0x89, 0x1f, 0xe5, 0x3c, 0xeb, 0xfb, 0xa2, 0x31, 0x41, 0xb2, 0x23, 0x4b, 0xa0, - 0x0c, 0x4a, 0xba, 0x15, 0x2b, 0x82, 0x61, 0x16, 0x48, 0xd3, 0x41, 0x48, 0x44, 0x89, 0x26, 0x2a, - 0x27, 0x30, 0x1a, 0x66, 0x41, 0xb9, 0xbb, 0xe2, 0x74, 0xd2, 0xee, 0x6a, 0xba, 0xaa, 0x23, 0x65, - 0xc7, 0x9a, 0x15, 0x12, 0x3f, 0x80, 0x7f, 0xc1, 0x82, 0x1d, 0xac, 0xb2, 0x60, 0x31, 0xb0, 0x62, - 0x65, 0x91, 0xe6, 0x5f, 0x64, 0x85, 0xaa, 0x5c, 0xfd, 0xf0, 0x93, 0x38, 0x68, 0x90, 0xd8, 0xb9, - 0x6f, 0x9d, 0x73, 0xea, 0x56, 0xdd, 0x53, 0xf7, 0x1a, 0x7c, 0x78, 0xf9, 0x84, 0xe9, 0x0e, 0x35, - 0x2e, 0xc3, 0x36, 0x09, 0x3c, 0xc2, 0x09, 0x33, 0xfc, 0xcb, 0x8e, 0x81, 0x7d, 0x87, 0x19, 0x6d, - 0xcc, 0xad, 0x73, 0xe3, 0xaa, 0x89, 0x5d, 0xff, 0x1c, 0xef, 0x1a, 0x1d, 0xe2, 0x91, 0x00, 0x73, - 0x62, 0xeb, 0x7e, 0x40, 0x39, 0x85, 0x8f, 0xfb, 0x54, 0x3d, 0xa5, 0xea, 0xfe, 0x65, 0x47, 0x17, - 0x54, 0x5d, 0x52, 0xf5, 0x98, 0xba, 0xb1, 0xd3, 0x71, 0xf8, 0x79, 0xd8, 0xd6, 0x2d, 0xda, 0x35, - 0x3a, 0xb4, 0x43, 0x0d, 0xa9, 0xd0, 0x0e, 0xcf, 0xe4, 0x97, 0xfc, 0x90, 0xbf, 0xfa, 0xca, 0x1b, - 0xcd, 0x89, 0x49, 0x19, 0x01, 0x61, 0x34, 0x0c, 0x2c, 0x32, 0x9c, 0xcd, 0xc6, 0xf6, 0x64, 0xce, - 0xd5, 0x48, 0xee, 0x53, 0x76, 0x60, 0x46, 0x97, 0x70, 0x3c, 0x8e, 0xb3, 0x33, 0x9e, 0x13, 0x84, - 0x1e, 0x77, 0xba, 0xa3, 0x09, 0xed, 0x4d, 0x87, 0x33, 0xeb, 0x9c, 0x74, 0xf1, 0x08, 0x6b, 0x77, - 0x3c, 0x2b, 0xe4, 0x8e, 0x6b, 0x38, 0x1e, 0x67, 0x3c, 0x18, 0xa6, 0x34, 0xbe, 0xcf, 0x81, 0xe2, - 0x7e, 0x40, 0xbd, 0x03, 0xda, 0x86, 0x2f, 0x40, 0x49, 0xa4, 0x6f, 0x63, 0x8e, 0xab, 0xda, 0xa6, - 0xb6, 0x55, 0x69, 0x6e, 0xe9, 0x13, 0xcb, 0xa4, 0x5f, 0xed, 0xea, 0xcf, 0xdb, 0x17, 0xc4, 0xe2, - 0x47, 0x84, 0x63, 0x13, 0xde, 0xf4, 0xea, 0x73, 0x51, 0xaf, 0x0e, 0xd2, 0x18, 0x4a, 0xd4, 0xe0, - 0x0b, 0x30, 0xcf, 0x7c, 0x62, 0x55, 0x73, 0x52, 0xf5, 0x7d, 0xfd, 0xde, 0xc5, 0xd7, 0x55, 0x6e, - 0x2d, 0x9f, 0x58, 0xe6, 0xa2, 0xda, 0x63, 0x5e, 0x7c, 0x21, 0xa9, 0x08, 0xbf, 0x04, 0x05, 0xc6, - 0x31, 0x0f, 0x59, 0x35, 0x2f, 0xb5, 0x9f, 0x3c, 0x40, 0x5b, 0xf2, 0xcd, 0x65, 0xa5, 0x5e, 0xe8, - 0x7f, 0x23, 0xa5, 0xdb, 0xf8, 0x59, 0x03, 0x15, 0x85, 0x3c, 0x74, 0x18, 0x87, 0x2f, 0x47, 0x6e, - 0x69, 0x7b, 0xda, 0x9e, 0x02, 0x2b, 0xee, 0x4a, 0x70, 0xe5, 0x4d, 0xad, 0xaa, 0x7d, 0x4a, 0x71, - 0x24, 0x73, 0x4f, 0x9f, 0x83, 0x05, 0x87, 0x93, 0x2e, 0xab, 0xe6, 0x36, 0xf3, 0x5b, 0x95, 0x66, - 0x73, 0xf6, 0xc3, 0x98, 0x4b, 0x4a, 0x7e, 0xe1, 0x53, 0x21, 0x84, 0xfa, 0x7a, 0x8d, 0x6f, 0xf2, - 0xc9, 0x21, 0xc4, 0xe5, 0xc1, 0x6d, 0x50, 0x12, 0x1e, 0xb2, 0x43, 0x97, 0xc8, 0x43, 0x94, 0xd3, - 0xb4, 0x5a, 0x2a, 0x8e, 0x12, 0x04, 0x3c, 0x05, 0x8f, 0x18, 0xc7, 0x01, 0x77, 0xbc, 0xce, 0xc7, - 0x04, 0xdb, 0xae, 0xe3, 0x91, 0x16, 0xb1, 0xa8, 0x67, 0x33, 0x59, 0xd1, 0xbc, 0xf9, 0x76, 0xd4, - 0xab, 0x3f, 0x6a, 0x8d, 0x87, 0xa0, 0x49, 0x5c, 0xf8, 0x0a, 0xac, 0x59, 0xd4, 0xb3, 0xc2, 0x20, - 0x20, 0x9e, 0x75, 0x7d, 0x4c, 0x5d, 0xc7, 0xba, 0x96, 0x65, 0x2c, 0x9b, 0xba, 0xca, 0x66, 0x6d, - 0x7f, 0x18, 0x70, 0x37, 0x2e, 0x88, 0x46, 0x85, 0xe0, 0x3b, 0xa0, 0xc8, 0x42, 0xe6, 0x13, 0xcf, - 0xae, 0xce, 0x6f, 0x6a, 0x5b, 0x25, 0xb3, 0x12, 0xf5, 0xea, 0xc5, 0x56, 0x3f, 0x84, 0xe2, 0x35, - 0xf8, 0x15, 0xa8, 0x5c, 0xd0, 0xf6, 0x09, 0xe9, 0xfa, 0x2e, 0xe6, 0xa4, 0xba, 0x20, 0x2b, 0xfa, - 0x74, 0x86, 0x8b, 0x3f, 0x48, 0xd9, 0xd2, 0xa5, 0xff, 0x53, 0xa9, 0x57, 0x32, 0x0b, 0x28, 0xbb, - 0x47, 0xe3, 0x37, 0x0d, 0x2c, 0x0d, 0x78, 0x0f, 0x9e, 0x82, 0x02, 0xb6, 0xb8, 0x73, 0x25, 0x8a, - 0x21, 0x0a, 0xbf, 0x73, 0x9f, 0x77, 0x87, 0xc8, 0x19, 0x11, 0x07, 0x26, 0xa9, 0x75, 0x9f, 0x49, - 0x11, 0xa4, 0xc4, 0xe0, 0x05, 0x58, 0x75, 0x31, 0xe3, 0x71, 0x45, 0x4f, 0x9c, 0x2e, 0x91, 0x77, - 0x31, 0xf5, 0x61, 0xa7, 0x96, 0x15, 0x78, 0xf3, 0xff, 0x51, 0xaf, 0xbe, 0x7a, 0x38, 0xa4, 0x82, - 0x46, 0x74, 0x1b, 0xdf, 0xe5, 0x40, 0xfe, 0xcd, 0x36, 0x91, 0x93, 0x81, 0x26, 0xd2, 0x9c, 0xad, - 0x44, 0x13, 0x1b, 0xc8, 0xab, 0xa1, 0x06, 0xb2, 0x37, 0xa3, 0xee, 0xf4, 0xe6, 0xf1, 0x4b, 0x1e, - 0x2c, 0x1e, 0xd0, 0xf6, 0x3e, 0xf5, 0x6c, 0x87, 0x3b, 0xd4, 0x83, 0x7b, 0x60, 0x9e, 0x5f, 0xfb, - 0xf1, 0xa3, 0xdb, 0x8c, 0x13, 0x3a, 0xb9, 0xf6, 0xc9, 0x5d, 0xaf, 0xbe, 0x9a, 0xc5, 0x8a, 0x18, - 0x92, 0x68, 0xf8, 0x59, 0x92, 0x64, 0x4e, 0xf2, 0x3e, 0x1a, 0xdc, 0xee, 0xae, 0x57, 0x9f, 0x3a, - 0xc1, 0xf4, 0x44, 0x73, 0x30, 0x3d, 0x48, 0xc0, 0x92, 0x28, 0xe4, 0x71, 0x40, 0xdb, 0x7d, 0x77, - 0xe4, 0x67, 0x74, 0xc7, 0xba, 0x4a, 0x64, 0xe9, 0x30, 0x2b, 0x83, 0x06, 0x55, 0x21, 0x07, 0x50, - 0x04, 0x4e, 0x02, 0xec, 0xb1, 0xfe, 0xd1, 0x1e, 0xe2, 0xc4, 0x0d, 0xb5, 0x17, 0x3c, 0x1c, 0xd1, - 0x42, 0x63, 0xf4, 0xe1, 0xbb, 0xa0, 0x10, 0x10, 0xcc, 0xa8, 0x27, 0x1f, 0x75, 0x39, 0xad, 0x11, - 0x92, 0x51, 0xa4, 0x56, 0xe1, 0x63, 0x50, 0xec, 0x12, 0xc6, 0x70, 0x87, 0x54, 0x0b, 0x12, 0xb8, - 0xa2, 0x80, 0xc5, 0xa3, 0x7e, 0x18, 0xc5, 0xeb, 0x8d, 0x1f, 0x35, 0x50, 0xfc, 0x37, 0xe6, 0x40, - 0x6b, 0x70, 0x0e, 0xe8, 0xb3, 0x79, 0x72, 0xc2, 0x0c, 0xf8, 0x21, 0x2f, 0x93, 0x97, 0xfd, 0x7f, - 0x17, 0x54, 0x7c, 0x1c, 0x60, 0xd7, 0x25, 0xae, 0xc3, 0xba, 0x32, 0xff, 0x05, 0x73, 0x45, 0x74, - 0xad, 0xe3, 0x34, 0x8c, 0xb2, 0x18, 0x41, 0xb1, 0x68, 0xd7, 0x77, 0x89, 0xb8, 0xe0, 0xbe, 0x11, - 0x15, 0x65, 0x3f, 0x0d, 0xa3, 0x2c, 0x06, 0x3e, 0x07, 0xeb, 0xfd, 0x4e, 0x34, 0x3c, 0x35, 0xf2, - 0x72, 0x6a, 0xbc, 0x15, 0xf5, 0xea, 0xeb, 0xcf, 0xc6, 0x01, 0xd0, 0x78, 0x1e, 0xfc, 0x02, 0x94, - 0x18, 0x71, 0x89, 0xc5, 0x69, 0xa0, 0xec, 0xb3, 0x7b, 0xaf, 0x3b, 0xc7, 0x6d, 0xe2, 0xb6, 0x14, - 0xd1, 0x5c, 0x94, 0x53, 0x4e, 0x7d, 0xa1, 0x44, 0x10, 0x3e, 0x05, 0xcb, 0x5d, 0xec, 0x85, 0x38, - 0x41, 0x4a, 0xdf, 0x94, 0x4c, 0x18, 0xf5, 0xea, 0xcb, 0x47, 0x03, 0x2b, 0x68, 0x08, 0x29, 0x12, - 0xe3, 0xf1, 0x08, 0x29, 0xc8, 0xc4, 0xfe, 0xa6, 0x85, 0x1f, 0x53, 0x7b, 0x60, 0x6a, 0x24, 0x6e, - 0x48, 0x46, 0x46, 0x22, 0x28, 0x0a, 0x57, 0x4e, 0x67, 0xc5, 0x25, 0x00, 0x56, 0xfc, 0x9c, 0x99, - 0x9a, 0x17, 0x1f, 0xcc, 0x66, 0x90, 0xa4, 0x1d, 0xa4, 0x1d, 0x37, 0x09, 0x31, 0x94, 0x91, 0x87, - 0xa7, 0xa0, 0x2c, 0xa7, 0xb7, 0x7c, 0xb0, 0xb9, 0x19, 0x1f, 0xec, 0x52, 0xd4, 0xab, 0x97, 0x5b, - 0x31, 0x1d, 0xa5, 0x4a, 0xd0, 0x06, 0xcb, 0xa9, 0x4f, 0x1e, 0xd4, 0x78, 0x64, 0x51, 0xf6, 0x07, - 0x34, 0xd0, 0x90, 0xa6, 0x68, 0x00, 0x6a, 0xaa, 0xce, 0x4b, 0xb3, 0x4e, 0x1a, 0x93, 0x06, 0x28, - 0xb3, 0xd0, 0xb2, 0x08, 0xb1, 0x89, 0x2d, 0x6b, 0xbe, 0x60, 0xae, 0x29, 0x68, 0xb9, 0x15, 0x2f, - 0xa0, 0x14, 0x23, 0x84, 0xcf, 0xb0, 0xe3, 0x12, 0x5b, 0xd6, 0x3a, 0x23, 0xfc, 0x89, 0x8c, 0x22, - 0xb5, 0xda, 0xf8, 0x55, 0x03, 0xd9, 0x7f, 0x01, 0x6f, 0x70, 0x36, 0x9e, 0x67, 0xfc, 0x97, 0xfb, - 0xc7, 0x7f, 0x61, 0xa6, 0x99, 0xf1, 0x27, 0x0d, 0xac, 0x0c, 0xe1, 0xff, 0x6b, 0x33, 0xdf, 0x7c, - 0xef, 0xe6, 0xb6, 0x36, 0xf7, 0xfa, 0xb6, 0x36, 0xf7, 0xfb, 0x6d, 0x6d, 0xee, 0xeb, 0xa8, 0xa6, - 0xdd, 0x44, 0x35, 0xed, 0x75, 0x54, 0xd3, 0xfe, 0x88, 0x6a, 0xda, 0xb7, 0x7f, 0xd6, 0xe6, 0x5e, - 0x96, 0x62, 0x9d, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x1c, 0xb0, 0x5a, 0xe4, 0x0e, 0x00, - 0x00, + // 1187 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0xcb, 0x6f, 0x23, 0xc5, + 0x13, 0x8e, 0x3d, 0x89, 0x1f, 0xed, 0x3c, 0xfb, 0xf7, 0x8b, 0xd6, 0x04, 0xc9, 0x8e, 0x2c, 0x81, + 0xb2, 0xab, 0xdd, 0x19, 0xc5, 0x44, 0xcb, 0xb2, 0x07, 0xa4, 0x9d, 0x20, 0x24, 0xa2, 0x44, 0x1b, + 0xb5, 0xb3, 0xec, 0x0a, 0x82, 0x44, 0x7b, 0xa6, 0x63, 0xcf, 0x66, 0x5e, 0x4c, 0xf7, 0x44, 0xca, + 0x8d, 0x33, 0x27, 0xce, 0x1c, 0xf9, 0x07, 0xb8, 0x22, 0x6e, 0xdc, 0x72, 0xcc, 0x81, 0x03, 0x27, + 0x8b, 0x0c, 0x7f, 0x01, 0xd7, 0x48, 0x48, 0xa8, 0xdb, 0x3d, 0x0f, 0xbf, 0x76, 0xed, 0x40, 0x58, + 0x71, 0x9b, 0xa9, 0xae, 0xef, 0xab, 0xee, 0xaa, 0xaf, 0xab, 0x1a, 0x7c, 0x70, 0xfa, 0x88, 0xaa, + 0x96, 0xa7, 0x9d, 0x86, 0x6d, 0x12, 0xb8, 0x84, 0x11, 0xaa, 0xf9, 0xa7, 0x1d, 0x0d, 0xfb, 0x16, + 0xd5, 0xda, 0x98, 0x19, 0x5d, 0xed, 0xac, 0x89, 0x6d, 0xbf, 0x8b, 0xb7, 0xb5, 0x0e, 0x71, 0x49, + 0x80, 0x19, 0x31, 0x55, 0x3f, 0xf0, 0x98, 0x07, 0xef, 0xf6, 0xa1, 0x6a, 0x0a, 0x55, 0xfd, 0xd3, + 0x8e, 0xca, 0xa1, 0xaa, 0x80, 0xaa, 0x31, 0x74, 0xe3, 0x41, 0xc7, 0x62, 0xdd, 0xb0, 0xad, 0x1a, + 0x9e, 0xa3, 0x75, 0xbc, 0x8e, 0xa7, 0x09, 0x86, 0x76, 0x78, 0x22, 0xfe, 0xc4, 0x8f, 0xf8, 0xea, + 0x33, 0x6f, 0xec, 0xc8, 0x4d, 0x61, 0xdf, 0x72, 0xb0, 0xd1, 0xb5, 0x5c, 0x12, 0x9c, 0xa7, 0xdb, + 0x72, 0x08, 0xc3, 0xda, 0xd9, 0xc8, 0x7e, 0x36, 0xb4, 0x49, 0xa8, 0x20, 0x74, 0x99, 0xe5, 0x90, + 0x11, 0xc0, 0xc3, 0xd7, 0x01, 0xa8, 0xd1, 0x25, 0x0e, 0x1e, 0xc1, 0x35, 0x27, 0xe6, 0x4c, 0x0b, + 0x08, 0xf5, 0xc2, 0xc0, 0x18, 0x8d, 0x75, 0x7f, 0x32, 0x66, 0xcc, 0x51, 0xb6, 0xc7, 0x7b, 0x87, + 0xcc, 0xb2, 0x35, 0xcb, 0x65, 0x94, 0x05, 0xc3, 0x90, 0xc6, 0x9f, 0x79, 0x50, 0xdc, 0x0d, 0x3c, + 0x77, 0xcf, 0x6b, 0xc3, 0x17, 0xa0, 0xc4, 0x93, 0x64, 0x62, 0x86, 0xab, 0xb9, 0xcd, 0xdc, 0x56, + 0xa5, 0xb9, 0xa5, 0x4e, 0x2c, 0x96, 0x7a, 0xb6, 0xad, 0x3e, 0x6d, 0xbf, 0x24, 0x06, 0x3b, 0x20, + 0x0c, 0xeb, 0xf0, 0xa2, 0x57, 0x9f, 0x8b, 0x7a, 0x75, 0x90, 0xda, 0x50, 0xc2, 0x06, 0x5f, 0x80, + 0x79, 0xea, 0x13, 0xa3, 0x9a, 0x17, 0xac, 0x0f, 0xd5, 0xa9, 0x25, 0xa0, 0xca, 0xbd, 0xb5, 0x7c, + 0x62, 0xe8, 0x8b, 0x32, 0xc6, 0x3c, 0xff, 0x43, 0x82, 0x11, 0x7e, 0x09, 0x0a, 0x94, 0x61, 0x16, + 0xd2, 0xaa, 0x22, 0xb8, 0x1f, 0xdd, 0x80, 0x5b, 0xe0, 0xf5, 0x65, 0xc9, 0x5e, 0xe8, 0xff, 0x23, + 0xc9, 0x0b, 0x8f, 0x41, 0x89, 0x9d, 0xfb, 0x84, 0x9f, 0xa8, 0x3a, 0x2f, 0x62, 0xa8, 0x71, 0x8c, + 0xac, 0x02, 0xd2, 0x28, 0xfc, 0xd4, 0x3c, 0x3b, 0x47, 0x12, 0xa5, 0xaf, 0x4a, 0xe6, 0x52, 0x6c, + 0x41, 0x09, 0x63, 0xe3, 0xfb, 0x3c, 0xa8, 0xc8, 0x7d, 0xec, 0x5b, 0x94, 0xf1, 0x68, 0x43, 0x35, + 0x98, 0x32, 0x1a, 0x47, 0x0f, 0x46, 0x8b, 0x2d, 0x99, 0x3a, 0x3c, 0x07, 0x0b, 0x16, 0x23, 0x0e, + 0xad, 0xe6, 0x37, 0x95, 0xad, 0x4a, 0xb3, 0x39, 0x7b, 0xb2, 0xf4, 0x25, 0x49, 0xbf, 0xf0, 0x09, + 0x27, 0x42, 0x7d, 0xbe, 0x81, 0x24, 0x29, 0xff, 0x78, 0x92, 0xbe, 0x51, 0x92, 0x24, 0xf1, 0xd2, + 0xc3, 0xfb, 0xa0, 0xc4, 0xef, 0x98, 0x19, 0xda, 0x44, 0x24, 0xa9, 0x9c, 0xa2, 0x5b, 0xd2, 0x8e, + 0x12, 0x0f, 0xf8, 0x0c, 0xdc, 0xa1, 0x0c, 0x07, 0xcc, 0x72, 0x3b, 0x1f, 0x11, 0x6c, 0xda, 0x96, + 0x4b, 0x5a, 0xc4, 0xf0, 0x5c, 0x93, 0x0a, 0x3d, 0x2a, 0xfa, 0xdb, 0x51, 0xaf, 0x7e, 0xa7, 0x35, + 0xde, 0x05, 0x4d, 0xc2, 0xc2, 0x63, 0xb0, 0x66, 0x78, 0xae, 0x11, 0x06, 0x01, 0x71, 0x8d, 0xf3, + 0x43, 0xcf, 0xb6, 0x8c, 0x73, 0x71, 0xf6, 0xb2, 0xae, 0xca, 0xdd, 0xac, 0xed, 0x0e, 0x3b, 0x5c, + 0x8f, 0x33, 0xa2, 0x51, 0x22, 0xf8, 0x0e, 0x28, 0xd2, 0x90, 0xfa, 0xc4, 0x35, 0x85, 0xe8, 0x4a, + 0x7a, 0x25, 0xea, 0xd5, 0x8b, 0xad, 0xbe, 0x09, 0xc5, 0x6b, 0xf0, 0x2b, 0x50, 0x79, 0xe9, 0xb5, + 0x8f, 0x88, 0xe3, 0xdb, 0x98, 0x91, 0xea, 0x82, 0x48, 0xfd, 0xe3, 0x19, 0xca, 0xba, 0x97, 0xa2, + 0xc5, 0x1d, 0xfb, 0x9f, 0xdc, 0x7a, 0x25, 0xb3, 0x80, 0xb2, 0x31, 0x1a, 0xbf, 0xe4, 0xc0, 0xd2, + 0xc0, 0xcd, 0x81, 0xcf, 0x40, 0x01, 0x1b, 0xcc, 0x3a, 0xe3, 0xc5, 0xe0, 0xb2, 0x7a, 0x30, 0x4d, + 0xd7, 0x40, 0xe4, 0x84, 0xf0, 0x03, 0x93, 0xf4, 0xe2, 0x3d, 0x11, 0x24, 0x48, 0x92, 0x41, 0x1b, + 0xac, 0xda, 0x98, 0xb2, 0xb8, 0xa2, 0x47, 0x96, 0x43, 0xe4, 0x05, 0xbc, 0x37, 0xa5, 0xb6, 0x2c, + 0x87, 0xe8, 0xff, 0x8f, 0x7a, 0xf5, 0xd5, 0xfd, 0x21, 0x1e, 0x34, 0xc2, 0xdc, 0xf8, 0x23, 0x0f, + 0x94, 0xdb, 0x6d, 0x82, 0x47, 0x03, 0x4d, 0xb0, 0x39, 0x5b, 0x91, 0x26, 0x36, 0xc0, 0xe3, 0xa1, + 0x06, 0xb8, 0x33, 0x23, 0xef, 0x9b, 0x6c, 0x7e, 0x97, 0x0a, 0x58, 0xdc, 0xf3, 0xda, 0xbb, 0x9e, + 0x6b, 0x5a, 0xcc, 0xf2, 0x5c, 0xb8, 0x03, 0xe6, 0xf9, 0xa2, 0xbc, 0xd4, 0x9b, 0xf1, 0x71, 0x39, + 0xf4, 0xba, 0x57, 0x5f, 0xcd, 0xfa, 0x72, 0x1b, 0x12, 0xde, 0xf0, 0xd3, 0x24, 0x05, 0x79, 0x81, + 0xfb, 0x70, 0xf0, 0x30, 0xd7, 0xbd, 0xfa, 0x2b, 0xc7, 0xa8, 0x9a, 0x70, 0x0e, 0x1d, 0xbe, 0x03, + 0x96, 0xb8, 0x4c, 0x0e, 0x03, 0xaf, 0xdd, 0x57, 0x9f, 0x32, 0xb3, 0xfa, 0xd6, 0xe5, 0x56, 0x96, + 0xf6, 0xb3, 0x44, 0x68, 0x90, 0x17, 0x9e, 0x01, 0xc8, 0x0d, 0x47, 0x01, 0x76, 0x69, 0xff, 0x70, + 0x37, 0xd3, 0xfa, 0x86, 0x8c, 0x06, 0xf7, 0x47, 0xd8, 0xd0, 0x98, 0x08, 0xf0, 0x5d, 0x50, 0x08, + 0x08, 0xa6, 0x9e, 0x2b, 0x1a, 0x47, 0x39, 0x55, 0x01, 0x12, 0x56, 0x24, 0x57, 0xe1, 0x5d, 0x50, + 0x74, 0x08, 0xa5, 0xb8, 0x43, 0xaa, 0x05, 0xe1, 0xb8, 0x22, 0x1d, 0x8b, 0x07, 0x7d, 0x33, 0x8a, + 0xd7, 0x1b, 0xdf, 0xe5, 0x41, 0xf1, 0xdf, 0x99, 0x65, 0xad, 0xc1, 0x59, 0xa6, 0xce, 0xa6, 0xfb, + 0x37, 0x32, 0xc7, 0x7e, 0x54, 0x44, 0x72, 0xc4, 0x0c, 0xdb, 0x06, 0x15, 0x1f, 0x07, 0xd8, 0xb6, + 0x89, 0x6d, 0x51, 0x47, 0xe4, 0x67, 0x41, 0x5f, 0xe1, 0x9d, 0xf7, 0x30, 0x35, 0xa3, 0xac, 0x0f, + 0x87, 0x18, 0x9e, 0xe3, 0xdb, 0x84, 0x17, 0xb0, 0x2f, 0x76, 0x09, 0xd9, 0x4d, 0xcd, 0x28, 0xeb, + 0x03, 0x9f, 0x82, 0xf5, 0x7e, 0x37, 0x1d, 0x9e, 0x7c, 0x8a, 0x98, 0x7c, 0x6f, 0x45, 0xbd, 0xfa, + 0xfa, 0x93, 0x71, 0x0e, 0x68, 0x3c, 0x0e, 0x7e, 0x01, 0x4a, 0x94, 0xd8, 0xc4, 0x60, 0x5e, 0x20, + 0x05, 0xfa, 0xde, 0x94, 0x35, 0xc5, 0x6d, 0x62, 0xb7, 0x24, 0x54, 0x5f, 0x14, 0xb3, 0x5a, 0xfe, + 0xa1, 0x84, 0x12, 0x3e, 0x06, 0xcb, 0x0e, 0x76, 0x43, 0x9c, 0x78, 0x0a, 0x65, 0x96, 0x74, 0x18, + 0xf5, 0xea, 0xcb, 0x07, 0x03, 0x2b, 0x68, 0xc8, 0x13, 0x7e, 0x0e, 0x4a, 0x2c, 0x1e, 0x84, 0x05, + 0xb1, 0xb5, 0xd7, 0x0c, 0xa2, 0x43, 0xcf, 0x1c, 0x98, 0x7d, 0x69, 0xe9, 0xe2, 0xc1, 0x97, 0x10, + 0x36, 0x7e, 0x52, 0x40, 0x39, 0x9d, 0x78, 0xa7, 0x00, 0x18, 0x71, 0xd3, 0xa0, 0x72, 0xea, 0xbd, + 0x3f, 0x9b, 0x00, 0x93, 0xa6, 0x93, 0x4e, 0x8d, 0xc4, 0x44, 0x51, 0x86, 0x1e, 0x3e, 0x07, 0x65, + 0xf1, 0x06, 0x11, 0x4d, 0x21, 0x3f, 0x73, 0x53, 0x58, 0x8a, 0x7a, 0xf5, 0x72, 0x2b, 0x26, 0x40, + 0x29, 0x17, 0x3c, 0x01, 0xcb, 0xa9, 0x56, 0x6e, 0xd8, 0xe0, 0x44, 0x61, 0x76, 0x07, 0x58, 0xd0, + 0x10, 0x2b, 0x6f, 0x33, 0xf2, 0x7d, 0x30, 0x2f, 0x24, 0x3b, 0x69, 0xe0, 0x6b, 0xa0, 0x4c, 0x43, + 0xc3, 0x20, 0xc4, 0x24, 0xa6, 0xa8, 0xfb, 0x82, 0xbe, 0x26, 0x5d, 0xcb, 0xad, 0x78, 0x01, 0xa5, + 0x3e, 0x9c, 0xf8, 0x04, 0x5b, 0x36, 0x31, 0x45, 0xbd, 0x33, 0xc4, 0x1f, 0x0b, 0x2b, 0x92, 0xab, + 0x8d, 0x1f, 0xf2, 0x20, 0xfb, 0x9e, 0xb9, 0xc5, 0x19, 0xdf, 0xcd, 0x68, 0x30, 0xff, 0xb7, 0x1f, + 0x63, 0xaf, 0x10, 0xe4, 0x2d, 0x77, 0xaa, 0x9f, 0x73, 0x60, 0x65, 0x68, 0x37, 0xff, 0xb5, 0x97, + 0x91, 0x7e, 0xef, 0xe2, 0xaa, 0x36, 0x77, 0x79, 0x55, 0x9b, 0xfb, 0xf5, 0xaa, 0x36, 0xf7, 0x75, + 0x54, 0xcb, 0x5d, 0x44, 0xb5, 0xdc, 0x65, 0x54, 0xcb, 0xfd, 0x16, 0xd5, 0x72, 0xdf, 0xfe, 0x5e, + 0x9b, 0xfb, 0xac, 0x14, 0xf3, 0xfc, 0x15, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x22, 0xb7, 0xad, 0xd0, + 0x10, 0x00, 0x00, } diff --git a/pkg/apis/batch/v2alpha1/generated.proto b/pkg/apis/batch/v2alpha1/generated.proto index 343a8675f60..4e9508feb15 100644 --- a/pkg/apis/batch/v2alpha1/generated.proto +++ b/pkg/apis/batch/v2alpha1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.batch.v2alpha1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -33,6 +33,8 @@ option go_package = "v2alpha1"; // CronJob represents the configuration of a single cron job. message CronJob { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -51,10 +53,12 @@ message CronJob { // CronJobList is a collection of cron jobs. message CronJobList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of CronJob. repeated CronJob items = 2; @@ -92,11 +96,13 @@ message CronJobStatus { // LastScheduleTime keeps information of when was the last time the job was successfully scheduled. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastScheduleTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScheduleTime = 4; } // Job represents the configuration of a single job. message Job { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -123,11 +129,11 @@ message JobCondition { // Last time the condition was checked. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastProbeTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; // Last time the condition transit from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; // (brief) reason for the condition's last transition. // +optional @@ -140,10 +146,12 @@ message JobCondition { // JobList is a collection of jobs. message JobList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Job. repeated Job items = 2; @@ -177,7 +185,7 @@ message JobSpec { // Normally, the system sets this field for you. // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4; // ManualSelector controls generation of pod labels and pod selectors. // Leave `manualSelector` unset unless you are certain what you are doing. @@ -209,13 +217,13 @@ message JobStatus { // It is not guaranteed to be set in happens-before order across separate operations. // It is represented in RFC3339 form and is in UTC. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time startTime = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 2; // CompletionTime represents time when the job was completed. It is not guaranteed to // be set in happens-before order across separate operations. // It is represented in RFC3339 form and is in UTC. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time completionTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time completionTime = 3; // Active is the number of actively running pods. // +optional @@ -232,6 +240,8 @@ message JobStatus { // JobTemplate describes a template for creating copies of a predefined pod. message JobTemplate { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional diff --git a/pkg/apis/batch/v2alpha1/register.go b/pkg/apis/batch/v2alpha1/register.go index 123cd55f2a9..83c16856276 100644 --- a/pkg/apis/batch/v2alpha1/register.go +++ b/pkg/apis/batch/v2alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v2alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/batch/v2alpha1/types.generated.go b/pkg/apis/batch/v2alpha1/types.generated.go index 38bf9e54c45..cfda3d8d4be 100644 --- a/pkg/apis/batch/v2alpha1/types.generated.go +++ b/pkg/apis/batch/v2alpha1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -65,10 +65,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg4_resource.Quantity - var v1 pkg2_v1.ObjectMeta - var v2 pkg1_v1.TypeMeta - var v3 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg4_resource.Quantity + var v3 pkg2_v1.ObjectMeta var v4 pkg5_intstr.IntOrString var v5 time.Time _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5 diff --git a/pkg/apis/batch/v2alpha1/types.go b/pkg/apis/batch/v2alpha1/types.go index f83fff4cad0..ce797a18041 100644 --- a/pkg/apis/batch/v2alpha1/types.go +++ b/pkg/apis/batch/v2alpha1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v2alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/batch/v2alpha1/zz_generated.conversion.go b/pkg/apis/batch/v2alpha1/zz_generated.conversion.go index 5e1395848d5..6d12fb0f90d 100644 --- a/pkg/apis/batch/v2alpha1/zz_generated.conversion.go +++ b/pkg/apis/batch/v2alpha1/zz_generated.conversion.go @@ -21,12 +21,12 @@ limitations under the License. package v2alpha1 import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/batch/v2alpha1/zz_generated.deepcopy.go b/pkg/apis/batch/v2alpha1/zz_generated.deepcopy.go index 4bfc7c90bb2..5022416bc16 100644 --- a/pkg/apis/batch/v2alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/batch/v2alpha1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v2alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -198,9 +198,10 @@ func DeepCopy_v2alpha1_JobSpec(in interface{}, out interface{}, c *conversion.Cl } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if in.ManualSelector != nil { diff --git a/pkg/apis/batch/v2alpha1/zz_generated.defaults.go b/pkg/apis/batch/v2alpha1/zz_generated.defaults.go index f918ce1c568..82f9546af0a 100644 --- a/pkg/apis/batch/v2alpha1/zz_generated.defaults.go +++ b/pkg/apis/batch/v2alpha1/zz_generated.defaults.go @@ -21,8 +21,8 @@ limitations under the License. package v2alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - runtime "k8s.io/kubernetes/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/batch/validation/BUILD b/pkg/apis/batch/validation/BUILD index 0af36b21238..923bc74b459 100644 --- a/pkg/apis/batch/validation/BUILD +++ b/pkg/apis/batch/validation/BUILD @@ -16,11 +16,11 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/meta/v1/validation:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/validation/field:go_default_library", "//vendor:github.com/robfig/cron", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -32,8 +32,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/batch/validation/validation.go b/pkg/apis/batch/validation/validation.go index 2297ed21ef1..35ade35be02 100644 --- a/pkg/apis/batch/validation/validation.go +++ b/pkg/apis/batch/validation/validation.go @@ -19,13 +19,13 @@ package validation import ( "github.com/robfig/cron" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" apivalidation "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" unversionedvalidation "k8s.io/kubernetes/pkg/apis/meta/v1/validation" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/validation/field" ) // TODO: generalize for other controller objects that will follow the same pattern, such as ReplicaSet and DaemonSet, and diff --git a/pkg/apis/batch/validation/validation_test.go b/pkg/apis/batch/validation/validation_test.go index 016b9440ba9..b34f28d3b51 100644 --- a/pkg/apis/batch/validation/validation_test.go +++ b/pkg/apis/batch/validation/validation_test.go @@ -20,10 +20,10 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" ) func getValidManualSelector() *metav1.LabelSelector { diff --git a/pkg/apis/batch/zz_generated.deepcopy.go b/pkg/apis/batch/zz_generated.deepcopy.go index 8d7617a7e26..11e44c96c8e 100644 --- a/pkg/apis/batch/zz_generated.deepcopy.go +++ b/pkg/apis/batch/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package batch import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -198,9 +198,10 @@ func DeepCopy_batch_JobSpec(in interface{}, out interface{}, c *conversion.Clone } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if in.ManualSelector != nil { diff --git a/pkg/apis/certificates/BUILD b/pkg/apis/certificates/BUILD index 1e28ad1ba89..73853e9ebff 100644 --- a/pkg/apis/certificates/BUILD +++ b/pkg/apis/certificates/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/certificates/install/BUILD b/pkg/apis/certificates/install/BUILD index 250ba9493c5..450a534e9ee 100644 --- a/pkg/apis/certificates/install/BUILD +++ b/pkg/apis/certificates/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/certificates/install/install.go b/pkg/apis/certificates/install/install.go index 0210b0daa17..b5940759513 100644 --- a/pkg/apis/certificates/install/install.go +++ b/pkg/apis/certificates/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/certificates/register.go b/pkg/apis/certificates/register.go index def8d6b16d3..fe7dcd4e2ba 100644 --- a/pkg/apis/certificates/register.go +++ b/pkg/apis/certificates/register.go @@ -17,9 +17,9 @@ limitations under the License. package certificates import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) var ( diff --git a/pkg/apis/certificates/types.go b/pkg/apis/certificates/types.go index 02e2135973b..43394733d3e 100644 --- a/pkg/apis/certificates/types.go +++ b/pkg/apis/certificates/types.go @@ -17,8 +17,8 @@ limitations under the License. package certificates import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/certificates/v1alpha1/BUILD b/pkg/apis/certificates/v1alpha1/BUILD index 077cedcc5ec..e376ad8250e 100644 --- a/pkg/apis/certificates/v1alpha1/BUILD +++ b/pkg/apis/certificates/v1alpha1/BUILD @@ -26,13 +26,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/certificates:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/certificates/v1alpha1/conversion.go b/pkg/apis/certificates/v1alpha1/conversion.go index 5275811b889..64571362b19 100644 --- a/pkg/apis/certificates/v1alpha1/conversion.go +++ b/pkg/apis/certificates/v1alpha1/conversion.go @@ -19,8 +19,8 @@ package v1alpha1 import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/certificates/v1alpha1/generated.pb.go b/pkg/apis/certificates/v1alpha1/generated.pb.go index 96e5dacae92..33b34e2a382 100644 --- a/pkg/apis/certificates/v1alpha1/generated.pb.go +++ b/pkg/apis/certificates/v1alpha1/generated.pb.go @@ -127,6 +127,14 @@ func (m *CertificateSigningRequest) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -160,11 +168,11 @@ func (m *CertificateSigningRequestCondition) MarshalTo(data []byte) (int, error) data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.LastUpdateTime.Size())) - n4, err := m.LastUpdateTime.MarshalTo(data[i:]) + n5, err := m.LastUpdateTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n5 return i, nil } @@ -186,11 +194,11 @@ func (m *CertificateSigningRequestList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n5, err := m.ListMeta.MarshalTo(data[i:]) + n6, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n6 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -203,6 +211,14 @@ func (m *CertificateSigningRequestList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n7, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n7 return i, nil } @@ -340,6 +356,8 @@ func (m *CertificateSigningRequest) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -368,6 +386,8 @@ func (m *CertificateSigningRequestList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -434,6 +454,7 @@ func (this *CertificateSigningRequest) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "CertificateSigningRequestSpec", "CertificateSigningRequestSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "CertificateSigningRequestStatus", "CertificateSigningRequestStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -446,7 +467,7 @@ func (this *CertificateSigningRequestCondition) String() string { `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, - `LastUpdateTime:` + strings.Replace(strings.Replace(this.LastUpdateTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastUpdateTime:` + strings.Replace(strings.Replace(this.LastUpdateTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -456,8 +477,9 @@ func (this *CertificateSigningRequestList) String() string { return "nil" } s := strings.Join([]string{`&CertificateSigningRequestList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "CertificateSigningRequest", "CertificateSigningRequest", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -614,6 +636,36 @@ func (m *CertificateSigningRequest) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -892,6 +944,36 @@ func (m *CertificateSigningRequestList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1328,50 +1410,53 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 716 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x3d, 0x4f, 0x1b, 0x4b, - 0x14, 0xf5, 0xda, 0xc6, 0xd8, 0x63, 0x1e, 0x3c, 0x8d, 0x9e, 0x90, 0x1f, 0x12, 0x6b, 0x64, 0x25, - 0x91, 0x13, 0xc1, 0x6e, 0x6c, 0xa5, 0xa0, 0x8c, 0x96, 0x48, 0x11, 0x02, 0x84, 0x32, 0x60, 0x29, - 0xa2, 0x1b, 0xaf, 0x2f, 0xeb, 0x89, 0xd9, 0x0f, 0x76, 0x66, 0x91, 0xdc, 0xa5, 0x4c, 0x99, 0x3e, - 0x7f, 0x88, 0x92, 0x32, 0x95, 0x13, 0x4c, 0x19, 0xe5, 0x0f, 0x50, 0x45, 0x33, 0x1e, 0x7f, 0xc4, - 0xc6, 0x90, 0x48, 0x74, 0x9e, 0x33, 0xe7, 0x9e, 0x73, 0xe7, 0xde, 0xb3, 0x46, 0xaf, 0x3b, 0xdb, - 0xdc, 0x62, 0xa1, 0xdd, 0x49, 0x9a, 0x10, 0x07, 0x20, 0x80, 0xdb, 0x51, 0xc7, 0xb3, 0x69, 0xc4, - 0xb8, 0xed, 0x42, 0x2c, 0xd8, 0x29, 0x73, 0xa9, 0x44, 0x2f, 0x6a, 0xf4, 0x2c, 0x6a, 0xd3, 0x9a, - 0xed, 0x41, 0x00, 0x31, 0x15, 0xd0, 0xb2, 0xa2, 0x38, 0x14, 0x21, 0x7e, 0x39, 0x50, 0xb0, 0xc6, - 0x0a, 0x56, 0xd4, 0xf1, 0x2c, 0xa9, 0x60, 0x4d, 0x2a, 0x58, 0x43, 0x85, 0xb5, 0x2d, 0x8f, 0x89, - 0x76, 0xd2, 0xb4, 0xdc, 0xd0, 0xb7, 0xbd, 0xd0, 0x0b, 0x6d, 0x25, 0xd4, 0x4c, 0x4e, 0xd5, 0x49, - 0x1d, 0xd4, 0xaf, 0x81, 0xc1, 0x5a, 0x7d, 0x6e, 0x8b, 0x76, 0x0c, 0x3c, 0x4c, 0x62, 0x17, 0xa6, - 0x9b, 0x5a, 0xdb, 0x9c, 0x5f, 0x73, 0x31, 0xf3, 0x84, 0x7b, 0x1c, 0xb8, 0xed, 0x83, 0xa0, 0x77, - 0xd5, 0x6c, 0xdd, 0x5d, 0x13, 0x27, 0x81, 0x60, 0xfe, 0x6c, 0x43, 0xaf, 0xee, 0xa7, 0x73, 0xb7, - 0x0d, 0x3e, 0x9d, 0xa9, 0xaa, 0xdd, 0x5d, 0x95, 0x08, 0x76, 0x66, 0xb3, 0x40, 0x70, 0x11, 0x4f, - 0x97, 0x54, 0x6e, 0xd2, 0xe8, 0xff, 0x9d, 0xf1, 0xd8, 0x8f, 0x98, 0x17, 0xb0, 0xc0, 0x23, 0x70, - 0x9e, 0x00, 0x17, 0xf8, 0x3d, 0xca, 0xcb, 0x07, 0xb5, 0xa8, 0xa0, 0x25, 0x63, 0xc3, 0xa8, 0x16, - 0xeb, 0x55, 0x6b, 0xee, 0xfe, 0xac, 0x8b, 0x9a, 0x75, 0xd8, 0xfc, 0x00, 0xae, 0x38, 0x00, 0x41, - 0x1d, 0x7c, 0xd9, 0x2b, 0xa7, 0xfa, 0xbd, 0x32, 0x1a, 0x63, 0x64, 0xa4, 0x86, 0xcf, 0x51, 0x96, - 0x47, 0xe0, 0x96, 0xd2, 0x4a, 0xf5, 0xd0, 0xfa, 0xdb, 0x54, 0x58, 0x73, 0x9b, 0x3e, 0x8a, 0xc0, - 0x75, 0x96, 0xb4, 0x79, 0x56, 0x9e, 0x88, 0xb2, 0xc2, 0x5d, 0x94, 0xe3, 0x82, 0x8a, 0x84, 0x97, - 0x32, 0xca, 0xf4, 0xdd, 0x63, 0x9a, 0x2a, 0x61, 0x67, 0x59, 0xdb, 0xe6, 0x06, 0x67, 0xa2, 0x0d, - 0x2b, 0x5f, 0xd2, 0xa8, 0x32, 0xb7, 0x76, 0x27, 0x0c, 0x5a, 0x4c, 0xb0, 0x30, 0xc0, 0xdb, 0x28, - 0x2b, 0xba, 0x11, 0xa8, 0x51, 0x17, 0x9c, 0x27, 0xc3, 0x37, 0x1c, 0x77, 0x23, 0xb8, 0xed, 0x95, - 0xff, 0x9b, 0xe6, 0x4b, 0x9c, 0xa8, 0x0a, 0xfc, 0x0c, 0xe5, 0x62, 0xa0, 0x3c, 0x0c, 0xd4, 0x40, - 0x0b, 0xe3, 0x46, 0x88, 0x42, 0x89, 0xbe, 0xc5, 0xcf, 0xd1, 0xa2, 0x0f, 0x9c, 0x53, 0x0f, 0xd4, - 0x10, 0x0a, 0xce, 0x8a, 0x26, 0x2e, 0x1e, 0x0c, 0x60, 0x32, 0xbc, 0xc7, 0x6d, 0xb4, 0x7c, 0x46, - 0xb9, 0x68, 0x44, 0x2d, 0x2a, 0xe0, 0x98, 0xf9, 0x50, 0xca, 0x3e, 0x94, 0x00, 0x6e, 0xc9, 0xfd, - 0xca, 0x1c, 0x48, 0xbe, 0xb3, 0xaa, 0xb5, 0x97, 0xf7, 0x7f, 0xd3, 0x21, 0x53, 0xba, 0x95, 0x9f, - 0x06, 0x5a, 0x9f, 0x3b, 0x9d, 0x7d, 0xc6, 0x05, 0x3e, 0x99, 0xc9, 0xe1, 0xe6, 0x9f, 0x74, 0x21, - 0x6b, 0x55, 0x16, 0xff, 0xd5, 0x9d, 0xe4, 0x87, 0xc8, 0x44, 0x12, 0x23, 0xb4, 0xc0, 0x04, 0xf8, - 0xbc, 0x94, 0xde, 0xc8, 0x54, 0x8b, 0xf5, 0xbd, 0x47, 0x4c, 0x85, 0xf3, 0x8f, 0xf6, 0x5d, 0xd8, - 0x95, 0x0e, 0x64, 0x60, 0x54, 0xf9, 0x71, 0xdf, 0x7b, 0x65, 0x60, 0xf1, 0x53, 0xb4, 0x18, 0x0f, - 0x8e, 0xea, 0xb9, 0x4b, 0x4e, 0x51, 0xae, 0x48, 0x33, 0xc8, 0xf0, 0x0e, 0x6f, 0xa2, 0x7c, 0xc2, - 0x21, 0x0e, 0xa8, 0x0f, 0x7a, 0xef, 0xa3, 0x87, 0x36, 0x34, 0x4e, 0x46, 0x0c, 0xbc, 0x8e, 0x32, - 0x09, 0x6b, 0xe9, 0xbd, 0x17, 0x35, 0x31, 0xd3, 0xd8, 0x7d, 0x43, 0x24, 0x8e, 0x2b, 0x28, 0xe7, - 0xc5, 0x61, 0x12, 0xf1, 0x52, 0x76, 0x23, 0x53, 0x2d, 0x38, 0x48, 0xc6, 0xe7, 0xad, 0x42, 0x88, - 0xbe, 0xc1, 0x75, 0x94, 0xef, 0x40, 0xb7, 0xa1, 0xf2, 0xb3, 0xa0, 0x58, 0xab, 0x92, 0xa5, 0x00, - 0x7e, 0xdb, 0x2b, 0xe7, 0xf7, 0xf4, 0x2d, 0x19, 0xf1, 0x2a, 0xdf, 0x0c, 0x54, 0x7e, 0xe0, 0xbb, - 0xc1, 0x9f, 0x0c, 0x84, 0xdc, 0x61, 0xac, 0x79, 0xc9, 0x50, 0x9b, 0x38, 0x7e, 0xc4, 0x4d, 0x8c, - 0xbe, 0x99, 0xf1, 0xdf, 0xd2, 0x08, 0xe2, 0x64, 0xc2, 0x1b, 0xd7, 0x50, 0x71, 0x42, 0x5b, 0x8d, - 0x75, 0xc9, 0x59, 0xe9, 0xf7, 0xca, 0xc5, 0x09, 0x71, 0x32, 0xc9, 0x71, 0x5e, 0x5c, 0x5e, 0x9b, - 0xa9, 0xab, 0x6b, 0x33, 0xf5, 0xf5, 0xda, 0x4c, 0x7d, 0xec, 0x9b, 0xc6, 0x65, 0xdf, 0x34, 0xae, - 0xfa, 0xa6, 0xf1, 0xbd, 0x6f, 0x1a, 0x9f, 0x6f, 0xcc, 0xd4, 0x49, 0x7e, 0xd8, 0xe1, 0xaf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x32, 0x58, 0xf7, 0xcf, 0x41, 0x07, 0x00, 0x00, + // 760 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x4d, 0x4f, 0x1b, 0x3b, + 0x14, 0xcd, 0x24, 0x21, 0x24, 0x0e, 0x0f, 0x9e, 0xac, 0x27, 0x94, 0x87, 0xc4, 0x04, 0x45, 0xef, + 0x55, 0x29, 0xa2, 0x9e, 0x26, 0xaa, 0x2a, 0x96, 0xd5, 0x50, 0xa9, 0x42, 0x80, 0x50, 0x0d, 0x91, + 0xaa, 0xaa, 0x1b, 0x67, 0x62, 0x26, 0x26, 0xcc, 0x07, 0x63, 0x0f, 0x52, 0x76, 0x5d, 0x76, 0xd9, + 0x3f, 0xd0, 0x1f, 0xd3, 0x1d, 0x9b, 0x4a, 0x2c, 0xbb, 0x4a, 0x4b, 0xba, 0xec, 0x3f, 0x60, 0x55, + 0xd9, 0xf1, 0x24, 0x21, 0x21, 0x85, 0x4a, 0xd9, 0xc5, 0xc7, 0xf7, 0x9e, 0x73, 0xe7, 0xdc, 0xe3, + 0x80, 0x17, 0x9d, 0x6d, 0x8e, 0x58, 0x60, 0x75, 0xe2, 0x26, 0x8d, 0x7c, 0x2a, 0x28, 0xb7, 0xc2, + 0x8e, 0x6b, 0x91, 0x90, 0x71, 0xcb, 0xa1, 0x91, 0x60, 0x27, 0xcc, 0x21, 0x12, 0xbd, 0xa8, 0x91, + 0xb3, 0xb0, 0x4d, 0x6a, 0x96, 0x4b, 0x7d, 0x1a, 0x11, 0x41, 0x5b, 0x28, 0x8c, 0x02, 0x11, 0xc0, + 0xa7, 0x03, 0x06, 0x34, 0x62, 0x40, 0x61, 0xc7, 0x45, 0x92, 0x01, 0x8d, 0x33, 0xa0, 0x84, 0x61, + 0xed, 0x89, 0xcb, 0x44, 0x3b, 0x6e, 0x22, 0x27, 0xf0, 0x2c, 0x37, 0x70, 0x03, 0x4b, 0x11, 0x35, + 0xe3, 0x13, 0x75, 0x52, 0x07, 0xf5, 0x6b, 0x20, 0xb0, 0xf6, 0x4c, 0x8f, 0x48, 0x42, 0xe6, 0x11, + 0xa7, 0xcd, 0x7c, 0x1a, 0x75, 0x47, 0x43, 0x7a, 0x54, 0x10, 0xeb, 0x62, 0x6a, 0xac, 0x35, 0x6b, + 0x56, 0x57, 0x14, 0xfb, 0x82, 0x79, 0x74, 0xaa, 0xe1, 0xf9, 0x7d, 0x0d, 0xdc, 0x69, 0x53, 0x8f, + 0x4c, 0xf5, 0xd5, 0x67, 0x3a, 0x68, 0x45, 0x94, 0x07, 0x71, 0xe4, 0x4c, 0x6b, 0x6d, 0xcd, 0xee, + 0xb9, 0xe3, 0x53, 0x6a, 0x77, 0x57, 0xc7, 0x82, 0x9d, 0x59, 0xcc, 0x17, 0x5c, 0x44, 0x93, 0x2d, + 0x95, 0xcf, 0x19, 0xf0, 0xef, 0xce, 0xc8, 0xfc, 0x23, 0xe6, 0xfa, 0xcc, 0x77, 0x31, 0x3d, 0x8f, + 0x29, 0x17, 0xf0, 0x0d, 0xc8, 0x4b, 0xdb, 0x5a, 0x44, 0x90, 0x92, 0xb1, 0x61, 0x54, 0x8b, 0xf5, + 0x2a, 0x9a, 0xb9, 0x45, 0x74, 0x51, 0x43, 0x87, 0xcd, 0x53, 0xea, 0x88, 0x03, 0x2a, 0x88, 0x0d, + 0x2f, 0x7b, 0xe5, 0x54, 0xbf, 0x57, 0x06, 0x23, 0x0c, 0x0f, 0xd9, 0xe0, 0x39, 0xc8, 0xf2, 0x90, + 0x3a, 0xa5, 0xb4, 0x62, 0x3d, 0x44, 0x7f, 0x9a, 0x0d, 0x34, 0x73, 0xe8, 0xa3, 0x90, 0x3a, 0xf6, + 0x92, 0x16, 0xcf, 0xca, 0x13, 0x56, 0x52, 0xb0, 0x0b, 0x72, 0x5c, 0x10, 0x11, 0xf3, 0x52, 0x46, + 0x89, 0xbe, 0x9e, 0xa7, 0xa8, 0x22, 0xb6, 0x97, 0xb5, 0x6c, 0x6e, 0x70, 0xc6, 0x5a, 0x10, 0xbe, + 0x03, 0x79, 0xd1, 0x0d, 0xa9, 0xf4, 0xa0, 0x94, 0x55, 0xe2, 0x28, 0x11, 0x1f, 0x4f, 0xd1, 0x48, + 0x5e, 0xfa, 0x24, 0xfd, 0x3c, 0xd6, 0x5d, 0xf6, 0xdf, 0x9a, 0x39, 0x9f, 0x20, 0x78, 0xc8, 0x58, + 0xf9, 0x94, 0x06, 0x95, 0x99, 0x93, 0xed, 0x04, 0x7e, 0x8b, 0x09, 0x16, 0xf8, 0x70, 0x1b, 0x64, + 0x65, 0x8b, 0x5a, 0x64, 0xc1, 0xfe, 0x2f, 0x71, 0x48, 0x12, 0xde, 0xf4, 0xca, 0xff, 0x4c, 0xd6, + 0x4b, 0x1c, 0xab, 0x0e, 0xf8, 0x08, 0xe4, 0x22, 0x4a, 0x78, 0xe0, 0xab, 0x75, 0x15, 0x46, 0x9f, + 0x89, 0x15, 0x8a, 0xf5, 0x2d, 0x7c, 0x0c, 0x16, 0x3d, 0xca, 0x39, 0x71, 0xa9, 0xb2, 0xb8, 0x60, + 0xaf, 0xe8, 0xc2, 0xc5, 0x83, 0x01, 0x8c, 0x93, 0x7b, 0x78, 0x0a, 0x96, 0xcf, 0x08, 0x17, 0x8d, + 0xb0, 0x45, 0x04, 0x3d, 0x66, 0x1e, 0xd5, 0xbe, 0x6c, 0x3e, 0xd0, 0x17, 0xe6, 0x51, 0x7b, 0x55, + 0xb3, 0x2f, 0xef, 0xdf, 0x62, 0xc2, 0x13, 0xcc, 0x95, 0x2f, 0x69, 0xb0, 0x3e, 0xd3, 0x9f, 0x7d, + 0xc6, 0x85, 0xdc, 0xcf, 0x44, 0xce, 0x1f, 0xb8, 0x1f, 0xd9, 0x7d, 0x7b, 0x3f, 0x09, 0x32, 0x96, + 0xf5, 0x10, 0x2c, 0x30, 0x41, 0x3d, 0x5e, 0x4a, 0x6f, 0x64, 0xaa, 0xc5, 0xfa, 0xde, 0x1c, 0x73, + 0x67, 0xff, 0xa5, 0x75, 0x17, 0x76, 0xa5, 0x02, 0x1e, 0x08, 0xdd, 0xca, 0x5b, 0x66, 0xee, 0x79, + 0xfb, 0x69, 0xfc, 0xc6, 0x4f, 0xf9, 0xe0, 0xe0, 0xff, 0x60, 0x31, 0x1a, 0x1c, 0x95, 0x9d, 0x4b, + 0x76, 0x51, 0x86, 0x40, 0x57, 0xe0, 0xe4, 0x0e, 0x6e, 0x81, 0x7c, 0xcc, 0x69, 0xe4, 0x13, 0x8f, + 0xea, 0x64, 0x0d, 0x65, 0x1b, 0x1a, 0xc7, 0xc3, 0x0a, 0xb8, 0x0e, 0x32, 0x31, 0x6b, 0xe9, 0x64, + 0x15, 0x75, 0x61, 0xa6, 0xb1, 0xfb, 0x12, 0x4b, 0x1c, 0x56, 0x40, 0xce, 0x8d, 0x82, 0x38, 0xe4, + 0xa5, 0xec, 0x46, 0xa6, 0x5a, 0xb0, 0x81, 0x0c, 0xe8, 0x2b, 0x85, 0x60, 0x7d, 0x03, 0xeb, 0x20, + 0xdf, 0xa1, 0xdd, 0x86, 0x4a, 0xe8, 0x82, 0xaa, 0x5a, 0x95, 0x55, 0x0a, 0xe0, 0x37, 0xbd, 0x72, + 0x7e, 0x4f, 0xdf, 0xe2, 0x61, 0x5d, 0xe5, 0x9b, 0x01, 0xca, 0xf7, 0xbc, 0x7b, 0xf8, 0xc1, 0x00, + 0xc0, 0x49, 0x1e, 0x0e, 0x2f, 0x19, 0x6a, 0xcf, 0xc7, 0x73, 0xdc, 0xf3, 0xf0, 0x55, 0x8e, 0xfe, + 0x56, 0x87, 0x10, 0xc7, 0x63, 0xda, 0xb0, 0x06, 0x8a, 0x63, 0xdc, 0xca, 0xd6, 0x25, 0x7b, 0xa5, + 0xdf, 0x2b, 0x17, 0xc7, 0xc8, 0xf1, 0x78, 0x8d, 0xbd, 0x79, 0x79, 0x6d, 0xa6, 0xae, 0xae, 0xcd, + 0xd4, 0xd7, 0x6b, 0x33, 0xf5, 0xbe, 0x6f, 0x1a, 0x97, 0x7d, 0xd3, 0xb8, 0xea, 0x9b, 0xc6, 0xf7, + 0xbe, 0x69, 0x7c, 0xfc, 0x61, 0xa6, 0xde, 0xe6, 0x93, 0x09, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, + 0x32, 0x89, 0x6c, 0x98, 0x07, 0x08, 0x00, 0x00, } diff --git a/pkg/apis/certificates/v1alpha1/generated.proto b/pkg/apis/certificates/v1alpha1/generated.proto index f88f9c2fd9c..1bde3edb29b 100644 --- a/pkg/apis/certificates/v1alpha1/generated.proto +++ b/pkg/apis/certificates/v1alpha1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.certificates.v1alpha1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -33,6 +33,8 @@ option go_package = "v1alpha1"; // Describes a certificate signing request message CertificateSigningRequest { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -59,12 +61,14 @@ message CertificateSigningRequestCondition { // timestamp for the last update to this condition // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastUpdateTime = 4; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 4; } message CertificateSigningRequestList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; repeated CertificateSigningRequest items = 2; } diff --git a/pkg/apis/certificates/v1alpha1/register.go b/pkg/apis/certificates/v1alpha1/register.go index d0dcc257ea0..e0e871855b0 100644 --- a/pkg/apis/certificates/v1alpha1/register.go +++ b/pkg/apis/certificates/v1alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/certificates/v1alpha1/types.generated.go b/pkg/apis/certificates/v1alpha1/types.generated.go index 574d0070012..de980899a76 100644 --- a/pkg/apis/certificates/v1alpha1/types.generated.go +++ b/pkg/apis/certificates/v1alpha1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/apis/certificates/v1alpha1/types.go b/pkg/apis/certificates/v1alpha1/types.go index a5e70bfcff9..eb950bb9628 100644 --- a/pkg/apis/certificates/v1alpha1/types.go +++ b/pkg/apis/certificates/v1alpha1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/certificates/v1alpha1/zz_generated.conversion.go b/pkg/apis/certificates/v1alpha1/zz_generated.conversion.go index 934559d0d6f..3b25e69e85c 100644 --- a/pkg/apis/certificates/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/certificates/v1alpha1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" certificates "k8s.io/kubernetes/pkg/apis/certificates" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/certificates/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/certificates/v1alpha1/zz_generated.deepcopy.go index 45c3bc8567c..9bacf3501fd 100644 --- a/pkg/apis/certificates/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/certificates/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/certificates/v1alpha1/zz_generated.defaults.go b/pkg/apis/certificates/v1alpha1/zz_generated.defaults.go index 307983e2e45..7e6df29d4ae 100644 --- a/pkg/apis/certificates/v1alpha1/zz_generated.defaults.go +++ b/pkg/apis/certificates/v1alpha1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1alpha1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/certificates/validation/BUILD b/pkg/apis/certificates/validation/BUILD index 69dc27b9c0b..65932ede13e 100644 --- a/pkg/apis/certificates/validation/BUILD +++ b/pkg/apis/certificates/validation/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/util/cert:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/apis/certificates/validation/validation.go b/pkg/apis/certificates/validation/validation.go index 1c12750fa47..3d6e19f40ea 100644 --- a/pkg/apis/certificates/validation/validation.go +++ b/pkg/apis/certificates/validation/validation.go @@ -19,10 +19,10 @@ package validation import ( "fmt" + "k8s.io/apimachinery/pkg/util/validation/field" apivalidation "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/apis/certificates" certutil "k8s.io/kubernetes/pkg/util/cert" - "k8s.io/kubernetes/pkg/util/validation/field" ) // validateCSR validates the signature and formatting of a base64-wrapped, diff --git a/pkg/apis/certificates/zz_generated.deepcopy.go b/pkg/apis/certificates/zz_generated.deepcopy.go index 2b45b553ec2..3e5d42edace 100644 --- a/pkg/apis/certificates/zz_generated.deepcopy.go +++ b/pkg/apis/certificates/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package certificates import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/componentconfig/BUILD b/pkg/apis/componentconfig/BUILD index c640410533b..aabe535516b 100644 --- a/pkg/apis/componentconfig/BUILD +++ b/pkg/apis/componentconfig/BUILD @@ -20,12 +20,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/net:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/apis/componentconfig/helpers.go b/pkg/apis/componentconfig/helpers.go index 43b625b7ec0..da3b3102044 100644 --- a/pkg/apis/componentconfig/helpers.go +++ b/pkg/apis/componentconfig/helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "net" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" ) // used for validating command line opts diff --git a/pkg/apis/componentconfig/register.go b/pkg/apis/componentconfig/register.go index d47a90df1d0..88f4c3b8370 100644 --- a/pkg/apis/componentconfig/register.go +++ b/pkg/apis/componentconfig/register.go @@ -17,8 +17,8 @@ limitations under the License. package componentconfig import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) var ( diff --git a/pkg/apis/componentconfig/types.go b/pkg/apis/componentconfig/types.go index 560e4b42df4..27512380c1a 100644 --- a/pkg/apis/componentconfig/types.go +++ b/pkg/apis/componentconfig/types.go @@ -17,8 +17,8 @@ limitations under the License. package componentconfig import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" utilconfig "k8s.io/kubernetes/pkg/util/config" ) diff --git a/pkg/apis/componentconfig/v1alpha1/BUILD b/pkg/apis/componentconfig/v1alpha1/BUILD index 633fe177bb3..49631b98667 100644 --- a/pkg/apis/componentconfig/v1alpha1/BUILD +++ b/pkg/apis/componentconfig/v1alpha1/BUILD @@ -23,14 +23,14 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/kubelet/qos:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/master/ports:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/componentconfig/v1alpha1/defaults.go b/pkg/apis/componentconfig/v1alpha1/defaults.go index 30f30b531d8..78a32975a90 100644 --- a/pkg/apis/componentconfig/v1alpha1/defaults.go +++ b/pkg/apis/componentconfig/v1alpha1/defaults.go @@ -21,12 +21,12 @@ import ( "runtime" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/qos" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/master/ports" - kruntime "k8s.io/kubernetes/pkg/runtime" ) const ( diff --git a/pkg/apis/componentconfig/v1alpha1/register.go b/pkg/apis/componentconfig/v1alpha1/register.go index 3967ed9904d..94f0f07caf2 100644 --- a/pkg/apis/componentconfig/v1alpha1/register.go +++ b/pkg/apis/componentconfig/v1alpha1/register.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/componentconfig/v1alpha1/types.go b/pkg/apis/componentconfig/v1alpha1/types.go index ea8104889c4..7c3b22547fa 100644 --- a/pkg/apis/componentconfig/v1alpha1/types.go +++ b/pkg/apis/componentconfig/v1alpha1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) type KubeProxyConfiguration struct { diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go b/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go index e810ddaf61d..a89819ae9b9 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go @@ -21,11 +21,11 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" componentconfig "k8s.io/kubernetes/pkg/apis/componentconfig" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" config "k8s.io/kubernetes/pkg/util/config" unsafe "unsafe" ) diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go index bf893b58e63..aac12afc867 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go b/pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go index 33614d2e0a3..72bebf23b6e 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go +++ b/pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1alpha1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/componentconfig/zz_generated.deepcopy.go b/pkg/apis/componentconfig/zz_generated.deepcopy.go index 1d10cd21094..fd0cb23d286 100644 --- a/pkg/apis/componentconfig/zz_generated.deepcopy.go +++ b/pkg/apis/componentconfig/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package componentconfig import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" config "k8s.io/kubernetes/pkg/util/config" reflect "reflect" ) diff --git a/pkg/apis/extensions/BUILD b/pkg/apis/extensions/BUILD index 7f43df5297b..cbbe4bc9022 100644 --- a/pkg/apis/extensions/BUILD +++ b/pkg/apis/extensions/BUILD @@ -22,11 +22,11 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/apis/autoscaling:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/extensions/install/BUILD b/pkg/apis/extensions/install/BUILD index 59a1562a2ae..d544b7bf6ba 100644 --- a/pkg/apis/extensions/install/BUILD +++ b/pkg/apis/extensions/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/extensions/install/install.go b/pkg/apis/extensions/install/install.go index 7381d7ce790..2cf962e98b3 100644 --- a/pkg/apis/extensions/install/install.go +++ b/pkg/apis/extensions/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/extensions/register.go b/pkg/apis/extensions/register.go index 344a8cdcc92..c7fbf67ff4e 100644 --- a/pkg/apis/extensions/register.go +++ b/pkg/apis/extensions/register.go @@ -17,11 +17,11 @@ limitations under the License. package extensions import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/extensions/types.go b/pkg/apis/extensions/types.go index fc676ea6a0d..94f6e3a2e62 100644 --- a/pkg/apis/extensions/types.go +++ b/pkg/apis/extensions/types.go @@ -29,9 +29,9 @@ support is experimental. package extensions import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/extensions/v1beta1/BUILD b/pkg/apis/extensions/v1beta1/BUILD index 0b4d4f00543..6b95dc17996 100644 --- a/pkg/apis/extensions/v1beta1/BUILD +++ b/pkg/apis/extensions/v1beta1/BUILD @@ -30,15 +30,15 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -53,9 +53,9 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/install:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/apis/extensions/v1beta1/conversion.go b/pkg/apis/extensions/v1beta1/conversion.go index 477f9de1966..3db1027dc9b 100644 --- a/pkg/apis/extensions/v1beta1/conversion.go +++ b/pkg/apis/extensions/v1beta1/conversion.go @@ -19,13 +19,13 @@ package v1beta1 import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/extensions/v1beta1/defaults.go b/pkg/apis/extensions/v1beta1/defaults.go index e81c74b4132..7564dd6190b 100644 --- a/pkg/apis/extensions/v1beta1/defaults.go +++ b/pkg/apis/extensions/v1beta1/defaults.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/extensions/v1beta1/defaults_test.go b/pkg/apis/extensions/v1beta1/defaults_test.go index da4a5e286d2..a76e0e7755d 100644 --- a/pkg/apis/extensions/v1beta1/defaults_test.go +++ b/pkg/apis/extensions/v1beta1/defaults_test.go @@ -20,14 +20,14 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/extensions/install" . "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/extensions/v1beta1/generated.pb.go b/pkg/apis/extensions/v1beta1/generated.pb.go index 619f307ad07..3c8b728b292 100644 --- a/pkg/apis/extensions/v1beta1/generated.pb.go +++ b/pkg/apis/extensions/v1beta1/generated.pb.go @@ -94,9 +94,9 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1" import k8s_io_kubernetes_pkg_util_intstr "k8s.io/kubernetes/pkg/util/intstr" import strings "strings" @@ -652,6 +652,14 @@ func (m *DaemonSet) MarshalTo(data []byte) (int, error) { return 0, err } i += n5 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n6, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 return i, nil } @@ -673,11 +681,11 @@ func (m *DaemonSetList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n6, err := m.ListMeta.MarshalTo(data[i:]) + n7, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n7 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -690,6 +698,14 @@ func (m *DaemonSetList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n8, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n8 return i, nil } @@ -712,20 +728,20 @@ func (m *DaemonSetSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n7, err := m.Selector.MarshalTo(data[i:]) + n9, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n9 } data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n8, err := m.Template.MarshalTo(data[i:]) + n10, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n10 return i, nil } @@ -780,27 +796,35 @@ func (m *Deployment) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n9, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n9 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n10, err := m.Spec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n10 - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n11, err := m.Status.MarshalTo(data[i:]) + n11, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n11 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n12, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n12 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n13, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n13 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n14, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n14 return i, nil } @@ -838,19 +862,19 @@ func (m *DeploymentCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.LastUpdateTime.Size())) - n12, err := m.LastUpdateTime.MarshalTo(data[i:]) + n15, err := m.LastUpdateTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n12 + i += n15 data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n13, err := m.LastTransitionTime.MarshalTo(data[i:]) + n16, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n13 + i += n16 return i, nil } @@ -872,11 +896,11 @@ func (m *DeploymentList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n14, err := m.ListMeta.MarshalTo(data[i:]) + n17, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n14 + i += n17 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -889,6 +913,14 @@ func (m *DeploymentList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n18, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n18 return i, nil } @@ -931,11 +963,19 @@ func (m *DeploymentRollback) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.RollbackTo.Size())) - n15, err := m.RollbackTo.MarshalTo(data[i:]) + n19, err := m.RollbackTo.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n15 + i += n19 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n20, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n20 return i, nil } @@ -963,28 +1003,28 @@ func (m *DeploymentSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n16, err := m.Selector.MarshalTo(data[i:]) + n21, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n16 + i += n21 } data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n17, err := m.Template.MarshalTo(data[i:]) + n22, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n17 + i += n22 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Strategy.Size())) - n18, err := m.Strategy.MarshalTo(data[i:]) + n23, err := m.Strategy.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n18 + i += n23 data[i] = 0x28 i++ i = encodeVarintGenerated(data, i, uint64(m.MinReadySeconds)) @@ -1005,11 +1045,11 @@ func (m *DeploymentSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.RollbackTo.Size())) - n19, err := m.RollbackTo.MarshalTo(data[i:]) + n24, err := m.RollbackTo.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n19 + i += n24 } if m.ProgressDeadlineSeconds != nil { data[i] = 0x48 @@ -1090,11 +1130,11 @@ func (m *DeploymentStrategy) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.RollingUpdate.Size())) - n20, err := m.RollingUpdate.MarshalTo(data[i:]) + n25, err := m.RollingUpdate.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n20 + i += n25 } return i, nil } @@ -1155,11 +1195,11 @@ func (m *HTTPIngressPath) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Backend.Size())) - n21, err := m.Backend.MarshalTo(data[i:]) + n26, err := m.Backend.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n21 + i += n26 return i, nil } @@ -1211,27 +1251,35 @@ func (m *HorizontalPodAutoscaler) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n22, err := m.ObjectMeta.MarshalTo(data[i:]) + n27, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n22 + i += n27 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n23, err := m.Spec.MarshalTo(data[i:]) + n28, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n23 + i += n28 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n24, err := m.Status.MarshalTo(data[i:]) + n29, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n24 + i += n29 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n30, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n30 return i, nil } @@ -1253,11 +1301,11 @@ func (m *HorizontalPodAutoscalerList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n25, err := m.ListMeta.MarshalTo(data[i:]) + n31, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n25 + i += n31 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1270,6 +1318,14 @@ func (m *HorizontalPodAutoscalerList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n32, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n32 return i, nil } @@ -1291,11 +1347,11 @@ func (m *HorizontalPodAutoscalerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ScaleRef.Size())) - n26, err := m.ScaleRef.MarshalTo(data[i:]) + n33, err := m.ScaleRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n26 + i += n33 if m.MinReplicas != nil { data[i] = 0x10 i++ @@ -1308,11 +1364,11 @@ func (m *HorizontalPodAutoscalerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.CPUUtilization.Size())) - n27, err := m.CPUUtilization.MarshalTo(data[i:]) + n34, err := m.CPUUtilization.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n27 + i += n34 } return i, nil } @@ -1341,11 +1397,11 @@ func (m *HorizontalPodAutoscalerStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.LastScaleTime.Size())) - n28, err := m.LastScaleTime.MarshalTo(data[i:]) + n35, err := m.LastScaleTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n28 + i += n35 } data[i] = 0x18 i++ @@ -1427,27 +1483,35 @@ func (m *Ingress) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n29, err := m.ObjectMeta.MarshalTo(data[i:]) + n36, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n29 + i += n36 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n30, err := m.Spec.MarshalTo(data[i:]) + n37, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n30 + i += n37 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n31, err := m.Status.MarshalTo(data[i:]) + n38, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n31 + i += n38 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n39, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n39 return i, nil } @@ -1473,11 +1537,11 @@ func (m *IngressBackend) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.ServicePort.Size())) - n32, err := m.ServicePort.MarshalTo(data[i:]) + n40, err := m.ServicePort.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n32 + i += n40 return i, nil } @@ -1499,11 +1563,11 @@ func (m *IngressList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n33, err := m.ListMeta.MarshalTo(data[i:]) + n41, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n33 + i += n41 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1516,6 +1580,14 @@ func (m *IngressList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n42, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n42 return i, nil } @@ -1541,11 +1613,11 @@ func (m *IngressRule) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.IngressRuleValue.Size())) - n34, err := m.IngressRuleValue.MarshalTo(data[i:]) + n43, err := m.IngressRuleValue.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n34 + i += n43 return i, nil } @@ -1568,11 +1640,11 @@ func (m *IngressRuleValue) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.HTTP.Size())) - n35, err := m.HTTP.MarshalTo(data[i:]) + n44, err := m.HTTP.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n35 + i += n44 } return i, nil } @@ -1596,11 +1668,11 @@ func (m *IngressSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Backend.Size())) - n36, err := m.Backend.MarshalTo(data[i:]) + n45, err := m.Backend.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n36 + i += n45 } if len(m.TLS) > 0 { for _, msg := range m.TLS { @@ -1647,11 +1719,11 @@ func (m *IngressStatus) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LoadBalancer.Size())) - n37, err := m.LoadBalancer.MarshalTo(data[i:]) + n46, err := m.LoadBalancer.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n37 + i += n46 return i, nil } @@ -1710,19 +1782,27 @@ func (m *NetworkPolicy) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n38, err := m.ObjectMeta.MarshalTo(data[i:]) + n47, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n38 + i += n47 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n39, err := m.Spec.MarshalTo(data[i:]) + n48, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n39 + i += n48 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n49, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n49 return i, nil } @@ -1786,11 +1866,11 @@ func (m *NetworkPolicyList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n40, err := m.ListMeta.MarshalTo(data[i:]) + n50, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n40 + i += n50 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1803,6 +1883,14 @@ func (m *NetworkPolicyList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n51, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n51 return i, nil } @@ -1825,21 +1913,21 @@ func (m *NetworkPolicyPeer) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodSelector.Size())) - n41, err := m.PodSelector.MarshalTo(data[i:]) + n52, err := m.PodSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n41 + i += n52 } if m.NamespaceSelector != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.NamespaceSelector.Size())) - n42, err := m.NamespaceSelector.MarshalTo(data[i:]) + n53, err := m.NamespaceSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n42 + i += n53 } return i, nil } @@ -1869,11 +1957,11 @@ func (m *NetworkPolicyPort) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n43, err := m.Port.MarshalTo(data[i:]) + n54, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n43 + i += n54 } return i, nil } @@ -1896,11 +1984,11 @@ func (m *NetworkPolicySpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodSelector.Size())) - n44, err := m.PodSelector.MarshalTo(data[i:]) + n55, err := m.PodSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n44 + i += n55 if len(m.Ingress) > 0 { for _, msg := range m.Ingress { data[i] = 0x12 @@ -1934,19 +2022,27 @@ func (m *PodSecurityPolicy) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n45, err := m.ObjectMeta.MarshalTo(data[i:]) + n56, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n45 + i += n56 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n46, err := m.Spec.MarshalTo(data[i:]) + n57, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n46 + i += n57 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n58, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n58 return i, nil } @@ -1968,11 +2064,11 @@ func (m *PodSecurityPolicyList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n47, err := m.ListMeta.MarshalTo(data[i:]) + n59, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n47 + i += n59 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1985,6 +2081,14 @@ func (m *PodSecurityPolicyList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n60, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n60 return i, nil } @@ -2110,35 +2214,35 @@ func (m *PodSecurityPolicySpec) MarshalTo(data []byte) (int, error) { data[i] = 0x52 i++ i = encodeVarintGenerated(data, i, uint64(m.SELinux.Size())) - n48, err := m.SELinux.MarshalTo(data[i:]) + n61, err := m.SELinux.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n48 + i += n61 data[i] = 0x5a i++ i = encodeVarintGenerated(data, i, uint64(m.RunAsUser.Size())) - n49, err := m.RunAsUser.MarshalTo(data[i:]) + n62, err := m.RunAsUser.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n49 + i += n62 data[i] = 0x62 i++ i = encodeVarintGenerated(data, i, uint64(m.SupplementalGroups.Size())) - n50, err := m.SupplementalGroups.MarshalTo(data[i:]) + n63, err := m.SupplementalGroups.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n50 + i += n63 data[i] = 0x6a i++ i = encodeVarintGenerated(data, i, uint64(m.FSGroup.Size())) - n51, err := m.FSGroup.MarshalTo(data[i:]) + n64, err := m.FSGroup.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n51 + i += n64 data[i] = 0x70 i++ if m.ReadOnlyRootFilesystem { @@ -2168,27 +2272,35 @@ func (m *ReplicaSet) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n52, err := m.ObjectMeta.MarshalTo(data[i:]) + n65, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n52 + i += n65 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n53, err := m.Spec.MarshalTo(data[i:]) + n66, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n53 + i += n66 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n54, err := m.Status.MarshalTo(data[i:]) + n67, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n54 + i += n67 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n68, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n68 return i, nil } @@ -2218,11 +2330,11 @@ func (m *ReplicaSetCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n55, err := m.LastTransitionTime.MarshalTo(data[i:]) + n69, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n55 + i += n69 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -2252,11 +2364,11 @@ func (m *ReplicaSetList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n56, err := m.ListMeta.MarshalTo(data[i:]) + n70, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n56 + i += n70 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2269,6 +2381,14 @@ func (m *ReplicaSetList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n71, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n71 return i, nil } @@ -2296,20 +2416,20 @@ func (m *ReplicaSetSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n57, err := m.Selector.MarshalTo(data[i:]) + n72, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n57 + i += n72 } data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n58, err := m.Template.MarshalTo(data[i:]) + n73, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n58 + i += n73 data[i] = 0x20 i++ i = encodeVarintGenerated(data, i, uint64(m.MinReadySeconds)) @@ -2376,6 +2496,14 @@ func (m *ReplicationControllerDummy) MarshalTo(data []byte) (int, error) { _ = i var l int _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n74, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n74 return i, nil } @@ -2419,21 +2547,21 @@ func (m *RollingUpdateDeployment) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.MaxUnavailable.Size())) - n59, err := m.MaxUnavailable.MarshalTo(data[i:]) + n75, err := m.MaxUnavailable.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n59 + i += n75 } if m.MaxSurge != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.MaxSurge.Size())) - n60, err := m.MaxSurge.MarshalTo(data[i:]) + n76, err := m.MaxSurge.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n60 + i += n76 } return i, nil } @@ -2495,11 +2623,11 @@ func (m *SELinuxStrategyOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n61, err := m.SELinuxOptions.MarshalTo(data[i:]) + n77, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n61 + i += n77 } return i, nil } @@ -2522,27 +2650,35 @@ func (m *Scale) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n62, err := m.ObjectMeta.MarshalTo(data[i:]) + n78, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n62 + i += n78 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n63, err := m.Spec.MarshalTo(data[i:]) + n79, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n63 + i += n79 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n64, err := m.Status.MarshalTo(data[i:]) + n80, err := m.Status.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n64 + i += n80 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n81, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n81 return i, nil } @@ -2695,11 +2831,11 @@ func (m *ThirdPartyResource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n65, err := m.ObjectMeta.MarshalTo(data[i:]) + n82, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n65 + i += n82 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Description))) @@ -2716,6 +2852,14 @@ func (m *ThirdPartyResource) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n83, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n83 return i, nil } @@ -2737,17 +2881,25 @@ func (m *ThirdPartyResourceData) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n66, err := m.ObjectMeta.MarshalTo(data[i:]) + n84, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n66 + i += n84 if m.Data != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Data))) i += copy(data[i:], m.Data) } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n85, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n85 return i, nil } @@ -2769,11 +2921,11 @@ func (m *ThirdPartyResourceDataList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n67, err := m.ListMeta.MarshalTo(data[i:]) + n86, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n67 + i += n86 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2786,6 +2938,14 @@ func (m *ThirdPartyResourceDataList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n87, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n87 return i, nil } @@ -2807,11 +2967,11 @@ func (m *ThirdPartyResourceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n68, err := m.ListMeta.MarshalTo(data[i:]) + n88, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n68 + i += n88 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2824,6 +2984,14 @@ func (m *ThirdPartyResourceList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n89, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n89 return i, nil } @@ -2922,6 +3090,8 @@ func (m *DaemonSet) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -2936,6 +3106,8 @@ func (m *DaemonSetList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -2971,6 +3143,8 @@ func (m *Deployment) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3003,6 +3177,8 @@ func (m *DeploymentList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3021,6 +3197,8 @@ func (m *DeploymentRollback) Size() (n int) { } l = m.RollbackTo.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3128,6 +3306,8 @@ func (m *HorizontalPodAutoscaler) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3142,6 +3322,8 @@ func (m *HorizontalPodAutoscalerList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3204,6 +3386,8 @@ func (m *Ingress) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3228,6 +3412,8 @@ func (m *IngressList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3302,6 +3488,8 @@ func (m *NetworkPolicy) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Spec.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3334,6 +3522,8 @@ func (m *NetworkPolicyList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3386,6 +3576,8 @@ func (m *PodSecurityPolicy) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Spec.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3400,6 +3592,8 @@ func (m *PodSecurityPolicyList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3461,6 +3655,8 @@ func (m *ReplicaSet) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3491,6 +3687,8 @@ func (m *ReplicaSetList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3530,6 +3728,8 @@ func (m *ReplicaSetStatus) Size() (n int) { func (m *ReplicationControllerDummy) Size() (n int) { var l int _ = l + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3589,6 +3789,8 @@ func (m *Scale) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3657,6 +3859,8 @@ func (m *ThirdPartyResource) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3669,6 +3873,8 @@ func (m *ThirdPartyResourceData) Size() (n int) { l = len(m.Data) n += 1 + l + sovGenerated(uint64(l)) } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3683,6 +3889,8 @@ func (m *ThirdPartyResourceDataList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3697,6 +3905,8 @@ func (m *ThirdPartyResourceList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -3783,6 +3993,7 @@ func (this *DaemonSet) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "DaemonSetSpec", "DaemonSetSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "DaemonSetStatus", "DaemonSetStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3792,8 +4003,9 @@ func (this *DaemonSetList) String() string { return "nil" } s := strings.Join([]string{`&DaemonSetList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "DaemonSet", "DaemonSet", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3803,7 +4015,7 @@ func (this *DaemonSetSpec) String() string { return "nil" } s := strings.Join([]string{`&DaemonSetSpec{`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `}`, }, "") @@ -3831,6 +4043,7 @@ func (this *Deployment) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "DeploymentSpec", "DeploymentSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "DeploymentStatus", "DeploymentStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3844,8 +4057,8 @@ func (this *DeploymentCondition) String() string { `Status:` + fmt.Sprintf("%v", this.Status) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, - `LastUpdateTime:` + strings.Replace(strings.Replace(this.LastUpdateTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastUpdateTime:` + strings.Replace(strings.Replace(this.LastUpdateTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3855,8 +4068,9 @@ func (this *DeploymentList) String() string { return "nil" } s := strings.Join([]string{`&DeploymentList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Deployment", "Deployment", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3879,6 +4093,7 @@ func (this *DeploymentRollback) String() string { `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `UpdatedAnnotations:` + mapStringForUpdatedAnnotations + `,`, `RollbackTo:` + strings.Replace(strings.Replace(this.RollbackTo.String(), "RollbackConfig", "RollbackConfig", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3889,7 +4104,7 @@ func (this *DeploymentSpec) String() string { } s := strings.Join([]string{`&DeploymentSpec{`, `Replicas:` + valueToStringGenerated(this.Replicas) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `Strategy:` + strings.Replace(strings.Replace(this.Strategy.String(), "DeploymentStrategy", "DeploymentStrategy", 1), `&`, ``, 1) + `,`, `MinReadySeconds:` + fmt.Sprintf("%v", this.MinReadySeconds) + `,`, @@ -3968,6 +4183,7 @@ func (this *HorizontalPodAutoscaler) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "HorizontalPodAutoscalerSpec", "HorizontalPodAutoscalerSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "HorizontalPodAutoscalerStatus", "HorizontalPodAutoscalerStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3977,8 +4193,9 @@ func (this *HorizontalPodAutoscalerList) String() string { return "nil" } s := strings.Join([]string{`&HorizontalPodAutoscalerList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "HorizontalPodAutoscaler", "HorizontalPodAutoscaler", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4002,7 +4219,7 @@ func (this *HorizontalPodAutoscalerStatus) String() string { } s := strings.Join([]string{`&HorizontalPodAutoscalerStatus{`, `ObservedGeneration:` + valueToStringGenerated(this.ObservedGeneration) + `,`, - `LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1) + `,`, + `LastScaleTime:` + strings.Replace(fmt.Sprintf("%v", this.LastScaleTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, `CurrentReplicas:` + fmt.Sprintf("%v", this.CurrentReplicas) + `,`, `DesiredReplicas:` + fmt.Sprintf("%v", this.DesiredReplicas) + `,`, `CurrentCPUUtilizationPercentage:` + valueToStringGenerated(this.CurrentCPUUtilizationPercentage) + `,`, @@ -4040,6 +4257,7 @@ func (this *Ingress) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "IngressSpec", "IngressSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "IngressStatus", "IngressStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4060,8 +4278,9 @@ func (this *IngressList) String() string { return "nil" } s := strings.Join([]string{`&IngressList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Ingress", "Ingress", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4127,6 +4346,7 @@ func (this *NetworkPolicy) String() string { s := strings.Join([]string{`&NetworkPolicy{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "NetworkPolicySpec", "NetworkPolicySpec", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4147,8 +4367,9 @@ func (this *NetworkPolicyList) String() string { return "nil" } s := strings.Join([]string{`&NetworkPolicyList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "NetworkPolicy", "NetworkPolicy", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4158,8 +4379,8 @@ func (this *NetworkPolicyPeer) String() string { return "nil" } s := strings.Join([]string{`&NetworkPolicyPeer{`, - `PodSelector:` + strings.Replace(fmt.Sprintf("%v", this.PodSelector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, - `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `PodSelector:` + strings.Replace(fmt.Sprintf("%v", this.PodSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `}`, }, "") return s @@ -4180,7 +4401,7 @@ func (this *NetworkPolicySpec) String() string { return "nil" } s := strings.Join([]string{`&NetworkPolicySpec{`, - `PodSelector:` + strings.Replace(strings.Replace(this.PodSelector.String(), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1), `&`, ``, 1) + `,`, + `PodSelector:` + strings.Replace(strings.Replace(this.PodSelector.String(), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1), `&`, ``, 1) + `,`, `Ingress:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Ingress), "NetworkPolicyIngressRule", "NetworkPolicyIngressRule", 1), `&`, ``, 1) + `,`, `}`, }, "") @@ -4193,6 +4414,7 @@ func (this *PodSecurityPolicy) String() string { s := strings.Join([]string{`&PodSecurityPolicy{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodSecurityPolicySpec", "PodSecurityPolicySpec", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4202,8 +4424,9 @@ func (this *PodSecurityPolicyList) String() string { return "nil" } s := strings.Join([]string{`&PodSecurityPolicyList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "PodSecurityPolicy", "PodSecurityPolicy", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4239,6 +4462,7 @@ func (this *ReplicaSet) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ReplicaSetSpec", "ReplicaSetSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ReplicaSetStatus", "ReplicaSetStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4250,7 +4474,7 @@ func (this *ReplicaSetCondition) String() string { s := strings.Join([]string{`&ReplicaSetCondition{`, `Type:` + fmt.Sprintf("%v", this.Type) + `,`, `Status:` + fmt.Sprintf("%v", this.Status) + `,`, - `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_kubernetes_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `}`, @@ -4262,8 +4486,9 @@ func (this *ReplicaSetList) String() string { return "nil" } s := strings.Join([]string{`&ReplicaSetList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ReplicaSet", "ReplicaSet", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4274,7 +4499,7 @@ func (this *ReplicaSetSpec) String() string { } s := strings.Join([]string{`&ReplicaSetSpec{`, `Replicas:` + valueToStringGenerated(this.Replicas) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `MinReadySeconds:` + fmt.Sprintf("%v", this.MinReadySeconds) + `,`, `}`, @@ -4301,6 +4526,7 @@ func (this *ReplicationControllerDummy) String() string { return "nil" } s := strings.Join([]string{`&ReplicationControllerDummy{`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4356,6 +4582,7 @@ func (this *Scale) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ScaleSpec", "ScaleSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ScaleStatus", "ScaleStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4424,6 +4651,7 @@ func (this *ThirdPartyResource) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Description:` + fmt.Sprintf("%v", this.Description) + `,`, `Versions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Versions), "APIVersion", "APIVersion", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4435,6 +4663,7 @@ func (this *ThirdPartyResourceData) String() string { s := strings.Join([]string{`&ThirdPartyResourceData{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Data:` + valueToStringGenerated(this.Data) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4444,8 +4673,9 @@ func (this *ThirdPartyResourceDataList) String() string { return "nil" } s := strings.Join([]string{`&ThirdPartyResourceDataList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ThirdPartyResourceData", "ThirdPartyResourceData", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -4455,8 +4685,9 @@ func (this *ThirdPartyResourceList) String() string { return "nil" } s := strings.Join([]string{`&ThirdPartyResourceList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ThirdPartyResource", "ThirdPartyResource", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -5116,6 +5347,36 @@ func (m *DaemonSet) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -5227,6 +5488,36 @@ func (m *DaemonSetList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -5304,7 +5595,7 @@ func (m *DaemonSetSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -5625,6 +5916,36 @@ func (m *Deployment) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -5962,6 +6283,36 @@ func (m *DeploymentList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -6182,6 +6533,36 @@ func (m *DeploymentRollback) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -6279,7 +6660,7 @@ func (m *DeploymentSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -7204,6 +7585,36 @@ func (m *HorizontalPodAutoscaler) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -7315,6 +7726,36 @@ func (m *HorizontalPodAutoscalerList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -7564,7 +8005,7 @@ func (m *HorizontalPodAutoscalerStatus) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.LastScaleTime == nil { - m.LastScaleTime = &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + m.LastScaleTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} } if err := m.LastScaleTime.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -7944,6 +8385,36 @@ func (m *Ingress) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -8164,6 +8635,36 @@ func (m *IngressList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -8799,6 +9300,36 @@ func (m *NetworkPolicy) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -9022,6 +9553,36 @@ func (m *NetworkPolicyList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -9099,7 +9660,7 @@ func (m *NetworkPolicyPeer) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.PodSelector == nil { - m.PodSelector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.PodSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.PodSelector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -9132,7 +9693,7 @@ func (m *NetworkPolicyPeer) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.NamespaceSelector == nil { - m.NamespaceSelector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.NamespaceSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.NamespaceSelector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -9472,6 +10033,36 @@ func (m *PodSecurityPolicy) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -9583,6 +10174,36 @@ func (m *PodSecurityPolicyList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -10140,6 +10761,36 @@ func (m *ReplicaSet) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -10447,6 +11098,36 @@ func (m *ReplicaSetList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -10544,7 +11225,7 @@ func (m *ReplicaSetSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -10825,6 +11506,36 @@ func (m *ReplicationControllerDummy) Unmarshal(data []byte) error { return fmt.Errorf("proto: ReplicationControllerDummy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -11372,6 +12083,36 @@ func (m *Scale) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -12066,6 +12807,36 @@ func (m *ThirdPartyResource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -12177,6 +12948,36 @@ func (m *ThirdPartyResourceData) Unmarshal(data []byte) error { m.Data = []byte{} } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -12288,6 +13089,36 @@ func (m *ThirdPartyResourceDataList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -12399,6 +13230,36 @@ func (m *ThirdPartyResourceList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -12526,228 +13387,233 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 3554 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe4, 0x5b, 0x4d, 0x6c, 0x1c, 0xc7, - 0x95, 0x56, 0xcf, 0x70, 0x44, 0xf2, 0x8d, 0x48, 0x8a, 0x45, 0x9a, 0x1a, 0xd3, 0x36, 0x47, 0x6e, - 0x63, 0x6d, 0x19, 0x90, 0x86, 0x2b, 0xed, 0xca, 0x6b, 0xcb, 0xb6, 0x6c, 0x0e, 0x29, 0x4a, 0xf4, - 0x92, 0xd2, 0xb8, 0x66, 0xa8, 0xf5, 0xda, 0x5e, 0x1b, 0xcd, 0x99, 0xe2, 0xb0, 0xc5, 0xfe, 0x73, - 0x77, 0x35, 0xcd, 0xb1, 0xb1, 0xb0, 0x81, 0xc5, 0x5e, 0x1d, 0xdf, 0x92, 0x83, 0x73, 0xc8, 0x21, - 0xc8, 0x29, 0x46, 0x0c, 0x04, 0xf0, 0x31, 0xa7, 0x24, 0x4a, 0x90, 0x00, 0x4e, 0x80, 0x20, 0x41, - 0xe0, 0x30, 0x31, 0xe3, 0xe4, 0x1e, 0xe4, 0xa6, 0x5c, 0x82, 0xaa, 0xae, 0xfe, 0x9d, 0xee, 0x91, - 0x66, 0xa8, 0x31, 0x02, 0xe4, 0x36, 0x5d, 0xf5, 0xde, 0xf7, 0xde, 0xab, 0x9f, 0xf7, 0x5e, 0x55, - 0xbd, 0x81, 0xe7, 0x77, 0x9f, 0x76, 0x2a, 0xaa, 0xb9, 0xb8, 0xeb, 0x6e, 0x11, 0xdb, 0x20, 0x94, - 0x38, 0x8b, 0xd6, 0x6e, 0x7b, 0x51, 0xb1, 0x54, 0x67, 0x91, 0xec, 0x53, 0x62, 0x38, 0xaa, 0x69, - 0x38, 0x8b, 0x7b, 0xe7, 0xb7, 0x08, 0x55, 0xce, 0x2f, 0xb6, 0x89, 0x41, 0x6c, 0x85, 0x92, 0x56, - 0xc5, 0xb2, 0x4d, 0x6a, 0xa2, 0x73, 0x1e, 0x7b, 0x25, 0x64, 0xaf, 0x58, 0xbb, 0xed, 0x0a, 0x63, - 0xaf, 0x84, 0xec, 0x15, 0xc1, 0x3e, 0x7f, 0xae, 0xad, 0xd2, 0x1d, 0x77, 0xab, 0xd2, 0x34, 0xf5, - 0xc5, 0xb6, 0xd9, 0x36, 0x17, 0x39, 0xca, 0x96, 0xbb, 0xcd, 0xbf, 0xf8, 0x07, 0xff, 0xe5, 0xa1, - 0xcf, 0x5f, 0xc8, 0x54, 0x6e, 0xd1, 0x26, 0x8e, 0xe9, 0xda, 0x4d, 0x92, 0xd4, 0x68, 0xfe, 0x6c, - 0x36, 0xcf, 0x5e, 0x97, 0xfe, 0x3d, 0x24, 0x38, 0x8b, 0x3a, 0xa1, 0x4a, 0x1a, 0xcf, 0xb9, 0x74, - 0x1e, 0xdb, 0x35, 0xa8, 0xaa, 0x77, 0x2b, 0xf4, 0xef, 0xbd, 0xc9, 0x9d, 0xe6, 0x0e, 0xd1, 0x95, - 0x2e, 0xae, 0xf3, 0xe9, 0x5c, 0x2e, 0x55, 0xb5, 0x45, 0xd5, 0xa0, 0x0e, 0xb5, 0x93, 0x2c, 0x72, - 0x05, 0x60, 0xa9, 0xb6, 0x76, 0x93, 0xd8, 0x6c, 0xcc, 0xd1, 0x69, 0x18, 0x31, 0x14, 0x9d, 0x94, - 0xa4, 0xd3, 0xd2, 0x99, 0xf1, 0xea, 0x89, 0xdb, 0x07, 0xe5, 0x63, 0x87, 0x07, 0xe5, 0x91, 0xeb, - 0x8a, 0x4e, 0x30, 0xef, 0x91, 0x5f, 0x87, 0xd9, 0xe5, 0xda, 0x66, 0x43, 0xb1, 0xdb, 0x84, 0x6e, - 0x52, 0x55, 0x53, 0xdf, 0x51, 0x28, 0xe3, 0x5c, 0x81, 0x93, 0x94, 0x37, 0xd6, 0x88, 0xdd, 0x24, - 0x06, 0x55, 0xda, 0x1e, 0x4a, 0xa1, 0x5a, 0x12, 0x28, 0x27, 0x1b, 0x89, 0x7e, 0xdc, 0xc5, 0x21, - 0x7f, 0x5d, 0x82, 0x07, 0x97, 0x5d, 0x87, 0x9a, 0xfa, 0x06, 0xa1, 0xb6, 0xda, 0x5c, 0x76, 0x6d, - 0x9b, 0x18, 0xb4, 0x4e, 0x15, 0xea, 0x3a, 0x77, 0xd7, 0x0e, 0xbd, 0x02, 0x85, 0x3d, 0x45, 0x73, - 0x49, 0x29, 0x77, 0x5a, 0x3a, 0x53, 0xbc, 0x70, 0xb6, 0x92, 0xb9, 0xd2, 0x2a, 0xfe, 0x5a, 0xa8, - 0xbc, 0xec, 0x2a, 0x06, 0x55, 0x69, 0xa7, 0x3a, 0x2b, 0x00, 0x4f, 0x08, 0xa9, 0x37, 0x19, 0x12, - 0xf6, 0x00, 0xe5, 0x0f, 0x24, 0x78, 0x24, 0x53, 0xb3, 0x75, 0xd5, 0xa1, 0x48, 0x87, 0x82, 0x4a, - 0x89, 0xee, 0x94, 0xa4, 0xd3, 0xf9, 0x33, 0xc5, 0x0b, 0xd7, 0x2a, 0x7d, 0xad, 0xf2, 0x4a, 0x26, - 0x78, 0x75, 0x42, 0xe8, 0x55, 0x58, 0x63, 0xf0, 0xd8, 0x93, 0x22, 0x7f, 0x4d, 0x02, 0x14, 0xe5, - 0xf1, 0x46, 0xf7, 0x1e, 0xc6, 0xe8, 0xbf, 0x8e, 0x32, 0x46, 0x33, 0x02, 0xb0, 0xe8, 0x89, 0x8b, - 0x0d, 0xd1, 0xfb, 0x12, 0xcc, 0x75, 0x6b, 0xc4, 0xc7, 0x66, 0x3b, 0x3e, 0x36, 0x4b, 0x47, 0x18, - 0x1b, 0x0f, 0x35, 0x63, 0x50, 0xbe, 0x9b, 0x83, 0xf1, 0x15, 0x85, 0xe8, 0xa6, 0x51, 0x27, 0x14, - 0xbd, 0x02, 0x63, 0x6c, 0x3b, 0xb6, 0x14, 0xaa, 0xf0, 0xf1, 0x28, 0x5e, 0x38, 0xd3, 0xc3, 0xd8, - 0xbd, 0xf3, 0x95, 0x1b, 0x5b, 0xb7, 0x48, 0x93, 0x6e, 0x10, 0xaa, 0x54, 0x91, 0xc0, 0x87, 0xb0, - 0x0d, 0x07, 0x68, 0xe8, 0x0d, 0x18, 0x71, 0x2c, 0xd2, 0x14, 0x43, 0xf8, 0x5c, 0x9f, 0xe6, 0x04, - 0x1a, 0xd6, 0x2d, 0xd2, 0x0c, 0xe7, 0x88, 0x7d, 0x61, 0x8e, 0x8b, 0xb6, 0xe1, 0xb8, 0xc3, 0x27, - 0xbf, 0x94, 0xe7, 0x12, 0x2e, 0x0f, 0x2c, 0xc1, 0x5b, 0x42, 0x93, 0x42, 0xc6, 0x71, 0xef, 0x1b, - 0x0b, 0x74, 0xf9, 0xa7, 0x12, 0x4c, 0x04, 0xb4, 0x7c, 0xa6, 0x5e, 0xed, 0x1a, 0xb3, 0xb3, 0xbd, - 0x64, 0x33, 0x5a, 0x36, 0x72, 0x8c, 0x97, 0x8f, 0xdb, 0x49, 0x21, 0x69, 0xcc, 0x6f, 0x89, 0x8c, - 0xda, 0xff, 0xf8, 0xab, 0x20, 0xc7, 0x57, 0xc1, 0xd3, 0x83, 0x1a, 0x95, 0x31, 0xf9, 0x3f, 0x89, - 0x1a, 0xc3, 0x06, 0x13, 0xbd, 0x06, 0x63, 0x0e, 0xd1, 0x48, 0x93, 0x9a, 0xb6, 0x30, 0xe6, 0xfc, - 0x3d, 0x19, 0xa3, 0x6c, 0x11, 0xad, 0x2e, 0x18, 0xab, 0x27, 0x98, 0x35, 0xfe, 0x17, 0x0e, 0x00, - 0x19, 0x38, 0x25, 0xba, 0xa5, 0x29, 0xd4, 0xdf, 0x4a, 0xe7, 0x7a, 0xaf, 0xae, 0x9a, 0xd9, 0x6a, - 0x08, 0x06, 0x3e, 0xf1, 0xc1, 0x50, 0xf9, 0xad, 0x38, 0x00, 0x94, 0x3f, 0xcc, 0xc3, 0x54, 0x62, - 0x12, 0xd1, 0x4d, 0x98, 0x6b, 0x7a, 0x8e, 0xe1, 0xba, 0xab, 0x6f, 0x11, 0xbb, 0xde, 0xdc, 0x21, - 0x2d, 0x57, 0x23, 0x2d, 0xe1, 0x68, 0x17, 0x04, 0xde, 0xdc, 0x72, 0x2a, 0x15, 0xce, 0xe0, 0x46, - 0x2f, 0x01, 0x32, 0x78, 0xd3, 0x86, 0xea, 0x38, 0x01, 0x66, 0x8e, 0x63, 0xce, 0x0b, 0x4c, 0x74, - 0xbd, 0x8b, 0x02, 0xa7, 0x70, 0x31, 0x1d, 0x5b, 0xc4, 0x51, 0x6d, 0xd2, 0x4a, 0xea, 0x98, 0x8f, - 0xeb, 0xb8, 0x92, 0x4a, 0x85, 0x33, 0xb8, 0xd1, 0x45, 0x28, 0x7a, 0xd2, 0x30, 0x51, 0x5a, 0x9d, - 0xd2, 0x08, 0x07, 0x0b, 0x9c, 0xd1, 0xf5, 0xb0, 0x0b, 0x47, 0xe9, 0x98, 0x69, 0xe6, 0x96, 0x43, - 0xec, 0x3d, 0xd2, 0xba, 0xea, 0x05, 0x3e, 0xd5, 0x34, 0x4a, 0x85, 0xd3, 0xd2, 0x99, 0x7c, 0x68, - 0xda, 0x8d, 0x2e, 0x0a, 0x9c, 0xc2, 0x25, 0x7f, 0x2f, 0x07, 0xb0, 0x42, 0x2c, 0xcd, 0xec, 0xe8, - 0xc4, 0x18, 0xa6, 0x73, 0x79, 0x33, 0xe6, 0x5c, 0x9e, 0xef, 0x77, 0x97, 0x04, 0x2a, 0x66, 0x7a, - 0x97, 0x76, 0xc2, 0xbb, 0xbc, 0x30, 0xb8, 0x88, 0xde, 0xee, 0xe5, 0x77, 0x79, 0x98, 0x09, 0x89, - 0x97, 0x4d, 0xa3, 0xa5, 0xf2, 0x64, 0xe1, 0x59, 0x18, 0xa1, 0x1d, 0xcb, 0x0f, 0x52, 0x4f, 0xf8, - 0x2a, 0x36, 0x3a, 0x16, 0xb9, 0x73, 0x50, 0x3e, 0x95, 0xc2, 0xc2, 0xba, 0x30, 0x67, 0x42, 0x37, - 0x03, 0xed, 0x73, 0x9c, 0xfd, 0x72, 0x5c, 0xf8, 0x9d, 0x83, 0x72, 0xcf, 0x6c, 0xae, 0x12, 0x60, - 0xc6, 0x95, 0x45, 0x8f, 0xc3, 0x71, 0x9b, 0x28, 0x8e, 0x69, 0xf0, 0xd5, 0x35, 0x1e, 0x1a, 0x85, - 0x79, 0x2b, 0x16, 0xbd, 0xe8, 0x49, 0x18, 0xd5, 0x89, 0xe3, 0xb0, 0x04, 0xa7, 0xc0, 0x09, 0xa7, - 0x04, 0xe1, 0xe8, 0x86, 0xd7, 0x8c, 0xfd, 0x7e, 0xb4, 0x03, 0x93, 0x9a, 0xe2, 0xd0, 0x4d, 0xab, - 0xa5, 0x50, 0xd2, 0x50, 0x75, 0x52, 0x3a, 0x7e, 0xb7, 0x95, 0x12, 0x7a, 0x21, 0x46, 0x5f, 0x9d, - 0x13, 0xd8, 0x93, 0xeb, 0x31, 0x1c, 0x9c, 0xc0, 0x45, 0x14, 0x10, 0x6b, 0x69, 0xd8, 0x8a, 0xe1, - 0x78, 0x03, 0xc6, 0xa4, 0x8d, 0xf6, 0x29, 0x2d, 0xd8, 0x12, 0xeb, 0x5d, 0x58, 0x38, 0x05, 0x5f, - 0xfe, 0x99, 0x04, 0x93, 0xe1, 0x64, 0x0d, 0x3d, 0x7e, 0xbc, 0x11, 0x8f, 0x1f, 0xcf, 0x0c, 0xbc, - 0x6c, 0x33, 0x02, 0xc8, 0x37, 0xf2, 0x80, 0x42, 0x22, 0x6c, 0x6a, 0xda, 0x96, 0xd2, 0xdc, 0xbd, - 0x87, 0x94, 0xea, 0xdb, 0x12, 0x20, 0x97, 0x4f, 0x46, 0x6b, 0xc9, 0x30, 0x4c, 0xca, 0x1d, 0x86, - 0xaf, 0xe6, 0x7f, 0x0f, 0xac, 0xa6, 0xaf, 0x41, 0x65, 0xb3, 0x0b, 0xfb, 0x8a, 0x41, 0xed, 0x4e, - 0x38, 0x5f, 0xdd, 0x04, 0x38, 0x45, 0x21, 0xf4, 0x16, 0x80, 0x2d, 0x30, 0x1b, 0xa6, 0xd8, 0xfc, - 0xfd, 0xfa, 0x17, 0x5f, 0xa9, 0x65, 0xd3, 0xd8, 0x56, 0xdb, 0xa1, 0x2b, 0xc3, 0x01, 0x30, 0x8e, - 0x08, 0x99, 0xbf, 0x02, 0xa7, 0x32, 0xb4, 0x47, 0x27, 0x21, 0xbf, 0x4b, 0x3a, 0xde, 0xb0, 0x62, - 0xf6, 0x13, 0xcd, 0x46, 0x53, 0xd3, 0x71, 0x91, 0x57, 0x5e, 0xca, 0x3d, 0x2d, 0xc9, 0x5f, 0x16, - 0xa2, 0x2b, 0x8d, 0x07, 0xf7, 0x33, 0x30, 0x66, 0x13, 0x4b, 0x53, 0x9b, 0x8a, 0x23, 0x02, 0x20, - 0x8f, 0xd4, 0x58, 0xb4, 0xe1, 0xa0, 0x37, 0x96, 0x06, 0xe4, 0x86, 0x99, 0x06, 0xe4, 0xef, 0x73, - 0x1a, 0x80, 0x4c, 0x18, 0x73, 0x28, 0x3b, 0xae, 0xb5, 0xbd, 0x98, 0xd7, 0x7f, 0xea, 0x1c, 0xf5, - 0xd5, 0x1e, 0x50, 0x28, 0xd0, 0x6f, 0xc1, 0x81, 0x10, 0xb4, 0x04, 0x53, 0xba, 0x6a, 0xf0, 0xe0, - 0x59, 0x27, 0x4d, 0xd3, 0x68, 0x39, 0xdc, 0xc9, 0x15, 0xaa, 0xa7, 0x04, 0xd3, 0xd4, 0x46, 0xbc, - 0x1b, 0x27, 0xe9, 0xd1, 0x3a, 0xcc, 0xda, 0x64, 0x4f, 0x65, 0x6a, 0x5c, 0x53, 0x1d, 0x6a, 0xda, - 0x9d, 0x75, 0x55, 0x57, 0x29, 0x77, 0x7d, 0x85, 0x6a, 0xe9, 0xf0, 0xa0, 0x3c, 0x8b, 0x53, 0xfa, - 0x71, 0x2a, 0x17, 0xf3, 0xca, 0x96, 0xe2, 0x3a, 0xa4, 0xc5, 0x9d, 0xd9, 0x58, 0xe8, 0x95, 0x6b, - 0xbc, 0x15, 0x8b, 0x5e, 0xa4, 0xc7, 0x96, 0xf6, 0xd8, 0xfd, 0x58, 0xda, 0x93, 0xd9, 0xcb, 0x1a, - 0x6d, 0xc2, 0x29, 0xcb, 0x36, 0xdb, 0x36, 0x71, 0x9c, 0x15, 0xa2, 0xb4, 0x34, 0xd5, 0x20, 0xfe, - 0x78, 0x8d, 0x73, 0x3b, 0x1f, 0x3a, 0x3c, 0x28, 0x9f, 0xaa, 0xa5, 0x93, 0xe0, 0x2c, 0x5e, 0xf9, - 0xa3, 0x11, 0x38, 0x99, 0x8c, 0xae, 0x19, 0x49, 0x8c, 0x34, 0x48, 0x12, 0x83, 0xce, 0x46, 0x36, - 0x8d, 0x97, 0xe1, 0x05, 0xab, 0x21, 0x65, 0xe3, 0x2c, 0xc1, 0x94, 0xf0, 0x22, 0x7e, 0xa7, 0x48, - 0xe3, 0x82, 0xd5, 0xb0, 0x19, 0xef, 0xc6, 0x49, 0x7a, 0x74, 0x15, 0xa6, 0x95, 0x3d, 0x45, 0xd5, - 0x94, 0x2d, 0x8d, 0x04, 0x20, 0x5e, 0xfa, 0xf6, 0xa0, 0x00, 0x99, 0x5e, 0x4a, 0x12, 0xe0, 0x6e, - 0x1e, 0xb4, 0x01, 0x33, 0xae, 0xd1, 0x0d, 0xe5, 0xad, 0xce, 0x87, 0x04, 0xd4, 0xcc, 0x66, 0x37, - 0x09, 0x4e, 0xe3, 0x43, 0x7b, 0x00, 0x4d, 0x3f, 0x11, 0x70, 0x4a, 0xc7, 0xb9, 0xa7, 0xae, 0x0e, - 0xbc, 0xb7, 0x82, 0x9c, 0x22, 0xf4, 0x87, 0x41, 0x93, 0x83, 0x23, 0x92, 0xd0, 0xb3, 0x30, 0x61, - 0xf3, 0x3c, 0xd5, 0x37, 0x60, 0x94, 0x1b, 0xf0, 0x80, 0x60, 0x9b, 0xc0, 0xd1, 0x4e, 0x1c, 0xa7, - 0x95, 0x7f, 0x21, 0x45, 0x03, 0x94, 0xbf, 0x7d, 0xd1, 0xa5, 0x58, 0x3a, 0xf5, 0x78, 0x22, 0x9d, - 0x9a, 0xeb, 0xe6, 0x88, 0x64, 0x53, 0xef, 0xc1, 0x04, 0x5b, 0xd6, 0xaa, 0xd1, 0xf6, 0xa6, 0x52, - 0x38, 0xc8, 0xd5, 0x01, 0xb6, 0x4e, 0x80, 0x11, 0x09, 0xb4, 0xd3, 0xdc, 0xa6, 0x68, 0x27, 0x8e, - 0xcb, 0x93, 0x3f, 0x91, 0x60, 0x6e, 0xb5, 0x7e, 0xd5, 0x36, 0x5d, 0xcb, 0x57, 0xef, 0x86, 0xe5, - 0x8d, 0xd5, 0x7f, 0xc0, 0x88, 0xed, 0x6a, 0xbe, 0x5d, 0x8f, 0xf9, 0x76, 0x61, 0x57, 0x63, 0x76, - 0xcd, 0x24, 0xb8, 0x3c, 0xa3, 0x18, 0x03, 0x7a, 0x03, 0x8e, 0xdb, 0x8a, 0xd1, 0x26, 0x7e, 0x08, - 0x7e, 0xaa, 0x4f, 0x6b, 0xd6, 0x56, 0x30, 0x63, 0x8f, 0xa4, 0x80, 0x1c, 0x0d, 0x0b, 0x54, 0xf9, - 0x9b, 0x12, 0x4c, 0x5d, 0x6b, 0x34, 0x6a, 0x6b, 0x06, 0xdf, 0xc5, 0x35, 0x85, 0xee, 0xb0, 0x2c, - 0xc1, 0x52, 0xe8, 0x4e, 0x32, 0x4b, 0x60, 0x7d, 0x98, 0xf7, 0xa0, 0x1d, 0x18, 0x65, 0xde, 0x83, - 0x18, 0xad, 0x01, 0x53, 0x7b, 0x21, 0xae, 0xea, 0x81, 0x84, 0x79, 0xa7, 0x68, 0xc0, 0x3e, 0xbc, - 0xfc, 0x2e, 0xcc, 0x46, 0xd4, 0x63, 0xe3, 0xc5, 0x2f, 0x6a, 0x50, 0x13, 0x0a, 0x4c, 0x13, 0xff, - 0x1a, 0xa6, 0xdf, 0x5b, 0x85, 0x84, 0xc9, 0x61, 0x16, 0xc5, 0xbe, 0x1c, 0xec, 0x61, 0xcb, 0xbf, - 0xce, 0xc1, 0xa9, 0x6b, 0xa6, 0xad, 0xbe, 0x63, 0x1a, 0x54, 0xd1, 0x6a, 0x66, 0x6b, 0xc9, 0xa5, - 0xa6, 0xd3, 0x54, 0x34, 0x62, 0x0f, 0xf1, 0xd0, 0xa4, 0xc5, 0x0e, 0x4d, 0x2f, 0xf5, 0x6b, 0x59, - 0xba, 0xbe, 0x99, 0x27, 0x28, 0x9a, 0x38, 0x41, 0xad, 0xdf, 0x27, 0x79, 0xbd, 0x8f, 0x53, 0x7f, - 0x96, 0xe0, 0xa1, 0x0c, 0xce, 0xa1, 0xe7, 0xde, 0xbb, 0xf1, 0xdc, 0x7b, 0xf5, 0xfe, 0x18, 0x9c, - 0x91, 0x88, 0xff, 0x2d, 0x97, 0x69, 0x28, 0x4f, 0xfd, 0xde, 0x82, 0x31, 0xfe, 0x85, 0xc9, 0xb6, - 0x30, 0x74, 0xb9, 0x4f, 0x7d, 0xea, 0xee, 0x96, 0x7f, 0xb9, 0x89, 0xc9, 0x36, 0xb1, 0x89, 0xd1, - 0x24, 0x91, 0xc4, 0x48, 0x80, 0xe3, 0x40, 0x0c, 0x3a, 0x0f, 0x45, 0x9e, 0xe8, 0xc4, 0x62, 0xe7, - 0xd4, 0xe1, 0x41, 0xb9, 0xb8, 0x11, 0x36, 0xe3, 0x28, 0x0d, 0xba, 0x08, 0x45, 0x5d, 0xd9, 0x4f, - 0x44, 0xce, 0xe0, 0xce, 0x62, 0x23, 0xec, 0xc2, 0x51, 0x3a, 0xf4, 0x1e, 0x4c, 0x36, 0x2d, 0x37, - 0x72, 0xb7, 0x2e, 0x32, 0xbf, 0x7e, 0x4d, 0x4c, 0xbb, 0xa6, 0xaf, 0x22, 0x76, 0x96, 0x5c, 0xae, - 0x6d, 0x46, 0xda, 0x70, 0x42, 0x9c, 0xfc, 0x83, 0x3c, 0x3c, 0xd2, 0x73, 0x81, 0xa2, 0xd5, 0x1e, - 0x19, 0xc9, 0x5c, 0x1f, 0xd9, 0x88, 0x02, 0x13, 0xec, 0x54, 0xc9, 0x87, 0x9b, 0x1f, 0x58, 0x73, - 0x7d, 0x1e, 0x58, 0x79, 0x78, 0x59, 0x8f, 0x42, 0xe0, 0x38, 0x22, 0x4b, 0x61, 0xc4, 0xb5, 0x57, - 0x56, 0x0a, 0xb3, 0x1c, 0xef, 0xc6, 0x49, 0x7a, 0x06, 0x21, 0x6e, 0xa5, 0x12, 0x09, 0x4c, 0x00, - 0xb1, 0x12, 0xef, 0xc6, 0x49, 0x7a, 0xa4, 0x43, 0x59, 0xa0, 0xc6, 0xc7, 0x3e, 0xf2, 0x58, 0xe2, - 0x25, 0x32, 0x8f, 0x1d, 0x1e, 0x94, 0xcb, 0xcb, 0xbd, 0x49, 0xf1, 0xdd, 0xb0, 0xe4, 0x0d, 0x98, - 0xb8, 0x66, 0x3a, 0xb4, 0x66, 0xda, 0x94, 0x47, 0x2e, 0xf4, 0x08, 0xe4, 0x75, 0xd5, 0x10, 0xc7, - 0xa4, 0xa2, 0x50, 0x3b, 0xcf, 0x56, 0x2e, 0x6b, 0xe7, 0xdd, 0xca, 0xbe, 0x58, 0xd4, 0x61, 0xb7, - 0xb2, 0x8f, 0x59, 0xbb, 0x7c, 0x15, 0x46, 0x45, 0x44, 0x8c, 0x02, 0xe5, 0x7b, 0x03, 0xe5, 0x53, - 0x80, 0xbe, 0x93, 0x83, 0x51, 0x11, 0x40, 0x86, 0x18, 0x0a, 0x5e, 0x8f, 0x85, 0x82, 0x4b, 0x83, - 0x05, 0xd9, 0x4c, 0xd7, 0xdf, 0x4a, 0xb8, 0xfe, 0xe7, 0x06, 0xc4, 0xef, 0xed, 0xea, 0x3f, 0x96, - 0x60, 0x32, 0x1e, 0xee, 0x99, 0x3b, 0x61, 0x1b, 0x48, 0x6d, 0x92, 0xeb, 0xe1, 0x6d, 0x44, 0xe0, - 0x4e, 0xea, 0x61, 0x17, 0x8e, 0xd2, 0x21, 0x12, 0xb0, 0xb1, 0xe5, 0x20, 0x06, 0xa5, 0x92, 0xa1, - 0xb4, 0x4b, 0x55, 0xad, 0xe2, 0xbd, 0x14, 0x56, 0xd6, 0x0c, 0x7a, 0xc3, 0xae, 0x53, 0x5b, 0x35, - 0xda, 0x5d, 0x62, 0xf8, 0xca, 0x8a, 0xe2, 0xca, 0x3f, 0x92, 0xa0, 0x28, 0x14, 0x1e, 0x7a, 0x2c, - 0x7a, 0x2d, 0x1e, 0x8b, 0x9e, 0x1a, 0x30, 0x8d, 0x4a, 0x8f, 0x3d, 0x9f, 0x86, 0x86, 0xb0, 0xc4, - 0x89, 0xe5, 0x75, 0x3b, 0xa6, 0x43, 0x93, 0x79, 0x1d, 0xdb, 0x5f, 0x98, 0xf7, 0xa0, 0xff, 0x97, - 0xe0, 0xa4, 0x9a, 0x48, 0xb5, 0xc4, 0x38, 0xbf, 0x30, 0x98, 0x6a, 0x01, 0x4c, 0xf8, 0x78, 0x9a, - 0xec, 0xc1, 0x5d, 0x22, 0x65, 0x17, 0xba, 0xa8, 0x90, 0x02, 0x23, 0x3b, 0x94, 0x5a, 0x03, 0x46, - 0xc9, 0xb4, 0x24, 0xb2, 0x3a, 0xc6, 0xcd, 0x6f, 0x34, 0x6a, 0x98, 0x43, 0xcb, 0x1f, 0xe7, 0x82, - 0x01, 0xab, 0x7b, 0x1b, 0x24, 0x48, 0x73, 0xa5, 0xfb, 0x91, 0xe6, 0x16, 0xd3, 0x52, 0x5c, 0xf4, - 0x0a, 0xe4, 0xa9, 0x36, 0xe8, 0x4d, 0xa0, 0x90, 0xd0, 0x58, 0xaf, 0x87, 0x4e, 0xaa, 0xb1, 0x5e, - 0xc7, 0x0c, 0x12, 0xbd, 0x09, 0x05, 0x76, 0x88, 0x60, 0xfb, 0x3b, 0x3f, 0xb8, 0xff, 0x60, 0xe3, - 0x15, 0xae, 0x30, 0xf6, 0xe5, 0x60, 0x0f, 0x57, 0x7e, 0x17, 0x26, 0x62, 0x4e, 0x00, 0xdd, 0x82, - 0x13, 0x9a, 0xa9, 0xb4, 0xaa, 0x8a, 0xa6, 0x18, 0x4d, 0xe2, 0x3f, 0x55, 0xfd, 0x6b, 0x6f, 0x77, - 0xb8, 0x1e, 0xe1, 0x10, 0xce, 0x24, 0x78, 0xc0, 0x8e, 0xf6, 0xe1, 0x18, 0xb6, 0xac, 0x00, 0x84, - 0xd6, 0xa3, 0x32, 0x14, 0xd8, 0x12, 0xf6, 0x0e, 0x04, 0xe3, 0xd5, 0x71, 0xa6, 0x2b, 0x5b, 0xd9, - 0x0e, 0xf6, 0xda, 0xd1, 0x05, 0x00, 0x87, 0x34, 0x6d, 0x42, 0xb9, 0xcf, 0xf1, 0x2e, 0xdc, 0x03, - 0xef, 0x5b, 0x0f, 0x7a, 0x70, 0x84, 0x4a, 0xfe, 0xb9, 0x04, 0x13, 0xd7, 0x09, 0x7d, 0xdb, 0xb4, - 0x77, 0x6b, 0xa6, 0xa6, 0x36, 0x3b, 0x43, 0xf4, 0xf5, 0x5b, 0x31, 0x5f, 0xff, 0x62, 0x9f, 0x73, - 0x15, 0xd3, 0x32, 0xcb, 0xe3, 0xcb, 0x7f, 0x92, 0xa0, 0x14, 0xa3, 0x8c, 0xba, 0x07, 0x02, 0x05, - 0xcb, 0xb4, 0xa9, 0x7f, 0xa4, 0x3a, 0x92, 0x06, 0xcc, 0x91, 0x46, 0x0e, 0x55, 0x0c, 0x16, 0x7b, - 0xe8, 0xcc, 0xce, 0x6d, 0xdb, 0xd4, 0xc5, 0x7a, 0x3f, 0x9a, 0x14, 0x42, 0xec, 0xd0, 0xce, 0x55, - 0xdb, 0xd4, 0x31, 0xc7, 0x96, 0x7f, 0x29, 0xc1, 0x74, 0x8c, 0x72, 0xe8, 0x8e, 0x5c, 0x89, 0x3b, - 0xf2, 0xe7, 0x8e, 0x62, 0x56, 0x86, 0x3b, 0xff, 0x4b, 0xd2, 0x28, 0x66, 0x3e, 0x6a, 0x41, 0xd1, - 0x32, 0x5b, 0xf5, 0x23, 0xbf, 0x0d, 0xf3, 0x03, 0x40, 0x2d, 0x44, 0xc2, 0x51, 0x58, 0xb4, 0x07, - 0xd3, 0x86, 0xa2, 0x13, 0xc7, 0x52, 0x9a, 0xa4, 0x7e, 0xe4, 0x0b, 0xe8, 0x07, 0x0e, 0x0f, 0xca, - 0xd3, 0xd7, 0x93, 0x78, 0xb8, 0x5b, 0x84, 0xfc, 0xfd, 0x2e, 0x9b, 0x4d, 0x9b, 0xa2, 0x97, 0x61, - 0x8c, 0x97, 0xfc, 0x34, 0x4d, 0x4d, 0x04, 0xb3, 0x8b, 0x6c, 0x5a, 0x6a, 0xa2, 0xed, 0xce, 0x41, - 0xf9, 0x5f, 0x7a, 0xbe, 0x9b, 0xf9, 0x84, 0x38, 0x80, 0x41, 0xeb, 0x30, 0x62, 0x0d, 0x9e, 0x54, - 0xf0, 0x40, 0xc2, 0x33, 0x09, 0x8e, 0xd2, 0x3d, 0x55, 0x3c, 0x9c, 0xec, 0xdc, 0xa7, 0xa9, 0x0a, - 0x52, 0x98, 0xcc, 0xe9, 0xb2, 0x61, 0x54, 0xc4, 0x54, 0xb1, 0x1e, 0xaf, 0x1e, 0x65, 0x3d, 0x46, - 0xe3, 0x40, 0x70, 0x53, 0xe3, 0x37, 0xfa, 0x82, 0xe4, 0x5f, 0x49, 0x30, 0xcd, 0x15, 0x6a, 0xba, - 0xb6, 0x4a, 0x3b, 0x43, 0xf7, 0x97, 0xdb, 0x31, 0x7f, 0xb9, 0xd2, 0xa7, 0x81, 0x5d, 0x9a, 0x66, - 0xfa, 0xcc, 0xdf, 0x4a, 0xf0, 0x40, 0x17, 0xf5, 0xd0, 0xfd, 0x09, 0x89, 0xfb, 0x93, 0x17, 0x8f, - 0x6a, 0x5e, 0x86, 0x4f, 0xb9, 0x0d, 0x29, 0xc6, 0xf1, 0xc5, 0x7a, 0x01, 0xc0, 0xb2, 0xd5, 0x3d, - 0x55, 0x23, 0x6d, 0x51, 0x96, 0x31, 0x16, 0x4e, 0x48, 0x2d, 0xe8, 0xc1, 0x11, 0x2a, 0xf4, 0xbf, - 0x30, 0xd7, 0x22, 0xdb, 0x8a, 0xab, 0xd1, 0xa5, 0x56, 0x6b, 0x59, 0xb1, 0x94, 0x2d, 0x55, 0x53, - 0xa9, 0x2a, 0x2e, 0x2f, 0xc7, 0xab, 0x57, 0xbc, 0x72, 0x89, 0x34, 0x8a, 0x3b, 0x07, 0xe5, 0x27, - 0x7a, 0xbf, 0x75, 0xfb, 0xc4, 0x1d, 0x9c, 0x21, 0x04, 0xfd, 0x9f, 0x04, 0x25, 0x9b, 0xbc, 0xe5, - 0xb2, 0xf3, 0xea, 0x8a, 0x6d, 0x5a, 0x31, 0x0d, 0xf2, 0x5c, 0x83, 0xab, 0x87, 0x07, 0xe5, 0x12, - 0xce, 0xa0, 0xe9, 0x47, 0x87, 0x4c, 0x41, 0x88, 0xc2, 0x8c, 0xa2, 0x69, 0xe6, 0xdb, 0x24, 0x3e, - 0x02, 0x23, 0x5c, 0x7e, 0xf5, 0xf0, 0xa0, 0x3c, 0xb3, 0xd4, 0xdd, 0xdd, 0x8f, 0xe8, 0x34, 0x78, - 0xb4, 0x08, 0xa3, 0x7b, 0xa6, 0xe6, 0xea, 0xc4, 0x29, 0x15, 0xb8, 0x24, 0xe6, 0x63, 0x47, 0x6f, - 0x7a, 0x4d, 0x77, 0x0e, 0xca, 0xc7, 0x57, 0xeb, 0xfc, 0x56, 0xd9, 0xa7, 0x62, 0x67, 0x30, 0x96, - 0x17, 0x89, 0x8d, 0xce, 0x9f, 0xb4, 0xc6, 0x42, 0xcf, 0x72, 0x2d, 0xec, 0xc2, 0x51, 0x3a, 0xa4, - 0xc3, 0xf8, 0x8e, 0x38, 0x8f, 0x3b, 0xa5, 0xd1, 0x81, 0x62, 0x5d, 0xec, 0x3c, 0x5f, 0x9d, 0x16, - 0x22, 0xc7, 0xfd, 0x66, 0x07, 0x87, 0x12, 0xd0, 0x93, 0x30, 0xca, 0x3f, 0xd6, 0x56, 0xf8, 0x43, - 0xd8, 0x58, 0xe8, 0x7f, 0xae, 0x79, 0xcd, 0xd8, 0xef, 0xf7, 0x49, 0xd7, 0x6a, 0xcb, 0xfc, 0xdd, - 0x2a, 0x41, 0xba, 0x56, 0x5b, 0xc6, 0x7e, 0x3f, 0xb2, 0x60, 0xd4, 0x21, 0xeb, 0xaa, 0xe1, 0xee, - 0x97, 0x80, 0xef, 0xdb, 0x2b, 0xfd, 0xde, 0xb9, 0x5d, 0xe1, 0xdc, 0x89, 0x5b, 0xfe, 0x50, 0xa2, - 0xe8, 0xc7, 0xbe, 0x18, 0xb4, 0x0f, 0xe3, 0xb6, 0x6b, 0x2c, 0x39, 0x9b, 0x0e, 0xb1, 0x4b, 0x45, - 0x2e, 0xb3, 0x5f, 0x97, 0x8c, 0x7d, 0xfe, 0xa4, 0xd4, 0x60, 0x04, 0x03, 0x0a, 0x1c, 0x0a, 0x43, - 0x1f, 0x49, 0x80, 0x1c, 0xd7, 0xb2, 0x34, 0xa2, 0x13, 0x83, 0x2a, 0x1a, 0x7f, 0x68, 0x70, 0x4a, - 0x27, 0xb8, 0x0e, 0xb5, 0xbe, 0xef, 0x1a, 0x93, 0x40, 0x49, 0x65, 0x82, 0x57, 0xbc, 0x6e, 0x52, - 0x9c, 0xa2, 0x07, 0x9b, 0x8a, 0x6d, 0x87, 0xff, 0x2e, 0x4d, 0x0c, 0x34, 0x15, 0xe9, 0x0f, 0x2e, - 0xe1, 0x54, 0x88, 0x7e, 0xec, 0x8b, 0x41, 0x37, 0x61, 0xce, 0x26, 0x4a, 0xeb, 0x86, 0xa1, 0x75, - 0xb0, 0x69, 0xd2, 0x55, 0x55, 0x23, 0x4e, 0xc7, 0xa1, 0x44, 0x2f, 0x4d, 0xf2, 0x65, 0x13, 0xd4, - 0x75, 0xe1, 0x54, 0x2a, 0x9c, 0xc1, 0xcd, 0x8b, 0xaa, 0xc4, 0x2d, 0xd9, 0x70, 0x2b, 0x36, 0x8f, - 0x56, 0x54, 0x15, 0xaa, 0x38, 0xb4, 0xa2, 0xaa, 0x88, 0x88, 0xde, 0x57, 0x43, 0x7f, 0xcd, 0xc1, - 0x4c, 0x48, 0x7c, 0xcf, 0x45, 0x55, 0x29, 0x2c, 0x5f, 0x41, 0x51, 0x55, 0x7a, 0x5d, 0x52, 0x7e, - 0xb8, 0x75, 0x49, 0x43, 0x28, 0xe5, 0xe2, 0xa5, 0x4e, 0xe1, 0x10, 0xfe, 0xa3, 0x97, 0x3a, 0x85, - 0x9a, 0x66, 0xdd, 0x72, 0xe5, 0xa2, 0xe6, 0xfc, 0xd3, 0xd4, 0xd3, 0xa4, 0x94, 0xb7, 0x8c, 0xf4, - 0x57, 0xde, 0x22, 0x7f, 0x9e, 0x87, 0x93, 0xc9, 0xbd, 0x1a, 0x2b, 0xab, 0x90, 0xee, 0x5a, 0x56, - 0x51, 0x83, 0xd9, 0x6d, 0x57, 0xd3, 0x3a, 0x7c, 0x40, 0x22, 0xaf, 0x0a, 0xde, 0xfd, 0xfb, 0xc3, - 0x82, 0x73, 0x76, 0x35, 0x85, 0x06, 0xa7, 0x72, 0x66, 0x94, 0x88, 0xe4, 0x07, 0x2a, 0x11, 0xe9, - 0xaa, 0x50, 0x18, 0xb9, 0xf7, 0x0a, 0x85, 0xf4, 0x72, 0x8f, 0xc2, 0x00, 0xe5, 0x1e, 0xf7, 0xa3, - 0x3e, 0x23, 0xc5, 0xe5, 0xdd, 0xad, 0x3e, 0x43, 0x7e, 0x18, 0xe6, 0x05, 0x1b, 0xfb, 0x5e, 0x36, - 0x0d, 0x6a, 0x9b, 0x9a, 0x46, 0xec, 0x15, 0x57, 0xd7, 0x3b, 0xf2, 0x65, 0x98, 0x8c, 0x17, 0x09, - 0x79, 0x33, 0xef, 0xd5, 0x2d, 0x89, 0x57, 0x91, 0xc8, 0xcc, 0x7b, 0xed, 0x38, 0xa0, 0x90, 0x7f, - 0x2f, 0xc1, 0xa9, 0x8c, 0x52, 0x09, 0x74, 0x0b, 0x26, 0x75, 0x65, 0x3f, 0x52, 0xc0, 0x22, 0x9c, - 0x4a, 0xbf, 0xc7, 0x6a, 0xfe, 0xc4, 0xb7, 0x11, 0x43, 0xc2, 0x09, 0x64, 0x1e, 0x67, 0x95, 0xfd, - 0xba, 0x6b, 0xb7, 0xc9, 0x80, 0x87, 0x77, 0xbe, 0x7d, 0x37, 0x04, 0x06, 0x0e, 0xd0, 0xe4, 0x4f, - 0x24, 0x28, 0x65, 0x25, 0x5d, 0xe8, 0x62, 0xac, 0xa0, 0xe3, 0xd1, 0x44, 0x41, 0xc7, 0x74, 0x17, - 0xdf, 0x57, 0x54, 0xce, 0xf1, 0xa9, 0x04, 0x73, 0xe9, 0xc9, 0x29, 0xfa, 0xb7, 0x98, 0xc6, 0xe5, - 0x84, 0xc6, 0x53, 0x09, 0x2e, 0xa1, 0xef, 0x0e, 0x4c, 0x8a, 0x14, 0x56, 0xc0, 0xdc, 0xc3, 0x5f, - 0x6d, 0xf6, 0x82, 0xfc, 0xd8, 0x4f, 0xc6, 0xf8, 0x3c, 0xc6, 0xdb, 0x70, 0x02, 0x57, 0xfe, 0x56, - 0x0e, 0x0a, 0xfc, 0xad, 0x73, 0x88, 0x99, 0xd3, 0xab, 0xb1, 0xcc, 0xa9, 0xdf, 0x3f, 0x6d, 0x70, - 0xed, 0x32, 0x93, 0xa6, 0xad, 0x44, 0xd2, 0x74, 0x69, 0x20, 0xf4, 0xde, 0xf9, 0xd2, 0x33, 0x30, - 0x1e, 0x28, 0xd1, 0x9f, 0xa3, 0x66, 0xd9, 0x69, 0x31, 0x22, 0xa2, 0x4f, 0x37, 0xbf, 0x17, 0x0b, - 0x93, 0x83, 0xfc, 0x27, 0x2c, 0x22, 0xbb, 0xe2, 0x87, 0x4a, 0xaf, 0xf2, 0x37, 0x2c, 0x55, 0xe8, - 0x8e, 0xa0, 0x97, 0x61, 0xd2, 0xfb, 0x63, 0x5d, 0x70, 0x69, 0x96, 0xe7, 0xab, 0x37, 0xa8, 0x25, - 0x6f, 0xc4, 0x7a, 0x71, 0x82, 0x7a, 0xfe, 0x59, 0x98, 0x88, 0x09, 0xeb, 0xab, 0x50, 0xf7, 0x87, - 0x12, 0xcc, 0xa6, 0x15, 0x57, 0xa0, 0xd3, 0x30, 0xb2, 0xab, 0x8a, 0x37, 0xa1, 0xc8, 0x3b, 0xda, - 0x7f, 0xaa, 0x46, 0x0b, 0xf3, 0x9e, 0xa0, 0xce, 0x3a, 0x97, 0x59, 0x67, 0x7d, 0x01, 0x40, 0xb1, - 0x54, 0xf1, 0x67, 0x45, 0x61, 0x55, 0xb0, 0x78, 0xc3, 0xbf, 0x31, 0xe2, 0x08, 0x15, 0x7f, 0x36, - 0x0d, 0xf5, 0x11, 0x09, 0x61, 0xf8, 0x9e, 0x19, 0x51, 0x35, 0x4a, 0x27, 0xff, 0x58, 0x82, 0x47, - 0xef, 0x7a, 0x70, 0x43, 0xd5, 0x98, 0x7b, 0xa8, 0x24, 0xdc, 0xc3, 0x42, 0x36, 0xc0, 0x57, 0x58, - 0xac, 0xf6, 0x41, 0x0e, 0x50, 0x63, 0x47, 0xb5, 0x5b, 0x35, 0xc5, 0xa6, 0x1d, 0x2c, 0x0c, 0x1c, - 0xa2, 0xc3, 0xb8, 0x08, 0xc5, 0x16, 0x71, 0x9a, 0xb6, 0xca, 0x07, 0x49, 0x4c, 0x67, 0x30, 0xe2, - 0x2b, 0x61, 0x17, 0x8e, 0xd2, 0xa1, 0x36, 0x8c, 0xed, 0x79, 0x73, 0xe6, 0x3f, 0xbd, 0xf5, 0x9b, - 0xf5, 0x86, 0x2b, 0x20, 0xdc, 0x1f, 0xa2, 0xc1, 0xc1, 0x01, 0xb8, 0xfc, 0xa1, 0x04, 0x73, 0xdd, - 0x03, 0xb2, 0xc2, 0x54, 0x1f, 0xde, 0xa0, 0x3c, 0x0c, 0x23, 0x1c, 0x95, 0x8d, 0xc6, 0x09, 0xef, - 0xea, 0x9b, 0x49, 0xc4, 0xbc, 0x55, 0xfe, 0x52, 0x82, 0xf9, 0x74, 0x95, 0x86, 0x7e, 0xd2, 0xb8, - 0x15, 0x3f, 0x69, 0xf4, 0x7b, 0x93, 0x90, 0xae, 0x75, 0xc6, 0xa9, 0xe3, 0xf3, 0xd4, 0x91, 0x1f, - 0xba, 0x89, 0xdb, 0x71, 0x13, 0x97, 0x8e, 0x6c, 0x62, 0xba, 0x79, 0xd5, 0x27, 0x6f, 0x7f, 0xb1, - 0x70, 0xec, 0xb3, 0x2f, 0x16, 0x8e, 0xfd, 0xe6, 0x8b, 0x85, 0x63, 0xef, 0x1f, 0x2e, 0x48, 0xb7, - 0x0f, 0x17, 0xa4, 0xcf, 0x0e, 0x17, 0xa4, 0x3f, 0x1c, 0x2e, 0x48, 0x1f, 0xfe, 0x71, 0xe1, 0xd8, - 0xab, 0xa3, 0x02, 0xf3, 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x31, 0xcb, 0xee, 0x3d, 0x42, 0x3f, - 0x00, 0x00, + // 3644 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe4, 0x5b, 0x4d, 0x6c, 0x1b, 0xc7, + 0xf5, 0xf7, 0x92, 0xa2, 0x45, 0x3d, 0x59, 0x92, 0x35, 0x52, 0x64, 0x46, 0x49, 0x44, 0x67, 0x83, + 0x7f, 0xe2, 0xfc, 0x91, 0x50, 0x7f, 0x3b, 0x7f, 0xa7, 0x89, 0x93, 0x38, 0x11, 0x25, 0xcb, 0x56, + 0x2a, 0xd9, 0xcc, 0x50, 0x72, 0xd3, 0xc4, 0x49, 0xb0, 0x22, 0x47, 0xd4, 0x5a, 0xfb, 0xc1, 0xec, + 0xce, 0x2a, 0x62, 0x82, 0x22, 0x01, 0x8a, 0x9c, 0x0a, 0xa4, 0xb9, 0xf5, 0x92, 0x1e, 0xdb, 0x43, + 0x5b, 0x04, 0x4d, 0x3f, 0x10, 0xb4, 0xe8, 0xa5, 0x40, 0x3f, 0x0c, 0xf4, 0x92, 0xde, 0x7a, 0x28, + 0xd4, 0x5a, 0x45, 0x7b, 0x2a, 0x7a, 0x29, 0xd2, 0x83, 0x7b, 0x68, 0x31, 0xb3, 0xb3, 0x9f, 0xdc, + 0x95, 0x45, 0x4a, 0x94, 0x0a, 0xf4, 0x46, 0xce, 0xbc, 0xf7, 0x7b, 0x6f, 0xde, 0xcc, 0xbc, 0xf7, + 0x66, 0xe6, 0x2d, 0x3c, 0xb7, 0xf1, 0x94, 0x5d, 0x52, 0xcd, 0xe9, 0x0d, 0x67, 0x95, 0x58, 0x06, + 0xa1, 0xc4, 0x9e, 0x6e, 0x6e, 0x34, 0xa6, 0x95, 0xa6, 0x6a, 0x4f, 0x93, 0x2d, 0x4a, 0x0c, 0x5b, + 0x35, 0x0d, 0x7b, 0x7a, 0xf3, 0xec, 0x2a, 0xa1, 0xca, 0xd9, 0xe9, 0x06, 0x31, 0x88, 0xa5, 0x50, + 0x52, 0x2f, 0x35, 0x2d, 0x93, 0x9a, 0xe8, 0x71, 0x97, 0xbd, 0x14, 0xb0, 0x97, 0x9a, 0x1b, 0x8d, + 0x12, 0x63, 0x2f, 0x05, 0xec, 0x25, 0xc1, 0x3e, 0xf9, 0x78, 0x43, 0xa5, 0xeb, 0xce, 0x6a, 0xa9, + 0x66, 0xea, 0xd3, 0x0d, 0xb3, 0x61, 0x4e, 0x73, 0x94, 0x55, 0x67, 0x8d, 0xff, 0xe3, 0x7f, 0xf8, + 0x2f, 0x17, 0x7d, 0xf2, 0xff, 0x85, 0x72, 0x4a, 0x53, 0xd5, 0x95, 0xda, 0xba, 0x6a, 0x10, 0xab, + 0x15, 0xa8, 0xa7, 0x13, 0xaa, 0x4c, 0x6f, 0xb6, 0xe9, 0x34, 0x39, 0x9d, 0xc6, 0x65, 0x39, 0x06, + 0x55, 0x75, 0xd2, 0xc6, 0xf0, 0xe4, 0xdd, 0x18, 0xec, 0xda, 0x3a, 0xd1, 0x95, 0x36, 0xbe, 0x73, + 0xa9, 0xb6, 0x9b, 0xb6, 0x88, 0x6d, 0x3a, 0x56, 0xad, 0x5d, 0xd6, 0x63, 0xe9, 0x3c, 0x09, 0x43, + 0x39, 0x9b, 0x4c, 0xed, 0x50, 0x55, 0x9b, 0x56, 0x0d, 0x6a, 0x53, 0x2b, 0xce, 0x22, 0x97, 0x00, + 0x66, 0x2a, 0x0b, 0xd7, 0x89, 0xc5, 0x2c, 0x8f, 0x4e, 0x43, 0x9f, 0xa1, 0xe8, 0xa4, 0x20, 0x9d, + 0x96, 0xce, 0x0c, 0x94, 0x4f, 0xdc, 0xda, 0x2e, 0x1e, 0xdb, 0xd9, 0x2e, 0xf6, 0x5d, 0x55, 0x74, + 0x82, 0x79, 0x8f, 0x7c, 0x03, 0xc6, 0x67, 0x2b, 0x2b, 0xcb, 0x8a, 0xd5, 0x20, 0x74, 0x85, 0xaa, + 0x9a, 0xfa, 0xb6, 0x42, 0x19, 0xe7, 0x1c, 0x9c, 0xa4, 0xbc, 0xb1, 0x42, 0xac, 0x1a, 0x31, 0xa8, + 0xd2, 0x70, 0x51, 0x72, 0xe5, 0x82, 0x40, 0x39, 0xb9, 0x1c, 0xeb, 0xc7, 0x6d, 0x1c, 0xf2, 0x37, + 0x24, 0xb8, 0x77, 0xd6, 0xb1, 0xa9, 0xa9, 0x2f, 0x11, 0x6a, 0xa9, 0xb5, 0x59, 0xc7, 0xb2, 0x88, + 0x41, 0xab, 0x54, 0xa1, 0x8e, 0x7d, 0x77, 0xed, 0xd0, 0xcb, 0x90, 0xdb, 0x54, 0x34, 0x87, 0x14, + 0x32, 0xa7, 0xa5, 0x33, 0x83, 0xe7, 0x1e, 0x2b, 0xa5, 0xae, 0xb7, 0x92, 0x67, 0xf2, 0xd2, 0x4b, + 0x8e, 0x62, 0x50, 0x95, 0xb6, 0xca, 0xe3, 0x02, 0xf0, 0x84, 0x90, 0x7a, 0x9d, 0x21, 0x61, 0x17, + 0x50, 0xfe, 0x40, 0x82, 0x07, 0x52, 0x35, 0x5b, 0x54, 0x6d, 0x8a, 0x74, 0xc8, 0xa9, 0x94, 0xe8, + 0x76, 0x41, 0x3a, 0x9d, 0x3d, 0x33, 0x78, 0xee, 0x4a, 0xa9, 0xa3, 0xb5, 0x5e, 0x4a, 0x05, 0x2f, + 0x0f, 0x09, 0xbd, 0x72, 0x0b, 0x0c, 0x1e, 0xbb, 0x52, 0xe4, 0xaf, 0x4b, 0x80, 0xc2, 0x3c, 0xae, + 0x75, 0xf7, 0x60, 0xa3, 0x2f, 0xed, 0xc7, 0x46, 0x63, 0x02, 0x70, 0xd0, 0x15, 0x17, 0x31, 0xd1, + 0x7b, 0x12, 0x4c, 0xb4, 0x6b, 0xc4, 0x6d, 0xb3, 0x16, 0xb5, 0xcd, 0xcc, 0x3e, 0x6c, 0xe3, 0xa2, + 0xa6, 0x18, 0xe5, 0x6b, 0x59, 0x18, 0x98, 0x53, 0x88, 0x6e, 0x1a, 0x55, 0x42, 0xd1, 0xcb, 0x90, + 0x67, 0x9b, 0xbe, 0xae, 0x50, 0x85, 0xdb, 0x63, 0xf0, 0xdc, 0x99, 0x5d, 0x06, 0xbb, 0x79, 0xb6, + 0x74, 0x6d, 0xf5, 0x26, 0xa9, 0xd1, 0x25, 0x42, 0x95, 0x32, 0x12, 0xf8, 0x10, 0xb4, 0x61, 0x1f, + 0x0d, 0xbd, 0x0e, 0x7d, 0x76, 0x93, 0xd4, 0x84, 0x09, 0x9f, 0xed, 0x70, 0x38, 0xbe, 0x86, 0xd5, + 0x26, 0xa9, 0x05, 0x73, 0xc4, 0xfe, 0x61, 0x8e, 0x8b, 0xd6, 0xe0, 0xb8, 0xcd, 0x27, 0xbf, 0x90, + 0xe5, 0x12, 0x2e, 0x76, 0x2d, 0xc1, 0x5d, 0x42, 0xc3, 0x42, 0xc6, 0x71, 0xf7, 0x3f, 0x16, 0xe8, + 0xe8, 0x06, 0xe4, 0x69, 0xab, 0x49, 0xd8, 0xe8, 0x0a, 0x7d, 0x5c, 0x52, 0xc9, 0x93, 0x14, 0xf6, + 0x6e, 0x81, 0x2c, 0x66, 0x01, 0x66, 0xa9, 0x65, 0xc1, 0x55, 0x3e, 0x29, 0x90, 0xf3, 0x5e, 0x0b, + 0xf6, 0x11, 0xe5, 0xef, 0x64, 0x60, 0xc8, 0xd7, 0x84, 0xaf, 0x83, 0x1b, 0x6d, 0x33, 0xb2, 0x47, + 0x79, 0x8c, 0x3b, 0x2a, 0xcf, 0x6b, 0x09, 0xcd, 0xca, 0x6b, 0xde, 0x2a, 0xcb, 0xf0, 0x55, 0xf6, + 0x54, 0xb7, 0x46, 0x4b, 0x5e, 0x5c, 0x11, 0x63, 0x65, 0x0f, 0xdc, 0x58, 0xbf, 0x91, 0x42, 0xc6, + 0x62, 0x4b, 0x01, 0xbd, 0x06, 0x79, 0x9b, 0x68, 0xa4, 0x46, 0x4d, 0x4b, 0x18, 0xeb, 0x89, 0x3d, + 0x1a, 0x4b, 0x59, 0x25, 0x5a, 0x55, 0xb0, 0x96, 0x4f, 0x30, 0x81, 0xde, 0x3f, 0xec, 0x43, 0xa2, + 0x57, 0x21, 0x4f, 0x89, 0xde, 0xd4, 0x14, 0xea, 0xb9, 0x82, 0xc7, 0x77, 0xdf, 0x1d, 0x15, 0xb3, + 0xbe, 0x2c, 0x18, 0xf8, 0xc2, 0x0d, 0x46, 0x23, 0x5a, 0xb1, 0x0f, 0x28, 0x7f, 0x98, 0x85, 0x91, + 0xd8, 0x22, 0x44, 0xd7, 0x61, 0xa2, 0xe6, 0x3a, 0xb6, 0xab, 0x8e, 0xbe, 0x4a, 0xac, 0x6a, 0x6d, + 0x9d, 0xd4, 0x1d, 0x8d, 0xd4, 0x45, 0xa0, 0x98, 0x12, 0x78, 0x13, 0xb3, 0x89, 0x54, 0x38, 0x85, + 0x1b, 0xbd, 0x08, 0xc8, 0xe0, 0x4d, 0x4b, 0xaa, 0x6d, 0xfb, 0x98, 0x19, 0x8e, 0x39, 0x29, 0x30, + 0xd1, 0xd5, 0x36, 0x0a, 0x9c, 0xc0, 0xc5, 0x74, 0xac, 0x13, 0x5b, 0xb5, 0x48, 0x3d, 0xae, 0x63, + 0x36, 0xaa, 0xe3, 0x5c, 0x22, 0x15, 0x4e, 0xe1, 0x46, 0xe7, 0x61, 0xd0, 0x95, 0x86, 0x89, 0x52, + 0x6f, 0xf1, 0xbd, 0x96, 0x0b, 0x9c, 0xe9, 0xd5, 0xa0, 0x0b, 0x87, 0xe9, 0xd8, 0xd0, 0xcc, 0x55, + 0x9b, 0x58, 0x9b, 0xa4, 0x7e, 0xd9, 0x0d, 0xdc, 0xaa, 0x69, 0x14, 0x72, 0xa7, 0xa5, 0x33, 0xd9, + 0x60, 0x68, 0xd7, 0xda, 0x28, 0x70, 0x02, 0x97, 0xfc, 0x41, 0x16, 0x60, 0x8e, 0x34, 0x35, 0xb3, + 0xa5, 0x13, 0xa3, 0x97, 0xce, 0xf1, 0x8d, 0x88, 0x73, 0x7c, 0xae, 0xd3, 0x5d, 0xe8, 0xab, 0x98, + 0xea, 0x1d, 0x1b, 0x31, 0xef, 0xf8, 0x7c, 0xf7, 0x22, 0x8e, 0xd2, 0x3d, 0xde, 0xce, 0xc2, 0x58, + 0xa0, 0xca, 0xac, 0x69, 0xd4, 0x55, 0x9e, 0x4a, 0x3d, 0x03, 0x7d, 0x8c, 0x46, 0x84, 0xf0, 0x47, + 0x3c, 0x03, 0x30, 0x84, 0x3b, 0xdb, 0xc5, 0x53, 0x09, 0x2c, 0xac, 0x0b, 0x73, 0x26, 0x74, 0xdd, + 0xb7, 0x4d, 0x86, 0xb3, 0x5f, 0x8c, 0x0e, 0xed, 0xce, 0x76, 0x71, 0xd7, 0x94, 0xb2, 0xe4, 0x63, + 0xc6, 0x4c, 0xf1, 0x30, 0x1c, 0xb7, 0x88, 0x62, 0x9b, 0x06, 0x37, 0xc4, 0x40, 0x60, 0x32, 0xcc, + 0x5b, 0xb1, 0xe8, 0x45, 0x8f, 0x42, 0xbf, 0x4e, 0x6c, 0x9b, 0xa5, 0x7f, 0x39, 0x4e, 0x38, 0x22, + 0x08, 0xfb, 0x97, 0xdc, 0x66, 0xec, 0xf5, 0xa3, 0x9b, 0x30, 0xac, 0x29, 0x36, 0x5d, 0x69, 0xd6, + 0x15, 0x4a, 0x96, 0x55, 0x9d, 0x14, 0x8e, 0x73, 0x1b, 0xff, 0xef, 0x1e, 0x6d, 0xac, 0xea, 0xa4, + 0x3c, 0x21, 0xd0, 0x87, 0x17, 0x23, 0x48, 0x38, 0x86, 0x8c, 0x36, 0x01, 0xb1, 0x96, 0x65, 0x4b, + 0x31, 0x6c, 0xd7, 0x64, 0x4c, 0x5e, 0x7f, 0xc7, 0xf2, 0xfc, 0x4d, 0xb7, 0xd8, 0x86, 0x86, 0x13, + 0x24, 0xc8, 0xdf, 0xcb, 0xc0, 0x70, 0x30, 0x61, 0x87, 0x10, 0x03, 0x5f, 0x8f, 0xc6, 0xc0, 0xa7, + 0xbb, 0xde, 0x1a, 0x47, 0x12, 0x04, 0xff, 0x91, 0x05, 0x14, 0xa8, 0x80, 0x4d, 0x4d, 0x5b, 0x55, + 0x6a, 0x1b, 0x7b, 0x48, 0x6a, 0xbf, 0x25, 0x01, 0x72, 0xf8, 0x74, 0xd7, 0x67, 0x0c, 0xc3, 0xa4, + 0xdc, 0xe5, 0x79, 0x46, 0xf8, 0x72, 0xd7, 0x46, 0xf0, 0x34, 0x28, 0xad, 0xb4, 0x61, 0x5f, 0x32, + 0xa8, 0xd5, 0x0a, 0xd6, 0x43, 0x3b, 0x01, 0x4e, 0x50, 0x08, 0xbd, 0x09, 0x60, 0x09, 0xcc, 0x65, + 0x53, 0x18, 0xb0, 0x53, 0x0f, 0xe9, 0x29, 0x35, 0x6b, 0x1a, 0x6b, 0x6a, 0x23, 0x70, 0xc6, 0xd8, + 0x07, 0xc6, 0x21, 0x21, 0xbd, 0x75, 0x62, 0x93, 0x97, 0xe0, 0x54, 0x8a, 0x6d, 0xd0, 0x49, 0xc8, + 0x6e, 0x90, 0x96, 0x3b, 0x69, 0x98, 0xfd, 0x44, 0xe3, 0xe1, 0xa3, 0xc7, 0x80, 0x38, 0x37, 0x5c, + 0xc8, 0x3c, 0x25, 0xc9, 0x7f, 0xc9, 0x85, 0xf7, 0x09, 0x4f, 0x7f, 0xce, 0x40, 0xde, 0x22, 0x4d, + 0x4d, 0xad, 0x29, 0xb6, 0x48, 0x10, 0x78, 0x26, 0x83, 0x45, 0x1b, 0xf6, 0x7b, 0x23, 0x89, 0x52, + 0xa6, 0xb7, 0x89, 0x52, 0xf6, 0x80, 0x13, 0x25, 0x64, 0x42, 0xde, 0xa6, 0xec, 0x40, 0xde, 0x68, + 0x89, 0xd9, 0x99, 0xd9, 0x47, 0x34, 0x73, 0x81, 0x02, 0x81, 0x5e, 0x0b, 0xf6, 0x85, 0xa0, 0x19, + 0x18, 0xd1, 0x55, 0x83, 0xa7, 0x17, 0x55, 0x52, 0x33, 0x8d, 0xba, 0xcd, 0x1d, 0x75, 0xae, 0x7c, + 0x4a, 0x30, 0x8d, 0x2c, 0x45, 0xbb, 0x71, 0x9c, 0x1e, 0x2d, 0xc2, 0xb8, 0x45, 0x36, 0x55, 0xa6, + 0xc6, 0x15, 0xd5, 0xa6, 0xa6, 0xd5, 0x5a, 0x54, 0x75, 0x95, 0x72, 0xf7, 0x9d, 0x2b, 0x17, 0x76, + 0xb6, 0x8b, 0xe3, 0x38, 0xa1, 0x1f, 0x27, 0x72, 0xb1, 0xc8, 0xd2, 0x54, 0x1c, 0x9b, 0xd4, 0xb9, + 0x3b, 0xce, 0x07, 0x91, 0xa5, 0xc2, 0x5b, 0xb1, 0xe8, 0x45, 0x7a, 0x64, 0xeb, 0xe4, 0x0f, 0x62, + 0xeb, 0x0c, 0xef, 0xb2, 0x6d, 0x56, 0xe0, 0x54, 0xd3, 0x32, 0x1b, 0x16, 0xb1, 0xed, 0x39, 0xa2, + 0xd4, 0x35, 0xd5, 0x20, 0x9e, 0xbd, 0x06, 0xf8, 0x38, 0xef, 0xdb, 0xd9, 0x2e, 0x9e, 0xaa, 0x24, + 0x93, 0xe0, 0x34, 0x5e, 0xf9, 0xa3, 0x3e, 0x38, 0x19, 0xcf, 0x3f, 0x52, 0xd2, 0x3c, 0xa9, 0x9b, + 0x34, 0x0f, 0x3d, 0x16, 0xda, 0x36, 0x6e, 0x0e, 0xec, 0xaf, 0x86, 0x84, 0xad, 0x33, 0x03, 0x23, + 0xc2, 0x4b, 0x79, 0x9d, 0x22, 0xd1, 0xf5, 0x57, 0xc3, 0x4a, 0xb4, 0x1b, 0xc7, 0xe9, 0xd1, 0x65, + 0x18, 0x55, 0x36, 0x15, 0x55, 0x53, 0x56, 0x35, 0xe2, 0x83, 0xb8, 0x09, 0xee, 0xbd, 0x02, 0x64, + 0x74, 0x26, 0x4e, 0x80, 0xdb, 0x79, 0xd0, 0x12, 0x8c, 0x39, 0x46, 0x3b, 0x94, 0xbb, 0x3a, 0xef, + 0x13, 0x50, 0x63, 0x2b, 0xed, 0x24, 0x38, 0x89, 0x0f, 0x6d, 0x02, 0xd4, 0xbc, 0x64, 0xc6, 0x2e, + 0x1c, 0xe7, 0x91, 0xa0, 0xdc, 0xf5, 0xde, 0xf2, 0xf3, 0xa2, 0xc0, 0xdf, 0xfa, 0x4d, 0x36, 0x0e, + 0x49, 0x42, 0xcf, 0xc0, 0x90, 0xc5, 0x33, 0x79, 0x6f, 0x00, 0xfd, 0x7c, 0x00, 0xf7, 0x08, 0xb6, + 0x21, 0x1c, 0xee, 0xc4, 0x51, 0x5a, 0xf9, 0xb7, 0x52, 0x38, 0x00, 0x7a, 0xdb, 0x17, 0x5d, 0x88, + 0xa4, 0x84, 0x0f, 0xc7, 0x52, 0xc2, 0x89, 0x76, 0x8e, 0x50, 0x46, 0xf8, 0x2e, 0x0c, 0xb1, 0x65, + 0xad, 0x1a, 0x0d, 0x77, 0x2a, 0x85, 0x8b, 0x9c, 0xef, 0x62, 0xeb, 0xf8, 0x18, 0xa1, 0x34, 0x61, + 0x94, 0x8f, 0x29, 0xdc, 0x89, 0xa3, 0xf2, 0xe4, 0x4f, 0x24, 0x98, 0x98, 0xaf, 0x5e, 0xb6, 0x4c, + 0xa7, 0xe9, 0xa9, 0x77, 0xad, 0xe9, 0xda, 0xea, 0x0b, 0xd0, 0x67, 0x39, 0x9a, 0x37, 0xae, 0x87, + 0xbc, 0x71, 0x61, 0x47, 0x63, 0xe3, 0x1a, 0x8b, 0x71, 0xb9, 0x83, 0x62, 0x0c, 0xe8, 0x75, 0x38, + 0x6e, 0x29, 0x46, 0x83, 0x78, 0x21, 0xfe, 0xc9, 0x0e, 0x47, 0xb3, 0x30, 0x87, 0x19, 0x7b, 0x28, + 0x8d, 0xe5, 0x68, 0x58, 0xa0, 0xca, 0xdf, 0x94, 0x60, 0xe4, 0xca, 0xf2, 0x72, 0x65, 0xc1, 0xe0, + 0xbb, 0xb8, 0xa2, 0xd0, 0x75, 0x96, 0x85, 0x34, 0x15, 0xba, 0x1e, 0xcf, 0x42, 0x58, 0x1f, 0xe6, + 0x3d, 0x68, 0x1d, 0xfa, 0x99, 0xf7, 0x20, 0x46, 0xbd, 0xcb, 0xc3, 0x8f, 0x10, 0x57, 0x76, 0x41, + 0x82, 0xdc, 0x59, 0x34, 0x60, 0x0f, 0x5e, 0x7e, 0x07, 0xc6, 0x43, 0xea, 0x31, 0x7b, 0xf1, 0xab, + 0x38, 0x54, 0x83, 0x1c, 0xd3, 0xc4, 0xbb, 0x68, 0xeb, 0xf4, 0xde, 0x28, 0x36, 0xe4, 0x20, 0x07, + 0x64, 0xff, 0x6c, 0xec, 0x62, 0xcb, 0x3f, 0xce, 0xc2, 0xa9, 0x2b, 0xa6, 0xa5, 0xbe, 0x6d, 0x1a, + 0x54, 0xd1, 0x2a, 0x66, 0x7d, 0xc6, 0xa1, 0xa6, 0x5d, 0x53, 0x34, 0x62, 0xf5, 0xf0, 0x58, 0xa9, + 0x45, 0x8e, 0x95, 0x2f, 0x76, 0x3a, 0xb2, 0x64, 0x7d, 0x53, 0xcf, 0x98, 0x34, 0x76, 0xc6, 0x5c, + 0x3c, 0x20, 0x79, 0x47, 0x79, 0xe0, 0xfc, 0x55, 0x06, 0xee, 0x4b, 0xd1, 0xeb, 0x10, 0x4e, 0x26, + 0x1b, 0xd1, 0x93, 0xc9, 0xfc, 0xc1, 0x18, 0xf4, 0x48, 0x8e, 0x29, 0xff, 0x4c, 0x37, 0x24, 0x4f, + 0x5d, 0xdf, 0x84, 0x3c, 0xff, 0x87, 0xc9, 0x9a, 0x30, 0xe4, 0x6c, 0x87, 0xa3, 0xad, 0x3a, 0xab, + 0xde, 0xe5, 0x3b, 0x26, 0x6b, 0xc4, 0x22, 0x46, 0x8d, 0x84, 0xd2, 0x3a, 0x01, 0x8e, 0x7d, 0x31, + 0xe8, 0x2c, 0x0c, 0xf2, 0x34, 0x2d, 0x12, 0xf9, 0x47, 0x76, 0xb6, 0x8b, 0x83, 0x4b, 0x41, 0x33, + 0x0e, 0xd3, 0xa0, 0xf3, 0x30, 0xa8, 0x2b, 0x5b, 0xb1, 0xb8, 0xef, 0xdf, 0x49, 0x2d, 0x05, 0x5d, + 0x38, 0x4c, 0x87, 0xde, 0x85, 0xe1, 0x5a, 0xd3, 0x09, 0xbd, 0xfd, 0x88, 0x95, 0xda, 0xe9, 0x10, + 0x93, 0x9e, 0x91, 0xca, 0x88, 0x9d, 0xe5, 0x67, 0x2b, 0x2b, 0xa1, 0x36, 0x1c, 0x13, 0x27, 0xff, + 0x3c, 0x0b, 0x0f, 0xec, 0xba, 0xbd, 0xd0, 0xfc, 0x2e, 0xf9, 0xd4, 0x44, 0x07, 0xb9, 0x54, 0x0d, + 0x86, 0xd8, 0x99, 0x9e, 0x9b, 0x9b, 0x5f, 0x18, 0x64, 0x3a, 0xbe, 0x30, 0xe0, 0xe1, 0x71, 0x31, + 0x0c, 0x82, 0xa3, 0x98, 0x2c, 0x05, 0x13, 0x17, 0x9b, 0x69, 0x29, 0xd8, 0x6c, 0xb4, 0x1b, 0xc7, + 0xe9, 0x19, 0x84, 0xb8, 0x77, 0x8c, 0x25, 0x60, 0x3e, 0xc4, 0x5c, 0xb4, 0x1b, 0xc7, 0xe9, 0x91, + 0x0e, 0x45, 0x81, 0x1a, 0xb5, 0x7e, 0xe8, 0x39, 0xcf, 0x4d, 0xc4, 0x1e, 0xda, 0xd9, 0x2e, 0x16, + 0x67, 0x77, 0x27, 0xc5, 0x77, 0xc3, 0x92, 0x97, 0x60, 0xe8, 0x8a, 0x69, 0xd3, 0x8a, 0x69, 0x51, + 0x1e, 0x79, 0xd1, 0x03, 0x90, 0xd5, 0x55, 0x43, 0x1c, 0xf4, 0x06, 0x85, 0xda, 0x59, 0xb6, 0x76, + 0x59, 0x3b, 0xef, 0x56, 0xb6, 0xc4, 0xb2, 0x0e, 0xba, 0x95, 0x2d, 0xcc, 0xda, 0xe5, 0xcb, 0xd0, + 0x2f, 0x22, 0x7a, 0x18, 0x28, 0xbb, 0x3b, 0x50, 0x36, 0x01, 0xe8, 0xfd, 0x2c, 0xf4, 0x8b, 0x00, + 0xd8, 0xc3, 0x50, 0x76, 0x23, 0x12, 0xca, 0x2e, 0x74, 0x97, 0x24, 0xa4, 0x86, 0xae, 0x7a, 0x2c, + 0x74, 0x3d, 0xdb, 0x25, 0xfe, 0x51, 0x86, 0xaa, 0x8f, 0x25, 0x18, 0x8e, 0x26, 0x43, 0xcc, 0x5d, + 0xb1, 0x0d, 0xaa, 0xd6, 0xc8, 0xd5, 0xe0, 0x2e, 0xc8, 0x77, 0x57, 0xd5, 0xa0, 0x0b, 0x87, 0xe9, + 0x10, 0xf1, 0xd9, 0xd8, 0x62, 0x13, 0x26, 0x2f, 0xa5, 0x98, 0xc4, 0xa1, 0xaa, 0x56, 0x72, 0x5f, + 0xca, 0x4b, 0x0b, 0x06, 0xbd, 0x66, 0x55, 0xa9, 0xa5, 0x1a, 0x8d, 0x36, 0x31, 0x7c, 0xdd, 0x86, + 0x71, 0xe5, 0x6f, 0x67, 0x60, 0x50, 0x28, 0x7c, 0x08, 0xb1, 0xf4, 0xd5, 0x68, 0x2c, 0x7d, 0xb2, + 0xcb, 0x34, 0xf3, 0x28, 0x62, 0xe7, 0xa7, 0x92, 0x6f, 0x28, 0x96, 0xb6, 0xb2, 0xac, 0x7a, 0xdd, + 0xb4, 0x69, 0x3c, 0xab, 0x66, 0xde, 0x01, 0xf3, 0x1e, 0xf4, 0xbe, 0x04, 0x27, 0xd5, 0x58, 0xa2, + 0x2b, 0xe6, 0xf1, 0xf9, 0xee, 0x06, 0xee, 0xc3, 0x04, 0xc5, 0x09, 0xf1, 0x1e, 0xdc, 0x26, 0x52, + 0x76, 0xa0, 0x8d, 0x0a, 0x29, 0xd0, 0xb7, 0x4e, 0x69, 0xb3, 0xcb, 0x28, 0x9f, 0x94, 0xc2, 0x97, + 0xf3, 0x7c, 0xf8, 0xcb, 0xcb, 0x15, 0xcc, 0xa1, 0xe5, 0x8f, 0x83, 0x95, 0x55, 0x75, 0xb7, 0xb7, + 0x7f, 0xc8, 0x90, 0x0e, 0xe2, 0x90, 0x31, 0x98, 0x74, 0xc0, 0x40, 0x2f, 0x43, 0x96, 0x6a, 0xdd, + 0xde, 0x22, 0x0b, 0x09, 0xcb, 0x8b, 0xd5, 0xc0, 0xc5, 0x2e, 0x2f, 0x56, 0x31, 0x83, 0x44, 0x6f, + 0x40, 0x8e, 0x1d, 0xe1, 0x98, 0x77, 0xca, 0x76, 0xef, 0xfd, 0x98, 0xbd, 0x82, 0xf5, 0xcb, 0xfe, + 0xd9, 0xd8, 0xc5, 0x95, 0xdf, 0x81, 0xa1, 0x88, 0x0b, 0x43, 0x37, 0xe1, 0x84, 0x66, 0x2a, 0xf5, + 0xb2, 0xa2, 0x29, 0x46, 0x8d, 0x78, 0x8f, 0xa9, 0xff, 0xb7, 0xbb, 0x33, 0x5f, 0x0c, 0x71, 0x08, + 0x57, 0xe8, 0x17, 0x88, 0x84, 0xfb, 0x70, 0x04, 0x5b, 0x56, 0x00, 0x82, 0xd1, 0xa3, 0x22, 0xe4, + 0xd8, 0x12, 0x76, 0x8f, 0x63, 0x03, 0xe5, 0x01, 0xa6, 0x2b, 0x5b, 0xd9, 0x36, 0x76, 0xdb, 0xd1, + 0x39, 0x00, 0x9b, 0xd4, 0x2c, 0x42, 0xb9, 0x4f, 0x73, 0x9f, 0x6c, 0xfc, 0xd8, 0x51, 0xf5, 0x7b, + 0x70, 0x88, 0x4a, 0xfe, 0x6e, 0x06, 0x86, 0xae, 0x12, 0xfa, 0x96, 0x69, 0x6d, 0x54, 0x4c, 0x4d, + 0xad, 0xb5, 0x7a, 0x18, 0xa9, 0x56, 0x23, 0x91, 0xea, 0x85, 0x0e, 0xe7, 0x2a, 0xa2, 0x65, 0x6a, + 0xbc, 0xea, 0xad, 0xbf, 0xf9, 0xb3, 0x04, 0x85, 0x88, 0x1e, 0x61, 0xe7, 0x43, 0x20, 0xd7, 0x34, + 0x2d, 0xea, 0x1d, 0x97, 0xf7, 0x35, 0x3e, 0x16, 0x06, 0x42, 0x07, 0x66, 0x06, 0x8b, 0x5d, 0x74, + 0x66, 0xc5, 0x35, 0xcb, 0xd4, 0xc5, 0x6e, 0xda, 0x9f, 0x14, 0x42, 0xac, 0xc0, 0x8a, 0xf3, 0x96, + 0xa9, 0x63, 0x8e, 0x2d, 0xff, 0x20, 0x03, 0xa3, 0x11, 0xca, 0x43, 0x08, 0x43, 0x4a, 0x34, 0x0c, + 0x3d, 0xbb, 0x9f, 0x81, 0x1d, 0x49, 0x30, 0xfa, 0x5c, 0x8a, 0x19, 0x8d, 0x99, 0x17, 0xad, 0xc1, + 0x60, 0xd3, 0xac, 0x57, 0x0f, 0xa0, 0xf6, 0x82, 0x1f, 0xc0, 0x2a, 0x01, 0x16, 0x0e, 0x03, 0xa3, + 0x2d, 0x18, 0x35, 0x14, 0x9d, 0xd8, 0x4d, 0xa5, 0x46, 0xaa, 0x07, 0xf0, 0x80, 0x71, 0xcf, 0xce, + 0x76, 0x71, 0xf4, 0x6a, 0x1c, 0x11, 0xb7, 0x0b, 0x91, 0x7f, 0xd4, 0x36, 0x6e, 0xd3, 0xa2, 0xe8, + 0x25, 0xc8, 0xf3, 0xa2, 0xc0, 0x9a, 0xa9, 0x89, 0x70, 0x7c, 0x9e, 0xd9, 0xad, 0x22, 0xda, 0xee, + 0x6c, 0x17, 0xff, 0x67, 0xd7, 0xb7, 0x63, 0x8f, 0x10, 0xfb, 0x30, 0x68, 0x11, 0xfa, 0x9a, 0xdd, + 0xa7, 0x5d, 0x3c, 0x14, 0xf2, 0x5c, 0x8b, 0xa3, 0xc8, 0x7f, 0x8f, 0xab, 0xcd, 0x03, 0xe2, 0xcd, + 0x03, 0x9b, 0x2e, 0x3f, 0xcd, 0x4b, 0x9d, 0x32, 0x0b, 0xfa, 0x45, 0x5e, 0x20, 0xd6, 0xfc, 0xe5, + 0xfd, 0xac, 0xf9, 0x70, 0x2c, 0xf3, 0xef, 0xfa, 0xbc, 0x46, 0x4f, 0x90, 0xfc, 0xc3, 0x0c, 0x8c, + 0x72, 0x85, 0x6a, 0x8e, 0xa5, 0xd2, 0x56, 0xcf, 0x7d, 0xfe, 0x5a, 0xc4, 0xe7, 0xcf, 0x75, 0x38, + 0xc0, 0x36, 0x4d, 0x8f, 0xc8, 0xef, 0xff, 0x34, 0x03, 0xf7, 0xb4, 0xe9, 0x72, 0x08, 0x3e, 0x91, + 0x44, 0x7d, 0xe2, 0x0b, 0xfb, 0x35, 0xdf, 0x91, 0xf8, 0xc5, 0x5b, 0x90, 0x60, 0x3c, 0xbe, 0xd9, + 0xce, 0x01, 0x34, 0x2d, 0x75, 0x53, 0xd5, 0x48, 0x43, 0x14, 0x6e, 0xe5, 0x83, 0xe5, 0x54, 0xf1, + 0x7b, 0x70, 0x88, 0x0a, 0x7d, 0x05, 0x26, 0xea, 0x64, 0x4d, 0x71, 0x34, 0x3a, 0x53, 0xaf, 0xcf, + 0x2a, 0x4d, 0x65, 0x55, 0xd5, 0x54, 0xaa, 0x8a, 0xcb, 0xfb, 0x81, 0xf2, 0x25, 0xb7, 0xa0, 0x2a, + 0x89, 0xe2, 0xce, 0x76, 0xf1, 0x91, 0xdd, 0xeb, 0x55, 0x3c, 0xe2, 0x16, 0x4e, 0x11, 0x82, 0xbe, + 0x2a, 0x41, 0xc1, 0x22, 0x6f, 0x3a, 0xaa, 0x45, 0xea, 0x73, 0x96, 0xd9, 0x8c, 0x68, 0x90, 0xe5, + 0x1a, 0x5c, 0xde, 0xd9, 0x2e, 0x16, 0x70, 0x0a, 0x4d, 0x27, 0x3a, 0xa4, 0x0a, 0x42, 0x14, 0xc6, + 0x14, 0x4d, 0x33, 0xdf, 0x22, 0x51, 0x0b, 0xf4, 0x71, 0xf9, 0xe5, 0x9d, 0xed, 0xe2, 0xd8, 0x4c, + 0x7b, 0x77, 0x27, 0xa2, 0x93, 0xe0, 0xd1, 0x34, 0xf4, 0x6f, 0x9a, 0x9a, 0xa3, 0x13, 0xbb, 0x90, + 0xe3, 0x92, 0x58, 0x8c, 0xe8, 0xbf, 0xee, 0x36, 0xdd, 0xd9, 0x2e, 0x1e, 0x9f, 0xaf, 0xf2, 0x57, + 0x15, 0x8f, 0x8a, 0x9d, 0xb2, 0x59, 0x66, 0x2a, 0xdc, 0x14, 0x7f, 0xd2, 0xcd, 0x07, 0x7e, 0xf1, + 0x4a, 0xd0, 0x85, 0xc3, 0x74, 0x48, 0x87, 0x81, 0x75, 0x71, 0x9f, 0x63, 0x17, 0xfa, 0xbb, 0xca, + 0x06, 0x22, 0xf7, 0x41, 0xe5, 0x51, 0x21, 0x72, 0xc0, 0x6b, 0xb6, 0x71, 0x20, 0x01, 0x3d, 0x0a, + 0xfd, 0xfc, 0xcf, 0xc2, 0x1c, 0x7f, 0x08, 0xce, 0x07, 0xde, 0xf3, 0x8a, 0xdb, 0x8c, 0xbd, 0x7e, + 0x8f, 0x74, 0xa1, 0x32, 0xcb, 0xdf, 0x6d, 0x63, 0xa4, 0x0b, 0x95, 0x59, 0xec, 0xf5, 0xa3, 0x26, + 0xf4, 0xdb, 0x64, 0x51, 0x35, 0x9c, 0xad, 0x02, 0xf0, 0x2d, 0x75, 0xa9, 0xd3, 0x5b, 0xdb, 0x4b, + 0x9c, 0x3b, 0xf6, 0xca, 0x15, 0x48, 0x14, 0xfd, 0xd8, 0x13, 0x83, 0xb6, 0x60, 0xc0, 0x72, 0x8c, + 0x19, 0x7b, 0xc5, 0x26, 0x56, 0x61, 0x90, 0xcb, 0xec, 0x34, 0xa0, 0x60, 0x8f, 0x3f, 0x2e, 0xd5, + 0xb7, 0xa0, 0x4f, 0x81, 0x03, 0x61, 0xe8, 0x23, 0x09, 0x90, 0xed, 0x34, 0x9b, 0x1a, 0xd1, 0x89, + 0x41, 0x15, 0x8d, 0x3f, 0xb4, 0xd9, 0x85, 0x13, 0x5c, 0x87, 0x4a, 0xc7, 0xb7, 0xd5, 0x71, 0xa0, + 0xb8, 0x32, 0xfe, 0x2b, 0x76, 0x3b, 0x29, 0x4e, 0xd0, 0x83, 0x4d, 0xc5, 0x9a, 0xcd, 0x7f, 0x17, + 0x86, 0xba, 0x9a, 0x8a, 0xe4, 0x07, 0xc7, 0x60, 0x2a, 0x44, 0x3f, 0xf6, 0xc4, 0xa0, 0xeb, 0x30, + 0x61, 0x11, 0xa5, 0x7e, 0xcd, 0xd0, 0x5a, 0xd8, 0x34, 0xe9, 0xbc, 0xaa, 0x11, 0xbb, 0x65, 0x53, + 0xa2, 0x17, 0x86, 0xf9, 0xb2, 0xf1, 0x2b, 0x3f, 0x71, 0x22, 0x15, 0x4e, 0xe1, 0xe6, 0x65, 0x97, + 0xe2, 0x96, 0xb5, 0xb7, 0x35, 0xe9, 0xfb, 0x2b, 0xbb, 0x0c, 0x54, 0xec, 0x59, 0xd9, 0x65, 0x48, + 0xc4, 0x51, 0x5e, 0x2d, 0x7e, 0x9e, 0x81, 0xb1, 0x40, 0x95, 0x3d, 0x97, 0x5d, 0x26, 0xb0, 0x1c, + 0x42, 0xd9, 0x65, 0x72, 0xdd, 0x62, 0xb6, 0xd7, 0x75, 0x8b, 0x3d, 0x28, 0xf7, 0xe4, 0xa5, 0x90, + 0x81, 0x11, 0xff, 0xf3, 0x4b, 0x21, 0x03, 0x5d, 0x8f, 0x24, 0x05, 0xfb, 0x49, 0xc4, 0x5c, 0xff, + 0x45, 0x15, 0x71, 0x09, 0x05, 0x6a, 0x7d, 0x9d, 0x15, 0xa8, 0xc9, 0xbf, 0xcf, 0xc2, 0xc9, 0xb8, + 0xb7, 0x89, 0x14, 0x46, 0x49, 0x77, 0x2d, 0x8c, 0xaa, 0xc0, 0xf8, 0x9a, 0xa3, 0x69, 0x2d, 0x6e, + 0x90, 0xd0, 0xbb, 0x9a, 0xfb, 0x02, 0x75, 0xbf, 0xe0, 0x1c, 0x9f, 0x4f, 0xa0, 0xc1, 0x89, 0x9c, + 0x29, 0x45, 0x5e, 0xd9, 0xae, 0x8a, 0xbc, 0xda, 0x6a, 0x8c, 0xfa, 0xf6, 0x5e, 0x63, 0x94, 0x5c, + 0xb0, 0x95, 0xeb, 0xa2, 0x60, 0xeb, 0x20, 0x2a, 0xac, 0x12, 0xdc, 0xea, 0xdd, 0x2a, 0xac, 0xe4, + 0xb7, 0x61, 0x52, 0xb0, 0xb1, 0xff, 0xb3, 0xa6, 0x41, 0x2d, 0x53, 0xd3, 0x88, 0x35, 0xe7, 0xe8, + 0x7a, 0x2b, 0xb2, 0x2d, 0xa5, 0x03, 0xdf, 0x96, 0x17, 0x61, 0x38, 0x5a, 0x44, 0xe8, 0xae, 0x2b, + 0xb7, 0xae, 0x51, 0xbc, 0x3a, 0x86, 0xd6, 0x95, 0xdb, 0x8e, 0x7d, 0x0a, 0xf9, 0x0f, 0x12, 0x9c, + 0x4a, 0x29, 0xa5, 0x42, 0x37, 0x61, 0x58, 0x57, 0xb6, 0x42, 0x05, 0x6e, 0x71, 0xfd, 0xf7, 0x78, + 0x6d, 0xc2, 0x1f, 0xd1, 0x97, 0x22, 0x48, 0x38, 0x86, 0xcc, 0xf3, 0x10, 0x65, 0xab, 0xea, 0x58, + 0x0d, 0xd2, 0xe5, 0xe5, 0x0c, 0x77, 0x0e, 0x4b, 0x02, 0x03, 0xfb, 0x68, 0xf2, 0x27, 0x12, 0x14, + 0xd2, 0x92, 0x52, 0x74, 0x3e, 0x52, 0xf0, 0xf5, 0x60, 0xac, 0xe0, 0x6b, 0xb4, 0x8d, 0xef, 0x90, + 0xca, 0xbd, 0x3e, 0x95, 0x60, 0x22, 0x39, 0x79, 0x47, 0x4f, 0x44, 0x34, 0x2e, 0xc6, 0x34, 0x1e, + 0x89, 0x71, 0x09, 0x7d, 0xd7, 0x61, 0x58, 0xa4, 0xf8, 0x02, 0x66, 0x0f, 0x1f, 0x5b, 0x6e, 0xfa, + 0xe7, 0x07, 0x2f, 0x59, 0xe5, 0xf3, 0x18, 0x6d, 0xc3, 0x31, 0x5c, 0xf9, 0x5f, 0x19, 0xc8, 0xf1, + 0x5a, 0x82, 0x1e, 0x66, 0x96, 0xaf, 0x44, 0x32, 0xcb, 0x4e, 0x3f, 0xab, 0xe3, 0xda, 0xa5, 0x26, + 0x95, 0xab, 0xb1, 0xa4, 0xf2, 0x42, 0x57, 0xe8, 0x47, 0x99, 0x4f, 0x3e, 0x0d, 0x03, 0xfe, 0x10, + 0x3b, 0x0b, 0x32, 0xf2, 0xf7, 0x33, 0x30, 0x18, 0x1a, 0x40, 0x87, 0x21, 0x6a, 0x33, 0x12, 0xe4, + 0xbb, 0xf9, 0xe6, 0x38, 0x24, 0xbb, 0xe4, 0x85, 0x79, 0xf7, 0xbb, 0x86, 0xa0, 0xd4, 0xa8, 0x3d, + 0xfa, 0x5f, 0x84, 0x61, 0xf7, 0xc3, 0x6d, 0xff, 0xca, 0x35, 0xcb, 0xf7, 0x86, 0xff, 0x2d, 0xce, + 0x72, 0xa4, 0x17, 0xc7, 0xa8, 0x27, 0x9f, 0x81, 0xa1, 0x88, 0xb0, 0x8e, 0x3e, 0x14, 0xf8, 0xa5, + 0x04, 0xe3, 0x49, 0xc5, 0x51, 0xe8, 0x34, 0xf4, 0x6d, 0xa8, 0xe2, 0x4d, 0x34, 0xf4, 0x8e, 0xfc, + 0x45, 0xd5, 0xa8, 0x63, 0xde, 0xe3, 0x7f, 0x45, 0x92, 0x49, 0xfd, 0x8a, 0xe4, 0x1c, 0x80, 0xd2, + 0x54, 0xc5, 0xc7, 0xf0, 0x62, 0x54, 0xfe, 0xd6, 0x08, 0x3e, 0x93, 0xc7, 0x21, 0x2a, 0x5e, 0x96, + 0x10, 0xe8, 0x23, 0xd2, 0xe5, 0xa0, 0x5e, 0x20, 0xa4, 0x6a, 0x98, 0x4e, 0xfe, 0xb5, 0x04, 0x0f, + 0xde, 0xf5, 0xd8, 0x8c, 0xca, 0x11, 0xe7, 0x53, 0x8a, 0x39, 0x9f, 0xa9, 0x74, 0x80, 0x43, 0x2c, + 0x95, 0xfd, 0x6b, 0x06, 0xd0, 0xf2, 0xba, 0x6a, 0xd5, 0x2b, 0x8a, 0x45, 0x5b, 0x58, 0x0c, 0xb0, + 0x87, 0xee, 0xe8, 0x3c, 0x0c, 0xd6, 0x89, 0x5d, 0xb3, 0x54, 0x6e, 0x24, 0x31, 0x9d, 0xbe, 0xc5, + 0xe7, 0x82, 0x2e, 0x1c, 0xa6, 0x43, 0x0d, 0xc8, 0x6f, 0xba, 0x73, 0xe6, 0x3d, 0x3d, 0x77, 0x7a, + 0x22, 0x08, 0x56, 0x40, 0xb0, 0x3f, 0x44, 0x83, 0x8d, 0x7d, 0xf0, 0x1e, 0xbb, 0x9b, 0xbf, 0x49, + 0x30, 0xd1, 0x6e, 0xee, 0x39, 0x66, 0x98, 0xde, 0x99, 0xfc, 0x7e, 0xe8, 0xe3, 0xa8, 0xcc, 0xd6, + 0x27, 0xdc, 0x67, 0x19, 0x26, 0x11, 0xf7, 0x89, 0x72, 0xa6, 0x5e, 0x1e, 0x84, 0x7e, 0x91, 0x81, + 0xc9, 0xe4, 0x01, 0x1f, 0xc2, 0x19, 0xf2, 0x66, 0xf4, 0x0c, 0xd9, 0xe9, 0x2d, 0x54, 0xb2, 0xde, + 0x47, 0x72, 0x9e, 0xfc, 0x59, 0x26, 0x69, 0xdd, 0x1c, 0x82, 0x09, 0xd7, 0xa2, 0x26, 0x9c, 0xd9, + 0xb7, 0x09, 0x8f, 0xc2, 0x7c, 0xe5, 0x47, 0x6f, 0xdd, 0x9e, 0x3a, 0xf6, 0xd9, 0xed, 0xa9, 0x63, + 0xbf, 0xbb, 0x3d, 0x75, 0xec, 0xbd, 0x9d, 0x29, 0xe9, 0xd6, 0xce, 0x94, 0xf4, 0xd9, 0xce, 0x94, + 0xf4, 0xc7, 0x9d, 0x29, 0xe9, 0xc3, 0x3f, 0x4d, 0x1d, 0x7b, 0xa5, 0x5f, 0x68, 0xfc, 0xef, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x7f, 0x8b, 0xea, 0x66, 0x24, 0x47, 0x00, 0x00, } diff --git a/pkg/apis/extensions/v1beta1/generated.proto b/pkg/apis/extensions/v1beta1/generated.proto index 0b5b875ce4f..b9bf60ef96b 100644 --- a/pkg/apis/extensions/v1beta1/generated.proto +++ b/pkg/apis/extensions/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.extensions.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -71,6 +71,8 @@ message CustomMetricTargetList { // DaemonSet represents the configuration of a daemon set. message DaemonSet { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -92,10 +94,12 @@ message DaemonSet { // DaemonSetList is a collection of daemon sets. message DaemonSetList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of daemon sets. repeated DaemonSet items = 2; @@ -108,7 +112,7 @@ message DaemonSetSpec { // If empty, defaulted to labels on Pod template. // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1; // Template is the object that describes the pod that will be created. // The DaemonSet will create exactly one copy of this pod on every node @@ -146,6 +150,8 @@ message DaemonSetStatus { // Deployment enables declarative updates for Pods and ReplicaSets. message Deployment { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -168,10 +174,10 @@ message DeploymentCondition { optional string status = 2; // The last time this condition was updated. - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastUpdateTime = 6; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; // Last time the condition transitioned from one status to another. - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 7; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 7; // The reason for the condition's last transition. optional string reason = 4; @@ -182,9 +188,11 @@ message DeploymentCondition { // DeploymentList is a list of Deployments. message DeploymentList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Deployments. repeated Deployment items = 2; @@ -192,6 +200,8 @@ message DeploymentList { // DeploymentRollback stores the information required to rollback a deployment. message DeploymentRollback { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Required: This must match the Name of a deployment. optional string name = 1; @@ -213,7 +223,7 @@ message DeploymentSpec { // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template describes the pods that will be created. optional k8s.io.kubernetes.pkg.api.v1.PodTemplateSpec template = 3; @@ -339,6 +349,8 @@ message HTTPIngressRuleValue { // configuration of a horizontal pod autoscaler. message HorizontalPodAutoscaler { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -354,9 +366,11 @@ message HorizontalPodAutoscaler { // list of horizontal pod autoscaler objects. message HorizontalPodAutoscalerList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // list of horizontal pod autoscaler objects. repeated HorizontalPodAutoscaler items = 2; @@ -390,7 +404,7 @@ message HorizontalPodAutoscalerStatus { // last time the HorizontalPodAutoscaler scaled the number of pods; // used by the autoscaler to control how often the number of pods is changed. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastScaleTime = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScaleTime = 2; // current number of replicas of pods managed by this autoscaler. optional int32 currentReplicas = 3; @@ -428,6 +442,8 @@ message IDRange { // externally-reachable urls, load balance traffic, terminate SSL, offer name // based virtual hosting etc. message Ingress { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -455,10 +471,12 @@ message IngressBackend { // IngressList is a collection of Ingress. message IngressList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of Ingress. repeated Ingress items = 2; @@ -550,6 +568,8 @@ message IngressTLS { } message NetworkPolicy { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -585,10 +605,12 @@ message NetworkPolicyIngressRule { // Network Policy List is a list of NetworkPolicy objects. message NetworkPolicyList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of schema objects. repeated NetworkPolicy items = 2; @@ -600,7 +622,7 @@ message NetworkPolicyPeer { // If not provided, this selector selects no pods. // If present but empty, this selector selects all pods in this namespace. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector podSelector = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; // Selects Namespaces using cluster scoped-labels. This // matches all pods in all namespaces selected by this label selector. @@ -608,7 +630,7 @@ message NetworkPolicyPeer { // If omitted, this selector selects no namespaces. // If present but empty, this selector selects all namespaces. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 2; } message NetworkPolicyPort { @@ -632,7 +654,7 @@ message NetworkPolicySpec { // same set of pods. In this case, the ingress rules for each are combined additively. // This field is NOT optional and follows standard label selector semantics. // An empty podSelector matches all pods in this namespace. - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector podSelector = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector podSelector = 1; // List of ingress rules to be applied to the selected pods. // Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it, @@ -649,6 +671,8 @@ message NetworkPolicySpec { // Pod Security Policy governs the ability to make requests that affect the Security Context // that will be applied to a pod and container. message PodSecurityPolicy { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -661,10 +685,12 @@ message PodSecurityPolicy { // Pod Security Policy List is a list of PodSecurityPolicy objects. message PodSecurityPolicyList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of schema objects. repeated PodSecurityPolicy items = 2; @@ -737,6 +763,8 @@ message PodSecurityPolicySpec { // ReplicaSet represents the configuration of a ReplicaSet. message ReplicaSet { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // If the Labels of a ReplicaSet are empty, they are defaulted to // be the same as the Pod(s) that the ReplicaSet manages. // Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata @@ -767,7 +795,7 @@ message ReplicaSetCondition { // The last time the condition transitioned from one status to another. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.Time lastTransitionTime = 3; + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; // The reason for the condition's last transition. // +optional @@ -780,10 +808,12 @@ message ReplicaSetCondition { // ReplicaSetList is a collection of ReplicaSets. message ReplicaSetList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of ReplicaSets. // More info: http://kubernetes.io/docs/user-guide/replication-controller @@ -810,7 +840,7 @@ message ReplicaSetSpec { // Label keys and values that must match in order to be controlled by this replica set. // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; // Template is the object that describes the pod that will be created if // insufficient replicas are detected. @@ -848,6 +878,7 @@ message ReplicaSetStatus { // Dummy definition message ReplicationControllerDummy { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; } message RollbackConfig { @@ -909,6 +940,8 @@ message SELinuxStrategyOptions { // represents a scaling request for a resource. message Scale { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object metadata; More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -982,6 +1015,8 @@ message SupplementalGroupsStrategyOptions { // A ThirdPartyResource is a generic representation of a resource, it is used by add-ons and plugins to add new resource // types to the API. It consists of one or more Versions of the api. message ThirdPartyResource { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object metadata // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -997,6 +1032,8 @@ message ThirdPartyResource { // An internal object, used for versioned storage in etcd. Not exposed to the end user. message ThirdPartyResourceData { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -1008,10 +1045,12 @@ message ThirdPartyResourceData { // ThirdPartyResrouceDataList is a list of ThirdPartyResourceData. message ThirdPartyResourceDataList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ThirdpartyResourceData. repeated ThirdPartyResourceData items = 2; @@ -1019,9 +1058,11 @@ message ThirdPartyResourceDataList { // ThirdPartyResourceList is a list of ThirdPartyResources. message ThirdPartyResourceList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of ThirdPartyResources. repeated ThirdPartyResource items = 2; diff --git a/pkg/apis/extensions/v1beta1/register.go b/pkg/apis/extensions/v1beta1/register.go index e0e2d165512..d0761bc8990 100644 --- a/pkg/apis/extensions/v1beta1/register.go +++ b/pkg/apis/extensions/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/extensions/v1beta1/types.generated.go b/pkg/apis/extensions/v1beta1/types.generated.go index 8b8897b0017..69a7894f705 100644 --- a/pkg/apis/extensions/v1beta1/types.generated.go +++ b/pkg/apis/extensions/v1beta1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -65,10 +65,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg4_resource.Quantity - var v1 pkg2_v1.ObjectMeta - var v2 pkg1_v1.TypeMeta - var v3 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg4_resource.Quantity + var v3 pkg2_v1.ObjectMeta var v4 pkg5_intstr.IntOrString var v5 time.Time _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5 diff --git a/pkg/apis/extensions/v1beta1/types.go b/pkg/apis/extensions/v1beta1/types.go index 37212fcf9b8..479d5a2450c 100644 --- a/pkg/apis/extensions/v1beta1/types.go +++ b/pkg/apis/extensions/v1beta1/types.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/extensions/v1beta1/zz_generated.conversion.go b/pkg/apis/extensions/v1beta1/zz_generated.conversion.go index 486f35984c5..a2556396394 100644 --- a/pkg/apis/extensions/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/extensions/v1beta1/zz_generated.conversion.go @@ -21,13 +21,13 @@ limitations under the License. package v1beta1 import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" intstr "k8s.io/kubernetes/pkg/util/intstr" unsafe "unsafe" ) @@ -1589,14 +1589,14 @@ func Convert_extensions_ScaleSpec_To_v1beta1_ScaleSpec(in *extensions.ScaleSpec, func autoConvert_v1beta1_ScaleStatus_To_extensions_ScaleStatus(in *ScaleStatus, out *extensions.ScaleStatus, s conversion.Scope) error { out.Replicas = in.Replicas - // WARNING: in.Selector requires manual conversion: inconvertible types (map[string]string vs *k8s.io/kubernetes/pkg/apis/meta/v1.LabelSelector) + // WARNING: in.Selector requires manual conversion: inconvertible types (map[string]string vs *k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector) // WARNING: in.TargetSelector requires manual conversion: does not exist in peer-type return nil } func autoConvert_extensions_ScaleStatus_To_v1beta1_ScaleStatus(in *extensions.ScaleStatus, out *ScaleStatus, s conversion.Scope) error { out.Replicas = in.Replicas - // WARNING: in.Selector requires manual conversion: inconvertible types (*k8s.io/kubernetes/pkg/apis/meta/v1.LabelSelector vs map[string]string) + // WARNING: in.Selector requires manual conversion: inconvertible types (*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector vs map[string]string) return nil } diff --git a/pkg/apis/extensions/v1beta1/zz_generated.deepcopy.go b/pkg/apis/extensions/v1beta1/zz_generated.deepcopy.go index 68dd0ab2b75..b8790b065b1 100644 --- a/pkg/apis/extensions/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/extensions/v1beta1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" intstr "k8s.io/kubernetes/pkg/util/intstr" reflect "reflect" ) @@ -216,9 +216,10 @@ func DeepCopy_v1beta1_DaemonSetSpec(in interface{}, out interface{}, c *conversi *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { @@ -312,9 +313,10 @@ func DeepCopy_v1beta1_DeploymentSpec(in interface{}, out interface{}, c *convers } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { @@ -712,16 +714,18 @@ func DeepCopy_v1beta1_NetworkPolicyPeer(in interface{}, out interface{}, c *conv *out = *in if in.PodSelector != nil { in, out := &in.PodSelector, &out.PodSelector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if in.NamespaceSelector != nil { in, out := &in.NamespaceSelector, &out.NamespaceSelector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } return nil @@ -752,8 +756,10 @@ func DeepCopy_v1beta1_NetworkPolicySpec(in interface{}, out interface{}, c *conv in := in.(*NetworkPolicySpec) out := out.(*NetworkPolicySpec) *out = *in - if err := meta_v1.DeepCopy_v1_LabelSelector(&in.PodSelector, &out.PodSelector, c); err != nil { + if newVal, err := c.DeepCopy(&in.PodSelector); err != nil { return err + } else { + out.PodSelector = *newVal.(*meta_v1.LabelSelector) } if in.Ingress != nil { in, out := &in.Ingress, &out.Ingress @@ -915,9 +921,10 @@ func DeepCopy_v1beta1_ReplicaSetSpec(in interface{}, out interface{}, c *convers } if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } if err := v1.DeepCopy_v1_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { diff --git a/pkg/apis/extensions/v1beta1/zz_generated.defaults.go b/pkg/apis/extensions/v1beta1/zz_generated.defaults.go index 741a5cfec6b..4d93e688d59 100644 --- a/pkg/apis/extensions/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/extensions/v1beta1/zz_generated.defaults.go @@ -21,8 +21,8 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - runtime "k8s.io/kubernetes/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/extensions/validation/BUILD b/pkg/apis/extensions/validation/BUILD index 8bffa93a261..2b57c64277a 100644 --- a/pkg/apis/extensions/validation/BUILD +++ b/pkg/apis/extensions/validation/BUILD @@ -16,16 +16,16 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/meta/v1/validation:go_default_library", - "//pkg/labels:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -37,12 +37,12 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/apis/extensions/validation/validation.go b/pkg/apis/extensions/validation/validation.go index 6051308c326..3c46816b350 100644 --- a/pkg/apis/extensions/validation/validation.go +++ b/pkg/apis/extensions/validation/validation.go @@ -24,19 +24,19 @@ import ( "strconv" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" apivalidation "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" unversionedvalidation "k8s.io/kubernetes/pkg/apis/meta/v1/validation" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/seccomp" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) func ValidateThirdPartyResourceUpdate(update, old *extensions.ThirdPartyResource) field.ErrorList { diff --git a/pkg/apis/extensions/validation/validation_test.go b/pkg/apis/extensions/validation/validation_test.go index 173fb2c8cb6..70b996e562f 100644 --- a/pkg/apis/extensions/validation/validation_test.go +++ b/pkg/apis/extensions/validation/validation_test.go @@ -21,14 +21,14 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/seccomp" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestValidateDaemonSetStatusUpdate(t *testing.T) { diff --git a/pkg/apis/extensions/zz_generated.deepcopy.go b/pkg/apis/extensions/zz_generated.deepcopy.go index 6713b7a7c60..ca292c1ba63 100644 --- a/pkg/apis/extensions/zz_generated.deepcopy.go +++ b/pkg/apis/extensions/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package extensions import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" intstr "k8s.io/kubernetes/pkg/util/intstr" reflect "reflect" ) @@ -201,9 +201,10 @@ func DeepCopy_extensions_DaemonSetSpec(in interface{}, out interface{}, c *conve *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if err := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { @@ -292,9 +293,10 @@ func DeepCopy_extensions_DeploymentSpec(in interface{}, out interface{}, c *conv *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if err := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { @@ -611,16 +613,18 @@ func DeepCopy_extensions_NetworkPolicyPeer(in interface{}, out interface{}, c *c *out = *in if in.PodSelector != nil { in, out := &in.PodSelector, &out.PodSelector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if in.NamespaceSelector != nil { in, out := &in.NamespaceSelector, &out.NamespaceSelector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } return nil @@ -651,8 +655,10 @@ func DeepCopy_extensions_NetworkPolicySpec(in interface{}, out interface{}, c *c in := in.(*NetworkPolicySpec) out := out.(*NetworkPolicySpec) *out = *in - if err := v1.DeepCopy_v1_LabelSelector(&in.PodSelector, &out.PodSelector, c); err != nil { + if newVal, err := c.DeepCopy(&in.PodSelector); err != nil { return err + } else { + out.PodSelector = *newVal.(*v1.LabelSelector) } if in.Ingress != nil { in, out := &in.Ingress, &out.Ingress @@ -809,9 +815,10 @@ func DeepCopy_extensions_ReplicaSetSpec(in interface{}, out interface{}, c *conv *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } if err := api.DeepCopy_api_PodTemplateSpec(&in.Template, &out.Template, c); err != nil { @@ -927,9 +934,10 @@ func DeepCopy_extensions_ScaleStatus(in interface{}, out interface{}, c *convers *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } return nil diff --git a/pkg/apis/imagepolicy/BUILD b/pkg/apis/imagepolicy/BUILD index d0d61571bc8..334248c5a6f 100644 --- a/pkg/apis/imagepolicy/BUILD +++ b/pkg/apis/imagepolicy/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/imagepolicy/install/BUILD b/pkg/apis/imagepolicy/install/BUILD index 9e199e9e675..01680812d1b 100644 --- a/pkg/apis/imagepolicy/install/BUILD +++ b/pkg/apis/imagepolicy/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/imagepolicy:go_default_library", "//pkg/apis/imagepolicy/v1alpha1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/imagepolicy/install/install.go b/pkg/apis/imagepolicy/install/install.go index 7c01a2697b1..27b5a57a7d8 100644 --- a/pkg/apis/imagepolicy/install/install.go +++ b/pkg/apis/imagepolicy/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/imagepolicy" "k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/imagepolicy/register.go b/pkg/apis/imagepolicy/register.go index 71dc8f66397..93efea73f1a 100644 --- a/pkg/apis/imagepolicy/register.go +++ b/pkg/apis/imagepolicy/register.go @@ -17,10 +17,10 @@ limitations under the License. package imagepolicy import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/imagepolicy/types.go b/pkg/apis/imagepolicy/types.go index e9a91868a3e..8a9cde14a6f 100644 --- a/pkg/apis/imagepolicy/types.go +++ b/pkg/apis/imagepolicy/types.go @@ -17,8 +17,8 @@ limitations under the License. package imagepolicy import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/imagepolicy/v1alpha1/BUILD b/pkg/apis/imagepolicy/v1alpha1/BUILD index 2ba204dad18..0eb27359607 100644 --- a/pkg/apis/imagepolicy/v1alpha1/BUILD +++ b/pkg/apis/imagepolicy/v1alpha1/BUILD @@ -24,14 +24,14 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/imagepolicy:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/imagepolicy/v1alpha1/generated.pb.go b/pkg/apis/imagepolicy/v1alpha1/generated.pb.go index f3bf5284672..523c25ad5f2 100644 --- a/pkg/apis/imagepolicy/v1alpha1/generated.pb.go +++ b/pkg/apis/imagepolicy/v1alpha1/generated.pb.go @@ -114,6 +114,14 @@ func (m *ImageReview) MarshalTo(data []byte) (int, error) { return 0, err } i += n3 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -256,6 +264,8 @@ func (m *ImageReview) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -319,6 +329,7 @@ func (this *ImageReview) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ImageReviewSpec", "ImageReviewSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ImageReviewStatus", "ImageReviewStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -493,6 +504,36 @@ func (m *ImageReview) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1019,42 +1060,44 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 579 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x4f, 0x6f, 0xd3, 0x3e, - 0x18, 0xc7, 0x9b, 0x76, 0xff, 0xea, 0xfe, 0x7e, 0x6c, 0x33, 0x1c, 0xa2, 0x1e, 0xb2, 0xa9, 0x48, - 0x68, 0x20, 0x66, 0xab, 0x13, 0x87, 0x89, 0x03, 0x63, 0x41, 0x1c, 0x76, 0x00, 0x84, 0xb9, 0x20, - 0x6e, 0x6e, 0xf6, 0x2c, 0xcb, 0x9a, 0xd8, 0x51, 0xec, 0x74, 0xda, 0x01, 0x89, 0x23, 0x07, 0x0e, - 0xbc, 0x1b, 0xde, 0x42, 0x8f, 0x3b, 0x72, 0x9a, 0x68, 0x79, 0x23, 0x28, 0x4e, 0xba, 0x84, 0xfe, - 0x99, 0x84, 0x7a, 0xf3, 0xe3, 0xc7, 0xdf, 0xcf, 0xf7, 0x6b, 0x3f, 0x46, 0x47, 0xfd, 0x43, 0x45, - 0x02, 0x49, 0xfb, 0x69, 0x0f, 0x12, 0x01, 0x1a, 0x14, 0x8d, 0xfb, 0x3e, 0xe5, 0x71, 0xa0, 0x68, - 0x10, 0x71, 0x1f, 0x62, 0x19, 0x06, 0xde, 0x15, 0x1d, 0x74, 0x79, 0x18, 0x9f, 0xf3, 0x2e, 0xf5, - 0x41, 0x40, 0xc2, 0x35, 0x9c, 0x92, 0x38, 0x91, 0x5a, 0x62, 0x9a, 0x03, 0x48, 0x09, 0x20, 0x71, - 0xdf, 0x27, 0x19, 0x80, 0x54, 0x00, 0x64, 0x02, 0x68, 0xef, 0xfb, 0x81, 0x3e, 0x4f, 0x7b, 0xc4, - 0x93, 0x11, 0xf5, 0xa5, 0x2f, 0xa9, 0xe1, 0xf4, 0xd2, 0x33, 0x53, 0x99, 0xc2, 0xac, 0x72, 0x7e, - 0xfb, 0x60, 0x61, 0x40, 0x9a, 0x80, 0x92, 0x69, 0xe2, 0xc1, 0x74, 0xa6, 0xf6, 0xd3, 0xc5, 0x9a, - 0xc1, 0xcc, 0x0d, 0xee, 0x70, 0x50, 0x34, 0x02, 0xcd, 0xe7, 0x69, 0xf6, 0xe7, 0x6b, 0x92, 0x54, - 0xe8, 0x20, 0x9a, 0x0d, 0xf4, 0xec, 0xee, 0xe3, 0xca, 0x3b, 0x87, 0x88, 0xcf, 0xa8, 0xba, 0xf3, - 0x55, 0xa9, 0x0e, 0x42, 0x1a, 0x08, 0xad, 0x74, 0x32, 0x2d, 0xe9, 0xfc, 0xa8, 0xa3, 0xd6, 0x49, - 0xf6, 0xea, 0x0c, 0x06, 0x01, 0x5c, 0xe2, 0x8f, 0x68, 0x23, 0xbb, 0xc2, 0x29, 0xd7, 0xdc, 0xb6, - 0x76, 0xad, 0xbd, 0xd6, 0xc1, 0x1e, 0x59, 0x38, 0x30, 0x32, 0xe8, 0x92, 0x77, 0xbd, 0x0b, 0xf0, - 0xf4, 0x1b, 0xd0, 0xdc, 0xc5, 0xc3, 0x9b, 0x9d, 0xda, 0xf8, 0x66, 0x07, 0x95, 0x7b, 0xec, 0x96, - 0x86, 0x7b, 0x68, 0x45, 0xc5, 0xe0, 0xd9, 0x75, 0x43, 0x7d, 0x49, 0xfe, 0xf1, 0x1b, 0x90, 0x4a, - 0xca, 0x0f, 0x31, 0x78, 0xee, 0x7f, 0x85, 0xdb, 0x4a, 0x56, 0x31, 0xc3, 0xc6, 0x17, 0x68, 0x4d, - 0x69, 0xae, 0x53, 0x65, 0x37, 0x8c, 0x8b, 0xbb, 0x94, 0x8b, 0x21, 0xb9, 0xf7, 0x0a, 0x9f, 0xb5, - 0xbc, 0x66, 0x85, 0x43, 0xe7, 0x08, 0xd9, 0x95, 0xc3, 0xaf, 0xa4, 0xd0, 0x3c, 0x10, 0x90, 0x64, - 0x69, 0xf0, 0x43, 0xb4, 0x6a, 0xe8, 0xe6, 0x09, 0x9b, 0xee, 0xff, 0x05, 0x62, 0x35, 0x17, 0xe4, - 0xbd, 0xce, 0xb7, 0x06, 0xda, 0x9c, 0xba, 0x14, 0xfe, 0x8c, 0x90, 0x37, 0x21, 0x29, 0xdb, 0xda, - 0x6d, 0xec, 0xb5, 0x0e, 0x4e, 0x96, 0xb9, 0xc4, 0x5f, 0xb9, 0xca, 0x09, 0xdd, 0x6e, 0x2b, 0x56, - 0x31, 0xc4, 0x5f, 0x2d, 0xd4, 0xe2, 0x42, 0x48, 0xcd, 0x75, 0x20, 0x85, 0xb2, 0xeb, 0x26, 0xc0, - 0xfb, 0x65, 0x67, 0x45, 0x8e, 0x4b, 0xe6, 0x6b, 0xa1, 0x93, 0x2b, 0xf7, 0x7e, 0x11, 0xa4, 0x55, - 0xe9, 0xb0, 0xaa, 0x35, 0xa6, 0xa8, 0x29, 0x78, 0x04, 0x2a, 0xe6, 0x1e, 0x98, 0x69, 0x36, 0xdd, - 0xed, 0x42, 0xd4, 0x7c, 0x3b, 0x69, 0xb0, 0xf2, 0x4c, 0xfb, 0x05, 0xda, 0x9a, 0xb6, 0xc1, 0x5b, - 0xa8, 0xd1, 0x87, 0xab, 0x7c, 0x0a, 0x2c, 0x5b, 0xe2, 0x07, 0x68, 0x75, 0xc0, 0xc3, 0x14, 0xcc, - 0x37, 0x6c, 0xb2, 0xbc, 0x78, 0x5e, 0x3f, 0xb4, 0x3a, 0x67, 0x68, 0x7b, 0x66, 0xf8, 0xf8, 0x31, - 0x5a, 0xe7, 0x61, 0x28, 0x2f, 0xe1, 0xd4, 0x40, 0x36, 0xdc, 0xcd, 0x22, 0xc3, 0xfa, 0x71, 0xbe, - 0xcd, 0x26, 0x7d, 0xfc, 0x08, 0xad, 0x25, 0xc0, 0x95, 0x14, 0x39, 0xba, 0xfc, 0x37, 0xcc, 0xec, - 0xb2, 0xa2, 0xeb, 0x3e, 0x19, 0x8e, 0x9c, 0xda, 0xf5, 0xc8, 0xa9, 0xfd, 0x1c, 0x39, 0xb5, 0x2f, - 0x63, 0xc7, 0x1a, 0x8e, 0x1d, 0xeb, 0x7a, 0xec, 0x58, 0xbf, 0xc6, 0x8e, 0xf5, 0xfd, 0xb7, 0x53, - 0xfb, 0xb4, 0x31, 0x79, 0xc7, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x06, 0xba, 0x95, 0xb5, 0x6d, - 0x05, 0x00, 0x00, + // 622 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0xbf, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0xe3, 0xa6, 0x3f, 0x92, 0x0b, 0xd0, 0xf6, 0x60, 0xb0, 0x32, 0xb8, 0x55, 0x90, 0x50, + 0x41, 0x70, 0xa7, 0x54, 0x08, 0x55, 0x0c, 0x94, 0x1a, 0x31, 0x74, 0x00, 0xc4, 0xc1, 0x80, 0x10, + 0xcb, 0xc5, 0x7d, 0x75, 0xdc, 0xd8, 0x77, 0x96, 0xef, 0x9c, 0x2a, 0x03, 0x12, 0x23, 0x03, 0x03, + 0x0b, 0xff, 0x53, 0xc7, 0x8e, 0x4c, 0x15, 0x0d, 0xff, 0x08, 0xf2, 0xd9, 0xae, 0x4d, 0xd3, 0x08, + 0xa1, 0x6e, 0xbe, 0xf7, 0xfc, 0xfd, 0x7c, 0xbf, 0xf7, 0xee, 0xa1, 0xdd, 0xd1, 0x8e, 0x22, 0x81, + 0xa4, 0xa3, 0x74, 0x00, 0x89, 0x00, 0x0d, 0x8a, 0xc6, 0x23, 0x9f, 0xf2, 0x38, 0x50, 0x34, 0x88, + 0xb8, 0x0f, 0xb1, 0x0c, 0x03, 0x6f, 0x42, 0xc7, 0x7d, 0x1e, 0xc6, 0x43, 0xde, 0xa7, 0x3e, 0x08, + 0x48, 0xb8, 0x86, 0x03, 0x12, 0x27, 0x52, 0x4b, 0x4c, 0x73, 0x00, 0xa9, 0x00, 0x24, 0x1e, 0xf9, + 0x24, 0x03, 0x90, 0x1a, 0x80, 0x94, 0x80, 0xee, 0x23, 0x3f, 0xd0, 0xc3, 0x74, 0x40, 0x3c, 0x19, + 0x51, 0x5f, 0xfa, 0x92, 0x1a, 0xce, 0x20, 0x3d, 0x34, 0x27, 0x73, 0x30, 0x5f, 0x39, 0xbf, 0xfb, + 0xb8, 0x08, 0xc8, 0xe3, 0x20, 0xe2, 0xde, 0x30, 0x10, 0x90, 0x4c, 0xaa, 0x88, 0x11, 0x68, 0x4e, + 0xc7, 0x33, 0xa9, 0xba, 0x74, 0x9e, 0x2a, 0x49, 0x85, 0x0e, 0x22, 0x98, 0x11, 0x3c, 0xf9, 0x97, + 0x40, 0x79, 0x43, 0x88, 0xf8, 0x8c, 0x6e, 0x7b, 0xee, 0xfc, 0x68, 0x02, 0x4a, 0xa6, 0x89, 0x37, + 0xeb, 0xf5, 0x70, 0xbe, 0xe6, 0x8a, 0xab, 0xf4, 0xaf, 0xfe, 0x3b, 0xd5, 0x41, 0x48, 0x03, 0xa1, + 0x95, 0x4e, 0x2e, 0x4b, 0x7a, 0x3f, 0x9a, 0xa8, 0xb3, 0x9f, 0xcd, 0x9e, 0xc1, 0x38, 0x80, 0x63, + 0xfc, 0x01, 0xb5, 0xb2, 0x41, 0x1d, 0x70, 0xcd, 0x6d, 0x6b, 0xd3, 0xda, 0xea, 0x6c, 0x6f, 0x91, + 0xb9, 0xcf, 0x46, 0xc6, 0x7d, 0xf2, 0x66, 0x70, 0x04, 0x9e, 0x7e, 0x05, 0x9a, 0xbb, 0xf8, 0xe4, + 0x6c, 0xa3, 0x31, 0x3d, 0xdb, 0x40, 0x55, 0x8d, 0x5d, 0xd0, 0xf0, 0x00, 0x2d, 0xaa, 0x18, 0x3c, + 0x7b, 0xc1, 0x50, 0x9f, 0x93, 0xff, 0x5c, 0x06, 0x52, 0x4b, 0xf9, 0x2e, 0x06, 0xcf, 0xbd, 0x51, + 0xb8, 0x2d, 0x66, 0x27, 0x66, 0xd8, 0xf8, 0x08, 0x2d, 0x2b, 0xcd, 0x75, 0xaa, 0xec, 0xa6, 0x71, + 0x71, 0xaf, 0xe5, 0x62, 0x48, 0xee, 0xad, 0xc2, 0x67, 0x39, 0x3f, 0xb3, 0xc2, 0x01, 0x7f, 0x42, + 0x2d, 0x3d, 0x89, 0x21, 0xbb, 0xa5, 0xbd, 0x68, 0xdc, 0x48, 0xe9, 0x56, 0xdf, 0x8c, 0xca, 0x2f, + 0x9b, 0x44, 0x36, 0xb1, 0xf7, 0x85, 0xca, 0x5d, 0x2b, 0xc8, 0xad, 0xb2, 0xc2, 0x2e, 0x88, 0xbd, + 0x5d, 0x64, 0xd7, 0xa2, 0xbc, 0x90, 0x42, 0xf3, 0x0c, 0x97, 0xdd, 0x15, 0xdf, 0x45, 0x4b, 0x26, + 0xbb, 0x79, 0xa0, 0xb6, 0x7b, 0xb3, 0xc0, 0x2c, 0xe5, 0x82, 0xbc, 0xd7, 0xfb, 0xd6, 0x44, 0xab, + 0x97, 0x46, 0x86, 0x3f, 0x23, 0xe4, 0x95, 0x24, 0x65, 0x5b, 0x9b, 0xcd, 0xad, 0xce, 0xf6, 0xfe, + 0x75, 0x46, 0xf4, 0x57, 0xae, 0xea, 0xfd, 0x2f, 0xca, 0x8a, 0xd5, 0x0c, 0xf1, 0x57, 0x0b, 0x75, + 0xb8, 0x10, 0x52, 0x73, 0x1d, 0x48, 0xa1, 0xec, 0x05, 0x13, 0xe0, 0xed, 0x75, 0x37, 0x81, 0xec, + 0x55, 0xcc, 0x97, 0x42, 0x27, 0x13, 0xf7, 0x76, 0x11, 0xa4, 0x53, 0xeb, 0xb0, 0xba, 0x35, 0xa6, + 0xa8, 0x2d, 0x78, 0x04, 0x2a, 0xe6, 0x1e, 0x98, 0x5d, 0x69, 0xbb, 0xeb, 0x85, 0xa8, 0xfd, 0xba, + 0x6c, 0xb0, 0xea, 0x9f, 0xee, 0x33, 0xb4, 0x76, 0xd9, 0x06, 0xaf, 0xa1, 0xe6, 0x08, 0x26, 0xf9, + 0x2b, 0xb0, 0xec, 0x13, 0xdf, 0x41, 0x4b, 0x63, 0x1e, 0xa6, 0x60, 0x96, 0xbc, 0xcd, 0xf2, 0xc3, + 0xd3, 0x85, 0x1d, 0xab, 0x77, 0x88, 0xd6, 0x67, 0x56, 0x0b, 0xdf, 0x47, 0x2b, 0x3c, 0x0c, 0xe5, + 0x31, 0x1c, 0x18, 0x48, 0xcb, 0x5d, 0x2d, 0x32, 0xac, 0xec, 0xe5, 0x65, 0x56, 0xf6, 0xf1, 0x3d, + 0xb4, 0x9c, 0x00, 0x57, 0x52, 0xe4, 0xe8, 0x6a, 0x2b, 0x99, 0xa9, 0xb2, 0xa2, 0xeb, 0x3e, 0x38, + 0x39, 0x77, 0x1a, 0xa7, 0xe7, 0x4e, 0xe3, 0xe7, 0xb9, 0xd3, 0xf8, 0x32, 0x75, 0xac, 0x93, 0xa9, + 0x63, 0x9d, 0x4e, 0x1d, 0xeb, 0xd7, 0xd4, 0xb1, 0xbe, 0xff, 0x76, 0x1a, 0x1f, 0x5b, 0xe5, 0x1c, + 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x46, 0xf3, 0x4f, 0x24, 0xd1, 0x05, 0x00, 0x00, } diff --git a/pkg/apis/imagepolicy/v1alpha1/generated.proto b/pkg/apis/imagepolicy/v1alpha1/generated.proto index a7a73b94020..e3c32199d0d 100644 --- a/pkg/apis/imagepolicy/v1alpha1/generated.proto +++ b/pkg/apis/imagepolicy/v1alpha1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.imagepolicy.v1alpha1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -33,6 +33,8 @@ option go_package = "v1alpha1"; // ImageReview checks if the set of images in a pod are allowed. message ImageReview { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; diff --git a/pkg/apis/imagepolicy/v1alpha1/register.go b/pkg/apis/imagepolicy/v1alpha1/register.go index 9122ce5c409..1f3c708c418 100644 --- a/pkg/apis/imagepolicy/v1alpha1/register.go +++ b/pkg/apis/imagepolicy/v1alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name for this API. diff --git a/pkg/apis/imagepolicy/v1alpha1/types.generated.go b/pkg/apis/imagepolicy/v1alpha1/types.generated.go index 0b6269c5468..7e340fe1537 100644 --- a/pkg/apis/imagepolicy/v1alpha1/types.generated.go +++ b/pkg/apis/imagepolicy/v1alpha1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/apis/imagepolicy/v1alpha1/types.go b/pkg/apis/imagepolicy/v1alpha1/types.go index c238df5e527..44d0a51cfaa 100644 --- a/pkg/apis/imagepolicy/v1alpha1/types.go +++ b/pkg/apis/imagepolicy/v1alpha1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go b/pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go index 255fffcfee3..6b08859b07b 100644 --- a/pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" imagepolicy "k8s.io/kubernetes/pkg/apis/imagepolicy" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/imagepolicy/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/imagepolicy/v1alpha1/zz_generated.deepcopy.go index 5872cd6f3fa..5fc919a5da8 100644 --- a/pkg/apis/imagepolicy/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/imagepolicy/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go b/pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go index 307983e2e45..7e6df29d4ae 100644 --- a/pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go +++ b/pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1alpha1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/imagepolicy/zz_generated.deepcopy.go b/pkg/apis/imagepolicy/zz_generated.deepcopy.go index 7c5661f6e28..7ff4d65e035 100644 --- a/pkg/apis/imagepolicy/zz_generated.deepcopy.go +++ b/pkg/apis/imagepolicy/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package imagepolicy import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/meta/v1/.readonly b/pkg/apis/meta/v1/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/apis/meta/v1/BUILD b/pkg/apis/meta/v1/BUILD index b8e8c8aa3c5..cefb7561023 100644 --- a/pkg/apis/meta/v1/BUILD +++ b/pkg/apis/meta/v1/BUILD @@ -42,6 +42,8 @@ go_library( "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/google/gofuzz", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/apis/meta/v1/unstructured/.readonly b/pkg/apis/meta/v1/unstructured/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/apis/meta/v1/validation/BUILD b/pkg/apis/meta/v1/validation/BUILD index a5dc5df3d54..f50a684b278 100644 --- a/pkg/apis/meta/v1/validation/BUILD +++ b/pkg/apis/meta/v1/validation/BUILD @@ -13,9 +13,9 @@ go_library( srcs = ["validation.go"], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -24,7 +24,7 @@ go_test( srcs = ["validation_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/util/validation/field:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/validation/field"], ) filegroup( diff --git a/pkg/apis/meta/v1/validation/validation.go b/pkg/apis/meta/v1/validation/validation.go index 40d27a80c5d..7d2d355a2ac 100644 --- a/pkg/apis/meta/v1/validation/validation.go +++ b/pkg/apis/meta/v1/validation/validation.go @@ -17,9 +17,9 @@ limitations under the License. package validation import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" ) func ValidateLabelSelector(ps *metav1.LabelSelector, fldPath *field.Path) field.ErrorList { diff --git a/pkg/apis/meta/v1/validation/validation_test.go b/pkg/apis/meta/v1/validation/validation_test.go index 0e8f55890ae..9766fa7e73f 100644 --- a/pkg/apis/meta/v1/validation/validation_test.go +++ b/pkg/apis/meta/v1/validation/validation_test.go @@ -20,7 +20,7 @@ import ( "strings" "testing" - "k8s.io/kubernetes/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/util/validation/field" ) func TestValidateLabels(t *testing.T) { diff --git a/pkg/apis/meta/v1/zz_generated.deepcopy.go b/pkg/apis/meta/v1/zz_generated.deepcopy.go index cee905a693a..d22355b7ac6 100644 --- a/pkg/apis/meta/v1/zz_generated.deepcopy.go +++ b/pkg/apis/meta/v1/zz_generated.deepcopy.go @@ -21,7 +21,7 @@ limitations under the License. package v1 import ( - conversion "k8s.io/kubernetes/pkg/conversion" + conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/meta/v1/zz_generated.defaults.go b/pkg/apis/meta/v1/zz_generated.defaults.go index bb5da13a862..6df448eb9fd 100644 --- a/pkg/apis/meta/v1/zz_generated.defaults.go +++ b/pkg/apis/meta/v1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/policy/BUILD b/pkg/apis/policy/BUILD index 560d6b16b69..2cbc6f94140 100644 --- a/pkg/apis/policy/BUILD +++ b/pkg/apis/policy/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/policy/register.go b/pkg/apis/policy/register.go index fa97767433c..a3a1a35afb1 100644 --- a/pkg/apis/policy/register.go +++ b/pkg/apis/policy/register.go @@ -17,10 +17,10 @@ limitations under the License. package policy import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/policy/types.go b/pkg/apis/policy/types.go index 46a1b41690c..69fc82088d7 100644 --- a/pkg/apis/policy/types.go +++ b/pkg/apis/policy/types.go @@ -17,8 +17,8 @@ limitations under the License. package policy import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/policy/v1alpha1/BUILD b/pkg/apis/policy/v1alpha1/BUILD index b23e800f741..8496ae52bc0 100644 --- a/pkg/apis/policy/v1alpha1/BUILD +++ b/pkg/apis/policy/v1alpha1/BUILD @@ -17,10 +17,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/policy/v1alpha1/register.go b/pkg/apis/policy/v1alpha1/register.go index f6dc7b3b304..4d2c767a1cd 100644 --- a/pkg/apis/policy/v1alpha1/register.go +++ b/pkg/apis/policy/v1alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/policy/v1alpha1/types.go b/pkg/apis/policy/v1alpha1/types.go index d9cafe227d8..ea81547b8cb 100644 --- a/pkg/apis/policy/v1alpha1/types.go +++ b/pkg/apis/policy/v1alpha1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/policy/v1beta1/BUILD b/pkg/apis/policy/v1beta1/BUILD index 8e81ad27117..b7e7a57925f 100644 --- a/pkg/apis/policy/v1beta1/BUILD +++ b/pkg/apis/policy/v1beta1/BUILD @@ -23,16 +23,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/policy/v1beta1/generated.pb.go b/pkg/apis/policy/v1beta1/generated.pb.go index 4bc60864b72..76f2ced276b 100644 --- a/pkg/apis/policy/v1beta1/generated.pb.go +++ b/pkg/apis/policy/v1beta1/generated.pb.go @@ -37,8 +37,9 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1" -import k8s_io_kubernetes_pkg_apis_meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" import strings "strings" import reflect "reflect" @@ -117,6 +118,14 @@ func (m *Eviction) MarshalTo(data []byte) (int, error) { } i += n2 } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n3, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n3 return i, nil } @@ -138,27 +147,35 @@ func (m *PodDisruptionBudget) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n3, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n3 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n4, err := m.Spec.MarshalTo(data[i:]) + n4, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n4 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n5, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n5, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n5 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n6, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n6 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n7, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n7 return i, nil } @@ -180,11 +197,11 @@ func (m *PodDisruptionBudgetList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n6, err := m.ListMeta.MarshalTo(data[i:]) + n8, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n8 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -197,6 +214,14 @@ func (m *PodDisruptionBudgetList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n9, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n9 return i, nil } @@ -218,20 +243,20 @@ func (m *PodDisruptionBudgetSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.MinAvailable.Size())) - n7, err := m.MinAvailable.MarshalTo(data[i:]) + n10, err := m.MinAvailable.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n10 if m.Selector != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n8, err := m.Selector.MarshalTo(data[i:]) + n11, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n11 } return i, nil } @@ -269,11 +294,11 @@ func (m *PodDisruptionBudgetStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n9, err := (&v).MarshalTo(data[i:]) + n12, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n9 + i += n12 } } data[i] = 0x18 @@ -327,6 +352,8 @@ func (m *Eviction) Size() (n int) { l = m.DeleteOptions.Size() n += 1 + l + sovGenerated(uint64(l)) } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -339,6 +366,8 @@ func (m *PodDisruptionBudget) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = m.Status.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -353,6 +382,8 @@ func (m *PodDisruptionBudgetList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -408,6 +439,7 @@ func (this *Eviction) String() string { s := strings.Join([]string{`&Eviction{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `DeleteOptions:` + strings.Replace(fmt.Sprintf("%v", this.DeleteOptions), "DeleteOptions", "k8s_io_kubernetes_pkg_api_v1.DeleteOptions", 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -420,6 +452,7 @@ func (this *PodDisruptionBudget) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodDisruptionBudgetSpec", "PodDisruptionBudgetSpec", 1), `&`, ``, 1) + `,`, `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodDisruptionBudgetStatus", "PodDisruptionBudgetStatus", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -429,8 +462,9 @@ func (this *PodDisruptionBudgetList) String() string { return "nil" } s := strings.Join([]string{`&PodDisruptionBudgetList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "PodDisruptionBudget", "PodDisruptionBudget", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -441,7 +475,7 @@ func (this *PodDisruptionBudgetSpec) String() string { } s := strings.Join([]string{`&PodDisruptionBudgetSpec{`, `MinAvailable:` + strings.Replace(strings.Replace(this.MinAvailable.String(), "IntOrString", "k8s_io_kubernetes_pkg_util_intstr.IntOrString", 1), `&`, ``, 1) + `,`, - `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `}`, }, "") return s @@ -455,7 +489,7 @@ func (this *PodDisruptionBudgetStatus) String() string { keysForDisruptedPods = append(keysForDisruptedPods, k) } github_com_gogo_protobuf_sortkeys.Strings(keysForDisruptedPods) - mapStringForDisruptedPods := "map[string]k8s_io_kubernetes_pkg_apis_meta_v1.Time{" + mapStringForDisruptedPods := "map[string]k8s_io_apimachinery_pkg_apis_meta_v1.Time{" for _, k := range keysForDisruptedPods { mapStringForDisruptedPods += fmt.Sprintf("%v: %v,", k, this.DisruptedPods[k]) } @@ -571,6 +605,36 @@ func (m *Eviction) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -711,6 +775,36 @@ func (m *PodDisruptionBudget) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -822,6 +916,36 @@ func (m *PodDisruptionBudgetList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -929,7 +1053,7 @@ func (m *PodDisruptionBudgetSpec) Unmarshal(data []byte) error { return io.ErrUnexpectedEOF } if m.Selector == nil { - m.Selector = &k8s_io_kubernetes_pkg_apis_meta_v1.LabelSelector{} + m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} } if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { return err @@ -1110,13 +1234,13 @@ func (m *PodDisruptionBudgetStatus) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_apis_meta_v1.Time{} + mapvalue := &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } iNdEx = postmsgIndex if m.DisruptedPods == nil { - m.DisruptedPods = make(map[string]k8s_io_kubernetes_pkg_apis_meta_v1.Time) + m.DisruptedPods = make(map[string]k8s_io_apimachinery_pkg_apis_meta_v1.Time) } m.DisruptedPods[mapkey] = *mapvalue iNdEx = postIndex @@ -1323,53 +1447,56 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 762 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0xcf, 0x6e, 0xdb, 0x46, - 0x10, 0xc6, 0x45, 0x4b, 0x72, 0xd5, 0xb5, 0x64, 0xb8, 0xdb, 0xba, 0x55, 0x05, 0x94, 0x2e, 0x74, - 0x92, 0x51, 0x7b, 0x09, 0x19, 0x3d, 0xb8, 0x3d, 0x18, 0x30, 0x2b, 0xa3, 0x75, 0x51, 0x43, 0x06, - 0x5d, 0xa0, 0x85, 0x7b, 0xe2, 0x9f, 0x29, 0xb5, 0x16, 0x45, 0x12, 0xbb, 0x4b, 0x25, 0xba, 0xe5, - 0x11, 0x72, 0xc8, 0x1b, 0xe5, 0x62, 0xe4, 0xe4, 0x63, 0x90, 0x83, 0x61, 0x2b, 0x8f, 0x90, 0x17, - 0x08, 0x48, 0xae, 0x64, 0x51, 0xa2, 0x04, 0x03, 0x4e, 0x6e, 0xdc, 0xdd, 0xf9, 0x7d, 0xdf, 0xcc, - 0xec, 0x2c, 0xd1, 0x2f, 0xfd, 0x43, 0x4e, 0x68, 0xa0, 0xf5, 0x23, 0x0b, 0x98, 0x0f, 0x02, 0xb8, - 0x16, 0xf6, 0x5d, 0xcd, 0x0c, 0x29, 0xd7, 0xc2, 0xc0, 0xa3, 0xf6, 0x48, 0x1b, 0xb6, 0x2d, 0x10, - 0x66, 0x5b, 0x73, 0xc1, 0x07, 0x66, 0x0a, 0x70, 0x48, 0xc8, 0x02, 0x11, 0xe0, 0xdd, 0x14, 0x25, - 0x0f, 0x28, 0x09, 0xfb, 0x2e, 0x89, 0x51, 0x92, 0xa2, 0x44, 0xa2, 0x8d, 0x7d, 0x97, 0x8a, 0x5e, - 0x64, 0x11, 0x3b, 0x18, 0x68, 0x6e, 0xe0, 0x06, 0x5a, 0xa2, 0x60, 0x45, 0xff, 0x27, 0xab, 0x64, - 0x91, 0x7c, 0xa5, 0xca, 0x8d, 0x83, 0xa5, 0x49, 0x69, 0x0c, 0x78, 0x10, 0x31, 0x1b, 0xe6, 0xb3, - 0x69, 0xec, 0x2d, 0x67, 0x86, 0x0b, 0xb9, 0xaf, 0x70, 0xe0, 0xda, 0x00, 0x84, 0x99, 0xc7, 0xec, - 0xe7, 0x33, 0x2c, 0xf2, 0x05, 0x1d, 0x2c, 0x26, 0xf4, 0xf3, 0xea, 0x70, 0x6e, 0xf7, 0x60, 0x60, - 0x2e, 0x50, 0xed, 0x7c, 0x2a, 0x12, 0xd4, 0xd3, 0xa8, 0x2f, 0xb8, 0x60, 0xf3, 0x48, 0xf3, 0x8d, - 0x82, 0x2a, 0x27, 0x43, 0x6a, 0x0b, 0x1a, 0xf8, 0xf8, 0x5f, 0x54, 0x89, 0xf3, 0x77, 0x4c, 0x61, - 0xd6, 0x95, 0x1f, 0x95, 0xd6, 0xc6, 0x41, 0x8b, 0x2c, 0xbd, 0x27, 0x32, 0x6c, 0x93, 0xae, 0x75, - 0x05, 0xb6, 0x38, 0x03, 0x61, 0xea, 0xf8, 0xfa, 0x76, 0xa7, 0x30, 0xbe, 0xdd, 0x41, 0x0f, 0x7b, - 0xc6, 0x54, 0x0d, 0x3b, 0xa8, 0xe6, 0x80, 0x07, 0x02, 0xba, 0x61, 0xec, 0xc4, 0xeb, 0x6b, 0x89, - 0xfc, 0x4f, 0xab, 0xe5, 0x3b, 0xb3, 0x88, 0xfe, 0xd5, 0xf8, 0x76, 0xa7, 0x96, 0xd9, 0x32, 0xb2, - 0xa2, 0xcd, 0xd7, 0x6b, 0xe8, 0xeb, 0xf3, 0xc0, 0xe9, 0x50, 0xce, 0xa2, 0x64, 0x4b, 0x8f, 0x1c, - 0x17, 0xc4, 0x67, 0xad, 0xab, 0xc4, 0x43, 0xb0, 0x65, 0x39, 0x3a, 0x79, 0xf4, 0x54, 0x93, 0x9c, - 0x3c, 0x2f, 0x42, 0xb0, 0xf5, 0xaa, 0xf4, 0x2b, 0xc5, 0x2b, 0x23, 0x51, 0xc7, 0x1e, 0x5a, 0xe7, - 0xc2, 0x14, 0x11, 0xaf, 0x17, 0x13, 0x9f, 0xce, 0x13, 0x7d, 0x12, 0x2d, 0x7d, 0x53, 0x3a, 0xad, - 0xa7, 0x6b, 0x43, 0x7a, 0x34, 0xdf, 0x29, 0xe8, 0xbb, 0x1c, 0xea, 0x2f, 0xca, 0x05, 0xbe, 0x5c, - 0xe8, 0xe4, 0xde, 0xaa, 0x5c, 0xe2, 0xd8, 0xb8, 0x9f, 0x31, 0x9b, 0x74, 0x73, 0x4b, 0x7a, 0x56, - 0x26, 0x3b, 0x33, 0xbd, 0xb4, 0x51, 0x99, 0x0a, 0x18, 0xc4, 0xb3, 0x51, 0x6c, 0x6d, 0x1c, 0x1c, - 0x3d, 0xad, 0x48, 0xbd, 0x26, 0xad, 0xca, 0xa7, 0xb1, 0xa8, 0x91, 0x6a, 0x37, 0xef, 0xf2, 0x8b, - 0x8b, 0x9b, 0x8d, 0x7b, 0xa8, 0x3a, 0xa0, 0xfe, 0xf1, 0xd0, 0xa4, 0x9e, 0x69, 0x79, 0x20, 0x0b, - 0x24, 0x4b, 0xf2, 0x88, 0x5f, 0x15, 0x49, 0x5f, 0x15, 0x39, 0xf5, 0x45, 0x97, 0x5d, 0x08, 0x46, - 0x7d, 0x57, 0xff, 0x46, 0xfa, 0x56, 0xcf, 0x66, 0xb4, 0x8c, 0x8c, 0x32, 0xfe, 0x0f, 0x55, 0x38, - 0x78, 0x60, 0x8b, 0x80, 0xc9, 0xd1, 0x69, 0x3f, 0xaa, 0x8d, 0xa6, 0x05, 0xde, 0x85, 0x04, 0xf5, - 0x6a, 0xdc, 0xc7, 0xc9, 0xca, 0x98, 0x0a, 0x36, 0x3f, 0x94, 0xd0, 0xf7, 0x4b, 0x6f, 0x1d, 0xff, - 0x89, 0x70, 0x60, 0x71, 0x60, 0x43, 0x70, 0x7e, 0x4f, 0xff, 0x05, 0x34, 0xf0, 0x93, 0x52, 0x8b, - 0x7a, 0x43, 0xa6, 0x8e, 0xbb, 0x0b, 0x11, 0x46, 0x0e, 0x85, 0x5f, 0x29, 0xa8, 0xe6, 0xa4, 0x36, - 0xe0, 0x9c, 0x07, 0xce, 0xe4, 0xea, 0xfe, 0xf9, 0x14, 0xf3, 0x49, 0x3a, 0xb3, 0xca, 0x27, 0xbe, - 0x60, 0x23, 0x7d, 0x5b, 0x26, 0x58, 0xcb, 0x9c, 0x19, 0xd9, 0x24, 0xf0, 0x19, 0xc2, 0xce, 0x54, - 0x92, 0x1f, 0x7b, 0x5e, 0xf0, 0x0c, 0x9c, 0xe4, 0xe9, 0x94, 0xf5, 0x1f, 0xa4, 0xc2, 0x76, 0xc6, - 0x77, 0x12, 0x64, 0xe4, 0x80, 0xf8, 0x08, 0x6d, 0xda, 0x11, 0x63, 0xe0, 0x8b, 0x3f, 0xc0, 0xf4, - 0x44, 0x6f, 0x54, 0x2f, 0x25, 0x52, 0xdf, 0x4a, 0xa9, 0xcd, 0xdf, 0x32, 0xa7, 0xc6, 0x5c, 0x74, - 0xcc, 0x3b, 0xc0, 0x29, 0x03, 0x67, 0xc2, 0x97, 0xb3, 0x7c, 0x27, 0x73, 0x6a, 0xcc, 0x45, 0xe3, - 0x43, 0x54, 0x85, 0xe7, 0x21, 0xd8, 0x93, 0x1e, 0xaf, 0x27, 0xf4, 0x74, 0xcc, 0x4e, 0x66, 0xce, - 0x8c, 0x4c, 0x64, 0xe3, 0x0a, 0xe1, 0xc5, 0x26, 0xe2, 0x2d, 0x54, 0xec, 0xc3, 0x28, 0xb9, 0xf2, - 0x2f, 0x8d, 0xf8, 0x13, 0x1f, 0xa1, 0xf2, 0xd0, 0xf4, 0x22, 0x90, 0xb3, 0xd8, 0x7a, 0xcc, 0x2c, - 0xfe, 0x4d, 0x07, 0x60, 0xa4, 0xd8, 0xaf, 0x6b, 0x87, 0x8a, 0xbe, 0x7b, 0x7d, 0xaf, 0x16, 0x6e, - 0xee, 0xd5, 0xc2, 0xdb, 0x7b, 0xb5, 0xf0, 0x62, 0xac, 0x2a, 0xd7, 0x63, 0x55, 0xb9, 0x19, 0xab, - 0xca, 0xdd, 0x58, 0x55, 0x5e, 0xbe, 0x57, 0x0b, 0x97, 0x5f, 0xc8, 0x2b, 0xff, 0x18, 0x00, 0x00, - 0xff, 0xff, 0xfa, 0x95, 0xd6, 0xdd, 0x37, 0x08, 0x00, 0x00, + // 808 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x94, 0xcd, 0x6e, 0x23, 0x45, + 0x10, 0xc7, 0x3d, 0x71, 0x1c, 0x4c, 0xaf, 0x1d, 0x2d, 0x0d, 0x0b, 0xc1, 0x12, 0x13, 0x94, 0x53, + 0x96, 0x8f, 0x1e, 0x39, 0x20, 0x14, 0x38, 0xac, 0xd8, 0xc1, 0x11, 0x2c, 0x22, 0xf2, 0xaa, 0x83, + 0x04, 0x42, 0x70, 0xe8, 0x99, 0x29, 0xc6, 0x8d, 0xe7, 0x4b, 0xdd, 0x3d, 0x06, 0xdf, 0x78, 0x04, + 0x0e, 0xbc, 0x00, 0x37, 0x9e, 0x81, 0x27, 0xc8, 0x71, 0x8f, 0x9c, 0x22, 0x62, 0x9e, 0x81, 0x3b, + 0xea, 0x99, 0x1e, 0xdb, 0xe3, 0x0f, 0xb0, 0xb4, 0xbb, 0xb7, 0xe9, 0xee, 0xfa, 0xfd, 0xff, 0xd5, + 0x55, 0xd5, 0x83, 0x3e, 0x1c, 0x9f, 0x4b, 0xc2, 0x53, 0x67, 0x9c, 0x7b, 0x20, 0x12, 0x50, 0x20, + 0x9d, 0x6c, 0x1c, 0x3a, 0x2c, 0xe3, 0xd2, 0xc9, 0xd2, 0x88, 0xfb, 0x53, 0x67, 0xd2, 0xf7, 0x40, + 0xb1, 0xbe, 0x13, 0x42, 0x02, 0x82, 0x29, 0x08, 0x48, 0x26, 0x52, 0x95, 0xe2, 0xfb, 0x25, 0x4a, + 0x16, 0x28, 0xc9, 0xc6, 0x21, 0xd1, 0x28, 0x29, 0x51, 0x62, 0xd0, 0xde, 0xbb, 0x21, 0x57, 0xa3, + 0xdc, 0x23, 0x7e, 0x1a, 0x3b, 0x61, 0x1a, 0xa6, 0x4e, 0xa1, 0xe0, 0xe5, 0xdf, 0x17, 0xab, 0x62, + 0x51, 0x7c, 0x95, 0xca, 0xbd, 0xf7, 0x4d, 0x52, 0x2c, 0xe3, 0x31, 0xf3, 0x47, 0x3c, 0x01, 0x31, + 0x5d, 0xa4, 0x15, 0x83, 0x62, 0xce, 0x64, 0x2d, 0x9f, 0x9e, 0xb3, 0x8d, 0x12, 0x79, 0xa2, 0x78, + 0x0c, 0x6b, 0xc0, 0x07, 0xff, 0x07, 0x48, 0x7f, 0x04, 0x31, 0x5b, 0xe3, 0xce, 0xb6, 0xd6, 0xcc, + 0x11, 0x20, 0xd3, 0x5c, 0xf8, 0xeb, 0x5e, 0xef, 0x6c, 0x67, 0x36, 0x5c, 0xa5, 0xbf, 0x39, 0x3a, + 0x57, 0x3c, 0x72, 0x78, 0xa2, 0xa4, 0x12, 0xab, 0xc8, 0xc9, 0xef, 0x7b, 0xa8, 0x7d, 0x31, 0xe1, + 0xbe, 0xe2, 0x69, 0x82, 0xbf, 0x46, 0x6d, 0x5d, 0xa5, 0x80, 0x29, 0x76, 0x64, 0xbd, 0x69, 0x9d, + 0xde, 0x39, 0x3b, 0x25, 0x5b, 0xbb, 0x45, 0x26, 0x7d, 0x32, 0xf4, 0x7e, 0x00, 0x5f, 0x5d, 0x82, + 0x62, 0x2e, 0xbe, 0xbe, 0x39, 0x6e, 0xcc, 0x6e, 0x8e, 0xd1, 0x62, 0x8f, 0xce, 0xd5, 0x70, 0x80, + 0xba, 0x01, 0x44, 0xa0, 0x60, 0x98, 0x69, 0x27, 0x79, 0xb4, 0x57, 0xc8, 0xbf, 0xfd, 0xdf, 0xf2, + 0x83, 0x65, 0xc4, 0x7d, 0x69, 0x76, 0x73, 0xdc, 0xad, 0x6d, 0xd1, 0xba, 0x28, 0xfe, 0x16, 0xb5, + 0xd5, 0x34, 0x03, 0xed, 0x7d, 0xd4, 0x2c, 0x0c, 0x48, 0x65, 0xb0, 0xdc, 0xac, 0xc5, 0xbc, 0xe9, + 0xfc, 0xb4, 0xd1, 0x97, 0x86, 0x72, 0xef, 0x9a, 0x5b, 0xb4, 0xab, 0x1d, 0x3a, 0x57, 0x3c, 0xf9, + 0xad, 0x89, 0x5e, 0x7e, 0x9c, 0x06, 0x03, 0x2e, 0x45, 0x5e, 0x18, 0xba, 0x79, 0x10, 0x82, 0x7a, + 0xae, 0x55, 0xdb, 0x97, 0x19, 0xf8, 0xa6, 0x58, 0x2e, 0xd9, 0xf9, 0xe5, 0x90, 0x0d, 0x79, 0x5e, + 0x65, 0xe0, 0xbb, 0x1d, 0xe3, 0xb7, 0xaf, 0x57, 0xb4, 0x50, 0xc7, 0x11, 0x3a, 0x90, 0x8a, 0xa9, + 0x5c, 0x9a, 0x9a, 0x0d, 0x9e, 0xd2, 0xa7, 0xd0, 0x72, 0x0f, 0x8d, 0xd3, 0x41, 0xb9, 0xa6, 0xc6, + 0xa3, 0xd6, 0xa3, 0xfd, 0x67, 0xde, 0xa3, 0x3f, 0xf6, 0xd0, 0x6b, 0x1b, 0x72, 0xfa, 0x82, 0x4b, + 0xa5, 0x9d, 0x57, 0xfa, 0xb4, 0xa3, 0xb3, 0xa6, 0xeb, 0xce, 0xd5, 0xce, 0x52, 0xaf, 0x7c, 0xd4, + 0xe2, 0x0a, 0x62, 0x3d, 0xd9, 0xcd, 0xd3, 0x3b, 0x67, 0x0f, 0x9e, 0xae, 0x88, 0x6e, 0xd7, 0x58, + 0xb5, 0x1e, 0x69, 0x51, 0x5a, 0x6a, 0x3f, 0xe7, 0x01, 0x9f, 0x59, 0x1b, 0x8b, 0xa7, 0x47, 0x05, + 0x8f, 0x50, 0x27, 0xe6, 0xc9, 0xc3, 0x09, 0xe3, 0x11, 0xf3, 0x22, 0x58, 0x2d, 0xe0, 0xca, 0x2d, + 0xf5, 0x1f, 0x87, 0x94, 0x7f, 0x1c, 0xf2, 0x28, 0x51, 0x43, 0x71, 0xa5, 0x04, 0x4f, 0x42, 0xf7, + 0x15, 0xe3, 0xde, 0xb9, 0x5c, 0xd2, 0xa2, 0x35, 0x65, 0xfc, 0x1d, 0x6a, 0x4b, 0x88, 0xc0, 0x57, + 0xa9, 0x30, 0x83, 0xff, 0xde, 0x8e, 0x6d, 0x62, 0x1e, 0x44, 0x57, 0x06, 0x75, 0x3b, 0xfa, 0x92, + 0xd5, 0x8a, 0xce, 0x25, 0x4f, 0xfe, 0xd9, 0x47, 0xaf, 0x6f, 0x9d, 0x5a, 0xfc, 0x39, 0xc2, 0xa9, + 0x27, 0x41, 0x4c, 0x20, 0xf8, 0xb4, 0xfc, 0x53, 0xf2, 0x34, 0x29, 0x2e, 0xdb, 0x74, 0x7b, 0x26, + 0x79, 0x3c, 0x5c, 0x8b, 0xa0, 0x1b, 0x28, 0xfc, 0xab, 0x85, 0xba, 0x41, 0x69, 0x03, 0xc1, 0xe3, + 0x34, 0xa8, 0x46, 0xe3, 0xab, 0x67, 0xf1, 0xbe, 0xc8, 0x60, 0x59, 0xf9, 0x22, 0x51, 0x62, 0xea, + 0xde, 0x33, 0x09, 0x76, 0x6b, 0x67, 0xb4, 0x9e, 0x04, 0xbe, 0x44, 0x38, 0x98, 0x4b, 0xca, 0x87, + 0x51, 0x94, 0xfe, 0x08, 0x41, 0x31, 0x4d, 0x2d, 0xf7, 0x0d, 0xa3, 0x70, 0xaf, 0xe6, 0x5b, 0x05, + 0xd1, 0x0d, 0x20, 0x7e, 0x80, 0x0e, 0xfd, 0x5c, 0x08, 0x48, 0xd4, 0x67, 0xc0, 0x22, 0x35, 0x9a, + 0x16, 0xaf, 0xba, 0xe5, 0xbe, 0x6a, 0xa4, 0x0e, 0x3f, 0xa9, 0x9d, 0xd2, 0x95, 0x68, 0xcd, 0x07, + 0x20, 0xb9, 0x80, 0xa0, 0xe2, 0x5b, 0x75, 0x7e, 0x50, 0x3b, 0xa5, 0x2b, 0xd1, 0xf8, 0x1c, 0x75, + 0xe0, 0xa7, 0x0c, 0xfc, 0xaa, 0xc6, 0x07, 0x05, 0x3d, 0x1f, 0xb4, 0x8b, 0xa5, 0x33, 0x5a, 0x8b, + 0xec, 0x45, 0x08, 0xaf, 0x17, 0x11, 0xdf, 0x45, 0xcd, 0x31, 0x4c, 0x8b, 0x96, 0xbf, 0x48, 0xf5, + 0x27, 0xfe, 0x18, 0xb5, 0x26, 0x2c, 0xca, 0xc1, 0x4c, 0xe3, 0x5b, 0x3b, 0xbe, 0x38, 0x1e, 0x03, + 0x2d, 0xc1, 0x8f, 0xf6, 0xce, 0x2d, 0xf7, 0xfe, 0xf5, 0xad, 0xdd, 0x78, 0x72, 0x6b, 0x37, 0xfe, + 0xbc, 0xb5, 0x1b, 0x3f, 0xcf, 0x6c, 0xeb, 0x7a, 0x66, 0x5b, 0x4f, 0x66, 0xb6, 0xf5, 0xd7, 0xcc, + 0xb6, 0x7e, 0xf9, 0xdb, 0x6e, 0x7c, 0xf3, 0x82, 0x69, 0xfa, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x82, 0xa3, 0x73, 0x1c, 0x5d, 0x09, 0x00, 0x00, } diff --git a/pkg/apis/policy/v1beta1/generated.proto b/pkg/apis/policy/v1beta1/generated.proto index a0528ddce77..a6c08b5eca6 100644 --- a/pkg/apis/policy/v1beta1/generated.proto +++ b/pkg/apis/policy/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.policy.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -35,6 +35,8 @@ option go_package = "v1beta1"; // This is a subresource of Pod. A request to cause such an eviction is // created by POSTing to .../pods//evictions. message Eviction { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // ObjectMeta describes the pod that is being evicted. optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -44,6 +46,8 @@ message Eviction { // PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods message PodDisruptionBudget { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; // Specification of the desired behavior of the PodDisruptionBudget. @@ -55,7 +59,9 @@ message PodDisruptionBudget { // PodDisruptionBudgetList is a collection of PodDisruptionBudgets. message PodDisruptionBudgetList { - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; repeated PodDisruptionBudget items = 2; } @@ -70,7 +76,7 @@ message PodDisruptionBudgetSpec { // Label query over pods whose evictions are managed by the disruption // budget. - optional k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector selector = 2; + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; } // PodDisruptionBudgetStatus represents information about the status of a @@ -92,7 +98,7 @@ message PodDisruptionBudgetStatus { // the list automatically by PodDisruptionBudget controller after some time. // If everything goes smooth this map should be empty for the most of the time. // Large number of entries in the map may indicate problems with pod deletions. - map disruptedPods = 2; + map disruptedPods = 2; // Number of pod disruptions that are currently allowed. optional int32 disruptionsAllowed = 3; diff --git a/pkg/apis/policy/v1beta1/register.go b/pkg/apis/policy/v1beta1/register.go index 2b69584dc91..4c16e4a3bf5 100644 --- a/pkg/apis/policy/v1beta1/register.go +++ b/pkg/apis/policy/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/policy/v1beta1/types.generated.go b/pkg/apis/policy/v1beta1/types.generated.go index 8044367f614..cad203727a1 100644 --- a/pkg/apis/policy/v1beta1/types.generated.go +++ b/pkg/apis/policy/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg4_types "k8s.io/apimachinery/pkg/types" pkg3_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg2_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg4_types "k8s.io/kubernetes/pkg/types" pkg1_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -64,9 +64,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg3_v1.ObjectMeta - var v1 pkg2_v1.LabelSelector - var v2 pkg4_types.UID + var v0 pkg2_v1.LabelSelector + var v1 pkg4_types.UID + var v2 pkg3_v1.ObjectMeta var v3 pkg1_intstr.IntOrString var v4 time.Time _, _, _, _, _ = v0, v1, v2, v3, v4 diff --git a/pkg/apis/policy/v1beta1/types.go b/pkg/apis/policy/v1beta1/types.go index 381daaa1e46..8db3b555259 100644 --- a/pkg/apis/policy/v1beta1/types.go +++ b/pkg/apis/policy/v1beta1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/policy/v1beta1/zz_generated.conversion.go b/pkg/apis/policy/v1beta1/zz_generated.conversion.go index 1c6e9a92192..2aa739da3f0 100644 --- a/pkg/apis/policy/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/policy/v1beta1/zz_generated.conversion.go @@ -21,12 +21,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go b/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go index 9a6b712eb85..2d75a4d6b90 100644 --- a/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/policy/v1beta1/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -106,9 +106,10 @@ func DeepCopy_v1beta1_PodDisruptionBudgetSpec(in interface{}, out interface{}, c *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(meta_v1.LabelSelector) - if err := meta_v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*meta_v1.LabelSelector) } } return nil diff --git a/pkg/apis/policy/validation/BUILD b/pkg/apis/policy/validation/BUILD index d2162c12c1c..5bd90accebd 100644 --- a/pkg/apis/policy/validation/BUILD +++ b/pkg/apis/policy/validation/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/apis/extensions/validation:go_default_library", "//pkg/apis/meta/v1/validation:go_default_library", "//pkg/apis/policy:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -29,7 +29,7 @@ go_test( deps = [ "//pkg/apis/policy:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/apis/policy/validation/validation.go b/pkg/apis/policy/validation/validation.go index aed4af6a923..96faf844159 100644 --- a/pkg/apis/policy/validation/validation.go +++ b/pkg/apis/policy/validation/validation.go @@ -19,11 +19,11 @@ package validation import ( "reflect" + "k8s.io/apimachinery/pkg/util/validation/field" apivalidation "k8s.io/kubernetes/pkg/api/validation" extensionsvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation" unversionedvalidation "k8s.io/kubernetes/pkg/apis/meta/v1/validation" "k8s.io/kubernetes/pkg/apis/policy" - "k8s.io/kubernetes/pkg/util/validation/field" ) func ValidatePodDisruptionBudget(pdb *policy.PodDisruptionBudget) field.ErrorList { diff --git a/pkg/apis/policy/validation/validation_test.go b/pkg/apis/policy/validation/validation_test.go index 77e7a90b056..6c745e1b81f 100644 --- a/pkg/apis/policy/validation/validation_test.go +++ b/pkg/apis/policy/validation/validation_test.go @@ -19,9 +19,9 @@ package validation import ( "testing" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestValidatePodDisruptionBudgetSpec(t *testing.T) { diff --git a/pkg/apis/policy/zz_generated.deepcopy.go b/pkg/apis/policy/zz_generated.deepcopy.go index 452d23e8d7d..3278f271b4b 100644 --- a/pkg/apis/policy/zz_generated.deepcopy.go +++ b/pkg/apis/policy/zz_generated.deepcopy.go @@ -21,10 +21,10 @@ limitations under the License. package policy import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -106,9 +106,10 @@ func DeepCopy_policy_PodDisruptionBudgetSpec(in interface{}, out interface{}, c *out = *in if in.Selector != nil { in, out := &in.Selector, &out.Selector - *out = new(v1.LabelSelector) - if err := v1.DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { + if newVal, err := c.DeepCopy(*in); err != nil { return err + } else { + *out = newVal.(*v1.LabelSelector) } } return nil diff --git a/pkg/apis/rbac/BUILD b/pkg/apis/rbac/BUILD index caf82850514..ef449cf8ae1 100644 --- a/pkg/apis/rbac/BUILD +++ b/pkg/apis/rbac/BUILD @@ -19,11 +19,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/rbac/helpers.go b/pkg/apis/rbac/helpers.go index e1048eb800d..d0c2c1c04e8 100644 --- a/pkg/apis/rbac/helpers.go +++ b/pkg/apis/rbac/helpers.go @@ -20,9 +20,9 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) func RoleRefGroupKind(roleRef RoleRef) schema.GroupKind { diff --git a/pkg/apis/rbac/install/BUILD b/pkg/apis/rbac/install/BUILD index a5e24cb7faf..6846511cedc 100644 --- a/pkg/apis/rbac/install/BUILD +++ b/pkg/apis/rbac/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/rbac/install/install.go b/pkg/apis/rbac/install/install.go index ce7b2a2fcab..378fc48eeb4 100644 --- a/pkg/apis/rbac/install/install.go +++ b/pkg/apis/rbac/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/rbac/register.go b/pkg/apis/rbac/register.go index c20a8cc1392..25305221ec6 100644 --- a/pkg/apis/rbac/register.go +++ b/pkg/apis/rbac/register.go @@ -17,10 +17,10 @@ limitations under the License. package rbac import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "rbac.authorization.k8s.io" diff --git a/pkg/apis/rbac/types.go b/pkg/apis/rbac/types.go index 030acb042b8..dd9826bb367 100644 --- a/pkg/apis/rbac/types.go +++ b/pkg/apis/rbac/types.go @@ -17,9 +17,9 @@ limitations under the License. package rbac import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) // Authorization is calculated against diff --git a/pkg/apis/rbac/v1alpha1/BUILD b/pkg/apis/rbac/v1alpha1/BUILD index d5e0c411c7e..e653efc710f 100644 --- a/pkg/apis/rbac/v1alpha1/BUILD +++ b/pkg/apis/rbac/v1alpha1/BUILD @@ -27,14 +27,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/rbac/v1alpha1/conversion.go b/pkg/apis/rbac/v1alpha1/conversion.go index 269e0ad3b6e..0ff7997f8a0 100644 --- a/pkg/apis/rbac/v1alpha1/conversion.go +++ b/pkg/apis/rbac/v1alpha1/conversion.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/conversion" api "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/conversion" ) // allAuthenticated matches k8s.io/apiserver/pkg/authentication/user.AllAuthenticated, diff --git a/pkg/apis/rbac/v1alpha1/defaults.go b/pkg/apis/rbac/v1alpha1/defaults.go index f7e46b818b3..c347ff01f67 100644 --- a/pkg/apis/rbac/v1alpha1/defaults.go +++ b/pkg/apis/rbac/v1alpha1/defaults.go @@ -17,7 +17,7 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) func addDefaultingFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/apis/rbac/v1alpha1/generated.pb.go b/pkg/apis/rbac/v1alpha1/generated.pb.go index 79e66602aab..05cc5574bfc 100644 --- a/pkg/apis/rbac/v1alpha1/generated.pb.go +++ b/pkg/apis/rbac/v1alpha1/generated.pb.go @@ -163,6 +163,14 @@ func (m *ClusterRole) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n2, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n2 return i, nil } @@ -184,11 +192,11 @@ func (m *ClusterRoleBinding) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n2, err := m.ObjectMeta.MarshalTo(data[i:]) + n3, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n2 + i += n3 if len(m.Subjects) > 0 { for _, msg := range m.Subjects { data[i] = 0x12 @@ -204,11 +212,19 @@ func (m *ClusterRoleBinding) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.RoleRef.Size())) - n3, err := m.RoleRef.MarshalTo(data[i:]) + n4, err := m.RoleRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n3 + i += n4 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n5, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n5 return i, nil } @@ -230,11 +246,11 @@ func (m *ClusterRoleBindingBuilder) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ClusterRoleBinding.Size())) - n4, err := m.ClusterRoleBinding.MarshalTo(data[i:]) + n6, err := m.ClusterRoleBinding.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n4 + i += n6 return i, nil } @@ -256,11 +272,11 @@ func (m *ClusterRoleBindingList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n5, err := m.ListMeta.MarshalTo(data[i:]) + n7, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n5 + i += n7 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -273,6 +289,14 @@ func (m *ClusterRoleBindingList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n8, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n8 return i, nil } @@ -294,11 +318,11 @@ func (m *ClusterRoleList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n6, err := m.ListMeta.MarshalTo(data[i:]) + n9, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n6 + i += n9 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -311,6 +335,14 @@ func (m *ClusterRoleList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n10, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n10 return i, nil } @@ -347,11 +379,11 @@ func (m *PolicyRule) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.AttributeRestrictions.Size())) - n7, err := m.AttributeRestrictions.MarshalTo(data[i:]) + n11, err := m.AttributeRestrictions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n7 + i += n11 if len(m.APIGroups) > 0 { for _, s := range m.APIGroups { data[i] = 0x1a @@ -433,11 +465,11 @@ func (m *PolicyRuleBuilder) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PolicyRule.Size())) - n8, err := m.PolicyRule.MarshalTo(data[i:]) + n12, err := m.PolicyRule.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n8 + i += n12 return i, nil } @@ -459,11 +491,11 @@ func (m *Role) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n9, err := m.ObjectMeta.MarshalTo(data[i:]) + n13, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n9 + i += n13 if len(m.Rules) > 0 { for _, msg := range m.Rules { data[i] = 0x12 @@ -476,6 +508,14 @@ func (m *Role) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n14, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n14 return i, nil } @@ -497,11 +537,11 @@ func (m *RoleBinding) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n10, err := m.ObjectMeta.MarshalTo(data[i:]) + n15, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n10 + i += n15 if len(m.Subjects) > 0 { for _, msg := range m.Subjects { data[i] = 0x12 @@ -517,11 +557,19 @@ func (m *RoleBinding) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.RoleRef.Size())) - n11, err := m.RoleRef.MarshalTo(data[i:]) + n16, err := m.RoleRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n11 + i += n16 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n17, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n17 return i, nil } @@ -543,11 +591,11 @@ func (m *RoleBindingList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n12, err := m.ListMeta.MarshalTo(data[i:]) + n18, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n12 + i += n18 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -560,6 +608,14 @@ func (m *RoleBindingList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n19, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n19 return i, nil } @@ -581,11 +637,11 @@ func (m *RoleList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n13, err := m.ListMeta.MarshalTo(data[i:]) + n20, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n13 + i += n20 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -598,6 +654,14 @@ func (m *RoleList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n21, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n21 return i, nil } @@ -703,6 +767,8 @@ func (m *ClusterRole) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -719,6 +785,8 @@ func (m *ClusterRoleBinding) Size() (n int) { } l = m.RoleRef.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -741,6 +809,8 @@ func (m *ClusterRoleBindingList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -755,6 +825,8 @@ func (m *ClusterRoleList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -815,6 +887,8 @@ func (m *Role) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -831,6 +905,8 @@ func (m *RoleBinding) Size() (n int) { } l = m.RoleRef.Size() n += 1 + l + sovGenerated(uint64(l)) + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -845,6 +921,8 @@ func (m *RoleBindingList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -859,6 +937,8 @@ func (m *RoleList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -908,6 +988,7 @@ func (this *ClusterRole) String() string { s := strings.Join([]string{`&ClusterRole{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Rules:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Rules), "PolicyRule", "PolicyRule", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -920,6 +1001,7 @@ func (this *ClusterRoleBinding) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Subjects:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Subjects), "Subject", "Subject", 1), `&`, ``, 1) + `,`, `RoleRef:` + strings.Replace(strings.Replace(this.RoleRef.String(), "RoleRef", "RoleRef", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -939,8 +1021,9 @@ func (this *ClusterRoleBindingList) String() string { return "nil" } s := strings.Join([]string{`&ClusterRoleBindingList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ClusterRoleBinding", "ClusterRoleBinding", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -950,8 +1033,9 @@ func (this *ClusterRoleList) String() string { return "nil" } s := strings.Join([]string{`&ClusterRoleList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ClusterRole", "ClusterRole", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -962,7 +1046,7 @@ func (this *PolicyRule) String() string { } s := strings.Join([]string{`&PolicyRule{`, `Verbs:` + fmt.Sprintf("%v", this.Verbs) + `,`, - `AttributeRestrictions:` + strings.Replace(strings.Replace(this.AttributeRestrictions.String(), "RawExtension", "k8s_io_kubernetes_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `AttributeRestrictions:` + strings.Replace(strings.Replace(this.AttributeRestrictions.String(), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, `APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`, `Resources:` + fmt.Sprintf("%v", this.Resources) + `,`, `ResourceNames:` + fmt.Sprintf("%v", this.ResourceNames) + `,`, @@ -988,6 +1072,7 @@ func (this *Role) String() string { s := strings.Join([]string{`&Role{`, `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Rules:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Rules), "PolicyRule", "PolicyRule", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1000,6 +1085,7 @@ func (this *RoleBinding) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Subjects:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Subjects), "Subject", "Subject", 1), `&`, ``, 1) + `,`, `RoleRef:` + strings.Replace(strings.Replace(this.RoleRef.String(), "RoleRef", "RoleRef", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1009,8 +1095,9 @@ func (this *RoleBindingList) String() string { return "nil" } s := strings.Join([]string{`&RoleBindingList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RoleBinding", "RoleBinding", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1020,8 +1107,9 @@ func (this *RoleList) String() string { return "nil" } s := strings.Join([]string{`&RoleList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Role", "Role", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1149,6 +1237,36 @@ func (m *ClusterRole) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1290,6 +1408,36 @@ func (m *ClusterRoleBinding) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1481,6 +1629,36 @@ func (m *ClusterRoleBindingList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -1592,6 +1770,36 @@ func (m *ClusterRoleList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2008,6 +2216,36 @@ func (m *Role) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2149,6 +2387,36 @@ func (m *RoleBinding) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2260,6 +2528,36 @@ func (m *RoleBindingList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2371,6 +2669,36 @@ func (m *RoleList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -2801,60 +3129,63 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 879 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x55, 0x41, 0x6f, 0x23, 0x35, - 0x14, 0x8e, 0x9b, 0x84, 0x26, 0xaf, 0x54, 0xa5, 0x46, 0x8b, 0x86, 0x4a, 0x24, 0x55, 0x4e, 0x11, - 0xdb, 0x9d, 0x51, 0xaa, 0x45, 0xec, 0x01, 0x0e, 0x1d, 0x84, 0x50, 0xc5, 0x52, 0x2a, 0xaf, 0x58, - 0x41, 0x85, 0x84, 0x9c, 0x89, 0x37, 0x35, 0x99, 0xcc, 0x8c, 0x6c, 0x4f, 0x01, 0x21, 0xa4, 0x15, - 0x27, 0x8e, 0xfc, 0x8a, 0xbd, 0x71, 0xe1, 0xba, 0x37, 0x4e, 0xe5, 0xb6, 0x37, 0x38, 0x45, 0x34, - 0xfc, 0x11, 0x64, 0xc7, 0x33, 0x93, 0x36, 0x93, 0x6e, 0xb7, 0x68, 0x2b, 0x21, 0x71, 0x4a, 0xfc, - 0xde, 0xf7, 0x3d, 0x7f, 0xcf, 0xcf, 0xf3, 0x19, 0xee, 0x8d, 0xee, 0x49, 0x97, 0xc7, 0xde, 0x28, - 0xed, 0x33, 0x11, 0x31, 0xc5, 0xa4, 0x97, 0x8c, 0x86, 0x1e, 0x4d, 0xb8, 0xf4, 0x44, 0x9f, 0x06, - 0xde, 0x49, 0x8f, 0x86, 0xc9, 0x31, 0xed, 0x79, 0x43, 0x16, 0x31, 0x41, 0x15, 0x1b, 0xb8, 0x89, - 0x88, 0x55, 0x8c, 0xbb, 0x33, 0xa6, 0x5b, 0x30, 0xdd, 0x64, 0x34, 0x74, 0x35, 0xd3, 0xd5, 0x4c, - 0x37, 0x63, 0x6e, 0xdd, 0x19, 0x72, 0x75, 0x9c, 0xf6, 0xdd, 0x20, 0x1e, 0x7b, 0xc3, 0x78, 0x18, - 0x7b, 0xa6, 0x40, 0x3f, 0x7d, 0x64, 0x56, 0x66, 0x61, 0xfe, 0xcd, 0x0a, 0x6f, 0xed, 0x2e, 0x95, - 0xe4, 0x09, 0x26, 0xe3, 0x54, 0x04, 0xec, 0xa2, 0x98, 0xad, 0x9d, 0xe5, 0x9c, 0x93, 0x05, 0xe9, - 0x97, 0xec, 0x20, 0xbd, 0x31, 0x53, 0xb4, 0x8c, 0x73, 0xa7, 0x9c, 0x23, 0xd2, 0x48, 0xf1, 0xf1, - 0xa2, 0xa0, 0xbb, 0x97, 0xc3, 0x65, 0x70, 0xcc, 0xc6, 0x74, 0x81, 0xd5, 0x2b, 0x67, 0xa5, 0x8a, - 0x87, 0x1e, 0x8f, 0x94, 0x54, 0xe2, 0x22, 0xa5, 0xf3, 0x1b, 0x82, 0xb5, 0x0f, 0xc2, 0x54, 0x2a, - 0x26, 0x48, 0x1c, 0x32, 0xfc, 0x39, 0x34, 0x74, 0x0b, 0x03, 0xaa, 0xa8, 0x83, 0xb6, 0x51, 0x77, - 0x6d, 0xb7, 0xeb, 0x2e, 0x9d, 0x94, 0x7b, 0xd2, 0x73, 0x3f, 0xed, 0x7f, 0xcd, 0x02, 0xf5, 0x09, - 0x53, 0xd4, 0xc7, 0xa7, 0x93, 0x76, 0x65, 0x3a, 0x69, 0x43, 0x11, 0x23, 0x79, 0x35, 0xfc, 0x05, - 0xd4, 0x45, 0x1a, 0x32, 0xe9, 0xac, 0x6c, 0x57, 0xbb, 0x6b, 0xbb, 0x77, 0xdd, 0xab, 0x5e, 0x00, - 0xf7, 0x30, 0x0e, 0x79, 0xf0, 0x1d, 0x49, 0x43, 0xe6, 0xaf, 0xdb, 0x2d, 0xea, 0x7a, 0x25, 0xc9, - 0xac, 0x62, 0xe7, 0x97, 0x15, 0xc0, 0x73, 0x4d, 0xf8, 0x3c, 0x1a, 0xf0, 0x68, 0xf8, 0x12, 0x7b, - 0xf9, 0x0a, 0x1a, 0x32, 0x35, 0x89, 0xac, 0x9d, 0xde, 0xd5, 0xdb, 0x79, 0x30, 0x63, 0xfa, 0xaf, - 0xd9, 0x2d, 0x1a, 0x36, 0x20, 0x49, 0x5e, 0x14, 0x7f, 0x09, 0xab, 0x22, 0x0e, 0x19, 0x61, 0x8f, - 0x9c, 0xaa, 0x51, 0xfe, 0x02, 0xf5, 0xc9, 0x8c, 0xe8, 0x6f, 0xd8, 0xfa, 0xab, 0x36, 0x40, 0xb2, - 0x92, 0x9d, 0x27, 0x08, 0xde, 0x5c, 0x3c, 0x2f, 0x3f, 0xe5, 0xe1, 0x80, 0x09, 0xfc, 0x13, 0x02, - 0x1c, 0x2c, 0x64, 0xed, 0x09, 0xbe, 0x77, 0x75, 0x1d, 0x25, 0x3b, 0x6c, 0x59, 0x49, 0x25, 0xd3, - 0x22, 0x25, 0x7b, 0x76, 0xfe, 0x40, 0xf0, 0xc6, 0x22, 0xf4, 0x3e, 0x97, 0x0a, 0x1f, 0x2d, 0x0c, - 0x77, 0xe7, 0x32, 0x69, 0x1a, 0xab, 0x47, 0xac, 0xb9, 0x66, 0xc0, 0xf9, 0xe9, 0x67, 0x91, 0xb9, - 0xf1, 0x52, 0xa8, 0x73, 0xc5, 0xc6, 0xd9, 0x6c, 0xff, 0x5d, 0xcf, 0xf9, 0x95, 0xdd, 0xd7, 0x25, - 0xc9, 0xac, 0x72, 0xe7, 0x77, 0x04, 0x1b, 0x73, 0xe0, 0x97, 0xde, 0xd2, 0xd1, 0xf9, 0x96, 0xde, - 0xb9, 0x5e, 0x4b, 0xe5, 0xbd, 0xfc, 0x58, 0x05, 0x28, 0xbe, 0x51, 0xdc, 0x86, 0xfa, 0x09, 0x13, - 0x7d, 0xe9, 0xa0, 0xed, 0x6a, 0xb7, 0xe9, 0x37, 0x35, 0xfe, 0xa1, 0x0e, 0x90, 0x59, 0x1c, 0x3f, - 0x46, 0x70, 0x8b, 0x2a, 0x25, 0x78, 0x3f, 0x55, 0x8c, 0x30, 0xa9, 0x04, 0x0f, 0x14, 0x8f, 0x23, - 0x2d, 0x4e, 0x77, 0x7d, 0x7b, 0x89, 0x38, 0xeb, 0x7e, 0x2e, 0xa1, 0xdf, 0x7c, 0xf8, 0xad, 0x62, - 0x91, 0xe4, 0x71, 0xe4, 0xbf, 0x65, 0x25, 0xdd, 0xda, 0x2b, 0xab, 0x48, 0xca, 0x37, 0xc2, 0xb7, - 0xa1, 0x49, 0x13, 0xfe, 0x91, 0x88, 0xd3, 0x44, 0x3a, 0x55, 0xa3, 0x73, 0x7d, 0x3a, 0x69, 0x37, - 0xf7, 0x0e, 0xf7, 0x67, 0x41, 0x52, 0xe4, 0x35, 0x38, 0x7b, 0x39, 0xa4, 0x53, 0x2b, 0xc0, 0x24, - 0x0b, 0x92, 0x22, 0x8f, 0xdf, 0x85, 0xf5, 0x6c, 0x71, 0x40, 0xc7, 0x4c, 0x3a, 0x75, 0x43, 0xd8, - 0x9c, 0x4e, 0xda, 0xeb, 0x64, 0x3e, 0x41, 0xce, 0xe3, 0xf0, 0xfb, 0xb0, 0x11, 0xc5, 0x51, 0x06, - 0xf9, 0x8c, 0xdc, 0x97, 0xce, 0x2b, 0x86, 0xfa, 0xfa, 0x74, 0xd2, 0xde, 0x38, 0x38, 0x9f, 0x22, - 0x17, 0xb1, 0x9d, 0x1f, 0x60, 0x73, 0xce, 0x27, 0xed, 0xa7, 0x7c, 0x0c, 0x90, 0xe4, 0x41, 0x7b, - 0xa7, 0xae, 0x67, 0xbc, 0xb9, 0x1f, 0x16, 0x31, 0x32, 0x57, 0xbb, 0xf3, 0x14, 0x41, 0xed, 0xbf, - 0xfb, 0x80, 0x3c, 0x59, 0x81, 0xb5, 0xff, 0x5f, 0x8e, 0x2b, 0xbc, 0x1c, 0xda, 0xb6, 0x6e, 0xd2, - 0x89, 0xaf, 0x6f, 0x5b, 0xcf, 0xb7, 0xe0, 0xa7, 0x08, 0x1a, 0x37, 0xe2, 0xbd, 0x0f, 0xce, 0x37, - 0xe1, 0xbe, 0x60, 0x13, 0xe5, 0xea, 0xbf, 0x87, 0x6c, 0x3a, 0x78, 0x07, 0x1a, 0x99, 0x59, 0x19, - 0xed, 0xcd, 0x42, 0x4d, 0xe6, 0x67, 0x24, 0x47, 0xe0, 0x6d, 0xa8, 0x8d, 0x78, 0x34, 0x30, 0x5e, - 0xdb, 0xf4, 0x5f, 0xb5, 0xc8, 0xda, 0xc7, 0x3c, 0x1a, 0x10, 0x93, 0xd1, 0x88, 0x88, 0x8e, 0x99, - 0xb9, 0x3f, 0x73, 0x08, 0x6d, 0x53, 0xc4, 0x64, 0x3a, 0xbf, 0x22, 0x58, 0xb5, 0x77, 0x2f, 0xaf, - 0x87, 0x96, 0xd6, 0xdb, 0x05, 0xa0, 0x09, 0x7f, 0xc8, 0x84, 0x36, 0x6c, 0xbb, 0x6f, 0xfe, 0x95, - 0xec, 0x1d, 0xee, 0xdb, 0x0c, 0x99, 0x43, 0x3d, 0x5f, 0x03, 0xf6, 0xa0, 0xa9, 0x7f, 0x65, 0x42, - 0x03, 0xe6, 0xd4, 0x0c, 0x6c, 0xd3, 0xc2, 0x9a, 0x07, 0x59, 0x82, 0x14, 0x18, 0xff, 0xed, 0xd3, - 0xb3, 0x56, 0xe5, 0xd9, 0x59, 0xab, 0xf2, 0xe7, 0x59, 0xab, 0xf2, 0x78, 0xda, 0x42, 0xa7, 0xd3, - 0x16, 0x7a, 0x36, 0x6d, 0xa1, 0xbf, 0xa6, 0x2d, 0xf4, 0xf3, 0xdf, 0xad, 0xca, 0x51, 0x23, 0x3b, - 0xf8, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x24, 0x96, 0xf9, 0x34, 0xd8, 0x0c, 0x00, 0x00, + // 928 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x55, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xfa, 0x07, 0xf1, 0xbe, 0x10, 0x85, 0x0c, 0x2a, 0x32, 0x91, 0xb0, 0x23, 0x9f, 0x2c, + 0x68, 0x77, 0xe5, 0xa8, 0x40, 0x0f, 0x70, 0xc8, 0x22, 0x84, 0x22, 0x4a, 0x88, 0xa6, 0x50, 0x41, + 0x55, 0x09, 0x8d, 0xd7, 0x53, 0x7b, 0xf0, 0x7a, 0x77, 0x35, 0x33, 0x1b, 0x88, 0x10, 0x12, 0x42, + 0x1c, 0x90, 0xb8, 0x70, 0x45, 0x5c, 0x38, 0x21, 0x71, 0xe5, 0xc2, 0xbf, 0x90, 0x63, 0x8f, 0x9c, + 0x2c, 0x62, 0xfe, 0x11, 0x34, 0xeb, 0x99, 0xdd, 0x75, 0x6c, 0xab, 0x69, 0x68, 0x93, 0x4b, 0x4e, + 0xf6, 0xbe, 0xf7, 0xbe, 0x6f, 0xde, 0x7c, 0xf3, 0x66, 0x3e, 0xb8, 0x33, 0xba, 0x23, 0x1c, 0x16, + 0xb9, 0xa3, 0xa4, 0x47, 0x79, 0x48, 0x25, 0x15, 0x6e, 0x3c, 0x1a, 0xb8, 0x24, 0x66, 0xc2, 0xe5, + 0x3d, 0xe2, 0xbb, 0x47, 0x5d, 0x12, 0xc4, 0x43, 0xd2, 0x75, 0x07, 0x34, 0xa4, 0x9c, 0x48, 0xda, + 0x77, 0x62, 0x1e, 0xc9, 0x08, 0x75, 0x66, 0x48, 0x27, 0x47, 0x3a, 0xf1, 0x68, 0xe0, 0x28, 0xa4, + 0xa3, 0x90, 0x8e, 0x41, 0x6e, 0xdf, 0x1a, 0x30, 0x39, 0x4c, 0x7a, 0x8e, 0x1f, 0x8d, 0xdd, 0x41, + 0x34, 0x88, 0xdc, 0x94, 0xa0, 0x97, 0x3c, 0x4a, 0xbf, 0xd2, 0x8f, 0xf4, 0xdf, 0x8c, 0x78, 0xfb, + 0xb6, 0x6e, 0x89, 0xc4, 0x6c, 0x4c, 0xfc, 0x21, 0x0b, 0x29, 0x3f, 0xce, 0x9b, 0x1a, 0x53, 0x49, + 0xdc, 0xa3, 0x85, 0x76, 0xb6, 0xdd, 0x55, 0x28, 0x9e, 0x84, 0x92, 0x8d, 0xe9, 0x02, 0xe0, 0xad, + 0x27, 0x01, 0x84, 0x3f, 0xa4, 0x63, 0xb2, 0x80, 0xdb, 0x5d, 0xa9, 0x98, 0xcb, 0xa9, 0x88, 0x12, + 0xee, 0x2f, 0xae, 0x75, 0x73, 0x35, 0x66, 0xc9, 0x56, 0xba, 0xcb, 0xab, 0x13, 0xc9, 0x02, 0x97, + 0x85, 0x52, 0x48, 0x7e, 0x16, 0xd2, 0xfe, 0xad, 0x0c, 0xeb, 0xef, 0x05, 0x89, 0x90, 0x94, 0xe3, + 0x28, 0xa0, 0xe8, 0x33, 0xa8, 0x2b, 0xa1, 0xfa, 0x44, 0x92, 0x86, 0xb5, 0x63, 0x75, 0xd6, 0x77, + 0x3b, 0xce, 0xca, 0xf3, 0x72, 0x8e, 0xba, 0xce, 0xc7, 0xbd, 0x2f, 0xa9, 0x2f, 0x3f, 0xa2, 0x92, + 0x78, 0xe8, 0x64, 0xd2, 0x2a, 0x4d, 0x27, 0x2d, 0xc8, 0x63, 0x38, 0x63, 0x43, 0x9f, 0x43, 0x8d, + 0x27, 0x01, 0x15, 0x8d, 0xf2, 0x4e, 0xa5, 0xb3, 0xbe, 0x7b, 0xdb, 0x39, 0xef, 0x18, 0x38, 0x87, + 0x51, 0xc0, 0xfc, 0x63, 0x9c, 0x04, 0xd4, 0xdb, 0xd0, 0x4b, 0xd4, 0xd4, 0x97, 0xc0, 0x33, 0x46, + 0xf4, 0x10, 0xea, 0xf2, 0x38, 0xa6, 0x6a, 0xc1, 0x46, 0x25, 0x6d, 0xda, 0x31, 0xec, 0xc5, 0x43, + 0xca, 0xf9, 0x55, 0x53, 0xaa, 0xf9, 0x4f, 0x34, 0xca, 0x7b, 0x49, 0xf3, 0xd6, 0x4d, 0x04, 0x67, + 0x8c, 0xed, 0x9f, 0x2a, 0x80, 0x0a, 0x12, 0x79, 0x2c, 0xec, 0xb3, 0x70, 0xf0, 0x1c, 0x95, 0xfa, + 0x02, 0xea, 0x22, 0x49, 0x13, 0x46, 0xac, 0xee, 0xf9, 0xc5, 0xba, 0x37, 0x43, 0xe6, 0x3b, 0xd2, + 0x01, 0x81, 0x33, 0x52, 0xf4, 0x10, 0xd6, 0x78, 0x14, 0x50, 0x4c, 0x1f, 0x69, 0xb9, 0x9e, 0x82, + 0x1f, 0xcf, 0x80, 0xde, 0xa6, 0xe6, 0x5f, 0xd3, 0x01, 0x6c, 0x28, 0xe7, 0x4e, 0xa3, 0xfa, 0xcc, + 0x4f, 0xe3, 0x77, 0x0b, 0x5e, 0x5d, 0x3c, 0x0d, 0x2f, 0x61, 0x41, 0x9f, 0x72, 0xf4, 0xa3, 0x05, + 0xc8, 0x5f, 0xc8, 0xea, 0xf3, 0x79, 0xe7, 0xfc, 0xbb, 0x5c, 0xb2, 0xc2, 0xb6, 0x6e, 0x6a, 0xc9, + 0x2c, 0xe0, 0x25, 0x6b, 0xb6, 0xff, 0x2a, 0xc3, 0x2b, 0x8b, 0xa5, 0x77, 0x99, 0x90, 0x4a, 0xa1, + 0x33, 0xa3, 0x73, 0x4e, 0x85, 0x14, 0x7a, 0x5e, 0x21, 0x13, 0x29, 0x8c, 0x0f, 0x81, 0x1a, 0x93, + 0x74, 0x6c, 0x66, 0xe7, 0xff, 0xed, 0x3a, 0xbb, 0x70, 0xfb, 0x8a, 0x12, 0xcf, 0x98, 0x9f, 0xf3, + 0x85, 0xfb, 0xa3, 0x0c, 0x9b, 0x85, 0x56, 0x2e, 0x41, 0xb2, 0x07, 0xf3, 0x92, 0xbd, 0x79, 0x31, + 0xc9, 0xae, 0x42, 0xab, 0x1f, 0x2a, 0x00, 0xf9, 0xfb, 0x88, 0x5a, 0x50, 0x3b, 0xa2, 0xbc, 0x27, + 0x1a, 0xd6, 0x4e, 0xa5, 0x63, 0x7b, 0xb6, 0xea, 0xe6, 0xbe, 0x0a, 0xe0, 0x59, 0x1c, 0x7d, 0x6f, + 0xc1, 0x0d, 0x22, 0x25, 0x67, 0xbd, 0x44, 0x52, 0x4c, 0x85, 0xe4, 0xcc, 0x97, 0x2c, 0x0a, 0xd5, + 0xd6, 0x55, 0x6f, 0xb7, 0x56, 0xf6, 0xa6, 0xdd, 0xcd, 0xc1, 0xe4, 0xab, 0xf7, 0xbf, 0x96, 0x34, + 0x14, 0x2c, 0x0a, 0xbd, 0xd7, 0x74, 0x6b, 0x37, 0xf6, 0x96, 0x71, 0xe2, 0xe5, 0x4b, 0xa1, 0x37, + 0xc0, 0x26, 0x31, 0xfb, 0x80, 0x47, 0x49, 0x2c, 0x1a, 0x95, 0xb4, 0xd3, 0x8d, 0xe9, 0xa4, 0x65, + 0xef, 0x1d, 0xee, 0xcf, 0x82, 0x38, 0xcf, 0xab, 0x62, 0x63, 0x8f, 0xa2, 0x51, 0xcd, 0x8b, 0xb1, + 0x09, 0xe2, 0x3c, 0x8f, 0xde, 0x86, 0x0d, 0xf3, 0x71, 0x40, 0xc6, 0x54, 0x34, 0x6a, 0x29, 0x60, + 0x6b, 0x3a, 0x69, 0x6d, 0xe0, 0x62, 0x02, 0xcf, 0xd7, 0xa1, 0x77, 0x61, 0x33, 0x8c, 0x42, 0x53, + 0xf2, 0x29, 0xbe, 0x2b, 0x1a, 0x2f, 0xa4, 0xd0, 0x97, 0xa7, 0x93, 0xd6, 0xe6, 0xc1, 0x7c, 0x0a, + 0x9f, 0xad, 0x6d, 0x7f, 0x0b, 0x5b, 0x05, 0x97, 0xd2, 0x8f, 0xd1, 0x10, 0x20, 0xce, 0x82, 0x7a, + 0x6a, 0x2f, 0x66, 0x7b, 0x99, 0x5f, 0xe4, 0x31, 0x5c, 0xe0, 0x6e, 0xff, 0x52, 0x86, 0xea, 0xb5, + 0x7d, 0xaf, 0xbc, 0x21, 0xeb, 0xd7, 0xbe, 0x7d, 0xe5, 0xbe, 0xad, 0x1e, 0xf5, 0xcb, 0xf5, 0xc1, + 0x8b, 0x3f, 0xea, 0x57, 0x6d, 0x80, 0xbf, 0x96, 0xa1, 0x7e, 0x49, 0xce, 0x77, 0x6f, 0x5e, 0x24, + 0xe7, 0x29, 0x45, 0xba, 0x0a, 0x75, 0xbe, 0x01, 0x33, 0xbb, 0xe8, 0x26, 0xd4, 0x8d, 0x51, 0xa4, + 0xda, 0xd8, 0x39, 0xd0, 0x78, 0x09, 0xce, 0x2a, 0xd0, 0x0e, 0x54, 0x47, 0x2c, 0xec, 0xa7, 0x4e, + 0x67, 0x7b, 0x2f, 0xea, 0xca, 0xea, 0x87, 0x2c, 0xec, 0xe3, 0x34, 0xa3, 0x2a, 0x42, 0x32, 0xa6, + 0x69, 0xd3, 0x85, 0x0a, 0x65, 0x11, 0x38, 0xcd, 0xb4, 0xff, 0xb4, 0x60, 0x4d, 0xdf, 0xcc, 0x8c, + 0xcf, 0x5a, 0xc9, 0xb7, 0x0b, 0x40, 0x62, 0x76, 0x9f, 0x72, 0x65, 0x96, 0x7a, 0xdd, 0xec, 0x0d, + 0xd9, 0x3b, 0xdc, 0xd7, 0x19, 0x5c, 0xa8, 0x7a, 0x72, 0x0f, 0xc8, 0x05, 0x5b, 0xfd, 0x8a, 0x98, + 0xf8, 0x34, 0xbd, 0xa9, 0xb6, 0xb7, 0xa5, 0xcb, 0xec, 0x03, 0x93, 0xc0, 0x79, 0x8d, 0xf7, 0xfa, + 0xc9, 0x69, 0xb3, 0xf4, 0xf8, 0xb4, 0x59, 0xfa, 0xfb, 0xb4, 0x59, 0xfa, 0x6e, 0xda, 0xb4, 0x4e, + 0xa6, 0x4d, 0xeb, 0xf1, 0xb4, 0x69, 0xfd, 0x33, 0x6d, 0x5a, 0x3f, 0xff, 0xdb, 0x2c, 0x3d, 0xa8, + 0x9b, 0x63, 0xfd, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x42, 0x1b, 0xd1, 0x1c, 0xd8, 0x0f, 0x00, 0x00, } diff --git a/pkg/apis/rbac/v1alpha1/generated.proto b/pkg/apis/rbac/v1alpha1/generated.proto index a7bb1948089..4386cd529b3 100644 --- a/pkg/apis/rbac/v1alpha1/generated.proto +++ b/pkg/apis/rbac/v1alpha1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.rbac.v1alpha1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -33,6 +33,8 @@ option go_package = "v1alpha1"; // ClusterRole is a cluster level, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding or ClusterRoleBinding. message ClusterRole { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -44,6 +46,8 @@ message ClusterRole { // ClusterRoleBinding references a ClusterRole, but not contain it. It can reference a ClusterRole in the global namespace, // and adds who information via Subject. message ClusterRoleBinding { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -66,9 +70,11 @@ message ClusterRoleBindingBuilder { // ClusterRoleBindingList is a collection of ClusterRoleBindings message ClusterRoleBindingList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoleBindings repeated ClusterRoleBinding items = 2; @@ -76,9 +82,11 @@ message ClusterRoleBindingList { // ClusterRoleList is a collection of ClusterRoles message ClusterRoleList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of ClusterRoles repeated ClusterRole items = 2; @@ -93,7 +101,7 @@ message PolicyRule { // AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. // If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error. // +optional - optional k8s.io.kubernetes.pkg.runtime.RawExtension attributeRestrictions = 2; + optional k8s.io.apimachinery.pkg.runtime.RawExtension attributeRestrictions = 2; // APIGroups is the name of the APIGroup that contains the resources. If multiple API groups are specified, any action requested against one of // the enumerated resources in any API group will be allowed. @@ -126,6 +134,8 @@ message PolicyRuleBuilder { // Role is a namespaced, logical grouping of PolicyRules that can be referenced as a unit by a RoleBinding. message Role { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -138,6 +148,8 @@ message Role { // It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given // namespace only have effect in that namespace. message RoleBinding { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // +optional optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1; @@ -152,9 +164,11 @@ message RoleBinding { // RoleBindingList is a collection of RoleBindings message RoleBindingList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of RoleBindings repeated RoleBinding items = 2; @@ -162,9 +176,11 @@ message RoleBindingList { // RoleList is a collection of Roles message RoleList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard object's metadata. // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is a list of Roles repeated Role items = 2; diff --git a/pkg/apis/rbac/v1alpha1/register.go b/pkg/apis/rbac/v1alpha1/register.go index cda5e756ec9..e7f1024699b 100644 --- a/pkg/apis/rbac/v1alpha1/register.go +++ b/pkg/apis/rbac/v1alpha1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) const GroupName = "rbac.authorization.k8s.io" diff --git a/pkg/apis/rbac/v1alpha1/types.generated.go b/pkg/apis/rbac/v1alpha1/types.generated.go index 188610876b4..fe2991b03b7 100644 --- a/pkg/apis/rbac/v1alpha1/types.generated.go +++ b/pkg/apis/rbac/v1alpha1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg1_runtime "k8s.io/apimachinery/pkg/runtime" + pkg4_types "k8s.io/apimachinery/pkg/types" pkg3_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg2_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg1_runtime "k8s.io/kubernetes/pkg/runtime" - pkg4_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -64,10 +64,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg3_v1.ObjectMeta - var v1 pkg2_v1.TypeMeta - var v2 pkg1_runtime.RawExtension - var v3 pkg4_types.UID + var v0 pkg2_v1.TypeMeta + var v1 pkg1_runtime.RawExtension + var v2 pkg4_types.UID + var v3 pkg3_v1.ObjectMeta var v4 time.Time _, _, _, _, _ = v0, v1, v2, v3, v4 } diff --git a/pkg/apis/rbac/v1alpha1/types.go b/pkg/apis/rbac/v1alpha1/types.go index eba20b1747f..06d63283b37 100644 --- a/pkg/apis/rbac/v1alpha1/types.go +++ b/pkg/apis/rbac/v1alpha1/types.go @@ -17,9 +17,9 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) // Authorization is calculated against diff --git a/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go b/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go index e1a09028317..3ec38549d1e 100644 --- a/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/rbac/v1alpha1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" rbac "k8s.io/kubernetes/pkg/apis/rbac" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/rbac/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/rbac/v1alpha1/zz_generated.deepcopy.go index 2c6dbee6773..43d115098cc 100644 --- a/pkg/apis/rbac/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/rbac/v1alpha1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1alpha1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) @@ -135,8 +135,10 @@ func DeepCopy_v1alpha1_PolicyRule(in interface{}, out interface{}, c *conversion *out = make([]string, len(*in)) copy(*out, *in) } - if err := runtime.DeepCopy_runtime_RawExtension(&in.AttributeRestrictions, &out.AttributeRestrictions, c); err != nil { + if newVal, err := c.DeepCopy(&in.AttributeRestrictions); err != nil { return err + } else { + out.AttributeRestrictions = *newVal.(*runtime.RawExtension) } if in.APIGroups != nil { in, out := &in.APIGroups, &out.APIGroups diff --git a/pkg/apis/rbac/v1alpha1/zz_generated.defaults.go b/pkg/apis/rbac/v1alpha1/zz_generated.defaults.go index ee52f1cd72c..ef6a606149f 100644 --- a/pkg/apis/rbac/v1alpha1/zz_generated.defaults.go +++ b/pkg/apis/rbac/v1alpha1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1alpha1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/rbac/validation/BUILD b/pkg/apis/rbac/validation/BUILD index 8db59e37bb7..f9fd6947b5c 100644 --- a/pkg/apis/rbac/validation/BUILD +++ b/pkg/apis/rbac/validation/BUILD @@ -23,9 +23,9 @@ go_library( "//pkg/apis/rbac:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/serviceaccount:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/validation/field:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) @@ -42,8 +42,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/rbac:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/pkg/apis/rbac/validation/rulevalidation.go b/pkg/apis/rbac/validation/rulevalidation.go index 69dece2eb61..7c1746b1600 100644 --- a/pkg/apis/rbac/validation/rulevalidation.go +++ b/pkg/apis/rbac/validation/rulevalidation.go @@ -21,12 +21,12 @@ import ( "fmt" "github.com/golang/glog" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apiserver/pkg/authentication/user" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/rbac" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/serviceaccount" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) type AuthorizationRuleResolver interface { diff --git a/pkg/apis/rbac/validation/rulevalidation_test.go b/pkg/apis/rbac/validation/rulevalidation_test.go index b578dc1e1f7..51f660b9a16 100644 --- a/pkg/apis/rbac/validation/rulevalidation_test.go +++ b/pkg/apis/rbac/validation/rulevalidation_test.go @@ -23,10 +23,10 @@ import ( "sort" "testing" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/util/diff" ) // compute a hash of a policy rule so we can sort in a deterministic order diff --git a/pkg/apis/rbac/validation/validation.go b/pkg/apis/rbac/validation/validation.go index 2dab4759097..948396c21d6 100644 --- a/pkg/apis/rbac/validation/validation.go +++ b/pkg/apis/rbac/validation/validation.go @@ -17,10 +17,10 @@ limitations under the License. package validation import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/api/validation/path" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/util/validation/field" ) // Minimal validation of names for roles and bindings. Identical to the validation for Openshift. See: diff --git a/pkg/apis/rbac/validation/validation_test.go b/pkg/apis/rbac/validation/validation_test.go index b04b1965181..765f492f5e7 100644 --- a/pkg/apis/rbac/validation/validation_test.go +++ b/pkg/apis/rbac/validation/validation_test.go @@ -19,9 +19,9 @@ package validation import ( "testing" + "k8s.io/apimachinery/pkg/util/validation/field" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestValidateClusterRoleBinding(t *testing.T) { diff --git a/pkg/apis/rbac/zz_generated.deepcopy.go b/pkg/apis/rbac/zz_generated.deepcopy.go index 0eb28d6ad63..1120b428da6 100644 --- a/pkg/apis/rbac/zz_generated.deepcopy.go +++ b/pkg/apis/rbac/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package rbac import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/storage/BUILD b/pkg/apis/storage/BUILD index 8c30d1a923e..eb60d28d09d 100644 --- a/pkg/apis/storage/BUILD +++ b/pkg/apis/storage/BUILD @@ -18,10 +18,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/apis/storage/install/BUILD b/pkg/apis/storage/install/BUILD index 6d26f112a1c..21aadc85217 100644 --- a/pkg/apis/storage/install/BUILD +++ b/pkg/apis/storage/install/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/apimachinery/announced:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/apis/storage/install/install.go b/pkg/apis/storage/install/install.go index b46c4d6f0d0..bfd3328bfee 100644 --- a/pkg/apis/storage/install/install.go +++ b/pkg/apis/storage/install/install.go @@ -19,10 +19,10 @@ limitations under the License. package install import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/apimachinery/announced" "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - "k8s.io/kubernetes/pkg/util/sets" ) func init() { diff --git a/pkg/apis/storage/register.go b/pkg/apis/storage/register.go index 26207ec2d9f..1e2a5ef6ccb 100644 --- a/pkg/apis/storage/register.go +++ b/pkg/apis/storage/register.go @@ -17,10 +17,10 @@ limitations under the License. package storage import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/storage/types.go b/pkg/apis/storage/types.go index bd3acc72a75..c64b9ff309d 100644 --- a/pkg/apis/storage/types.go +++ b/pkg/apis/storage/types.go @@ -17,8 +17,8 @@ limitations under the License. package storage import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/storage/v1beta1/BUILD b/pkg/apis/storage/v1beta1/BUILD index f7e1b98414d..6f171021359 100644 --- a/pkg/apis/storage/v1beta1/BUILD +++ b/pkg/apis/storage/v1beta1/BUILD @@ -23,15 +23,15 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/apis/storage/v1beta1/generated.pb.go b/pkg/apis/storage/v1beta1/generated.pb.go index 9baafe4f9d2..9aaf8bd9c6c 100644 --- a/pkg/apis/storage/v1beta1/generated.pb.go +++ b/pkg/apis/storage/v1beta1/generated.pb.go @@ -105,6 +105,14 @@ func (m *StorageClass) MarshalTo(data []byte) (int, error) { i += copy(data[i:], v) } } + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n2, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n2 return i, nil } @@ -126,11 +134,11 @@ func (m *StorageClassList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n2, err := m.ListMeta.MarshalTo(data[i:]) + n3, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n2 + i += n3 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -143,6 +151,14 @@ func (m *StorageClassList) MarshalTo(data []byte) (int, error) { i += n } } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n4, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 return i, nil } @@ -188,6 +204,8 @@ func (m *StorageClass) Size() (n int) { n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -202,6 +220,8 @@ func (m *StorageClassList) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -236,6 +256,7 @@ func (this *StorageClass) String() string { `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_kubernetes_pkg_api_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `Provisioner:` + fmt.Sprintf("%v", this.Provisioner) + `,`, `Parameters:` + mapStringForParameters + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -245,8 +266,9 @@ func (this *StorageClassList) String() string { return "nil" } s := strings.Join([]string{`&StorageClassList{`, - `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_kubernetes_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "StorageClass", "StorageClass", 1), `&`, ``, 1) + `,`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.TypeMeta", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -458,6 +480,36 @@ func (m *StorageClass) Unmarshal(data []byte) error { } m.Parameters[mapkey] = mapvalue iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -569,6 +621,36 @@ func (m *StorageClassList) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -696,35 +778,38 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 471 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x8b, 0xd3, 0x4e, - 0x18, 0xc7, 0x33, 0x2d, 0xe5, 0xb7, 0x3b, 0xfd, 0x89, 0x25, 0x7a, 0x28, 0x3d, 0x64, 0xcb, 0x9e, - 0xaa, 0xec, 0xce, 0xd0, 0xa2, 0x50, 0x16, 0xbc, 0x54, 0x04, 0x05, 0xc5, 0x25, 0x5e, 0x64, 0xc1, - 0xc3, 0xa4, 0xfb, 0x98, 0x1d, 0xd3, 0x64, 0xc2, 0xcc, 0x93, 0xc0, 0x82, 0x07, 0x5f, 0x82, 0x2f, - 0xab, 0x17, 0x61, 0x8f, 0x1e, 0x64, 0xb1, 0xf1, 0x8d, 0x48, 0xfe, 0xb8, 0x09, 0xfd, 0x87, 0x78, - 0x9b, 0x67, 0xe6, 0xf9, 0x7c, 0x9f, 0xef, 0xf3, 0x4d, 0xe8, 0x59, 0x30, 0x35, 0x4c, 0x2a, 0x1e, - 0x24, 0x1e, 0xe8, 0x08, 0x10, 0x0c, 0x8f, 0x03, 0x9f, 0x8b, 0x58, 0x1a, 0x6e, 0x50, 0x69, 0xe1, - 0x03, 0x4f, 0xc7, 0x1e, 0xa0, 0x18, 0x73, 0x1f, 0x22, 0xd0, 0x02, 0xe1, 0x92, 0xc5, 0x5a, 0xa1, - 0xb2, 0x1f, 0x97, 0x2c, 0xab, 0x59, 0x16, 0x07, 0x3e, 0xcb, 0x59, 0x56, 0xb1, 0xac, 0x62, 0x07, - 0xa7, 0xbe, 0xc4, 0xab, 0xc4, 0x63, 0x73, 0x15, 0x72, 0x5f, 0xf9, 0x8a, 0x17, 0x12, 0x5e, 0xf2, - 0xb1, 0xa8, 0x8a, 0xa2, 0x38, 0x95, 0xd2, 0x83, 0xc9, 0x4e, 0x5b, 0x5c, 0x83, 0x51, 0x89, 0x9e, - 0xc3, 0xba, 0x9d, 0xc1, 0xc9, 0x6e, 0x26, 0xdd, 0x30, 0xbf, 0x67, 0x82, 0xe1, 0x21, 0xa0, 0xd8, - 0xc6, 0x9c, 0x6e, 0x67, 0x74, 0x12, 0xa1, 0x0c, 0x37, 0x0d, 0x3d, 0xd9, 0xdf, 0x6e, 0xe6, 0x57, - 0x10, 0x8a, 0x0d, 0x6a, 0xbc, 0x9d, 0x4a, 0x50, 0x2e, 0xb8, 0x8c, 0xd0, 0xa0, 0x5e, 0x47, 0x8e, - 0x7f, 0xb4, 0xe8, 0xff, 0xef, 0xca, 0xc0, 0x9f, 0x2f, 0x84, 0x31, 0xf6, 0x7b, 0x7a, 0x90, 0xef, - 0x70, 0x29, 0x50, 0xf4, 0xc9, 0x90, 0x8c, 0xba, 0x93, 0x11, 0xdb, 0xf9, 0xb1, 0x58, 0x3a, 0x66, - 0x6f, 0xbd, 0x4f, 0x30, 0xc7, 0x37, 0x80, 0x62, 0x66, 0x2f, 0x6f, 0x8f, 0xac, 0xec, 0xf6, 0x88, - 0xd6, 0x77, 0xee, 0x9d, 0x9a, 0xfd, 0x94, 0x76, 0x63, 0xad, 0x52, 0x69, 0xa4, 0x8a, 0x40, 0xf7, - 0x5b, 0x43, 0x32, 0x3a, 0x9c, 0x3d, 0xa8, 0x90, 0xee, 0x79, 0xfd, 0xe4, 0x36, 0xfb, 0xec, 0xcf, - 0x94, 0xc6, 0x42, 0x8b, 0x10, 0x10, 0xb4, 0xe9, 0xb7, 0x87, 0xed, 0x51, 0x77, 0xf2, 0x92, 0xfd, - 0xfd, 0xff, 0xc3, 0x9a, 0xeb, 0xb1, 0xf3, 0x3b, 0xa9, 0x17, 0x11, 0xea, 0xeb, 0xda, 0x72, 0xfd, - 0xe0, 0x36, 0xe6, 0x0d, 0x9e, 0xd1, 0xfb, 0x6b, 0x88, 0xdd, 0xa3, 0xed, 0x00, 0xae, 0x8b, 0x70, - 0x0e, 0xdd, 0xfc, 0x68, 0x3f, 0xa4, 0x9d, 0x54, 0x2c, 0x12, 0x28, 0x77, 0x72, 0xcb, 0xe2, 0xac, - 0x35, 0x25, 0xc7, 0xdf, 0x08, 0xed, 0x35, 0xe7, 0xbf, 0x96, 0x06, 0xed, 0x8b, 0x8d, 0x88, 0x4f, - 0xf6, 0xed, 0x93, 0xf7, 0xe6, 0x41, 0xe7, 0x6c, 0x11, 0x73, 0xaf, 0xf2, 0x7c, 0xf0, 0xe7, 0xa6, - 0x11, 0xf2, 0x07, 0xda, 0x91, 0x08, 0xa1, 0xe9, 0xb7, 0x8a, 0xa0, 0xa6, 0xff, 0x1a, 0xd4, 0xec, - 0x5e, 0x35, 0xa4, 0xf3, 0x2a, 0x97, 0x73, 0x4b, 0xd5, 0xd9, 0xa3, 0xe5, 0xca, 0xb1, 0x6e, 0x56, - 0x8e, 0xf5, 0x7d, 0xe5, 0x58, 0x5f, 0x32, 0x87, 0x2c, 0x33, 0x87, 0xdc, 0x64, 0x0e, 0xf9, 0x99, - 0x39, 0xe4, 0xeb, 0x2f, 0xc7, 0xba, 0xf8, 0xaf, 0x52, 0xfb, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xc5, - 0xf0, 0x27, 0x65, 0x1f, 0x04, 0x00, 0x00, + // 518 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x92, 0x4f, 0x8b, 0xd3, 0x40, + 0x18, 0xc6, 0x9b, 0xc6, 0x62, 0x77, 0xaa, 0x58, 0xa2, 0x87, 0xd0, 0x43, 0xb6, 0xec, 0xa9, 0x8a, + 0xce, 0xd0, 0xa2, 0x52, 0x16, 0xbc, 0x44, 0x04, 0x05, 0xc5, 0x25, 0x7a, 0x10, 0xd1, 0xc3, 0x24, + 0xfb, 0x9a, 0x8e, 0x69, 0x32, 0x61, 0x66, 0x12, 0x28, 0x78, 0xf0, 0x23, 0xf8, 0x45, 0xfc, 0x02, + 0x7e, 0x82, 0x1e, 0xf7, 0xe8, 0x69, 0xb1, 0xf1, 0x8b, 0x48, 0xfe, 0xb4, 0xc9, 0xb6, 0x5b, 0x5c, + 0xc4, 0x5b, 0xe6, 0x9d, 0xf9, 0x3d, 0xef, 0xf3, 0x3e, 0x6f, 0xd0, 0x71, 0x30, 0x95, 0x98, 0x71, + 0x12, 0x24, 0x2e, 0x88, 0x08, 0x14, 0x48, 0x12, 0x07, 0x3e, 0xa1, 0x31, 0x93, 0x44, 0x2a, 0x2e, + 0xa8, 0x0f, 0x24, 0x1d, 0xbb, 0xa0, 0xe8, 0x98, 0xf8, 0x10, 0x81, 0xa0, 0x0a, 0x4e, 0x71, 0x2c, + 0xb8, 0xe2, 0xc6, 0xbd, 0x92, 0xc5, 0x35, 0x8b, 0xe3, 0xc0, 0xc7, 0x39, 0x8b, 0x2b, 0x16, 0x57, + 0xec, 0xe0, 0x81, 0xcf, 0xd4, 0x2c, 0x71, 0xb1, 0xc7, 0x43, 0xe2, 0x73, 0x9f, 0x93, 0x42, 0xc2, + 0x4d, 0x3e, 0x15, 0xa7, 0xe2, 0x50, 0x7c, 0x95, 0xd2, 0x83, 0x87, 0x95, 0x2d, 0x1a, 0xb3, 0x90, + 0x7a, 0x33, 0x16, 0x81, 0x58, 0xd4, 0xc6, 0x42, 0x50, 0x94, 0xa4, 0x3b, 0x86, 0x06, 0x64, 0x1f, + 0x25, 0x92, 0x48, 0xb1, 0x10, 0x76, 0x80, 0xc7, 0x7f, 0x03, 0xa4, 0x37, 0x83, 0x90, 0xee, 0x70, + 0x93, 0xbd, 0xa9, 0x11, 0x01, 0x92, 0x27, 0xc2, 0xdb, 0xed, 0x75, 0x7f, 0x3f, 0x73, 0xc9, 0x28, + 0xe3, 0xcb, 0x5f, 0x27, 0x8a, 0xcd, 0x09, 0x8b, 0x94, 0x54, 0x62, 0x1b, 0x39, 0xfa, 0xa1, 0xa3, + 0x1b, 0x6f, 0xca, 0xd8, 0x9f, 0xce, 0xa9, 0x94, 0xc6, 0x3b, 0xd4, 0xcd, 0x93, 0x3a, 0xa5, 0x8a, + 0x9a, 0xda, 0x50, 0x1b, 0xf5, 0x26, 0x23, 0xbc, 0x77, 0x65, 0x38, 0x1d, 0xe3, 0xd7, 0xee, 0x67, + 0xf0, 0xd4, 0x2b, 0x50, 0xd4, 0x36, 0x96, 0xe7, 0x87, 0xad, 0xec, 0xfc, 0x10, 0xd5, 0x35, 0x67, + 0xa3, 0x66, 0x3c, 0x42, 0xbd, 0x58, 0xf0, 0x94, 0x49, 0xc6, 0x23, 0x10, 0x66, 0x7b, 0xa8, 0x8d, + 0x0e, 0xec, 0xdb, 0x15, 0xd2, 0x3b, 0xa9, 0xaf, 0x9c, 0xe6, 0x3b, 0xe3, 0x0b, 0x42, 0x31, 0x15, + 0x34, 0x04, 0x05, 0x42, 0x9a, 0xfa, 0x50, 0x1f, 0xf5, 0x26, 0xcf, 0xf1, 0xd5, 0xff, 0x22, 0xdc, + 0x1c, 0x0f, 0x9f, 0x6c, 0xa4, 0x9e, 0x45, 0x4a, 0x2c, 0x6a, 0xcb, 0xf5, 0x85, 0xd3, 0xe8, 0x67, + 0x7c, 0x40, 0x5d, 0xb5, 0x88, 0x21, 0x1f, 0xc5, 0xbc, 0x56, 0xc4, 0x81, 0xd7, 0xbd, 0x9b, 0xfb, + 0xaf, 0xbb, 0xe7, 0xe3, 0xe6, 0xb1, 0xbc, 0xad, 0x28, 0xbb, 0x5f, 0x75, 0xe8, 0xae, 0x2b, 0xce, + 0x46, 0x71, 0xf0, 0x04, 0xdd, 0xda, 0x32, 0x64, 0xf4, 0x91, 0x1e, 0xc0, 0xa2, 0x88, 0xfe, 0xc0, + 0xc9, 0x3f, 0x8d, 0x3b, 0xa8, 0x93, 0xd2, 0x79, 0x02, 0x65, 0x62, 0x4e, 0x79, 0x38, 0x6e, 0x4f, + 0xb5, 0xa3, 0xef, 0x6d, 0xd4, 0x6f, 0x4e, 0xf7, 0x92, 0x49, 0x95, 0x3b, 0xde, 0x5a, 0xe0, 0x15, + 0x1d, 0xe7, 0xf4, 0x45, 0xc7, 0xeb, 0x4a, 0x63, 0x89, 0x1f, 0x51, 0x87, 0x29, 0x08, 0xa5, 0xd9, + 0x2e, 0x16, 0x31, 0xfd, 0xd7, 0x45, 0xd8, 0x37, 0xab, 0x26, 0x9d, 0x17, 0xb9, 0x9c, 0x53, 0xaa, + 0x5e, 0x88, 0x5b, 0xff, 0xdf, 0x71, 0xdb, 0x77, 0x97, 0x2b, 0xab, 0x75, 0xb6, 0xb2, 0x5a, 0x3f, + 0x57, 0x56, 0xeb, 0x6b, 0x66, 0x69, 0xcb, 0xcc, 0xd2, 0xce, 0x32, 0x4b, 0xfb, 0x95, 0x59, 0xda, + 0xb7, 0xdf, 0x56, 0xeb, 0xfd, 0xf5, 0xca, 0xeb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x27, 0xd0, + 0x2e, 0x38, 0xe3, 0x04, 0x00, 0x00, } diff --git a/pkg/apis/storage/v1beta1/generated.proto b/pkg/apis/storage/v1beta1/generated.proto index 17e4aac1218..43f04e79bd4 100644 --- a/pkg/apis/storage/v1beta1/generated.proto +++ b/pkg/apis/storage/v1beta1/generated.proto @@ -21,11 +21,11 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.storage.v1beta1; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/generated.proto"; -import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -37,6 +37,8 @@ option go_package = "v1beta1"; // StorageClasses are non-namespaced; the name of the storage class // according to etcd is in ObjectMeta.Name. message StorageClass { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 4; + // Standard object's metadata. // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional @@ -53,10 +55,12 @@ message StorageClass { // StorageClassList is a collection of storage classes. message StorageClassList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 3; + // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // +optional - optional k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta metadata = 1; + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // Items is the list of StorageClasses repeated StorageClass items = 2; diff --git a/pkg/apis/storage/v1beta1/register.go b/pkg/apis/storage/v1beta1/register.go index 7252be3293e..aa056f16219 100644 --- a/pkg/apis/storage/v1beta1/register.go +++ b/pkg/apis/storage/v1beta1/register.go @@ -17,10 +17,10 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GroupName is the group name use in this package diff --git a/pkg/apis/storage/v1beta1/types.generated.go b/pkg/apis/storage/v1beta1/types.generated.go index 9b235bca2af..e250bcf7dec 100644 --- a/pkg/apis/storage/v1beta1/types.generated.go +++ b/pkg/apis/storage/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/apis/storage/v1beta1/types.go b/pkg/apis/storage/v1beta1/types.go index 92d619ffdd6..b5fba8a4c7c 100644 --- a/pkg/apis/storage/v1beta1/types.go +++ b/pkg/apis/storage/v1beta1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1beta1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // +genclient=true diff --git a/pkg/apis/storage/v1beta1/zz_generated.conversion.go b/pkg/apis/storage/v1beta1/zz_generated.conversion.go index b494bdbcebe..d1c2111da59 100644 --- a/pkg/apis/storage/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/storage/v1beta1/zz_generated.conversion.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" storage "k8s.io/kubernetes/pkg/apis/storage" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" unsafe "unsafe" ) diff --git a/pkg/apis/storage/v1beta1/zz_generated.deepcopy.go b/pkg/apis/storage/v1beta1/zz_generated.deepcopy.go index 62caaa2b96e..00a860cf802 100644 --- a/pkg/apis/storage/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/storage/v1beta1/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package v1beta1 import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" v1 "k8s.io/kubernetes/pkg/api/v1" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/apis/storage/v1beta1/zz_generated.defaults.go b/pkg/apis/storage/v1beta1/zz_generated.defaults.go index 7cd6967ccf1..e24e70be38b 100644 --- a/pkg/apis/storage/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/storage/v1beta1/zz_generated.defaults.go @@ -21,7 +21,7 @@ limitations under the License. package v1beta1 import ( - runtime "k8s.io/kubernetes/pkg/runtime" + runtime "k8s.io/apimachinery/pkg/runtime" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/pkg/apis/storage/validation/BUILD b/pkg/apis/storage/validation/BUILD index be579b1da8c..cc8689a959f 100644 --- a/pkg/apis/storage/validation/BUILD +++ b/pkg/apis/storage/validation/BUILD @@ -15,8 +15,8 @@ go_library( deps = [ "//pkg/api/validation:go_default_library", "//pkg/apis/storage:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/apis/storage/validation/validation.go b/pkg/apis/storage/validation/validation.go index 03ee847bcf4..117ec7427bd 100644 --- a/pkg/apis/storage/validation/validation.go +++ b/pkg/apis/storage/validation/validation.go @@ -20,10 +20,10 @@ import ( "reflect" "strings" + "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" apivalidation "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/apis/storage" - "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" ) // ValidateStorageClass validates a StorageClass. diff --git a/pkg/apis/storage/zz_generated.deepcopy.go b/pkg/apis/storage/zz_generated.deepcopy.go index d7cea6b6447..4eef11521eb 100644 --- a/pkg/apis/storage/zz_generated.deepcopy.go +++ b/pkg/apis/storage/zz_generated.deepcopy.go @@ -21,9 +21,9 @@ limitations under the License. package storage import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" api "k8s.io/kubernetes/pkg/api" - conversion "k8s.io/kubernetes/pkg/conversion" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" ) diff --git a/pkg/auth/authorizer/abac/BUILD b/pkg/auth/authorizer/abac/BUILD index fb4d8601573..8502b32e812 100644 --- a/pkg/auth/authorizer/abac/BUILD +++ b/pkg/auth/authorizer/abac/BUILD @@ -16,8 +16,8 @@ go_library( "//pkg/apis/abac:go_default_library", "//pkg/apis/abac/latest:go_default_library", "//pkg/apis/abac/v0:go_default_library", - "//pkg/runtime:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) @@ -42,7 +42,7 @@ go_test( "//pkg/apis/abac:go_default_library", "//pkg/apis/abac/v0:go_default_library", "//pkg/apis/abac/v1beta1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/pkg/auth/authorizer/abac/abac.go b/pkg/auth/authorizer/abac/abac.go index f3d6dec304c..70667e50375 100644 --- a/pkg/auth/authorizer/abac/abac.go +++ b/pkg/auth/authorizer/abac/abac.go @@ -27,11 +27,11 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" api "k8s.io/kubernetes/pkg/apis/abac" _ "k8s.io/kubernetes/pkg/apis/abac/latest" "k8s.io/kubernetes/pkg/apis/abac/v0" - "k8s.io/kubernetes/pkg/runtime" ) type policyLoadError struct { diff --git a/pkg/auth/authorizer/abac/abac_test.go b/pkg/auth/authorizer/abac/abac_test.go index f3844b46074..51e27363871 100644 --- a/pkg/auth/authorizer/abac/abac_test.go +++ b/pkg/auth/authorizer/abac/abac_test.go @@ -21,12 +21,12 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" api "k8s.io/kubernetes/pkg/apis/abac" "k8s.io/kubernetes/pkg/apis/abac/v0" "k8s.io/kubernetes/pkg/apis/abac/v1beta1" - "k8s.io/kubernetes/pkg/runtime" ) func TestEmptyFile(t *testing.T) { diff --git a/pkg/client/cache/BUILD b/pkg/client/cache/BUILD index 424b4970740..34f97e06319 100644 --- a/pkg/client/cache/BUILD +++ b/pkg/client/cache/BUILD @@ -35,29 +35,29 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -84,21 +84,21 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/cache:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/cache/controller.go b/pkg/client/cache/controller.go index 5ab84b8dd83..314b7617b4f 100644 --- a/pkg/client/cache/controller.go +++ b/pkg/client/cache/controller.go @@ -20,9 +20,9 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/runtime" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" ) // Config contains all the settings for a Controller. diff --git a/pkg/client/cache/controller_test.go b/pkg/client/cache/controller_test.go index 053775dad72..d3d76f41b2c 100644 --- a/pkg/client/cache/controller_test.go +++ b/pkg/client/cache/controller_test.go @@ -23,12 +23,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" fcache "k8s.io/kubernetes/pkg/client/testing/cache" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "github.com/google/gofuzz" ) diff --git a/pkg/client/cache/delta_fifo.go b/pkg/client/cache/delta_fifo.go index 1d26dcde14f..b972f7ccc49 100644 --- a/pkg/client/cache/delta_fifo.go +++ b/pkg/client/cache/delta_fifo.go @@ -21,7 +21,7 @@ import ( "fmt" "sync" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" "github.com/golang/glog" ) diff --git a/pkg/client/cache/expiration_cache_fakes.go b/pkg/client/cache/expiration_cache_fakes.go index da180b77f1c..7f5b81f244f 100644 --- a/pkg/client/cache/expiration_cache_fakes.go +++ b/pkg/client/cache/expiration_cache_fakes.go @@ -17,8 +17,8 @@ limitations under the License. package cache import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" ) type fakeThreadSafeMap struct { diff --git a/pkg/client/cache/expiration_cache_test.go b/pkg/client/cache/expiration_cache_test.go index 6e73f2969c3..c2cae091989 100644 --- a/pkg/client/cache/expiration_cache_test.go +++ b/pkg/client/cache/expiration_cache_test.go @@ -21,9 +21,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" ) func TestTTLExpirationBasic(t *testing.T) { diff --git a/pkg/client/cache/fifo.go b/pkg/client/cache/fifo.go index a6d5e0ab839..672facbc43b 100644 --- a/pkg/client/cache/fifo.go +++ b/pkg/client/cache/fifo.go @@ -19,7 +19,7 @@ package cache import ( "sync" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) // PopProcessFunc is passed to Pop() method of Queue interface. diff --git a/pkg/client/cache/index.go b/pkg/client/cache/index.go index 218f3c8a535..42fc6c7a22d 100644 --- a/pkg/client/cache/index.go +++ b/pkg/client/cache/index.go @@ -19,8 +19,8 @@ package cache import ( "fmt" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/util/sets" ) // Indexer is a storage interface that lets you list objects using multiple indexing functions diff --git a/pkg/client/cache/listers.go b/pkg/client/cache/listers.go index 26c8d266ff1..23c965649fa 100644 --- a/pkg/client/cache/listers.go +++ b/pkg/client/cache/listers.go @@ -20,19 +20,19 @@ import ( "fmt" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" storageinternal "k8s.io/kubernetes/pkg/apis/storage" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // AppendFunc is used to add a matching item to whatever list the caller is using diff --git a/pkg/client/cache/listers_core.go b/pkg/client/cache/listers_core.go index 65e64ae3dbc..c620d5249ee 100644 --- a/pkg/client/cache/listers_core.go +++ b/pkg/client/cache/listers_core.go @@ -19,10 +19,10 @@ package cache import ( "fmt" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/cache/listers_extensions.go b/pkg/client/cache/listers_extensions.go index 3b50ae9954a..2b2f9183fa1 100644 --- a/pkg/client/cache/listers_extensions.go +++ b/pkg/client/cache/listers_extensions.go @@ -19,12 +19,12 @@ package cache import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/cache/listers_rbac.go b/pkg/client/cache/listers_rbac.go index fb7769a881c..1439bf12a68 100644 --- a/pkg/client/cache/listers_rbac.go +++ b/pkg/client/cache/listers_rbac.go @@ -17,9 +17,9 @@ limitations under the License. package cache import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/labels" ) // TODO: generate these classes and methods for all resources of interest using diff --git a/pkg/client/cache/listers_test.go b/pkg/client/cache/listers_test.go index b002d05a992..2220b3228ed 100644 --- a/pkg/client/cache/listers_test.go +++ b/pkg/client/cache/listers_test.go @@ -19,12 +19,12 @@ package cache import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" ) func TestStoreToNodeLister(t *testing.T) { diff --git a/pkg/client/cache/listwatch.go b/pkg/client/cache/listwatch.go index 9622e9f9870..f4299a7f474 100644 --- a/pkg/client/cache/listwatch.go +++ b/pkg/client/cache/listwatch.go @@ -19,13 +19,13 @@ package cache import ( "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // ListerWatcher is any object that knows how to perform an initial list and start a watch on a resource. diff --git a/pkg/client/cache/listwatch_test.go b/pkg/client/cache/listwatch_test.go index 144ea27024b..688b4c3f79f 100644 --- a/pkg/client/cache/listwatch_test.go +++ b/pkg/client/cache/listwatch_test.go @@ -22,16 +22,16 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" utiltesting "k8s.io/kubernetes/pkg/util/testing" - "k8s.io/kubernetes/pkg/watch" ) func parseSelectorOrDie(s string) fields.Selector { diff --git a/pkg/client/cache/mutation_detector.go b/pkg/client/cache/mutation_detector.go index 11d0e6ffa20..6a60479a94d 100644 --- a/pkg/client/cache/mutation_detector.go +++ b/pkg/client/cache/mutation_detector.go @@ -24,9 +24,9 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" ) var mutationDetectionEnabled = false diff --git a/pkg/client/cache/mutation_detector_test.go b/pkg/client/cache/mutation_detector_test.go index a7c5fee15b5..77da4994bfd 100644 --- a/pkg/client/cache/mutation_detector_test.go +++ b/pkg/client/cache/mutation_detector_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) func TestMutationDetector(t *testing.T) { diff --git a/pkg/client/cache/processor_listener_test.go b/pkg/client/cache/processor_listener_test.go index 63aa6d0a1ba..c26ab023e1f 100644 --- a/pkg/client/cache/processor_listener_test.go +++ b/pkg/client/cache/processor_listener_test.go @@ -20,7 +20,7 @@ import ( "testing" "time" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/util/wait" ) // TestPopReleaseLock tests that when processor listener blocks on chan, diff --git a/pkg/client/cache/reflector.go b/pkg/client/cache/reflector.go index cae47dfcdd2..518019c74e4 100644 --- a/pkg/client/cache/reflector.go +++ b/pkg/client/cache/reflector.go @@ -34,13 +34,13 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" apierrs "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) // Reflector watches a specified resource and causes all changes to be reflected in the given store. diff --git a/pkg/client/cache/reflector_test.go b/pkg/client/cache/reflector_test.go index 33a3298d4aa..728d39a40ee 100644 --- a/pkg/client/cache/reflector_test.go +++ b/pkg/client/cache/reflector_test.go @@ -24,11 +24,11 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) var nevererrc chan error diff --git a/pkg/client/cache/shared_informer.go b/pkg/client/cache/shared_informer.go index be68b87f5f7..7bdf7eaa434 100644 --- a/pkg/client/cache/shared_informer.go +++ b/pkg/client/cache/shared_informer.go @@ -21,9 +21,9 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/runtime" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "github.com/golang/glog" ) diff --git a/pkg/client/cache/store.go b/pkg/client/cache/store.go index 4cd2479bdc5..ee6b3bd4679 100755 --- a/pkg/client/cache/store.go +++ b/pkg/client/cache/store.go @@ -20,7 +20,7 @@ import ( "fmt" "strings" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" ) // Store is a generic object storage interface. Reflector knows how to watch a server diff --git a/pkg/client/cache/store_test.go b/pkg/client/cache/store_test.go index 55da67105a3..52c9585a9bf 100644 --- a/pkg/client/cache/store_test.go +++ b/pkg/client/cache/store_test.go @@ -19,7 +19,7 @@ package cache import ( "testing" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) // Test public interface diff --git a/pkg/client/cache/thread_safe_store.go b/pkg/client/cache/thread_safe_store.go index 74fe03807f7..4d6a012976f 100644 --- a/pkg/client/cache/thread_safe_store.go +++ b/pkg/client/cache/thread_safe_store.go @@ -20,7 +20,7 @@ import ( "fmt" "sync" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) // ThreadSafeStore is an interface that allows concurrent access to a storage backend. diff --git a/pkg/client/chaosclient/BUILD b/pkg/client/chaosclient/BUILD index 115d6cc07c6..5d21340524f 100644 --- a/pkg/client/chaosclient/BUILD +++ b/pkg/client/chaosclient/BUILD @@ -12,7 +12,7 @@ go_library( name = "go_default_library", srcs = ["chaosclient.go"], tags = ["automanaged"], - deps = ["//pkg/util/net:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/net"], ) go_test( diff --git a/pkg/client/chaosclient/chaosclient.go b/pkg/client/chaosclient/chaosclient.go index 18fc9bbc334..eeb2c7f05d0 100644 --- a/pkg/client/chaosclient/chaosclient.go +++ b/pkg/client/chaosclient/chaosclient.go @@ -29,7 +29,7 @@ import ( "reflect" "runtime" - "k8s.io/kubernetes/pkg/util/net" + "k8s.io/apimachinery/pkg/util/net" ) // chaosrt provides the ability to perform simulations of HTTP client failures diff --git a/pkg/client/clientset_generated/clientset/BUILD b/pkg/client/clientset_generated/clientset/BUILD index 9de67143901..aa604cb2201 100644 --- a/pkg/client/clientset_generated/clientset/BUILD +++ b/pkg/client/clientset_generated/clientset/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/install:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/install:go_default_library", "//pkg/apis/authentication/install:go_default_library", "//pkg/apis/authorization/install:go_default_library", @@ -45,6 +44,7 @@ go_library( "//pkg/util/flowcontrol:go_default_library", "//plugin/pkg/client/auth:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/client/clientset_generated/clientset/fake/BUILD b/pkg/client/clientset_generated/clientset/fake/BUILD index 06eaac4bc57..1c286072a4d 100644 --- a/pkg/client/clientset_generated/clientset/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/fake/BUILD @@ -16,7 +16,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake:go_default_library", @@ -45,8 +44,9 @@ go_library( "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/fake/clientset_generated.go b/pkg/client/clientset_generated/clientset/fake/clientset_generated.go index d4ea7c5db4f..d92675f5b43 100644 --- a/pkg/client/clientset_generated/clientset/fake/clientset_generated.go +++ b/pkg/client/clientset_generated/clientset/fake/clientset_generated.go @@ -17,8 +17,10 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1beta1apps "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1" fakev1beta1apps "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake" @@ -47,8 +49,6 @@ import ( "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/pkg/client/clientset_generated/clientset/import_known_versions.go b/pkg/client/clientset_generated/clientset/import_known_versions.go index 994f321661a..41a70a30bbb 100644 --- a/pkg/client/clientset_generated/clientset/import_known_versions.go +++ b/pkg/client/clientset_generated/clientset/import_known_versions.go @@ -20,8 +20,8 @@ package clientset import ( "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/apimachinery/registered" _ "k8s.io/kubernetes/pkg/apis/apps/install" _ "k8s.io/kubernetes/pkg/apis/authentication/install" _ "k8s.io/kubernetes/pkg/apis/authorization/install" diff --git a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/BUILD b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/BUILD index 3666ada7ab9..c1899c2c022 100644 --- a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/apps_client.go b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/apps_client.go index bb1e671d4dc..04095165795 100644 --- a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/apps_client.go +++ b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/apps_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type AppsV1beta1Interface interface { @@ -30,7 +30,7 @@ type AppsV1beta1Interface interface { StatefulSetsGetter } -// AppsV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AppsV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AppsV1beta1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/BUILD index ea3cef19ad7..782783b275d 100644 --- a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/BUILD @@ -19,13 +19,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/fake_statefulset.go b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/fake_statefulset.go index 45c36533a8d..d1575d8e5cc 100644 --- a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/fake_statefulset.go +++ b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake/fake_statefulset.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeStatefulSets implements StatefulSetInterface diff --git a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/statefulset.go b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/statefulset.go index 9957d35e8c8..1686a3b2ece 100644 --- a/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/statefulset.go +++ b/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/statefulset.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // StatefulSetsGetter has a method to return a StatefulSetInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/BUILD b/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/BUILD index 2eaa17605cd..6eb2675e5bc 100644 --- a/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/BUILD @@ -19,11 +19,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/authentication_client.go b/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/authentication_client.go index 4cff77ad964..c449b93c42e 100644 --- a/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/authentication_client.go +++ b/pkg/client/clientset_generated/clientset/typed/authentication/v1beta1/authentication_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type AuthenticationV1beta1Interface interface { @@ -30,7 +30,7 @@ type AuthenticationV1beta1Interface interface { TokenReviewsGetter } -// AuthenticationV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AuthenticationV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AuthenticationV1beta1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/BUILD b/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/BUILD index e7cca521d01..9211ad80bef 100644 --- a/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/BUILD @@ -23,11 +23,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/authorization_client.go b/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/authorization_client.go index 96529ce5517..93b3f159703 100644 --- a/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/authorization_client.go +++ b/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1/authorization_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type AuthorizationV1beta1Interface interface { @@ -32,7 +32,7 @@ type AuthorizationV1beta1Interface interface { SubjectAccessReviewsGetter } -// AuthorizationV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AuthorizationV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AuthorizationV1beta1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/BUILD b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/BUILD index 2c85b7cd3cd..67737edb6cf 100644 --- a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/autoscaling_client.go b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/autoscaling_client.go index 1f91aa39562..3358203587a 100644 --- a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/autoscaling_client.go +++ b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/autoscaling_client.go @@ -18,11 +18,11 @@ package v1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type AutoscalingV1Interface interface { @@ -30,7 +30,7 @@ type AutoscalingV1Interface interface { HorizontalPodAutoscalersGetter } -// AutoscalingV1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AutoscalingV1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AutoscalingV1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/BUILD index cd8c502bc86..404d36157e5 100644 --- a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/BUILD @@ -19,13 +19,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/autoscaling/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go index 2893d20854d..fa4ce02dc87 100644 --- a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go +++ b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/fake/fake_horizontalpodautoscaler.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeHorizontalPodAutoscalers implements HorizontalPodAutoscalerInterface diff --git a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/horizontalpodautoscaler.go b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/horizontalpodautoscaler.go index 704787f2675..333041a4648 100644 --- a/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/horizontalpodautoscaler.go +++ b/pkg/client/clientset_generated/clientset/typed/autoscaling/v1/horizontalpodautoscaler.go @@ -17,12 +17,12 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // HorizontalPodAutoscalersGetter has a method to return a HorizontalPodAutoscalerInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v1/BUILD b/pkg/client/clientset_generated/clientset/typed/batch/v1/BUILD index 8b0402d9aa8..1f22e677790 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/batch/v1/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v1/batch_client.go b/pkg/client/clientset_generated/clientset/typed/batch/v1/batch_client.go index b7ce920da3f..414c87a8579 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v1/batch_client.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v1/batch_client.go @@ -18,11 +18,11 @@ package v1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type BatchV1Interface interface { @@ -30,7 +30,7 @@ type BatchV1Interface interface { JobsGetter } -// BatchV1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// BatchV1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type BatchV1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/BUILD index 9a46b8e3fc0..0096e51416a 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/BUILD @@ -19,13 +19,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/batch/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/fake_job.go b/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/fake_job.go index c1f39ea56f9..87d4e73b24b 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/fake_job.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v1/fake/fake_job.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeJobs implements JobInterface diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v1/job.go b/pkg/client/clientset_generated/clientset/typed/batch/v1/job.go index d7a87e108fe..85a42fb81aa 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v1/job.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v1/job.go @@ -17,12 +17,12 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // JobsGetter has a method to return a JobInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/BUILD b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/BUILD index 54ba91f0dc5..97e600b28f5 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/BUILD @@ -20,13 +20,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/batch_client.go b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/batch_client.go index 86fac1383d0..d44170519d4 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/batch_client.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/batch_client.go @@ -18,11 +18,11 @@ package v2alpha1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type BatchV2alpha1Interface interface { @@ -31,7 +31,7 @@ type BatchV2alpha1Interface interface { JobsGetter } -// BatchV2alpha1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// BatchV2alpha1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type BatchV2alpha1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/cronjob.go b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/cronjob.go index 46cf88888ba..fbcb4656476 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/cronjob.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/cronjob.go @@ -17,12 +17,12 @@ limitations under the License. package v2alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // CronJobsGetter has a method to return a CronJobInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/BUILD index 9a06ec0700d..2323ebc611f 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/BUILD @@ -20,13 +20,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/batch/v2alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_cronjob.go b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_cronjob.go index 77ea2d01617..12b1ee4b7eb 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_cronjob.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_cronjob.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeCronJobs implements CronJobInterface diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_job.go b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_job.go index 2e39b1fbbe7..88920f95a59 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_job.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/fake/fake_job.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeJobs implements JobInterface diff --git a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/job.go b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/job.go index b7c1edb2c93..1bfde0b0c3c 100644 --- a/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/job.go +++ b/pkg/client/clientset_generated/clientset/typed/batch/v2alpha1/job.go @@ -17,12 +17,12 @@ limitations under the License. package v2alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // JobsGetter has a method to return a JobInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/BUILD b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/BUILD index e58acda157e..e3996829190 100644 --- a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/BUILD @@ -20,13 +20,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificates_client.go b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificates_client.go index e44f7efa856..21d09533a92 100644 --- a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificates_client.go +++ b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificates_client.go @@ -18,11 +18,11 @@ package v1alpha1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type CertificatesV1alpha1Interface interface { @@ -30,7 +30,7 @@ type CertificatesV1alpha1Interface interface { CertificateSigningRequestsGetter } -// CertificatesV1alpha1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// CertificatesV1alpha1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type CertificatesV1alpha1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificatesigningrequest.go b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificatesigningrequest.go index 0ade586564b..7f91eec2da6 100644 --- a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificatesigningrequest.go +++ b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/certificatesigningrequest.go @@ -17,12 +17,12 @@ limitations under the License. package v1alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // CertificateSigningRequestsGetter has a method to return a CertificateSigningRequestInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/BUILD index 8dbe6ec9d63..3b56fca882d 100644 --- a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/BUILD @@ -20,13 +20,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go index 190a39a4bd0..22bb8efcbe9 100644 --- a/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go +++ b/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1/fake/fake_certificatesigningrequest.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeCertificateSigningRequests implements CertificateSigningRequestInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/BUILD b/pkg/client/clientset_generated/clientset/typed/core/v1/BUILD index 0ee510fa5a2..235902d906b 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/BUILD @@ -39,16 +39,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/componentstatus.go b/pkg/client/clientset_generated/clientset/typed/core/v1/componentstatus.go index 93e35339754..923b8c0b098 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/componentstatus.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/componentstatus.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ComponentStatusesGetter has a method to return a ComponentStatusInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/configmap.go b/pkg/client/clientset_generated/clientset/typed/core/v1/configmap.go index d367999eedb..ccd1a9feda6 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/configmap.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/configmap.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ConfigMapsGetter has a method to return a ConfigMapInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/core_client.go b/pkg/client/clientset_generated/clientset/typed/core/v1/core_client.go index 750ef565252..9cdad04ff4c 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/core_client.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/core_client.go @@ -18,11 +18,11 @@ package v1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type CoreV1Interface interface { @@ -45,7 +45,7 @@ type CoreV1Interface interface { ServiceAccountsGetter } -// CoreV1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// CoreV1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type CoreV1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/endpoints.go b/pkg/client/clientset_generated/clientset/typed/core/v1/endpoints.go index 4b12970eb77..16361e50c8d 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/endpoints.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/endpoints.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // EndpointsGetter has a method to return a EndpointsInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/event.go b/pkg/client/clientset_generated/clientset/typed/core/v1/event.go index 4f18717720d..9f029cf5e3f 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/event.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/event.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // EventsGetter has a method to return a EventInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/event_expansion.go b/pkg/client/clientset_generated/clientset/typed/core/v1/event_expansion.go index fe5022cd058..125459490d1 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/event_expansion.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/event_expansion.go @@ -19,10 +19,10 @@ package v1 import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" ) // The EventExpansion interface allows manually adding extra methods to the EventInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/BUILD index ef6ec8b99e6..89327c9335a 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/BUILD @@ -38,16 +38,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_componentstatus.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_componentstatus.go index c3ed77bc35e..9b2d7c86fce 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_componentstatus.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_componentstatus.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeComponentStatuses implements ComponentStatusInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_configmap.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_configmap.go index 9c45041d73c..450d4303321 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_configmap.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_configmap.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeConfigMaps implements ConfigMapInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_endpoints.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_endpoints.go index d03c0a0af28..06a26f1ea2e 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_endpoints.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_endpoints.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeEndpoints implements EndpointsInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event.go index 460b1e2b5c8..dafa4623343 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeEvents implements EventInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event_expansion.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event_expansion.go index a004bed7f69..ee3eeb6a61b 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event_expansion.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_event_expansion.go @@ -17,11 +17,11 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" ) func (c *FakeEvents) CreateWithEventNamespace(event *v1.Event) (*v1.Event, error) { diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_limitrange.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_limitrange.go index c0995684cad..935db2e3a55 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_limitrange.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_limitrange.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeLimitRanges implements LimitRangeInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_namespace.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_namespace.go index 54161149796..d52b73cfa3d 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_namespace.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_namespace.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNamespaces implements NamespaceInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_node.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_node.go index 689b9447040..03363a5da5f 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_node.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_node.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNodes implements NodeInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolume.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolume.go index 4be028d97d3..9f600d01464 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolume.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolume.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePersistentVolumes implements PersistentVolumeInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolumeclaim.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolumeclaim.go index 439e02dbd50..d072c8f3f82 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolumeclaim.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_persistentvolumeclaim.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePersistentVolumeClaims implements PersistentVolumeClaimInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_pod.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_pod.go index f6ba440a932..80cd4e7bf60 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_pod.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_pod.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePods implements PodInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_podtemplate.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_podtemplate.go index 137bdcf931f..b2bcce169ea 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_podtemplate.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_podtemplate.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodTemplates implements PodTemplateInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_replicationcontroller.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_replicationcontroller.go index a3600d015e1..2ac73f2cfc4 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_replicationcontroller.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_replicationcontroller.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeReplicationControllers implements ReplicationControllerInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_resourcequota.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_resourcequota.go index c5a587e477b..e488bed478d 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_resourcequota.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_resourcequota.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeResourceQuotas implements ResourceQuotaInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_secret.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_secret.go index 6b62e72d78b..969cb75ed74 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_secret.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_secret.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeSecrets implements SecretInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_service.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_service.go index 41856b1c0b0..422748c55cd 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_service.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_service.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeServices implements ServiceInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_serviceaccount.go b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_serviceaccount.go index 4fb1e3d5ee6..2b8815d352d 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_serviceaccount.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/fake/fake_serviceaccount.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeServiceAccounts implements ServiceAccountInterface diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/limitrange.go b/pkg/client/clientset_generated/clientset/typed/core/v1/limitrange.go index 8401b0d85c2..e4acfd721d9 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/limitrange.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/limitrange.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // LimitRangesGetter has a method to return a LimitRangeInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/namespace.go b/pkg/client/clientset_generated/clientset/typed/core/v1/namespace.go index e234f85a841..857c958c002 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/namespace.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/namespace.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NamespacesGetter has a method to return a NamespaceInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/node.go b/pkg/client/clientset_generated/clientset/typed/core/v1/node.go index b77153d4772..7f5ed6e8ed3 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/node.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/node.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NodesGetter has a method to return a NodeInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolume.go b/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolume.go index 2642b10dcf0..06f3de50b2a 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolume.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolume.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PersistentVolumesGetter has a method to return a PersistentVolumeInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolumeclaim.go b/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolumeclaim.go index 9b1b783bf6a..a482723ff71 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolumeclaim.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/persistentvolumeclaim.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PersistentVolumeClaimsGetter has a method to return a PersistentVolumeClaimInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/pod.go b/pkg/client/clientset_generated/clientset/typed/core/v1/pod.go index e2a3c806065..e279b8a9e1d 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/pod.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/pod.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodsGetter has a method to return a PodInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/podtemplate.go b/pkg/client/clientset_generated/clientset/typed/core/v1/podtemplate.go index bc1ef9fd305..fd835247104 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/podtemplate.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/podtemplate.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodTemplatesGetter has a method to return a PodTemplateInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/replicationcontroller.go b/pkg/client/clientset_generated/clientset/typed/core/v1/replicationcontroller.go index 978e57ad14b..8c45dcac6f1 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/replicationcontroller.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/replicationcontroller.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ReplicationControllersGetter has a method to return a ReplicationControllerInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/resourcequota.go b/pkg/client/clientset_generated/clientset/typed/core/v1/resourcequota.go index 91135e5ae2b..02b1012b026 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/resourcequota.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/resourcequota.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ResourceQuotasGetter has a method to return a ResourceQuotaInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/secret.go b/pkg/client/clientset_generated/clientset/typed/core/v1/secret.go index bc73c4fabec..ff24378df3a 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/secret.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/secret.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // SecretsGetter has a method to return a SecretInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/service.go b/pkg/client/clientset_generated/clientset/typed/core/v1/service.go index ffa6dd62428..f1e8f733516 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/service.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/service.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ServicesGetter has a method to return a ServiceInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/service_expansion.go b/pkg/client/clientset_generated/clientset/typed/core/v1/service_expansion.go index ce53e419528..03dca75aa3a 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/service_expansion.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/service_expansion.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/net" ) // The ServiceExpansion interface allows manually adding extra methods to the ServiceInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/core/v1/serviceaccount.go b/pkg/client/clientset_generated/clientset/typed/core/v1/serviceaccount.go index d60b85ca68e..93f7b162856 100644 --- a/pkg/client/clientset_generated/clientset/typed/core/v1/serviceaccount.go +++ b/pkg/client/clientset_generated/clientset/typed/core/v1/serviceaccount.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ServiceAccountsGetter has a method to return a ServiceAccountInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/BUILD b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/BUILD index b9cf4fede92..415083e1b12 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/BUILD @@ -26,15 +26,15 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/daemonset.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/daemonset.go index e9b4b8acdca..a777b86f653 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/daemonset.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/daemonset.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DaemonSetsGetter has a method to return a DaemonSetInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/deployment.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/deployment.go index 3f03aeef611..37397b38546 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/deployment.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/deployment.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DeploymentsGetter has a method to return a DeploymentInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/extensions_client.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/extensions_client.go index c2b35b75357..ddc7c78c21f 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/extensions_client.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/extensions_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type ExtensionsV1beta1Interface interface { @@ -36,7 +36,7 @@ type ExtensionsV1beta1Interface interface { ThirdPartyResourcesGetter } -// ExtensionsV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// ExtensionsV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type ExtensionsV1beta1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/BUILD index e563cd0db9c..7c8bc4c88a4 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/BUILD @@ -27,13 +27,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_daemonset.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_daemonset.go index bed19a8bc57..0ec6bd3d0e0 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_daemonset.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_daemonset.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDaemonSets implements DaemonSetInterface diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_deployment.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_deployment.go index 770df462b46..910073247a5 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_deployment.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_deployment.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDeployments implements DeploymentInterface diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_ingress.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_ingress.go index c1654f74812..27858fe869b 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_ingress.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_ingress.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeIngresses implements IngressInterface diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go index a938b9d3adf..0aede399488 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_podsecuritypolicy.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodSecurityPolicies implements PodSecurityPolicyInterface diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_replicaset.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_replicaset.go index 71ce3fd1e32..b0fce2a8402 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_replicaset.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_replicaset.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeReplicaSets implements ReplicaSetInterface diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_scale_expansion.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_scale_expansion.go index a16be4f7e6b..056e0d30ff8 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_scale_expansion.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_scale_expansion.go @@ -17,9 +17,9 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeScales) Get(kind string, name string) (result *v1beta1.Scale, err error) { diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go index e175e8040d7..b59bec46bc7 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/fake/fake_thirdpartyresource.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeThirdPartyResources implements ThirdPartyResourceInterface diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/ingress.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/ingress.go index b52fe16cfba..53812326a1f 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/ingress.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/ingress.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // IngressesGetter has a method to return a IngressInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/podsecuritypolicy.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/podsecuritypolicy.go index 59481120229..404366b673c 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/podsecuritypolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/podsecuritypolicy.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodSecurityPoliciesGetter has a method to return a PodSecurityPolicyInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/replicaset.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/replicaset.go index ac0de9f77c7..e0a493bc332 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/replicaset.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/replicaset.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ReplicaSetsGetter has a method to return a ReplicaSetInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/scale_expansion.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/scale_expansion.go index 94d4ad121f5..52ec0388b73 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/scale_expansion.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/scale_expansion.go @@ -17,9 +17,9 @@ limitations under the License. package v1beta1 import ( - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/runtime/schema" ) // The ScaleExpansion interface allows manually adding extra methods to the ScaleInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/thirdpartyresource.go b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/thirdpartyresource.go index acaa1e5482c..51a49524059 100644 --- a/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/thirdpartyresource.go +++ b/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1/thirdpartyresource.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ThirdPartyResourcesGetter has a method to return a ThirdPartyResourceInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/BUILD b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/BUILD index ce97c9ef9af..b5382c8fe10 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/BUILD @@ -19,12 +19,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/policy/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/BUILD index bf687cbde35..49e2d91f9e9 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/BUILD @@ -22,9 +22,9 @@ go_library( "//pkg/client/clientset_generated/clientset/typed/policy/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go index 9dc6d85c57a..fcd71896e44 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/fake/fake_poddisruptionbudget.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + labels "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodDisruptionBudgets implements PodDisruptionBudgetInterface diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/poddisruptionbudget.go b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/poddisruptionbudget.go index 63e9848359c..2bed3cc46d7 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/poddisruptionbudget.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/poddisruptionbudget.go @@ -17,11 +17,11 @@ limitations under the License. package v1alpha1 import ( + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodDisruptionBudgetsGetter has a method to return a PodDisruptionBudgetInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/policy_client.go b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/policy_client.go index 61218608f06..652a46ad10f 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/policy_client.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1alpha1/policy_client.go @@ -19,11 +19,11 @@ package v1alpha1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type PolicyV1alpha1Interface interface { diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/BUILD b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/BUILD index f9a2794ffd3..60c0af759ac 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/BUILD @@ -21,13 +21,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/BUILD index 38349252068..559da0a6c81 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/BUILD @@ -20,14 +20,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/policy/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_eviction_expansion.go b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_eviction_expansion.go index 60c0c2964ce..7cf723417e4 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_eviction_expansion.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_eviction_expansion.go @@ -17,9 +17,9 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/runtime/schema" policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeEvictions) Evict(eviction *policy.Eviction) error { diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go index a1c4c276ae3..1b1abf18781 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/fake/fake_poddisruptionbudget.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodDisruptionBudgets implements PodDisruptionBudgetInterface diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/poddisruptionbudget.go b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/poddisruptionbudget.go index 8a7240cddfe..f38d1892632 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/poddisruptionbudget.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/poddisruptionbudget.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodDisruptionBudgetsGetter has a method to return a PodDisruptionBudgetInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/policy_client.go b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/policy_client.go index 69177a10c6f..0eb32642d05 100644 --- a/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/policy_client.go +++ b/pkg/client/clientset_generated/clientset/typed/policy/v1beta1/policy_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type PolicyV1beta1Interface interface { @@ -31,7 +31,7 @@ type PolicyV1beta1Interface interface { PodDisruptionBudgetsGetter } -// PolicyV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// PolicyV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type PolicyV1beta1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/BUILD b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/BUILD index c81dfb07151..613e18e6830 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/BUILD @@ -22,13 +22,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrole.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrole.go index dc4b7f38ffd..adb2f2b6073 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrole.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrole.go @@ -17,12 +17,12 @@ limitations under the License. package v1alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ClusterRolesGetter has a method to return a ClusterRoleInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrolebinding.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrolebinding.go index 19929e85650..3703bafc2e1 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrolebinding.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/clusterrolebinding.go @@ -17,12 +17,12 @@ limitations under the License. package v1alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ClusterRoleBindingsGetter has a method to return a ClusterRoleBindingInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/BUILD index 5401c1f808b..2a35f2260a6 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/BUILD @@ -21,14 +21,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrole.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrole.go index b09b0fcf60e..7efacdde805 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrole.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrole.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeClusterRoles implements ClusterRoleInterface diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go index 70359d205d8..bb637a3c4ac 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_clusterrolebinding.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeClusterRoleBindings implements ClusterRoleBindingInterface diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_role.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_role.go index c746492ed53..6aed363d100 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_role.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_role.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeRoles implements RoleInterface diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_rolebinding.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_rolebinding.go index 9ae2e97c1ad..d321ba34a3a 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_rolebinding.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/fake/fake_rolebinding.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeRoleBindings implements RoleBindingInterface diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rbac_client.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rbac_client.go index b4169354d78..43b48cebec3 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rbac_client.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rbac_client.go @@ -18,11 +18,11 @@ package v1alpha1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type RbacV1alpha1Interface interface { @@ -33,7 +33,7 @@ type RbacV1alpha1Interface interface { RoleBindingsGetter } -// RbacV1alpha1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// RbacV1alpha1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type RbacV1alpha1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/role.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/role.go index e19ee9d4313..53b82203e69 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/role.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/role.go @@ -17,12 +17,12 @@ limitations under the License. package v1alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // RolesGetter has a method to return a RoleInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rolebinding.go b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rolebinding.go index c8fc6313e70..274bd187119 100644 --- a/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rolebinding.go +++ b/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1/rolebinding.go @@ -17,12 +17,12 @@ limitations under the License. package v1alpha1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // RoleBindingsGetter has a method to return a RoleBindingInterface. diff --git a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/BUILD b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/BUILD index a401e39c273..1f1a7e32239 100644 --- a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/BUILD b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/BUILD index e5f12d8bc12..a0f2d92017a 100644 --- a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/BUILD +++ b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/BUILD @@ -18,14 +18,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/storage/v1beta1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/fake_storageclass.go b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/fake_storageclass.go index 75d6ea99fa6..ac200a597e5 100644 --- a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/fake_storageclass.go +++ b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/fake/fake_storageclass.go @@ -17,14 +17,14 @@ limitations under the License. package fake import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeStorageClasses implements StorageClassInterface diff --git a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storage_client.go b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storage_client.go index ef260d50cf9..9e3ae50737e 100644 --- a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storage_client.go +++ b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storage_client.go @@ -18,11 +18,11 @@ package v1beta1 import ( fmt "fmt" + registered "k8s.io/apimachinery/pkg/apimachinery/registered" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" - schema "k8s.io/kubernetes/pkg/runtime/schema" - serializer "k8s.io/kubernetes/pkg/runtime/serializer" ) type StorageV1beta1Interface interface { @@ -30,7 +30,7 @@ type StorageV1beta1Interface interface { StorageClassesGetter } -// StorageV1beta1Client is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// StorageV1beta1Client is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type StorageV1beta1Client struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storageclass.go b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storageclass.go index ad4048e22de..964a73d1a17 100644 --- a/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storageclass.go +++ b/pkg/client/clientset_generated/clientset/typed/storage/v1beta1/storageclass.go @@ -17,12 +17,12 @@ limitations under the License. package v1beta1 import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" - meta_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // StorageClassesGetter has a method to return a StorageClassInterface. diff --git a/pkg/client/clientset_generated/internalclientset/BUILD b/pkg/client/clientset_generated/internalclientset/BUILD index 10490e42188..6a8f6b436f7 100644 --- a/pkg/client/clientset_generated/internalclientset/BUILD +++ b/pkg/client/clientset_generated/internalclientset/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/install:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/install:go_default_library", "//pkg/apis/authentication/install:go_default_library", "//pkg/apis/authorization/install:go_default_library", @@ -45,6 +44,7 @@ go_library( "//pkg/util/flowcontrol:go_default_library", "//plugin/pkg/client/auth:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/fake/BUILD b/pkg/client/clientset_generated/internalclientset/fake/BUILD index 9cb6f6aa141..a24e00908d0 100644 --- a/pkg/client/clientset_generated/internalclientset/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/fake/BUILD @@ -16,7 +16,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake:go_default_library", @@ -43,8 +42,9 @@ go_library( "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/discovery/fake:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go b/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go index 16d4b2a8749..fad375d6601 100644 --- a/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go +++ b/pkg/client/clientset_generated/internalclientset/fake/clientset_generated.go @@ -17,8 +17,10 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalversionapps "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion" fakeinternalversionapps "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake" @@ -45,8 +47,6 @@ import ( "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" fakediscovery "k8s.io/kubernetes/pkg/client/typed/discovery/fake" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // NewSimpleClientset returns a clientset that will respond with the provided objects. diff --git a/pkg/client/clientset_generated/internalclientset/import_known_versions.go b/pkg/client/clientset_generated/internalclientset/import_known_versions.go index bb9fee83031..1249999e194 100644 --- a/pkg/client/clientset_generated/internalclientset/import_known_versions.go +++ b/pkg/client/clientset_generated/internalclientset/import_known_versions.go @@ -20,8 +20,8 @@ package internalclientset import ( "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/apimachinery/registered" _ "k8s.io/kubernetes/pkg/apis/apps/install" _ "k8s.io/kubernetes/pkg/apis/authentication/install" _ "k8s.io/kubernetes/pkg/apis/authorization/install" diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/BUILD index 4ed7e46e387..e53ffb7a1c2 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/apps_client.go b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/apps_client.go index 0e59c75f50b..e0015c08302 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/apps_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/apps_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type AppsInterface interface { StatefulSetsGetter } -// AppsClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AppsClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AppsClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD index d016bece8bf..9295f79cc3d 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/BUILD @@ -18,13 +18,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go index 079f40e69d1..4b45cb26cd2 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/fake/fake_statefulset.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" apps "k8s.io/kubernetes/pkg/apis/apps" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeStatefulSets implements StatefulSetInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/statefulset.go b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/statefulset.go index 1c118a16039..bb16bb7f0c0 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/statefulset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion/statefulset.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" apps "k8s.io/kubernetes/pkg/apis/apps" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // StatefulSetsGetter has a method to return a StatefulSetInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/BUILD index 78b84326413..2e543cb01e7 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/BUILD @@ -19,9 +19,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authentication:go_default_library", "//pkg/client/restclient:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/authentication_client.go b/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/authentication_client.go index dbf23528150..e8f43d46388 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/authentication_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/authentication/internalversion/authentication_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type AuthenticationInterface interface { TokenReviewsGetter } -// AuthenticationClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AuthenticationClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AuthenticationClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/BUILD index 1ebbeec28e3..e7a9c89e9b6 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/BUILD @@ -23,9 +23,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/authorization:go_default_library", "//pkg/client/restclient:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/authorization_client.go b/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/authorization_client.go index 9f101ef4c97..0d0e98054f5 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/authorization_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/authorization/internalversion/authorization_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -29,7 +29,7 @@ type AuthorizationInterface interface { SubjectAccessReviewsGetter } -// AuthorizationClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AuthorizationClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AuthorizationClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/BUILD index dd8ed84b037..3cc967f0eaa 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/autoscaling:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/autoscaling_client.go b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/autoscaling_client.go index f41a7e7457d..5c8f18d6893 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/autoscaling_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/autoscaling_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type AutoscalingInterface interface { HorizontalPodAutoscalersGetter } -// AutoscalingClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// AutoscalingClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type AutoscalingClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD index ed43412625e..6460cd93258 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/BUILD @@ -18,13 +18,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/autoscaling:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go index 4b96d253684..e6d7bdebc72 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/fake/fake_horizontalpodautoscaler.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeHorizontalPodAutoscalers implements HorizontalPodAutoscalerInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/horizontalpodautoscaler.go b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/horizontalpodautoscaler.go index fe1c3acd59d..302b94ebb51 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/horizontalpodautoscaler.go +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion/horizontalpodautoscaler.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // HorizontalPodAutoscalersGetter has a method to return a HorizontalPodAutoscalerInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/BUILD index 410ff39100b..98c1af466a6 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/BUILD @@ -19,11 +19,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/batch_client.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/batch_client.go index 75832c5f3cd..ae9fe2cb15a 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/batch_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/batch_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -28,7 +28,7 @@ type BatchInterface interface { JobsGetter } -// BatchClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// BatchClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type BatchClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/cronjob.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/cronjob.go index 60b98bf7d53..3a98f717cc8 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/cronjob.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/cronjob.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // CronJobsGetter has a method to return a CronJobInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD index dd20e7e4a0c..e9d6e36969c 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go index e266bf6725e..500e9fb5d3c 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_cronjob.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeCronJobs implements CronJobInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go index dabd92b5568..46283e3dfde 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/fake/fake_job.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeJobs implements JobInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/job.go b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/job.go index 0f13e865f8e..46c58b1f3fd 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/job.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion/job.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" batch "k8s.io/kubernetes/pkg/apis/batch" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // JobsGetter has a method to return a JobInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/BUILD index 96b7b21361a..ab525b5536c 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/BUILD @@ -19,11 +19,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/certificates:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificates_client.go b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificates_client.go index 46e04940267..5605c7ac370 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificates_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificates_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type CertificatesInterface interface { CertificateSigningRequestsGetter } -// CertificatesClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// CertificatesClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type CertificatesClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificatesigningrequest.go b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificatesigningrequest.go index 0f73e379b5d..5abb7935cfa 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificatesigningrequest.go +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/certificatesigningrequest.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" certificates "k8s.io/kubernetes/pkg/apis/certificates" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // CertificateSigningRequestsGetter has a method to return a CertificateSigningRequestInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD index 6d0bff41e21..3cb6cbf3fe7 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/BUILD @@ -19,13 +19,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/certificates:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go index 1ab11a94a70..afb66a4630e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/internalversion/fake/fake_certificatesigningrequest.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" certificates "k8s.io/kubernetes/pkg/apis/certificates" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeCertificateSigningRequests implements CertificateSigningRequestInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/BUILD index 1ca802dbc5f..f9b7af20567 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/BUILD @@ -39,13 +39,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/componentstatus.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/componentstatus.go index 5f0ffd2aa4d..17af756bec5 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/componentstatus.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/componentstatus.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ComponentStatusesGetter has a method to return a ComponentStatusInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/configmap.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/configmap.go index 5fb0083fae2..9dcd3a938ae 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/configmap.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/configmap.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ConfigMapsGetter has a method to return a ConfigMapInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/core_client.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/core_client.go index af03d447e28..c4550191146 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/core_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/core_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -42,7 +42,7 @@ type CoreInterface interface { ServiceAccountsGetter } -// CoreClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// CoreClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type CoreClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/endpoints.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/endpoints.go index 314f332a0e8..9434d6322b4 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/endpoints.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/endpoints.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // EndpointsGetter has a method to return a EndpointsInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event.go index 40a93ac5f23..3dcd0f75fbf 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // EventsGetter has a method to return a EventInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event_expansion.go index 569a47a78fb..f7556b3d445 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/event_expansion.go @@ -19,10 +19,10 @@ package internalversion import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" ) // The EventExpansion interface allows manually adding extra methods to the EventInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD index 0c619a86e8d..bc5886e0e6f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/BUILD @@ -37,15 +37,15 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go index 4cd0b1b178f..35d22a0b058 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_componentstatus.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeComponentStatuses implements ComponentStatusInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go index a31a04be8fe..ca7da8b8b69 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_configmap.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeConfigMaps implements ConfigMapInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go index 815f233ffe6..a7d80e9a9a8 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_endpoints.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeEndpoints implements EndpointsInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go index 0a51c1241ab..f0bfbe938cc 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeEvents implements EventInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event_expansion.go index c9a07517c2f..da0bfbe1e5b 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_event_expansion.go @@ -17,10 +17,10 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" ) func (c *FakeEvents) CreateWithEventNamespace(event *api.Event) (*api.Event, error) { diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go index aff5163caa8..8137de3c597 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_limitrange.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeLimitRanges implements LimitRangeInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go index 26353a5e6e8..9a6cf610ff1 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_namespace.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNamespaces implements NamespaceInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go index 0ce255faa1a..2a77712c902 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_node.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNodes implements NodeInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go index 7a4983c7bd1..28452904d4f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolume.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePersistentVolumes implements PersistentVolumeInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go index 87090e1a08b..7823a7cec13 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_persistentvolumeclaim.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePersistentVolumeClaims implements PersistentVolumeClaimInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go index 7003ce033e7..cdf59c844af 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_pod.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePods implements PodInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go index 04b88ec5695..e3fa73dfb81 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_podtemplate.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodTemplates implements PodTemplateInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go index 8fc1176f54a..bc54d003b83 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_replicationcontroller.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeReplicationControllers implements ReplicationControllerInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go index 67b729f6021..e70257d0733 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_resourcequota.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeResourceQuotas implements ResourceQuotaInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go index b19e7e571ac..6451df68a76 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_secret.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeSecrets implements SecretInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go index 406d306444d..5cc5c2d6783 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_service.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeServices implements ServiceInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go index 9463d023e0e..f0b93a101a7 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/fake/fake_serviceaccount.go @@ -17,12 +17,12 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeServiceAccounts implements ServiceAccountInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/limitrange.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/limitrange.go index 56eed286b16..168a999fd0e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/limitrange.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/limitrange.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // LimitRangesGetter has a method to return a LimitRangeInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/namespace.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/namespace.go index 83e9daada1b..40b6e54ec34 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/namespace.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/namespace.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NamespacesGetter has a method to return a NamespaceInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/node.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/node.go index f05d85ca107..ff58064f4ee 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/node.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/node.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NodesGetter has a method to return a NodeInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolume.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolume.go index 7cf4c7a5019..de06a7d01fe 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolume.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolume.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PersistentVolumesGetter has a method to return a PersistentVolumeInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolumeclaim.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolumeclaim.go index 7b7c7af86d3..89d0a8c97af 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolumeclaim.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/persistentvolumeclaim.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PersistentVolumeClaimsGetter has a method to return a PersistentVolumeClaimInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/pod.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/pod.go index d567bb84d2e..52fcd8152c5 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/pod.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/pod.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodsGetter has a method to return a PodInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/podtemplate.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/podtemplate.go index 338a6124653..24ceddd3b2f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/podtemplate.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/podtemplate.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodTemplatesGetter has a method to return a PodTemplateInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/replicationcontroller.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/replicationcontroller.go index 3d26d8fa0e7..0e3fa1e95d2 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/replicationcontroller.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/replicationcontroller.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ReplicationControllersGetter has a method to return a ReplicationControllerInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/resourcequota.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/resourcequota.go index 32517fe8da1..58eacc81c05 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/resourcequota.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/resourcequota.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ResourceQuotasGetter has a method to return a ResourceQuotaInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/secret.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/secret.go index e3945d1bf90..632636f194d 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/secret.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/secret.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // SecretsGetter has a method to return a SecretInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service.go index 368399fc752..4aff717fd21 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ServicesGetter has a method to return a ServiceInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service_expansion.go index 7a7c1daeebb..45d928bdc98 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/service_expansion.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/net" ) // The ServiceExpansion interface allows manually adding extra methods to the ServiceInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/serviceaccount.go b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/serviceaccount.go index 2ab581da6e5..e7e92780d5b 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/serviceaccount.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/internalversion/serviceaccount.go @@ -17,10 +17,10 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ServiceAccountsGetter has a method to return a ServiceAccountInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD index 417e0efd505..7b2a13495ca 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/BUILD @@ -27,13 +27,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/daemonset.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/daemonset.go index a8b3a41a6ab..9e9dcee2133 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/daemonset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/daemonset.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DaemonSetsGetter has a method to return a DaemonSetInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/deployment.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/deployment.go index 19304743379..949f30e2f2a 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/deployment.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/deployment.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // DeploymentsGetter has a method to return a DeploymentInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/extensions_client.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/extensions_client.go index cbe3f6dae53..6bcf73a5e46 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/extensions_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/extensions_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -34,7 +34,7 @@ type ExtensionsInterface interface { ThirdPartyResourcesGetter } -// ExtensionsClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// ExtensionsClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type ExtensionsClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD index 851e967db84..9ce2a3426cd 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/BUILD @@ -27,13 +27,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go index 274f2128a30..86c9ce4bf27 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_daemonset.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDaemonSets implements DaemonSetInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go index 5a3f0c762a9..a9a9f629e9d 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_deployment.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeDeployments implements DeploymentInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go index 24ec803aabc..50a748e0925 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_ingress.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeIngresses implements IngressInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go index 3c47175fce7..3e80b28424e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_networkpolicy.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeNetworkPolicies implements NetworkPolicyInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go index 34573305b28..f00f71f8582 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_podsecuritypolicy.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodSecurityPolicies implements PodSecurityPolicyInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go index 52385b9e3fd..2dad6fec4df 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_replicaset.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeReplicaSets implements ReplicaSetInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go index 06a3238dda3..6163e9f8586 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_scale_expansion.go @@ -17,9 +17,9 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeScales) Get(kind string, name string) (result *extensions.Scale, err error) { diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go index 44380ccc9e8..4896594589a 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/fake/fake_thirdpartyresource.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeThirdPartyResources implements ThirdPartyResourceInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/ingress.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/ingress.go index 5eba98d10d3..a72a901d3c9 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/ingress.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/ingress.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // IngressesGetter has a method to return a IngressInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/networkpolicy.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/networkpolicy.go index b31832356f3..fde5ffd1257 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/networkpolicy.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/networkpolicy.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // NetworkPoliciesGetter has a method to return a NetworkPolicyInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/podsecuritypolicy.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/podsecuritypolicy.go index 2df626bad4e..cfc6a6e1123 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/podsecuritypolicy.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/podsecuritypolicy.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodSecurityPoliciesGetter has a method to return a PodSecurityPolicyInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/replicaset.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/replicaset.go index 3a6daa36fd5..249c9c6020e 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/replicaset.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/replicaset.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ReplicaSetsGetter has a method to return a ReplicaSetInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go index 85c2db9b4b7..4c789cf8f74 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/scale_expansion.go @@ -17,9 +17,9 @@ limitations under the License. package internalversion import ( - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/runtime/schema" ) // The ScaleExpansion interface allows manually adding extra methods to the ScaleInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/thirdpartyresource.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/thirdpartyresource.go index 125058ad5a7..d326ec64f33 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/thirdpartyresource.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion/thirdpartyresource.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ThirdPartyResourcesGetter has a method to return a ThirdPartyResourceInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/BUILD index 635fc438ad6..8be04ef971f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/BUILD @@ -20,11 +20,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD index de8751373e1..f2783ed057c 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/BUILD @@ -19,14 +19,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/policy/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go index ec264ea1fa4..0d45f20baad 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_eviction_expansion.go @@ -17,9 +17,9 @@ limitations under the License. package fake import ( + "k8s.io/apimachinery/pkg/runtime/schema" policy "k8s.io/kubernetes/pkg/apis/policy" core "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime/schema" ) func (c *FakeEvictions) Evict(eviction *policy.Eviction) error { diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go index 73090e94f6a..e7dc2b13219 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/fake/fake_poddisruptionbudget.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakePodDisruptionBudgets implements PodDisruptionBudgetInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/poddisruptionbudget.go b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/poddisruptionbudget.go index bfc35ea8b19..bae5c367c73 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/poddisruptionbudget.go +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/poddisruptionbudget.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // PodDisruptionBudgetsGetter has a method to return a PodDisruptionBudgetInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/policy_client.go b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/policy_client.go index 9d745250301..908a5c61d92 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/policy_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion/policy_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -28,7 +28,7 @@ type PolicyInterface interface { PodDisruptionBudgetsGetter } -// PolicyClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// PolicyClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type PolicyClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/BUILD index 2e33c46096e..d57fd23020a 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/BUILD @@ -21,11 +21,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrole.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrole.go index 4ceeb972057..ebeb6eab163 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrole.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrole.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ClusterRolesGetter has a method to return a ClusterRoleInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrolebinding.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrolebinding.go index 16906f81993..57e4146b936 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrolebinding.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/clusterrolebinding.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // ClusterRoleBindingsGetter has a method to return a ClusterRoleBindingInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD index ff99c5a510e..9df3b9d906b 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/BUILD @@ -20,14 +20,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go index 162c6e12bd4..c3eb10d6a14 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrole.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeClusterRoles implements ClusterRoleInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go index 59c4be64d10..256488b9487 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_clusterrolebinding.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeClusterRoleBindings implements ClusterRoleBindingInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go index d58794c4333..c295fc9eeb0 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_role.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeRoles implements RoleInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go index 59655237bf5..dce55844ba1 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/fake/fake_rolebinding.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeRoleBindings implements RoleBindingInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rbac_client.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rbac_client.go index faa428bf8ab..1dd5ddf6c95 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rbac_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rbac_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -30,7 +30,7 @@ type RbacInterface interface { RoleBindingsGetter } -// RbacClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// RbacClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type RbacClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/role.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/role.go index 0b0bfbfe124..d0f284b627b 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/role.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/role.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // RolesGetter has a method to return a RoleInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rolebinding.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rolebinding.go index cbc89545825..195c8811ad3 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rolebinding.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion/rolebinding.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // RoleBindingsGetter has a method to return a RoleBindingInterface. diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/BUILD b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/BUILD index f818fc155bf..d218cacb83b 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD index fa9e33f1325..50eac8d1131 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/BUILD @@ -17,14 +17,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/storage/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go index ab84f8d1a7e..83ba5b589c0 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/fake/fake_storageclass.go @@ -17,13 +17,13 @@ limitations under the License. package fake import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage" core "k8s.io/kubernetes/pkg/client/testing/core" - labels "k8s.io/kubernetes/pkg/labels" - schema "k8s.io/kubernetes/pkg/runtime/schema" - watch "k8s.io/kubernetes/pkg/watch" ) // FakeStorageClasses implements StorageClassInterface diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storage_client.go b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storage_client.go index 4e102ec896e..d78900a0f73 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storage_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storage_client.go @@ -17,8 +17,8 @@ limitations under the License. package internalversion import ( + registered "k8s.io/apimachinery/pkg/apimachinery/registered" api "k8s.io/kubernetes/pkg/api" - registered "k8s.io/kubernetes/pkg/apimachinery/registered" restclient "k8s.io/kubernetes/pkg/client/restclient" ) @@ -27,7 +27,7 @@ type StorageInterface interface { StorageClassesGetter } -// StorageClient is used to interact with features provided by the k8s.io/kubernetes/pkg/apimachinery/registered.Group group. +// StorageClient is used to interact with features provided by the k8s.io/apimachinery/pkg/apimachinery/registered.Group group. type StorageClient struct { restClient restclient.Interface } diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storageclass.go b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storageclass.go index 9752250b0fe..132ef73b991 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storageclass.go +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/internalversion/storageclass.go @@ -17,11 +17,11 @@ limitations under the License. package internalversion import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage" restclient "k8s.io/kubernetes/pkg/client/restclient" - watch "k8s.io/kubernetes/pkg/watch" ) // StorageClassesGetter has a method to return a StorageClassInterface. diff --git a/pkg/client/conditions/BUILD b/pkg/client/conditions/BUILD index bf29f073829..707a343ad5d 100644 --- a/pkg/client/conditions/BUILD +++ b/pkg/client/conditions/BUILD @@ -14,8 +14,8 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/conditions/conditions.go b/pkg/client/conditions/conditions.go index 42c29a8fe35..abb78b71203 100644 --- a/pkg/client/conditions/conditions.go +++ b/pkg/client/conditions/conditions.go @@ -19,10 +19,10 @@ package conditions import ( "fmt" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/watch" ) // ErrPodCompleted is returned by PodRunning or PodContainerRunning to indicate that diff --git a/pkg/client/informers/informers_generated/BUILD b/pkg/client/informers/informers_generated/BUILD index 79a559c6125..cb3662a6789 100644 --- a/pkg/client/informers/informers_generated/BUILD +++ b/pkg/client/informers/informers_generated/BUILD @@ -47,8 +47,8 @@ go_library( "//pkg/client/informers/informers_generated/policy:go_default_library", "//pkg/client/informers/informers_generated/rbac:go_default_library", "//pkg/client/informers/informers_generated/storage:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/client/informers/informers_generated/apps/internalversion/BUILD b/pkg/client/informers/informers_generated/apps/internalversion/BUILD index 316eabeb649..7620cc3e608 100644 --- a/pkg/client/informers/informers_generated/apps/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/apps/internalversion/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/apps/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go b/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go index cb0918776da..3e1e0da185c 100644 --- a/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go +++ b/pkg/client/informers/informers_generated/apps/internalversion/statefulset.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/apps/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/apps/v1beta1/BUILD b/pkg/client/informers/informers_generated/apps/v1beta1/BUILD index a807dc86025..15d979a6a22 100644 --- a/pkg/client/informers/informers_generated/apps/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/apps/v1beta1/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/apps/v1beta1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go b/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go index 79596b849ce..cbf99fd5178 100644 --- a/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go +++ b/pkg/client/informers/informers_generated/apps/v1beta1/statefulset.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" apps_v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/apps/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD b/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD index 5b7519f6265..5ca2df24209 100644 --- a/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/autoscaling/internalversion/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/autoscaling/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go b/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go index f20c512c2b3..42c49572897 100644 --- a/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go +++ b/pkg/client/informers/informers_generated/autoscaling/internalversion/horizontalpodautoscaler.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/autoscaling/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/autoscaling/v1/BUILD b/pkg/client/informers/informers_generated/autoscaling/v1/BUILD index 7bf1f6e32f5..cbadcc9f192 100644 --- a/pkg/client/informers/informers_generated/autoscaling/v1/BUILD +++ b/pkg/client/informers/informers_generated/autoscaling/v1/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/autoscaling/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go b/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go index 47087470590..a0a9b042357 100644 --- a/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go +++ b/pkg/client/informers/informers_generated/autoscaling/v1/horizontalpodautoscaler.go @@ -19,14 +19,14 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" autoscaling_v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/autoscaling/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/batch/internalversion/BUILD b/pkg/client/informers/informers_generated/batch/internalversion/BUILD index 9bb22a8ff9a..20caf883433 100644 --- a/pkg/client/informers/informers_generated/batch/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/batch/internalversion/BUILD @@ -23,8 +23,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/batch/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go b/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go index 3aa414b5fde..7c79d008d96 100644 --- a/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go +++ b/pkg/client/informers/informers_generated/batch/internalversion/cronjob.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/batch/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/batch/internalversion/job.go b/pkg/client/informers/informers_generated/batch/internalversion/job.go index 8d7dd6da0c6..45fb2d84b88 100644 --- a/pkg/client/informers/informers_generated/batch/internalversion/job.go +++ b/pkg/client/informers/informers_generated/batch/internalversion/job.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/batch/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/batch/v1/BUILD b/pkg/client/informers/informers_generated/batch/v1/BUILD index 7563dfbf986..4595368b3ae 100644 --- a/pkg/client/informers/informers_generated/batch/v1/BUILD +++ b/pkg/client/informers/informers_generated/batch/v1/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/batch/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/batch/v1/job.go b/pkg/client/informers/informers_generated/batch/v1/job.go index f979b4c975f..9d2249956cc 100644 --- a/pkg/client/informers/informers_generated/batch/v1/job.go +++ b/pkg/client/informers/informers_generated/batch/v1/job.go @@ -19,14 +19,14 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" batch_v1 "k8s.io/kubernetes/pkg/apis/batch/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/batch/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD b/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD index 2902134a1b5..66a476bf94e 100644 --- a/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD +++ b/pkg/client/informers/informers_generated/batch/v2alpha1/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/batch/v2alpha1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go b/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go index 53f54a307a5..dae62b3ee3f 100644 --- a/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go +++ b/pkg/client/informers/informers_generated/batch/v2alpha1/cronjob.go @@ -19,14 +19,14 @@ limitations under the License. package v2alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" batch_v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v2alpha1 "k8s.io/kubernetes/pkg/client/listers/batch/v2alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/batch/v2alpha1/job.go b/pkg/client/informers/informers_generated/batch/v2alpha1/job.go index f68876eb0de..25558a4f72c 100644 --- a/pkg/client/informers/informers_generated/batch/v2alpha1/job.go +++ b/pkg/client/informers/informers_generated/batch/v2alpha1/job.go @@ -19,14 +19,14 @@ limitations under the License. package v2alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" batch_v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v2alpha1 "k8s.io/kubernetes/pkg/client/listers/batch/v2alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/certificates/internalversion/BUILD b/pkg/client/informers/informers_generated/certificates/internalversion/BUILD index d893a2a2d6a..2356929573c 100644 --- a/pkg/client/informers/informers_generated/certificates/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/certificates/internalversion/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/certificates/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go b/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go index ad908406639..60ab8ead202 100644 --- a/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go +++ b/pkg/client/informers/informers_generated/certificates/internalversion/certificatesigningrequest.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" certificates "k8s.io/kubernetes/pkg/apis/certificates" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/certificates/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/certificates/v1alpha1/BUILD b/pkg/client/informers/informers_generated/certificates/v1alpha1/BUILD index 6b70173c5e4..f9b42c479ee 100644 --- a/pkg/client/informers/informers_generated/certificates/v1alpha1/BUILD +++ b/pkg/client/informers/informers_generated/certificates/v1alpha1/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/certificates/v1alpha1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/certificates/v1alpha1/certificatesigningrequest.go b/pkg/client/informers/informers_generated/certificates/v1alpha1/certificatesigningrequest.go index 593680ba4ea..2669ff6b1d0 100644 --- a/pkg/client/informers/informers_generated/certificates/v1alpha1/certificatesigningrequest.go +++ b/pkg/client/informers/informers_generated/certificates/v1alpha1/certificatesigningrequest.go @@ -19,14 +19,14 @@ limitations under the License. package v1alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" certificates_v1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/certificates/v1alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/BUILD b/pkg/client/informers/informers_generated/core/internalversion/BUILD index 7ba09d2108f..9ba70a62876 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/core/internalversion/BUILD @@ -36,8 +36,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/core/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go b/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go index 46b49d77b65..bbd3143492c 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go +++ b/pkg/client/informers/informers_generated/core/internalversion/componentstatus.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/configmap.go b/pkg/client/informers/informers_generated/core/internalversion/configmap.go index c1fd0534591..b745250303e 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/configmap.go +++ b/pkg/client/informers/informers_generated/core/internalversion/configmap.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/endpoints.go b/pkg/client/informers/informers_generated/core/internalversion/endpoints.go index 3c11276bb06..9fbcd8a8b33 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/endpoints.go +++ b/pkg/client/informers/informers_generated/core/internalversion/endpoints.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/event.go b/pkg/client/informers/informers_generated/core/internalversion/event.go index e95ba4d7a8f..dcd4671124f 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/event.go +++ b/pkg/client/informers/informers_generated/core/internalversion/event.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/limitrange.go b/pkg/client/informers/informers_generated/core/internalversion/limitrange.go index 46b3123fc96..6f70668af7f 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/limitrange.go +++ b/pkg/client/informers/informers_generated/core/internalversion/limitrange.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/namespace.go b/pkg/client/informers/informers_generated/core/internalversion/namespace.go index 9379dc8e205..16de10a1384 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/namespace.go +++ b/pkg/client/informers/informers_generated/core/internalversion/namespace.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/node.go b/pkg/client/informers/informers_generated/core/internalversion/node.go index b490da31fc5..0c90e6bb733 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/node.go +++ b/pkg/client/informers/informers_generated/core/internalversion/node.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go b/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go index a151ece41f7..7bab0d387ac 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go +++ b/pkg/client/informers/informers_generated/core/internalversion/persistentvolume.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go b/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go index 046808ad5a8..038ca931eef 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go +++ b/pkg/client/informers/informers_generated/core/internalversion/persistentvolumeclaim.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/pod.go b/pkg/client/informers/informers_generated/core/internalversion/pod.go index 3e58c7b6325..b016b30547d 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/pod.go +++ b/pkg/client/informers/informers_generated/core/internalversion/pod.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go b/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go index ac4ecfbaec5..0d98d97f0e6 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go +++ b/pkg/client/informers/informers_generated/core/internalversion/podtemplate.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go b/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go index 26c6001aae5..8230f6a3632 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go +++ b/pkg/client/informers/informers_generated/core/internalversion/replicationcontroller.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go b/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go index 439f867f331..eae25766d5c 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go +++ b/pkg/client/informers/informers_generated/core/internalversion/resourcequota.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/secret.go b/pkg/client/informers/informers_generated/core/internalversion/secret.go index 9a0cfb549d6..240179c19ac 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/secret.go +++ b/pkg/client/informers/informers_generated/core/internalversion/secret.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/service.go b/pkg/client/informers/informers_generated/core/internalversion/service.go index 1739bcb0ba4..be04870f40e 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/service.go +++ b/pkg/client/informers/informers_generated/core/internalversion/service.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go b/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go index 0d55018e449..70baef1b4ad 100644 --- a/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go +++ b/pkg/client/informers/informers_generated/core/internalversion/serviceaccount.go @@ -19,14 +19,14 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/BUILD b/pkg/client/informers/informers_generated/core/v1/BUILD index d43f0bcc069..f2a87d3c566 100644 --- a/pkg/client/informers/informers_generated/core/v1/BUILD +++ b/pkg/client/informers/informers_generated/core/v1/BUILD @@ -35,8 +35,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/core/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/core/v1/componentstatus.go b/pkg/client/informers/informers_generated/core/v1/componentstatus.go index 12ab039f624..6b377c63716 100644 --- a/pkg/client/informers/informers_generated/core/v1/componentstatus.go +++ b/pkg/client/informers/informers_generated/core/v1/componentstatus.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/configmap.go b/pkg/client/informers/informers_generated/core/v1/configmap.go index 7fd92c61446..44aa2bdee28 100644 --- a/pkg/client/informers/informers_generated/core/v1/configmap.go +++ b/pkg/client/informers/informers_generated/core/v1/configmap.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/endpoints.go b/pkg/client/informers/informers_generated/core/v1/endpoints.go index d87aa018fbf..d2b4d3d7b1b 100644 --- a/pkg/client/informers/informers_generated/core/v1/endpoints.go +++ b/pkg/client/informers/informers_generated/core/v1/endpoints.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/event.go b/pkg/client/informers/informers_generated/core/v1/event.go index 2f318a758de..b6e6c63d0a2 100644 --- a/pkg/client/informers/informers_generated/core/v1/event.go +++ b/pkg/client/informers/informers_generated/core/v1/event.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/limitrange.go b/pkg/client/informers/informers_generated/core/v1/limitrange.go index ce67193fd08..3559c5dc404 100644 --- a/pkg/client/informers/informers_generated/core/v1/limitrange.go +++ b/pkg/client/informers/informers_generated/core/v1/limitrange.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/namespace.go b/pkg/client/informers/informers_generated/core/v1/namespace.go index c50c8733550..f2047e7d447 100644 --- a/pkg/client/informers/informers_generated/core/v1/namespace.go +++ b/pkg/client/informers/informers_generated/core/v1/namespace.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/node.go b/pkg/client/informers/informers_generated/core/v1/node.go index eb5d0734bb7..476e426a237 100644 --- a/pkg/client/informers/informers_generated/core/v1/node.go +++ b/pkg/client/informers/informers_generated/core/v1/node.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/persistentvolume.go b/pkg/client/informers/informers_generated/core/v1/persistentvolume.go index 2b84eaa480b..930cbf09afa 100644 --- a/pkg/client/informers/informers_generated/core/v1/persistentvolume.go +++ b/pkg/client/informers/informers_generated/core/v1/persistentvolume.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go b/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go index 3db58daaa85..7306b3545eb 100644 --- a/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go +++ b/pkg/client/informers/informers_generated/core/v1/persistentvolumeclaim.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/pod.go b/pkg/client/informers/informers_generated/core/v1/pod.go index 8494bd4adaa..59f882a9416 100644 --- a/pkg/client/informers/informers_generated/core/v1/pod.go +++ b/pkg/client/informers/informers_generated/core/v1/pod.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/podtemplate.go b/pkg/client/informers/informers_generated/core/v1/podtemplate.go index 41e5cb56e30..e0de8c5d237 100644 --- a/pkg/client/informers/informers_generated/core/v1/podtemplate.go +++ b/pkg/client/informers/informers_generated/core/v1/podtemplate.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go b/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go index 084ca218743..4409b0b1026 100644 --- a/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go +++ b/pkg/client/informers/informers_generated/core/v1/replicationcontroller.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/resourcequota.go b/pkg/client/informers/informers_generated/core/v1/resourcequota.go index bf725ede462..ccd58c0e9cf 100644 --- a/pkg/client/informers/informers_generated/core/v1/resourcequota.go +++ b/pkg/client/informers/informers_generated/core/v1/resourcequota.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/secret.go b/pkg/client/informers/informers_generated/core/v1/secret.go index 8f4d5d48720..01d4e9588ee 100644 --- a/pkg/client/informers/informers_generated/core/v1/secret.go +++ b/pkg/client/informers/informers_generated/core/v1/secret.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/service.go b/pkg/client/informers/informers_generated/core/v1/service.go index 029d65cf5da..9e30ef9faf7 100644 --- a/pkg/client/informers/informers_generated/core/v1/service.go +++ b/pkg/client/informers/informers_generated/core/v1/service.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/core/v1/serviceaccount.go b/pkg/client/informers/informers_generated/core/v1/serviceaccount.go index c788577e501..ddd5ad65b02 100644 --- a/pkg/client/informers/informers_generated/core/v1/serviceaccount.go +++ b/pkg/client/informers/informers_generated/core/v1/serviceaccount.go @@ -19,13 +19,13 @@ limitations under the License. package v1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api_v1 "k8s.io/kubernetes/pkg/api/v1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1 "k8s.io/kubernetes/pkg/client/listers/core/v1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/BUILD b/pkg/client/informers/informers_generated/extensions/internalversion/BUILD index 41afb8a2e3c..f82b8e36c00 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/extensions/internalversion/BUILD @@ -28,8 +28,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/extensions/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go b/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go index 9a094548d1e..88f9d32071a 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/daemonset.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go b/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go index 0938d1eae47..42356c67230 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/deployment.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go b/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go index 055a5d649b2..65030867906 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/ingress.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go b/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go index eba5e9e64f0..85bc2dcb6d8 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/networkpolicy.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go b/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go index dd29ca43bb6..4b25e2a23cd 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/podsecuritypolicy.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go b/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go index 10860f79d95..07b730da3b6 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/replicaset.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go b/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go index f18d1597550..edcbd5ba5b8 100644 --- a/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go +++ b/pkg/client/informers/informers_generated/extensions/internalversion/thirdpartyresource.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/extensions/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD b/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD index 01fd0baac18..cfb9ef22dfb 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/BUILD @@ -26,8 +26,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/extensions/v1beta1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go b/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go index 87dee2bce2a..f89525d0609 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/daemonset.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go b/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go index 27cae7272ce..a5a4dc85d36 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/deployment.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go b/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go index f282803c367..7bf94f3ba75 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/ingress.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go b/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go index 28692447fd4..a6901808a78 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/podsecuritypolicy.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go b/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go index a69c2be96fd..0e02be55464 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/replicaset.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go b/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go index ec148bcdb5a..0aef7a152b8 100644 --- a/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go +++ b/pkg/client/informers/informers_generated/extensions/v1beta1/thirdpartyresource.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" extensions_v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/extensions/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/factory.go b/pkg/client/informers/informers_generated/factory.go index 460517f4510..c2e240a1be5 100644 --- a/pkg/client/informers/informers_generated/factory.go +++ b/pkg/client/informers/informers_generated/factory.go @@ -19,6 +19,7 @@ limitations under the License. package informers_generated import ( + runtime "k8s.io/apimachinery/pkg/runtime" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -32,7 +33,6 @@ import ( policy "k8s.io/kubernetes/pkg/client/informers/informers_generated/policy" rbac "k8s.io/kubernetes/pkg/client/informers/informers_generated/rbac" storage "k8s.io/kubernetes/pkg/client/informers/informers_generated/storage" - runtime "k8s.io/kubernetes/pkg/runtime" reflect "reflect" sync "sync" time "time" diff --git a/pkg/client/informers/informers_generated/generic.go b/pkg/client/informers/informers_generated/generic.go index 34239267780..a7a463f36e7 100644 --- a/pkg/client/informers/informers_generated/generic.go +++ b/pkg/client/informers/informers_generated/generic.go @@ -20,6 +20,7 @@ package informers_generated import ( "fmt" + schema "k8s.io/apimachinery/pkg/runtime/schema" api "k8s.io/kubernetes/pkg/api" api_v1 "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps" @@ -40,7 +41,6 @@ import ( storage "k8s.io/kubernetes/pkg/apis/storage" storage_v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" - schema "k8s.io/kubernetes/pkg/runtime/schema" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other diff --git a/pkg/client/informers/informers_generated/internalinterfaces/BUILD b/pkg/client/informers/informers_generated/internalinterfaces/BUILD index 537e5c506e5..c1ee8ee3f30 100644 --- a/pkg/client/informers/informers_generated/internalinterfaces/BUILD +++ b/pkg/client/informers/informers_generated/internalinterfaces/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go b/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go index e9563947721..0450fcb9e96 100644 --- a/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go +++ b/pkg/client/informers/informers_generated/internalinterfaces/internal_interfaces.go @@ -19,10 +19,10 @@ limitations under the License. package internalinterfaces import ( + runtime "k8s.io/apimachinery/pkg/runtime" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" - runtime "k8s.io/kubernetes/pkg/runtime" time "time" ) diff --git a/pkg/client/informers/informers_generated/policy/internalversion/BUILD b/pkg/client/informers/informers_generated/policy/internalversion/BUILD index 70ca520d2db..389a177393d 100644 --- a/pkg/client/informers/informers_generated/policy/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/policy/internalversion/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/policy/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go b/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go index af5f4e156cd..d36400de828 100644 --- a/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go +++ b/pkg/client/informers/informers_generated/policy/internalversion/poddisruptionbudget.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" policy "k8s.io/kubernetes/pkg/apis/policy" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/policy/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/policy/v1beta1/BUILD b/pkg/client/informers/informers_generated/policy/v1beta1/BUILD index 3635794289e..a09bac4ad65 100644 --- a/pkg/client/informers/informers_generated/policy/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/policy/v1beta1/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/policy/v1beta1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go b/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go index 4343c709cd1..1e9e02bf9f0 100644 --- a/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go +++ b/pkg/client/informers/informers_generated/policy/v1beta1/poddisruptionbudget.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" policy_v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/policy/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/BUILD b/pkg/client/informers/informers_generated/rbac/internalversion/BUILD index c01e66cad50..1cd72e761fe 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/rbac/internalversion/BUILD @@ -25,8 +25,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/rbac/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go index 65b55971d2a..21de6951d84 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrole.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go index 53455edde62..f4faff7f6ad 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/clusterrolebinding.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/role.go b/pkg/client/informers/informers_generated/rbac/internalversion/role.go index c2e85bef029..0f32ee6ccfe 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/role.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/role.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go b/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go index f85511a8a52..2f9655b6b5c 100644 --- a/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/internalversion/rolebinding.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/rbac/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD b/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD index fd9cc6f5a25..dfbee43c43a 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/BUILD @@ -24,8 +24,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/rbac/v1alpha1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go index 8a5b52d1026..857f5959754 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrole.go @@ -19,14 +19,14 @@ limitations under the License. package v1alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go index ba41c940a59..e4f8174a8cb 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/clusterrolebinding.go @@ -19,14 +19,14 @@ limitations under the License. package v1alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go index 2a6c13136dd..223b6bdeea8 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/role.go @@ -19,14 +19,14 @@ limitations under the License. package v1alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go b/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go index 54a06767ccf..f741a542a99 100644 --- a/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go +++ b/pkg/client/informers/informers_generated/rbac/v1alpha1/rolebinding.go @@ -19,14 +19,14 @@ limitations under the License. package v1alpha1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" rbac_v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1alpha1 "k8s.io/kubernetes/pkg/client/listers/rbac/v1alpha1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/storage/internalversion/BUILD b/pkg/client/informers/informers_generated/storage/internalversion/BUILD index 22e9199a5a0..43f3fe2d8ca 100644 --- a/pkg/client/informers/informers_generated/storage/internalversion/BUILD +++ b/pkg/client/informers/informers_generated/storage/internalversion/BUILD @@ -22,8 +22,8 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/storage/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go b/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go index 6fd5bcdefba..0e6121639a1 100644 --- a/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go +++ b/pkg/client/informers/informers_generated/storage/internalversion/storageclass.go @@ -19,6 +19,8 @@ limitations under the License. package internalversion import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" api "k8s.io/kubernetes/pkg/api" v1 "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage" @@ -26,8 +28,6 @@ import ( internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" internalversion "k8s.io/kubernetes/pkg/client/listers/storage/internalversion" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/informers/informers_generated/storage/v1beta1/BUILD b/pkg/client/informers/informers_generated/storage/v1beta1/BUILD index e9e03f8f6aa..be5ee57d88c 100644 --- a/pkg/client/informers/informers_generated/storage/v1beta1/BUILD +++ b/pkg/client/informers/informers_generated/storage/v1beta1/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/informers/informers_generated/internalinterfaces:go_default_library", "//pkg/client/listers/storage/v1beta1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go b/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go index 2acc27d07c2..0c2c0a071a0 100644 --- a/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go +++ b/pkg/client/informers/informers_generated/storage/v1beta1/storageclass.go @@ -19,14 +19,14 @@ limitations under the License. package v1beta1 import ( + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" v1 "k8s.io/kubernetes/pkg/api/v1" storage_v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" cache "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalinterfaces" v1beta1 "k8s.io/kubernetes/pkg/client/listers/storage/v1beta1" - runtime "k8s.io/kubernetes/pkg/runtime" - watch "k8s.io/kubernetes/pkg/watch" time "time" ) diff --git a/pkg/client/leaderelection/BUILD b/pkg/client/leaderelection/BUILD index b0b898ef9eb..ab8dc7a2a9a 100644 --- a/pkg/client/leaderelection/BUILD +++ b/pkg/client/leaderelection/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/leaderelection/resourcelock:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -32,12 +32,12 @@ go_test( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/leaderelection/resourcelock:go_default_library", "//pkg/client/record:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/client/leaderelection/leaderelection.go b/pkg/client/leaderelection/leaderelection.go index 1cc6c46d5b2..48fb7ed1618 100644 --- a/pkg/client/leaderelection/leaderelection.go +++ b/pkg/client/leaderelection/leaderelection.go @@ -53,12 +53,12 @@ import ( "reflect" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" rl "k8s.io/kubernetes/pkg/client/leaderelection/resourcelock" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/spf13/pflag" diff --git a/pkg/client/leaderelection/leaderelection_test.go b/pkg/client/leaderelection/leaderelection_test.go index 2e6950b1288..996f23328d7 100644 --- a/pkg/client/leaderelection/leaderelection_test.go +++ b/pkg/client/leaderelection/leaderelection_test.go @@ -26,14 +26,14 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" fakeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" rl "k8s.io/kubernetes/pkg/client/leaderelection/resourcelock" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" ) func TestTryAcquireOrRenew(t *testing.T) { diff --git a/pkg/client/leaderelection/resourcelock/BUILD b/pkg/client/leaderelection/resourcelock/BUILD index ea65f5e8e0d..ffc3a4ab2c1 100644 --- a/pkg/client/leaderelection/resourcelock/BUILD +++ b/pkg/client/leaderelection/resourcelock/BUILD @@ -16,9 +16,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/client/leaderelection/resourcelock/endpointslock.go b/pkg/client/leaderelection/resourcelock/endpointslock.go index 97ab13734e7..6ff59623117 100644 --- a/pkg/client/leaderelection/resourcelock/endpointslock.go +++ b/pkg/client/leaderelection/resourcelock/endpointslock.go @@ -21,8 +21,8 @@ import ( "errors" "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" ) diff --git a/pkg/client/leaderelection/resourcelock/interface.go b/pkg/client/leaderelection/resourcelock/interface.go index 7ace562362f..2fa808ef5e6 100644 --- a/pkg/client/leaderelection/resourcelock/interface.go +++ b/pkg/client/leaderelection/resourcelock/interface.go @@ -17,7 +17,7 @@ limitations under the License. package resourcelock import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" ) diff --git a/pkg/client/listers/apps/internalversion/BUILD b/pkg/client/listers/apps/internalversion/BUILD index a71e7062290..e1ae58f40c3 100644 --- a/pkg/client/listers/apps/internalversion/BUILD +++ b/pkg/client/listers/apps/internalversion/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/apps/internalversion/statefulset.go b/pkg/client/listers/apps/internalversion/statefulset.go index ab98c486a71..1aac1975d01 100644 --- a/pkg/client/listers/apps/internalversion/statefulset.go +++ b/pkg/client/listers/apps/internalversion/statefulset.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" apps "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // StatefulSetLister helps list StatefulSets. diff --git a/pkg/client/listers/apps/v1beta1/BUILD b/pkg/client/listers/apps/v1beta1/BUILD index 0cca8875c86..7e669b4a951 100644 --- a/pkg/client/listers/apps/v1beta1/BUILD +++ b/pkg/client/listers/apps/v1beta1/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/apps/v1beta1/statefulset.go b/pkg/client/listers/apps/v1beta1/statefulset.go index 2e8a5f5e32d..7a9e80a06ae 100644 --- a/pkg/client/listers/apps/v1beta1/statefulset.go +++ b/pkg/client/listers/apps/v1beta1/statefulset.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" apps "k8s.io/kubernetes/pkg/apis/apps" v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // StatefulSetLister helps list StatefulSets. diff --git a/pkg/client/listers/authentication/internalversion/BUILD b/pkg/client/listers/authentication/internalversion/BUILD index 923d10dc23f..b96cd8f9715 100644 --- a/pkg/client/listers/authentication/internalversion/BUILD +++ b/pkg/client/listers/authentication/internalversion/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/authentication:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/authentication/internalversion/tokenreview.go b/pkg/client/listers/authentication/internalversion/tokenreview.go index 1e1e78961ea..74a58c81631 100644 --- a/pkg/client/listers/authentication/internalversion/tokenreview.go +++ b/pkg/client/listers/authentication/internalversion/tokenreview.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" authentication "k8s.io/kubernetes/pkg/apis/authentication" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // TokenReviewLister helps list TokenReviews. diff --git a/pkg/client/listers/authentication/v1beta1/BUILD b/pkg/client/listers/authentication/v1beta1/BUILD index 3d83fb92de9..d83e2580c63 100644 --- a/pkg/client/listers/authentication/v1beta1/BUILD +++ b/pkg/client/listers/authentication/v1beta1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/apis/authentication:go_default_library", "//pkg/apis/authentication/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/authentication/v1beta1/tokenreview.go b/pkg/client/listers/authentication/v1beta1/tokenreview.go index 1b032c0e7f3..89e4baaa01c 100644 --- a/pkg/client/listers/authentication/v1beta1/tokenreview.go +++ b/pkg/client/listers/authentication/v1beta1/tokenreview.go @@ -19,12 +19,12 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" authentication "k8s.io/kubernetes/pkg/apis/authentication" v1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // TokenReviewLister helps list TokenReviews. diff --git a/pkg/client/listers/authorization/internalversion/BUILD b/pkg/client/listers/authorization/internalversion/BUILD index bef61e11627..fbf19a4a5a2 100644 --- a/pkg/client/listers/authorization/internalversion/BUILD +++ b/pkg/client/listers/authorization/internalversion/BUILD @@ -21,7 +21,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/authorization:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go b/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go index 77eeae7e41b..cb790d8bdbf 100644 --- a/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go +++ b/pkg/client/listers/authorization/internalversion/localsubjectaccessreview.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" authorization "k8s.io/kubernetes/pkg/apis/authorization" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // LocalSubjectAccessReviewLister helps list LocalSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go b/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go index aa6fa9fc7c6..1f303c6271a 100644 --- a/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go +++ b/pkg/client/listers/authorization/internalversion/selfsubjectaccessreview.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" authorization "k8s.io/kubernetes/pkg/apis/authorization" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // SelfSubjectAccessReviewLister helps list SelfSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/internalversion/subjectaccessreview.go b/pkg/client/listers/authorization/internalversion/subjectaccessreview.go index 649a48d2b55..c87a95893d0 100644 --- a/pkg/client/listers/authorization/internalversion/subjectaccessreview.go +++ b/pkg/client/listers/authorization/internalversion/subjectaccessreview.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" authorization "k8s.io/kubernetes/pkg/apis/authorization" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // SubjectAccessReviewLister helps list SubjectAccessReviews. diff --git a/pkg/client/listers/authorization/v1beta1/BUILD b/pkg/client/listers/authorization/v1beta1/BUILD index d5026db3d03..e5a965c0f12 100644 --- a/pkg/client/listers/authorization/v1beta1/BUILD +++ b/pkg/client/listers/authorization/v1beta1/BUILD @@ -22,7 +22,7 @@ go_library( "//pkg/apis/authorization:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go b/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go index 8117e0de65b..201a928650b 100644 --- a/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go +++ b/pkg/client/listers/authorization/v1beta1/localsubjectaccessreview.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" authorization "k8s.io/kubernetes/pkg/apis/authorization" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // LocalSubjectAccessReviewLister helps list LocalSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go b/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go index 2b2684ff5fb..9ac44f74971 100644 --- a/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go +++ b/pkg/client/listers/authorization/v1beta1/selfsubjectaccessreview.go @@ -19,12 +19,12 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" authorization "k8s.io/kubernetes/pkg/apis/authorization" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // SelfSubjectAccessReviewLister helps list SelfSubjectAccessReviews. diff --git a/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go b/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go index 560c6e1647d..b38bea73231 100644 --- a/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go +++ b/pkg/client/listers/authorization/v1beta1/subjectaccessreview.go @@ -19,12 +19,12 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" authorization "k8s.io/kubernetes/pkg/apis/authorization" v1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // SubjectAccessReviewLister helps list SubjectAccessReviews. diff --git a/pkg/client/listers/autoscaling/internalversion/BUILD b/pkg/client/listers/autoscaling/internalversion/BUILD index 6923612384a..0d40ee97a33 100644 --- a/pkg/client/listers/autoscaling/internalversion/BUILD +++ b/pkg/client/listers/autoscaling/internalversion/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go b/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go index b6fb6f95212..8c911cdcab3 100644 --- a/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go +++ b/pkg/client/listers/autoscaling/internalversion/horizontalpodautoscaler.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // HorizontalPodAutoscalerLister helps list HorizontalPodAutoscalers. diff --git a/pkg/client/listers/autoscaling/v1/BUILD b/pkg/client/listers/autoscaling/v1/BUILD index c6c0d63829c..dc875a67f45 100644 --- a/pkg/client/listers/autoscaling/v1/BUILD +++ b/pkg/client/listers/autoscaling/v1/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go b/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go index 142b4c54a17..2bf69b8c484 100644 --- a/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go +++ b/pkg/client/listers/autoscaling/v1/horizontalpodautoscaler.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" v1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // HorizontalPodAutoscalerLister helps list HorizontalPodAutoscalers. diff --git a/pkg/client/listers/batch/internalversion/BUILD b/pkg/client/listers/batch/internalversion/BUILD index f954227ab26..7db567f0046 100644 --- a/pkg/client/listers/batch/internalversion/BUILD +++ b/pkg/client/listers/batch/internalversion/BUILD @@ -21,9 +21,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) @@ -35,10 +35,10 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/client/listers/batch/internalversion/cronjob.go b/pkg/client/listers/batch/internalversion/cronjob.go index 90428a7de94..bbfeaedb15a 100644 --- a/pkg/client/listers/batch/internalversion/cronjob.go +++ b/pkg/client/listers/batch/internalversion/cronjob.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" batch "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // CronJobLister helps list CronJobs. diff --git a/pkg/client/listers/batch/internalversion/job.go b/pkg/client/listers/batch/internalversion/job.go index 13980f04623..cfa2aac446c 100644 --- a/pkg/client/listers/batch/internalversion/job.go +++ b/pkg/client/listers/batch/internalversion/job.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" batch "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // JobLister helps list Jobs. diff --git a/pkg/client/listers/batch/internalversion/job_expansion.go b/pkg/client/listers/batch/internalversion/job_expansion.go index 9c665bc4c31..0b19638b612 100644 --- a/pkg/client/listers/batch/internalversion/job_expansion.go +++ b/pkg/client/listers/batch/internalversion/job_expansion.go @@ -19,10 +19,10 @@ package internalversion import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) // JobListerExpansion allows custom methods to be added to diff --git a/pkg/client/listers/batch/internalversion/job_test.go b/pkg/client/listers/batch/internalversion/job_test.go index 982364f13f4..722fd2006a7 100644 --- a/pkg/client/listers/batch/internalversion/job_test.go +++ b/pkg/client/listers/batch/internalversion/job_test.go @@ -19,12 +19,12 @@ package internalversion import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" ) func TestJobLister(t *testing.T) { diff --git a/pkg/client/listers/batch/v1/BUILD b/pkg/client/listers/batch/v1/BUILD index b6f0c1eb014..9cec164fb5b 100644 --- a/pkg/client/listers/batch/v1/BUILD +++ b/pkg/client/listers/batch/v1/BUILD @@ -20,9 +20,9 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/batch/v1/job.go b/pkg/client/listers/batch/v1/job.go index 0d0d20f0565..554fd9759f5 100644 --- a/pkg/client/listers/batch/v1/job.go +++ b/pkg/client/listers/batch/v1/job.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" batch "k8s.io/kubernetes/pkg/apis/batch" v1 "k8s.io/kubernetes/pkg/apis/batch/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // JobLister helps list Jobs. diff --git a/pkg/client/listers/batch/v1/job_expansion.go b/pkg/client/listers/batch/v1/job_expansion.go index d77048714e8..8915e73415e 100644 --- a/pkg/client/listers/batch/v1/job_expansion.go +++ b/pkg/client/listers/batch/v1/job_expansion.go @@ -19,10 +19,10 @@ package v1 import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) // JobListerExpansion allows custom methods to be added to diff --git a/pkg/client/listers/batch/v2alpha1/BUILD b/pkg/client/listers/batch/v2alpha1/BUILD index 31d24759c1b..325ce9713e4 100644 --- a/pkg/client/listers/batch/v2alpha1/BUILD +++ b/pkg/client/listers/batch/v2alpha1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/batch/v2alpha1/cronjob.go b/pkg/client/listers/batch/v2alpha1/cronjob.go index 6b6f908e917..6b5f67568cf 100644 --- a/pkg/client/listers/batch/v2alpha1/cronjob.go +++ b/pkg/client/listers/batch/v2alpha1/cronjob.go @@ -19,11 +19,11 @@ limitations under the License. package v2alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" batch "k8s.io/kubernetes/pkg/apis/batch" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // CronJobLister helps list CronJobs. diff --git a/pkg/client/listers/batch/v2alpha1/job.go b/pkg/client/listers/batch/v2alpha1/job.go index 0247583eae1..ec1ac577417 100644 --- a/pkg/client/listers/batch/v2alpha1/job.go +++ b/pkg/client/listers/batch/v2alpha1/job.go @@ -19,11 +19,11 @@ limitations under the License. package v2alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" batch "k8s.io/kubernetes/pkg/apis/batch" v2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // JobLister helps list Jobs. diff --git a/pkg/client/listers/certificates/internalversion/BUILD b/pkg/client/listers/certificates/internalversion/BUILD index 10c96824307..cf325749bfb 100644 --- a/pkg/client/listers/certificates/internalversion/BUILD +++ b/pkg/client/listers/certificates/internalversion/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go b/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go index 1ccb2515d12..e1c6bb0ef67 100644 --- a/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go +++ b/pkg/client/listers/certificates/internalversion/certificatesigningrequest.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" certificates "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // CertificateSigningRequestLister helps list CertificateSigningRequests. diff --git a/pkg/client/listers/certificates/v1alpha1/BUILD b/pkg/client/listers/certificates/v1alpha1/BUILD index 3c322468415..93b4ac18020 100644 --- a/pkg/client/listers/certificates/v1alpha1/BUILD +++ b/pkg/client/listers/certificates/v1alpha1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/apis/certificates:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/certificates/v1alpha1/certificatesigningrequest.go b/pkg/client/listers/certificates/v1alpha1/certificatesigningrequest.go index f8dd1691c9a..ec1b4f3748e 100644 --- a/pkg/client/listers/certificates/v1alpha1/certificatesigningrequest.go +++ b/pkg/client/listers/certificates/v1alpha1/certificatesigningrequest.go @@ -19,12 +19,12 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" certificates "k8s.io/kubernetes/pkg/apis/certificates" v1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // CertificateSigningRequestLister helps list CertificateSigningRequests. diff --git a/pkg/client/listers/core/internalversion/BUILD b/pkg/client/listers/core/internalversion/BUILD index bc1e0264d56..2eba0f57129 100644 --- a/pkg/client/listers/core/internalversion/BUILD +++ b/pkg/client/listers/core/internalversion/BUILD @@ -33,7 +33,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/core/internalversion/componentstatus.go b/pkg/client/listers/core/internalversion/componentstatus.go index 808a18efa3c..2c9b682c905 100644 --- a/pkg/client/listers/core/internalversion/componentstatus.go +++ b/pkg/client/listers/core/internalversion/componentstatus.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ComponentStatusLister helps list ComponentStatuses. diff --git a/pkg/client/listers/core/internalversion/configmap.go b/pkg/client/listers/core/internalversion/configmap.go index 73e6811f6b3..1e4a563dca4 100644 --- a/pkg/client/listers/core/internalversion/configmap.go +++ b/pkg/client/listers/core/internalversion/configmap.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ConfigMapLister helps list ConfigMaps. diff --git a/pkg/client/listers/core/internalversion/endpoints.go b/pkg/client/listers/core/internalversion/endpoints.go index 4806afe791a..31e1de9ad0b 100644 --- a/pkg/client/listers/core/internalversion/endpoints.go +++ b/pkg/client/listers/core/internalversion/endpoints.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // EndpointsLister helps list Endpoints. diff --git a/pkg/client/listers/core/internalversion/event.go b/pkg/client/listers/core/internalversion/event.go index ca1c9180dfa..0040ae817ef 100644 --- a/pkg/client/listers/core/internalversion/event.go +++ b/pkg/client/listers/core/internalversion/event.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // EventLister helps list Events. diff --git a/pkg/client/listers/core/internalversion/limitrange.go b/pkg/client/listers/core/internalversion/limitrange.go index 2ff99652207..82126afa7e9 100644 --- a/pkg/client/listers/core/internalversion/limitrange.go +++ b/pkg/client/listers/core/internalversion/limitrange.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // LimitRangeLister helps list LimitRanges. diff --git a/pkg/client/listers/core/internalversion/namespace.go b/pkg/client/listers/core/internalversion/namespace.go index 4e5340f0c9d..e21241d8f6b 100644 --- a/pkg/client/listers/core/internalversion/namespace.go +++ b/pkg/client/listers/core/internalversion/namespace.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // NamespaceLister helps list Namespaces. diff --git a/pkg/client/listers/core/internalversion/node.go b/pkg/client/listers/core/internalversion/node.go index 074c4d8b9b4..27f6f7a1fc2 100644 --- a/pkg/client/listers/core/internalversion/node.go +++ b/pkg/client/listers/core/internalversion/node.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // NodeLister helps list Nodes. diff --git a/pkg/client/listers/core/internalversion/persistentvolume.go b/pkg/client/listers/core/internalversion/persistentvolume.go index ba36330acb7..0162f704a3e 100644 --- a/pkg/client/listers/core/internalversion/persistentvolume.go +++ b/pkg/client/listers/core/internalversion/persistentvolume.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PersistentVolumeLister helps list PersistentVolumes. diff --git a/pkg/client/listers/core/internalversion/persistentvolumeclaim.go b/pkg/client/listers/core/internalversion/persistentvolumeclaim.go index 48702c657b0..e4f0d6c25aa 100644 --- a/pkg/client/listers/core/internalversion/persistentvolumeclaim.go +++ b/pkg/client/listers/core/internalversion/persistentvolumeclaim.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PersistentVolumeClaimLister helps list PersistentVolumeClaims. diff --git a/pkg/client/listers/core/internalversion/pod.go b/pkg/client/listers/core/internalversion/pod.go index 481d4e0810a..88fe1431a0a 100644 --- a/pkg/client/listers/core/internalversion/pod.go +++ b/pkg/client/listers/core/internalversion/pod.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodLister helps list Pods. diff --git a/pkg/client/listers/core/internalversion/podtemplate.go b/pkg/client/listers/core/internalversion/podtemplate.go index d8ed89257b3..2e3c280f6ce 100644 --- a/pkg/client/listers/core/internalversion/podtemplate.go +++ b/pkg/client/listers/core/internalversion/podtemplate.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodTemplateLister helps list PodTemplates. diff --git a/pkg/client/listers/core/internalversion/replicationcontroller.go b/pkg/client/listers/core/internalversion/replicationcontroller.go index 978f672ad7f..b6da3c57b61 100644 --- a/pkg/client/listers/core/internalversion/replicationcontroller.go +++ b/pkg/client/listers/core/internalversion/replicationcontroller.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ReplicationControllerLister helps list ReplicationControllers. diff --git a/pkg/client/listers/core/internalversion/resourcequota.go b/pkg/client/listers/core/internalversion/resourcequota.go index 8bec777e7fd..ba146a6705a 100644 --- a/pkg/client/listers/core/internalversion/resourcequota.go +++ b/pkg/client/listers/core/internalversion/resourcequota.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ResourceQuotaLister helps list ResourceQuotas. diff --git a/pkg/client/listers/core/internalversion/secret.go b/pkg/client/listers/core/internalversion/secret.go index 15966f7d758..0d0c2f86274 100644 --- a/pkg/client/listers/core/internalversion/secret.go +++ b/pkg/client/listers/core/internalversion/secret.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // SecretLister helps list Secrets. diff --git a/pkg/client/listers/core/internalversion/service.go b/pkg/client/listers/core/internalversion/service.go index 701b825026c..f5e21b2a6ae 100644 --- a/pkg/client/listers/core/internalversion/service.go +++ b/pkg/client/listers/core/internalversion/service.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ServiceLister helps list Services. diff --git a/pkg/client/listers/core/internalversion/serviceaccount.go b/pkg/client/listers/core/internalversion/serviceaccount.go index 9875092e248..4ac920e03c8 100644 --- a/pkg/client/listers/core/internalversion/serviceaccount.go +++ b/pkg/client/listers/core/internalversion/serviceaccount.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ServiceAccountLister helps list ServiceAccounts. diff --git a/pkg/client/listers/core/v1/BUILD b/pkg/client/listers/core/v1/BUILD index 8b9cbff93e0..4a3e4761d2c 100644 --- a/pkg/client/listers/core/v1/BUILD +++ b/pkg/client/listers/core/v1/BUILD @@ -34,7 +34,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/core/v1/componentstatus.go b/pkg/client/listers/core/v1/componentstatus.go index 4ec31cd16e5..f373d5125ae 100644 --- a/pkg/client/listers/core/v1/componentstatus.go +++ b/pkg/client/listers/core/v1/componentstatus.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ComponentStatusLister helps list ComponentStatuses. diff --git a/pkg/client/listers/core/v1/configmap.go b/pkg/client/listers/core/v1/configmap.go index 1b1238602b5..0899e9ffce9 100644 --- a/pkg/client/listers/core/v1/configmap.go +++ b/pkg/client/listers/core/v1/configmap.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ConfigMapLister helps list ConfigMaps. diff --git a/pkg/client/listers/core/v1/endpoints.go b/pkg/client/listers/core/v1/endpoints.go index 5aea9c03ef4..08f8a797579 100644 --- a/pkg/client/listers/core/v1/endpoints.go +++ b/pkg/client/listers/core/v1/endpoints.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // EndpointsLister helps list Endpoints. diff --git a/pkg/client/listers/core/v1/event.go b/pkg/client/listers/core/v1/event.go index 0d7a92a3656..c81505b0975 100644 --- a/pkg/client/listers/core/v1/event.go +++ b/pkg/client/listers/core/v1/event.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // EventLister helps list Events. diff --git a/pkg/client/listers/core/v1/limitrange.go b/pkg/client/listers/core/v1/limitrange.go index e51f585f6e0..e229592b8fb 100644 --- a/pkg/client/listers/core/v1/limitrange.go +++ b/pkg/client/listers/core/v1/limitrange.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // LimitRangeLister helps list LimitRanges. diff --git a/pkg/client/listers/core/v1/namespace.go b/pkg/client/listers/core/v1/namespace.go index e897cf479c4..368a6271ad3 100644 --- a/pkg/client/listers/core/v1/namespace.go +++ b/pkg/client/listers/core/v1/namespace.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // NamespaceLister helps list Namespaces. diff --git a/pkg/client/listers/core/v1/node.go b/pkg/client/listers/core/v1/node.go index 5e151f44fa0..a99b7373be5 100644 --- a/pkg/client/listers/core/v1/node.go +++ b/pkg/client/listers/core/v1/node.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // NodeLister helps list Nodes. diff --git a/pkg/client/listers/core/v1/persistentvolume.go b/pkg/client/listers/core/v1/persistentvolume.go index 555de16b47b..ec63771cb9d 100644 --- a/pkg/client/listers/core/v1/persistentvolume.go +++ b/pkg/client/listers/core/v1/persistentvolume.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PersistentVolumeLister helps list PersistentVolumes. diff --git a/pkg/client/listers/core/v1/persistentvolumeclaim.go b/pkg/client/listers/core/v1/persistentvolumeclaim.go index 78e5ed810a6..faa433ab470 100644 --- a/pkg/client/listers/core/v1/persistentvolumeclaim.go +++ b/pkg/client/listers/core/v1/persistentvolumeclaim.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PersistentVolumeClaimLister helps list PersistentVolumeClaims. diff --git a/pkg/client/listers/core/v1/pod.go b/pkg/client/listers/core/v1/pod.go index 88fa1324d3c..0b5389f7766 100644 --- a/pkg/client/listers/core/v1/pod.go +++ b/pkg/client/listers/core/v1/pod.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodLister helps list Pods. diff --git a/pkg/client/listers/core/v1/podtemplate.go b/pkg/client/listers/core/v1/podtemplate.go index de540681726..1a3f65cd945 100644 --- a/pkg/client/listers/core/v1/podtemplate.go +++ b/pkg/client/listers/core/v1/podtemplate.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodTemplateLister helps list PodTemplates. diff --git a/pkg/client/listers/core/v1/replicationcontroller.go b/pkg/client/listers/core/v1/replicationcontroller.go index ac40430cd36..78dc784302c 100644 --- a/pkg/client/listers/core/v1/replicationcontroller.go +++ b/pkg/client/listers/core/v1/replicationcontroller.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ReplicationControllerLister helps list ReplicationControllers. diff --git a/pkg/client/listers/core/v1/resourcequota.go b/pkg/client/listers/core/v1/resourcequota.go index d57d5ea6ae1..46be2a4a68e 100644 --- a/pkg/client/listers/core/v1/resourcequota.go +++ b/pkg/client/listers/core/v1/resourcequota.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ResourceQuotaLister helps list ResourceQuotas. diff --git a/pkg/client/listers/core/v1/secret.go b/pkg/client/listers/core/v1/secret.go index ea729357c74..53570d75d95 100644 --- a/pkg/client/listers/core/v1/secret.go +++ b/pkg/client/listers/core/v1/secret.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // SecretLister helps list Secrets. diff --git a/pkg/client/listers/core/v1/service.go b/pkg/client/listers/core/v1/service.go index ffeccdceabb..3d9fdc7a6c0 100644 --- a/pkg/client/listers/core/v1/service.go +++ b/pkg/client/listers/core/v1/service.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ServiceLister helps list Services. diff --git a/pkg/client/listers/core/v1/serviceaccount.go b/pkg/client/listers/core/v1/serviceaccount.go index bb0d9359803..93d6a88261b 100644 --- a/pkg/client/listers/core/v1/serviceaccount.go +++ b/pkg/client/listers/core/v1/serviceaccount.go @@ -19,11 +19,11 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ServiceAccountLister helps list ServiceAccounts. diff --git a/pkg/client/listers/extensions/internalversion/BUILD b/pkg/client/listers/extensions/internalversion/BUILD index acf09514246..9bda678ee6f 100644 --- a/pkg/client/listers/extensions/internalversion/BUILD +++ b/pkg/client/listers/extensions/internalversion/BUILD @@ -26,7 +26,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/extensions/internalversion/daemonset.go b/pkg/client/listers/extensions/internalversion/daemonset.go index 5550a180fb5..35244cf0690 100644 --- a/pkg/client/listers/extensions/internalversion/daemonset.go +++ b/pkg/client/listers/extensions/internalversion/daemonset.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // DaemonSetLister helps list DaemonSets. diff --git a/pkg/client/listers/extensions/internalversion/deployment.go b/pkg/client/listers/extensions/internalversion/deployment.go index 84c8df36399..30718f90595 100644 --- a/pkg/client/listers/extensions/internalversion/deployment.go +++ b/pkg/client/listers/extensions/internalversion/deployment.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // DeploymentLister helps list Deployments. diff --git a/pkg/client/listers/extensions/internalversion/ingress.go b/pkg/client/listers/extensions/internalversion/ingress.go index 22ad43ea8e6..4273d3b3e57 100644 --- a/pkg/client/listers/extensions/internalversion/ingress.go +++ b/pkg/client/listers/extensions/internalversion/ingress.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // IngressLister helps list Ingresses. diff --git a/pkg/client/listers/extensions/internalversion/networkpolicy.go b/pkg/client/listers/extensions/internalversion/networkpolicy.go index 5e9ea01c2a7..8f5a1c3cc54 100644 --- a/pkg/client/listers/extensions/internalversion/networkpolicy.go +++ b/pkg/client/listers/extensions/internalversion/networkpolicy.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // NetworkPolicyLister helps list NetworkPolicies. diff --git a/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go b/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go index 1737eaf3fce..bad9be09d0d 100644 --- a/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go +++ b/pkg/client/listers/extensions/internalversion/podsecuritypolicy.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodSecurityPolicyLister helps list PodSecurityPolicies. diff --git a/pkg/client/listers/extensions/internalversion/replicaset.go b/pkg/client/listers/extensions/internalversion/replicaset.go index ae8913b986a..1e152c2fbde 100644 --- a/pkg/client/listers/extensions/internalversion/replicaset.go +++ b/pkg/client/listers/extensions/internalversion/replicaset.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ReplicaSetLister helps list ReplicaSets. diff --git a/pkg/client/listers/extensions/internalversion/scale.go b/pkg/client/listers/extensions/internalversion/scale.go index 5eb152abcdf..b7b2449f435 100644 --- a/pkg/client/listers/extensions/internalversion/scale.go +++ b/pkg/client/listers/extensions/internalversion/scale.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ScaleLister helps list Scales. diff --git a/pkg/client/listers/extensions/internalversion/thirdpartyresource.go b/pkg/client/listers/extensions/internalversion/thirdpartyresource.go index cdf7bedfb97..7305fa0aa06 100644 --- a/pkg/client/listers/extensions/internalversion/thirdpartyresource.go +++ b/pkg/client/listers/extensions/internalversion/thirdpartyresource.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ThirdPartyResourceLister helps list ThirdPartyResources. diff --git a/pkg/client/listers/extensions/v1beta1/BUILD b/pkg/client/listers/extensions/v1beta1/BUILD index a466c68dfb3..11b0abdd427 100644 --- a/pkg/client/listers/extensions/v1beta1/BUILD +++ b/pkg/client/listers/extensions/v1beta1/BUILD @@ -26,7 +26,7 @@ go_library( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/extensions/v1beta1/daemonset.go b/pkg/client/listers/extensions/v1beta1/daemonset.go index 9035dcf300f..c1022027708 100644 --- a/pkg/client/listers/extensions/v1beta1/daemonset.go +++ b/pkg/client/listers/extensions/v1beta1/daemonset.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // DaemonSetLister helps list DaemonSets. diff --git a/pkg/client/listers/extensions/v1beta1/deployment.go b/pkg/client/listers/extensions/v1beta1/deployment.go index 257908b5cdd..8888a0f3d87 100644 --- a/pkg/client/listers/extensions/v1beta1/deployment.go +++ b/pkg/client/listers/extensions/v1beta1/deployment.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // DeploymentLister helps list Deployments. diff --git a/pkg/client/listers/extensions/v1beta1/ingress.go b/pkg/client/listers/extensions/v1beta1/ingress.go index ba1d1b6e671..76f82ff97a2 100644 --- a/pkg/client/listers/extensions/v1beta1/ingress.go +++ b/pkg/client/listers/extensions/v1beta1/ingress.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // IngressLister helps list Ingresses. diff --git a/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go b/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go index 563d5eb8b9c..83777121330 100644 --- a/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go +++ b/pkg/client/listers/extensions/v1beta1/podsecuritypolicy.go @@ -19,12 +19,12 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodSecurityPolicyLister helps list PodSecurityPolicies. diff --git a/pkg/client/listers/extensions/v1beta1/replicaset.go b/pkg/client/listers/extensions/v1beta1/replicaset.go index 7d5c540acf5..a17586b45b3 100644 --- a/pkg/client/listers/extensions/v1beta1/replicaset.go +++ b/pkg/client/listers/extensions/v1beta1/replicaset.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ReplicaSetLister helps list ReplicaSets. diff --git a/pkg/client/listers/extensions/v1beta1/scale.go b/pkg/client/listers/extensions/v1beta1/scale.go index 8334ae3d371..09cea4b82a1 100644 --- a/pkg/client/listers/extensions/v1beta1/scale.go +++ b/pkg/client/listers/extensions/v1beta1/scale.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ScaleLister helps list Scales. diff --git a/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go b/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go index 08343826d9f..4efd7ba2497 100644 --- a/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go +++ b/pkg/client/listers/extensions/v1beta1/thirdpartyresource.go @@ -19,12 +19,12 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ThirdPartyResourceLister helps list ThirdPartyResources. diff --git a/pkg/client/listers/imagepolicy/internalversion/BUILD b/pkg/client/listers/imagepolicy/internalversion/BUILD index 9e7011a2418..6546acaabe8 100644 --- a/pkg/client/listers/imagepolicy/internalversion/BUILD +++ b/pkg/client/listers/imagepolicy/internalversion/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/imagepolicy:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/imagepolicy/internalversion/imagereview.go b/pkg/client/listers/imagepolicy/internalversion/imagereview.go index 57f669d4645..1a884b4112f 100644 --- a/pkg/client/listers/imagepolicy/internalversion/imagereview.go +++ b/pkg/client/listers/imagepolicy/internalversion/imagereview.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" imagepolicy "k8s.io/kubernetes/pkg/apis/imagepolicy" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ImageReviewLister helps list ImageReviews. diff --git a/pkg/client/listers/imagepolicy/v1alpha1/BUILD b/pkg/client/listers/imagepolicy/v1alpha1/BUILD index 96056d1949c..157befc521f 100644 --- a/pkg/client/listers/imagepolicy/v1alpha1/BUILD +++ b/pkg/client/listers/imagepolicy/v1alpha1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/apis/imagepolicy:go_default_library", "//pkg/apis/imagepolicy/v1alpha1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go b/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go index 04b26c7e305..191af7e768b 100644 --- a/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go +++ b/pkg/client/listers/imagepolicy/v1alpha1/imagereview.go @@ -19,12 +19,12 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" imagepolicy "k8s.io/kubernetes/pkg/apis/imagepolicy" v1alpha1 "k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ImageReviewLister helps list ImageReviews. diff --git a/pkg/client/listers/policy/internalversion/BUILD b/pkg/client/listers/policy/internalversion/BUILD index a2e0bd1c13f..0b491a5f45d 100644 --- a/pkg/client/listers/policy/internalversion/BUILD +++ b/pkg/client/listers/policy/internalversion/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/policy/internalversion/eviction.go b/pkg/client/listers/policy/internalversion/eviction.go index 98549502c8e..056a322dcb0 100644 --- a/pkg/client/listers/policy/internalversion/eviction.go +++ b/pkg/client/listers/policy/internalversion/eviction.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" policy "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // EvictionLister helps list Evictions. diff --git a/pkg/client/listers/policy/internalversion/poddisruptionbudget.go b/pkg/client/listers/policy/internalversion/poddisruptionbudget.go index 09e30f39580..096f0fbb434 100644 --- a/pkg/client/listers/policy/internalversion/poddisruptionbudget.go +++ b/pkg/client/listers/policy/internalversion/poddisruptionbudget.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" policy "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodDisruptionBudgetLister helps list PodDisruptionBudgets. diff --git a/pkg/client/listers/policy/v1alpha1/BUILD b/pkg/client/listers/policy/v1alpha1/BUILD index c45862e9267..c76e31e3b6d 100644 --- a/pkg/client/listers/policy/v1alpha1/BUILD +++ b/pkg/client/listers/policy/v1alpha1/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/apis/policy:go_default_library", "//pkg/apis/policy/v1alpha1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go b/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go index 0bfcebf9f94..70271b075b6 100644 --- a/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go +++ b/pkg/client/listers/policy/v1alpha1/poddisruptionbudget.go @@ -19,11 +19,11 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" policy "k8s.io/kubernetes/pkg/apis/policy" v1alpha1 "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodDisruptionBudgetLister helps list PodDisruptionBudgets. diff --git a/pkg/client/listers/policy/v1beta1/BUILD b/pkg/client/listers/policy/v1beta1/BUILD index 3d891183ce4..ee368e25d8a 100644 --- a/pkg/client/listers/policy/v1beta1/BUILD +++ b/pkg/client/listers/policy/v1beta1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/apis/policy:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/policy/v1beta1/eviction.go b/pkg/client/listers/policy/v1beta1/eviction.go index 859b364e2ca..e2f84377f1b 100644 --- a/pkg/client/listers/policy/v1beta1/eviction.go +++ b/pkg/client/listers/policy/v1beta1/eviction.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" policy "k8s.io/kubernetes/pkg/apis/policy" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // EvictionLister helps list Evictions. diff --git a/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go b/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go index 5b486724656..35b6b7b1d4e 100644 --- a/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go +++ b/pkg/client/listers/policy/v1beta1/poddisruptionbudget.go @@ -19,11 +19,11 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" policy "k8s.io/kubernetes/pkg/apis/policy" v1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // PodDisruptionBudgetLister helps list PodDisruptionBudgets. diff --git a/pkg/client/listers/rbac/internalversion/BUILD b/pkg/client/listers/rbac/internalversion/BUILD index e3a9c9132af..3e44888f96c 100644 --- a/pkg/client/listers/rbac/internalversion/BUILD +++ b/pkg/client/listers/rbac/internalversion/BUILD @@ -22,7 +22,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/rbac/internalversion/clusterrole.go b/pkg/client/listers/rbac/internalversion/clusterrole.go index 4594b766534..ba2483c78de 100644 --- a/pkg/client/listers/rbac/internalversion/clusterrole.go +++ b/pkg/client/listers/rbac/internalversion/clusterrole.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ClusterRoleLister helps list ClusterRoles. diff --git a/pkg/client/listers/rbac/internalversion/clusterrolebinding.go b/pkg/client/listers/rbac/internalversion/clusterrolebinding.go index edd934b38c9..cbb864c5d9e 100644 --- a/pkg/client/listers/rbac/internalversion/clusterrolebinding.go +++ b/pkg/client/listers/rbac/internalversion/clusterrolebinding.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ClusterRoleBindingLister helps list ClusterRoleBindings. diff --git a/pkg/client/listers/rbac/internalversion/role.go b/pkg/client/listers/rbac/internalversion/role.go index 38e1519bf55..0fccefcb184 100644 --- a/pkg/client/listers/rbac/internalversion/role.go +++ b/pkg/client/listers/rbac/internalversion/role.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // RoleLister helps list Roles. diff --git a/pkg/client/listers/rbac/internalversion/rolebinding.go b/pkg/client/listers/rbac/internalversion/rolebinding.go index 2524f4fe5a9..b964758897b 100644 --- a/pkg/client/listers/rbac/internalversion/rolebinding.go +++ b/pkg/client/listers/rbac/internalversion/rolebinding.go @@ -19,10 +19,10 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // RoleBindingLister helps list RoleBindings. diff --git a/pkg/client/listers/rbac/v1alpha1/BUILD b/pkg/client/listers/rbac/v1alpha1/BUILD index fc135b12c99..86c77559bdd 100644 --- a/pkg/client/listers/rbac/v1alpha1/BUILD +++ b/pkg/client/listers/rbac/v1alpha1/BUILD @@ -23,7 +23,7 @@ go_library( "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/rbac/v1alpha1/clusterrole.go b/pkg/client/listers/rbac/v1alpha1/clusterrole.go index 7b127a8da79..b69bdd1aa6b 100644 --- a/pkg/client/listers/rbac/v1alpha1/clusterrole.go +++ b/pkg/client/listers/rbac/v1alpha1/clusterrole.go @@ -19,12 +19,12 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ClusterRoleLister helps list ClusterRoles. diff --git a/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go b/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go index f02d52b6dff..546e8bed64c 100644 --- a/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go +++ b/pkg/client/listers/rbac/v1alpha1/clusterrolebinding.go @@ -19,12 +19,12 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // ClusterRoleBindingLister helps list ClusterRoleBindings. diff --git a/pkg/client/listers/rbac/v1alpha1/role.go b/pkg/client/listers/rbac/v1alpha1/role.go index c8d63727906..31fdd34aaaf 100644 --- a/pkg/client/listers/rbac/v1alpha1/role.go +++ b/pkg/client/listers/rbac/v1alpha1/role.go @@ -19,11 +19,11 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // RoleLister helps list Roles. diff --git a/pkg/client/listers/rbac/v1alpha1/rolebinding.go b/pkg/client/listers/rbac/v1alpha1/rolebinding.go index a27c920a776..75dc2ff79b4 100644 --- a/pkg/client/listers/rbac/v1alpha1/rolebinding.go +++ b/pkg/client/listers/rbac/v1alpha1/rolebinding.go @@ -19,11 +19,11 @@ limitations under the License. package v1alpha1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" rbac "k8s.io/kubernetes/pkg/apis/rbac" v1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // RoleBindingLister helps list RoleBindings. diff --git a/pkg/client/listers/storage/internalversion/BUILD b/pkg/client/listers/storage/internalversion/BUILD index 73f614a4569..7a59a9509f7 100644 --- a/pkg/client/listers/storage/internalversion/BUILD +++ b/pkg/client/listers/storage/internalversion/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/storage/internalversion/storageclass.go b/pkg/client/listers/storage/internalversion/storageclass.go index d488190eca7..62d2c5351eb 100644 --- a/pkg/client/listers/storage/internalversion/storageclass.go +++ b/pkg/client/listers/storage/internalversion/storageclass.go @@ -19,11 +19,11 @@ limitations under the License. package internalversion import ( + "k8s.io/apimachinery/pkg/labels" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" storage "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // StorageClassLister helps list StorageClasses. diff --git a/pkg/client/listers/storage/v1beta1/BUILD b/pkg/client/listers/storage/v1beta1/BUILD index 054eeb70b35..0256a4ae090 100644 --- a/pkg/client/listers/storage/v1beta1/BUILD +++ b/pkg/client/listers/storage/v1beta1/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/client/listers/storage/v1beta1/storageclass.go b/pkg/client/listers/storage/v1beta1/storageclass.go index 60e812c7d19..70c45efbdb7 100644 --- a/pkg/client/listers/storage/v1beta1/storageclass.go +++ b/pkg/client/listers/storage/v1beta1/storageclass.go @@ -19,12 +19,12 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/errors" v1 "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage" v1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // StorageClassLister helps list StorageClasses. diff --git a/pkg/client/record/BUILD b/pkg/client/record/BUILD index 19fbad45f86..ae89c33322b 100644 --- a/pkg/client/record/BUILD +++ b/pkg/client/record/BUILD @@ -20,16 +20,16 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strategicpatch:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/golang/groupcache/lru", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -45,12 +45,12 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/install:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/strategicpatch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/client/record/event.go b/pkg/client/record/event.go index 3a4e156f867..31638749cef 100644 --- a/pkg/client/record/event.go +++ b/pkg/client/record/event.go @@ -21,14 +21,14 @@ import ( "math/rand" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/clock" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/watch" "net/http" diff --git a/pkg/client/record/event_test.go b/pkg/client/record/event_test.go index 32a7c74ae04..c7440cd7579 100644 --- a/pkg/client/record/event_test.go +++ b/pkg/client/record/event_test.go @@ -25,12 +25,12 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + k8sruntime "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/errors" _ "k8s.io/kubernetes/pkg/api/install" // To register api.Pod used in tests below "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" - k8sruntime "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/clock" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/client/record/events_cache.go b/pkg/client/record/events_cache.go index 349366e27d4..182c10affb4 100644 --- a/pkg/client/record/events_cache.go +++ b/pkg/client/record/events_cache.go @@ -25,10 +25,10 @@ import ( "github.com/golang/groupcache/lru" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/client/record/events_cache_test.go b/pkg/client/record/events_cache_test.go index 112f53b177f..966ba09d231 100644 --- a/pkg/client/record/events_cache_test.go +++ b/pkg/client/record/events_cache_test.go @@ -22,10 +22,10 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/diff" ) func makeObjectReference(kind, name, namespace string) v1.ObjectReference { diff --git a/pkg/client/record/fake.go b/pkg/client/record/fake.go index 3e4cc5466c9..c0e8eedbb73 100644 --- a/pkg/client/record/fake.go +++ b/pkg/client/record/fake.go @@ -19,8 +19,8 @@ package record import ( "fmt" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) // FakeRecorder is used as a fake during tests. It is thread safe. It is usable diff --git a/pkg/client/restclient/BUILD b/pkg/client/restclient/BUILD index dd7397a120d..2a18094aa45 100644 --- a/pkg/client/restclient/BUILD +++ b/pkg/client/restclient/BUILD @@ -26,23 +26,23 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/metrics:go_default_library", "//pkg/client/restclient/watch:go_default_library", "//pkg/client/transport:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/version:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -63,22 +63,22 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient/watch:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/testing:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/restclient/client.go b/pkg/client/restclient/client.go index ad79d784a2f..2147ef4eb8d 100644 --- a/pkg/client/restclient/client.go +++ b/pkg/client/restclient/client.go @@ -26,9 +26,9 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/flowcontrol" ) diff --git a/pkg/client/restclient/client_test.go b/pkg/client/restclient/client_test.go index 3101a111909..70fa3f6367b 100644 --- a/pkg/client/restclient/client_test.go +++ b/pkg/client/restclient/client_test.go @@ -27,14 +27,14 @@ import ( "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/client/restclient/config.go b/pkg/client/restclient/config.go index 74468b6fee9..2de79501dc9 100644 --- a/pkg/client/restclient/config.go +++ b/pkg/client/restclient/config.go @@ -29,11 +29,11 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" certutil "k8s.io/kubernetes/pkg/util/cert" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/version" diff --git a/pkg/client/restclient/config_test.go b/pkg/client/restclient/config_test.go index 28291391f14..b7d1a406051 100644 --- a/pkg/client/restclient/config_test.go +++ b/pkg/client/restclient/config_test.go @@ -25,13 +25,13 @@ import ( fuzz "github.com/google/gofuzz" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/flowcontrol" ) diff --git a/pkg/client/restclient/fake/BUILD b/pkg/client/restclient/fake/BUILD index c4cde6d8cdd..a6fc357f887 100644 --- a/pkg/client/restclient/fake/BUILD +++ b/pkg/client/restclient/fake/BUILD @@ -14,11 +14,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/flowcontrol:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/client/restclient/fake/fake.go b/pkg/client/restclient/fake/fake.go index 64885667242..140cca5d804 100644 --- a/pkg/client/restclient/fake/fake.go +++ b/pkg/client/restclient/fake/fake.go @@ -22,12 +22,12 @@ import ( "net/http" "net/url" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/flowcontrol" ) diff --git a/pkg/client/restclient/request.go b/pkg/client/restclient/request.go index 8cc7f5ea9e1..5a66d9777aa 100644 --- a/pkg/client/restclient/request.go +++ b/pkg/client/restclient/request.go @@ -32,21 +32,21 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" pathvalidation "k8s.io/kubernetes/pkg/api/validation/path" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/metrics" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" ) var ( diff --git a/pkg/client/restclient/request_test.go b/pkg/client/restclient/request_test.go index 4d4660c5d2e..b71ef39847b 100755 --- a/pkg/client/restclient/request_test.go +++ b/pkg/client/restclient/request_test.go @@ -33,24 +33,24 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/intstr" utiltesting "k8s.io/kubernetes/pkg/util/testing" - "k8s.io/kubernetes/pkg/watch" ) func TestNewRequestSetsAccept(t *testing.T) { diff --git a/pkg/client/restclient/url_utils.go b/pkg/client/restclient/url_utils.go index d62e19a0577..dba06136339 100644 --- a/pkg/client/restclient/url_utils.go +++ b/pkg/client/restclient/url_utils.go @@ -21,7 +21,7 @@ import ( "net/url" "path" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/schema" ) // DefaultServerURL converts a host, host:port, or URL string to the default base server API path diff --git a/pkg/client/restclient/url_utils_test.go b/pkg/client/restclient/url_utils_test.go index ac9de5b42ad..59ea1a2040e 100644 --- a/pkg/client/restclient/url_utils_test.go +++ b/pkg/client/restclient/url_utils_test.go @@ -20,8 +20,8 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestValidatesHostParameter(t *testing.T) { diff --git a/pkg/client/restclient/urlbackoff.go b/pkg/client/restclient/urlbackoff.go index 24a89ed975c..595f22c41ad 100644 --- a/pkg/client/restclient/urlbackoff.go +++ b/pkg/client/restclient/urlbackoff.go @@ -21,8 +21,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/sets" ) // Set of resp. Codes that we backoff for. diff --git a/pkg/client/restclient/versions.go b/pkg/client/restclient/versions.go index 63e1e1fd941..55b2ca08d93 100644 --- a/pkg/client/restclient/versions.go +++ b/pkg/client/restclient/versions.go @@ -22,7 +22,7 @@ import ( "net/http" "path" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) const ( diff --git a/pkg/client/restclient/watch/BUILD b/pkg/client/restclient/watch/BUILD index df51901e318..d28d6181da7 100644 --- a/pkg/client/restclient/watch/BUILD +++ b/pkg/client/restclient/watch/BUILD @@ -16,10 +16,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -33,12 +33,12 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient/watch:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/restclient/watch/decoder.go b/pkg/client/restclient/watch/decoder.go index 77bebc9b205..73bb63addf0 100644 --- a/pkg/client/restclient/watch/decoder.go +++ b/pkg/client/restclient/watch/decoder.go @@ -19,10 +19,10 @@ package versioned import ( "fmt" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/watch" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/watch" ) // Decoder implements the watch.Decoder interface for io.ReadClosers that diff --git a/pkg/client/restclient/watch/decoder_test.go b/pkg/client/restclient/watch/decoder_test.go index 7c2dcf18364..f3af5bcd06b 100644 --- a/pkg/client/restclient/watch/decoder_test.go +++ b/pkg/client/restclient/watch/decoder_test.go @@ -22,14 +22,14 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) func TestDecoder(t *testing.T) { diff --git a/pkg/client/restclient/watch/encoder.go b/pkg/client/restclient/watch/encoder.go index 72d95ca6eef..e55aa12d9b4 100644 --- a/pkg/client/restclient/watch/encoder.go +++ b/pkg/client/restclient/watch/encoder.go @@ -19,10 +19,10 @@ package versioned import ( "encoding/json" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/watch" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/watch" ) // Encoder serializes watch.Events into io.Writer. The internal objects diff --git a/pkg/client/restclient/watch/encoder_test.go b/pkg/client/restclient/watch/encoder_test.go index 561e3eab8d9..5e204d70dc1 100644 --- a/pkg/client/restclient/watch/encoder_test.go +++ b/pkg/client/restclient/watch/encoder_test.go @@ -21,12 +21,12 @@ import ( "io/ioutil" "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/watch" ) func TestEncodeDecodeRoundTrip(t *testing.T) { diff --git a/pkg/client/retry/BUILD b/pkg/client/retry/BUILD index 5dad33d8f91..154c2192e0f 100644 --- a/pkg/client/retry/BUILD +++ b/pkg/client/retry/BUILD @@ -14,7 +14,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -25,8 +25,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/client/retry/util.go b/pkg/client/retry/util.go index 0732b964cba..24c149dbc66 100644 --- a/pkg/client/retry/util.go +++ b/pkg/client/retry/util.go @@ -19,8 +19,8 @@ package retry import ( "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/util/wait" ) // DefaultRetry is the recommended retry for a conflict where multiple clients diff --git a/pkg/client/retry/util_test.go b/pkg/client/retry/util_test.go index 6be5d005fde..b81309bda5e 100644 --- a/pkg/client/retry/util_test.go +++ b/pkg/client/retry/util_test.go @@ -20,9 +20,9 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/wait" ) func TestRetryOnConflict(t *testing.T) { diff --git a/pkg/client/testing/cache/BUILD b/pkg/client/testing/cache/BUILD index 6a219943c17..1d94e261aab 100644 --- a/pkg/client/testing/cache/BUILD +++ b/pkg/client/testing/cache/BUILD @@ -14,11 +14,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -30,7 +30,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/testing/cache/fake_controller_source.go b/pkg/client/testing/cache/fake_controller_source.go index a45defd54cb..f2a7a6e446f 100644 --- a/pkg/client/testing/cache/fake_controller_source.go +++ b/pkg/client/testing/cache/fake_controller_source.go @@ -22,12 +22,12 @@ import ( "strconv" "sync" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/watch" ) func NewFakeControllerSource() *FakeControllerSource { diff --git a/pkg/client/testing/cache/fake_controller_source_test.go b/pkg/client/testing/cache/fake_controller_source_test.go index 2f9efade5dd..4fe40a21b19 100644 --- a/pkg/client/testing/cache/fake_controller_source_test.go +++ b/pkg/client/testing/cache/fake_controller_source_test.go @@ -20,9 +20,9 @@ import ( "sync" "testing" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/watch" ) // ensure the watch delivers the requested and only the requested items. diff --git a/pkg/client/testing/core/BUILD b/pkg/client/testing/core/BUILD index e6c11a6b133..a5aee33cce7 100644 --- a/pkg/client/testing/core/BUILD +++ b/pkg/client/testing/core/BUILD @@ -19,17 +19,17 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/version:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -39,8 +39,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/client/testing/core/actions.go b/pkg/client/testing/core/actions.go index a9dc317e7de..813023feb7c 100644 --- a/pkg/client/testing/core/actions.go +++ b/pkg/client/testing/core/actions.go @@ -21,12 +21,12 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) func NewRootGetAction(resource schema.GroupVersionResource, name string) GetActionImpl { diff --git a/pkg/client/testing/core/fake.go b/pkg/client/testing/core/fake.go index 235cca7e235..37d1efd3c61 100644 --- a/pkg/client/testing/core/fake.go +++ b/pkg/client/testing/core/fake.go @@ -20,12 +20,12 @@ import ( "fmt" "sync" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" - "k8s.io/kubernetes/pkg/watch" ) // Fake implements client.Interface. Meant to be embedded into a struct to get diff --git a/pkg/client/testing/core/fake_test.go b/pkg/client/testing/core/fake_test.go index d8b65897cf7..2d24a298732 100644 --- a/pkg/client/testing/core/fake_test.go +++ b/pkg/client/testing/core/fake_test.go @@ -19,8 +19,8 @@ package core_test import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientsetfake "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" ) diff --git a/pkg/client/testing/core/fixture.go b/pkg/client/testing/core/fixture.go index 585bba4f856..e7cbec6cd9d 100644 --- a/pkg/client/testing/core/fixture.go +++ b/pkg/client/testing/core/fixture.go @@ -20,14 +20,14 @@ import ( "fmt" "sync" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/watch" ) // ObjectTracker keeps track of objects. It is intended to be used to diff --git a/pkg/client/transport/BUILD b/pkg/client/transport/BUILD index 1f0bd535fe9..d2f4eaa2d1e 100644 --- a/pkg/client/transport/BUILD +++ b/pkg/client/transport/BUILD @@ -18,8 +18,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/client/transport/cache.go b/pkg/client/transport/cache.go index eedfd3d78b3..8d76def345d 100644 --- a/pkg/client/transport/cache.go +++ b/pkg/client/transport/cache.go @@ -23,7 +23,7 @@ import ( "sync" "time" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" ) // TlsTransportCache caches TLS http.RoundTrippers different configurations. The diff --git a/pkg/client/typed/discovery/BUILD b/pkg/client/typed/discovery/BUILD index 19a85a4a430..cf15409e3af 100644 --- a/pkg/client/typed/discovery/BUILD +++ b/pkg/client/typed/discovery/BUILD @@ -20,18 +20,18 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/version:go_default_library", "//plugin/pkg/client/auth:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -46,15 +46,15 @@ go_test( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -65,14 +65,14 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", "//pkg/client/typed/discovery:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/client/typed/discovery/discovery_client.go b/pkg/client/typed/discovery/discovery_client.go index 1fe460d5315..6212fd549ad 100644 --- a/pkg/client/typed/discovery/discovery_client.go +++ b/pkg/client/typed/discovery/discovery_client.go @@ -25,14 +25,14 @@ import ( "github.com/emicklei/go-restful/swagger" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/version" ) diff --git a/pkg/client/typed/discovery/discovery_client_test.go b/pkg/client/typed/discovery/discovery_client_test.go index 61adc1cce34..1f1886fb6f7 100644 --- a/pkg/client/typed/discovery/discovery_client_test.go +++ b/pkg/client/typed/discovery/discovery_client_test.go @@ -25,11 +25,11 @@ import ( "github.com/emicklei/go-restful/swagger" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/version" ) diff --git a/pkg/client/typed/discovery/fake/BUILD b/pkg/client/typed/discovery/fake/BUILD index 4432b60a7df..9bf05c7880f 100644 --- a/pkg/client/typed/discovery/fake/BUILD +++ b/pkg/client/typed/discovery/fake/BUILD @@ -13,12 +13,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/client/typed/discovery/fake/discovery.go b/pkg/client/typed/discovery/fake/discovery.go index 2341791ee82..c38f9edf4fb 100644 --- a/pkg/client/typed/discovery/fake/discovery.go +++ b/pkg/client/typed/discovery/fake/discovery.go @@ -21,11 +21,11 @@ import ( "github.com/emicklei/go-restful/swagger" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) diff --git a/pkg/client/typed/discovery/helper.go b/pkg/client/typed/discovery/helper.go index 0d23594d0c2..6e776ca3d2b 100644 --- a/pkg/client/typed/discovery/helper.go +++ b/pkg/client/typed/discovery/helper.go @@ -19,9 +19,9 @@ package discovery import ( "fmt" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/version" // Import solely to initialize client auth plugins. _ "k8s.io/kubernetes/plugin/pkg/client/auth" diff --git a/pkg/client/typed/discovery/helper_blackbox_test.go b/pkg/client/typed/discovery/helper_blackbox_test.go index 4ebfb521e5e..0671f3278d3 100644 --- a/pkg/client/typed/discovery/helper_blackbox_test.go +++ b/pkg/client/typed/discovery/helper_blackbox_test.go @@ -26,17 +26,17 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + uapi "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - uapi "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) func objBody(object interface{}) io.ReadCloser { diff --git a/pkg/client/typed/discovery/restmapper.go b/pkg/client/typed/discovery/restmapper.go index 231905c5304..b4587e3695a 100644 --- a/pkg/client/typed/discovery/restmapper.go +++ b/pkg/client/typed/discovery/restmapper.go @@ -20,10 +20,10 @@ import ( "fmt" "sync" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/golang/glog" ) diff --git a/pkg/client/typed/discovery/restmapper_test.go b/pkg/client/typed/discovery/restmapper_test.go index ba90b8ca7de..4ef321f2d30 100644 --- a/pkg/client/typed/discovery/restmapper_test.go +++ b/pkg/client/typed/discovery/restmapper_test.go @@ -20,12 +20,12 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" "github.com/emicklei/go-restful/swagger" diff --git a/pkg/client/typed/discovery/unstructured.go b/pkg/client/typed/discovery/unstructured.go index 5d791047a22..bae5469ae57 100644 --- a/pkg/client/typed/discovery/unstructured.go +++ b/pkg/client/typed/discovery/unstructured.go @@ -19,8 +19,8 @@ package discovery import ( "fmt" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // UnstructuredObjectTyper provides a runtime.ObjectTyper implmentation for diff --git a/pkg/client/typed/dynamic/BUILD b/pkg/client/typed/dynamic/BUILD index 27b4e6e783d..4c7bccfcc37 100644 --- a/pkg/client/typed/dynamic/BUILD +++ b/pkg/client/typed/dynamic/BUILD @@ -18,17 +18,17 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/conversion/queryparams:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", "//pkg/util/flowcontrol:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/conversion/queryparams", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -43,14 +43,14 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/watch:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/client/typed/dynamic/client.go b/pkg/client/typed/dynamic/client.go index 5039a988982..9e064bbb8bb 100644 --- a/pkg/client/typed/dynamic/client.go +++ b/pkg/client/typed/dynamic/client.go @@ -26,17 +26,17 @@ import ( "net/url" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/conversion/queryparams" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/conversion/queryparams" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/watch" ) // Client is a Kubernetes client that allows you to access metadata diff --git a/pkg/client/typed/dynamic/client_pool.go b/pkg/client/typed/dynamic/client_pool.go index 9b21f8a1ea5..8b06a1a1777 100644 --- a/pkg/client/typed/dynamic/client_pool.go +++ b/pkg/client/typed/dynamic/client_pool.go @@ -19,9 +19,9 @@ package dynamic import ( "sync" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime/schema" ) // ClientPool manages a pool of dynamic clients. diff --git a/pkg/client/typed/dynamic/client_test.go b/pkg/client/typed/dynamic/client_test.go index c7a17a438f1..d313cf59bc4 100644 --- a/pkg/client/typed/dynamic/client_test.go +++ b/pkg/client/typed/dynamic/client_test.go @@ -25,16 +25,16 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/client/restclient" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/watch" ) func getJSON(version, kind, name string) []byte { diff --git a/pkg/client/typed/dynamic/dynamic_util.go b/pkg/client/typed/dynamic/dynamic_util.go index 802f98329bd..c834dbb0dff 100644 --- a/pkg/client/typed/dynamic/dynamic_util.go +++ b/pkg/client/typed/dynamic/dynamic_util.go @@ -19,11 +19,11 @@ package dynamic import ( "fmt" - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // VersionInterfaces provides an object converter and metadata diff --git a/pkg/client/typed/dynamic/dynamic_util_test.go b/pkg/client/typed/dynamic/dynamic_util_test.go index d53bc69fb68..cdc68e018b0 100644 --- a/pkg/client/typed/dynamic/dynamic_util_test.go +++ b/pkg/client/typed/dynamic/dynamic_util_test.go @@ -19,8 +19,8 @@ package dynamic import ( "testing" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" ) func TestDiscoveryRESTMapper(t *testing.T) { diff --git a/pkg/client/unversioned/BUILD b/pkg/client/unversioned/BUILD index 40dae8075c3..8d62547dc19 100644 --- a/pkg/client/unversioned/BUILD +++ b/pkg/client/unversioned/BUILD @@ -18,20 +18,20 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/apps/internalversion:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/batch/internalversion:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//plugin/pkg/client/auth:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -43,11 +43,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/client/unversioned/clientcmd/BUILD b/pkg/client/unversioned/clientcmd/BUILD index 38ff1984ab9..1db92efe720 100644 --- a/pkg/client/unversioned/clientcmd/BUILD +++ b/pkg/client/unversioned/clientcmd/BUILD @@ -28,15 +28,15 @@ go_library( "//pkg/client/unversioned/auth:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/client/unversioned/clientcmd/api/latest:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/homedir:go_default_library", - "//pkg/util/validation:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/howeyc/gopass", "//vendor:github.com/imdario/mergo", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/validation", ], ) @@ -54,10 +54,10 @@ go_test( "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/client/unversioned/clientcmd/api/latest:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/errors:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/imdario/mergo", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/pkg/client/unversioned/clientcmd/api/BUILD b/pkg/client/unversioned/clientcmd/api/BUILD index ebabd07de18..742c234419b 100644 --- a/pkg/client/unversioned/clientcmd/api/BUILD +++ b/pkg/client/unversioned/clientcmd/api/BUILD @@ -17,8 +17,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/client/unversioned/clientcmd/api/latest/BUILD b/pkg/client/unversioned/clientcmd/api/latest/BUILD index d270a0e2d89..582d4bf3553 100644 --- a/pkg/client/unversioned/clientcmd/api/latest/BUILD +++ b/pkg/client/unversioned/clientcmd/api/latest/BUILD @@ -14,10 +14,10 @@ go_library( deps = [ "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/client/unversioned/clientcmd/api/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/json:go_default_library", - "//pkg/runtime/serializer/versioning:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/versioning", ], ) diff --git a/pkg/client/unversioned/clientcmd/api/latest/latest.go b/pkg/client/unversioned/clientcmd/api/latest/latest.go index 2f56576c58a..0f899d51d3d 100644 --- a/pkg/client/unversioned/clientcmd/api/latest/latest.go +++ b/pkg/client/unversioned/clientcmd/api/latest/latest.go @@ -17,12 +17,12 @@ limitations under the License. package latest import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/runtime/serializer/versioning" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/json" - "k8s.io/kubernetes/pkg/runtime/serializer/versioning" ) // Version is the string that represents the current external default version. diff --git a/pkg/client/unversioned/clientcmd/api/register.go b/pkg/client/unversioned/clientcmd/api/register.go index 705963566ce..2eec3881cdc 100644 --- a/pkg/client/unversioned/clientcmd/api/register.go +++ b/pkg/client/unversioned/clientcmd/api/register.go @@ -17,8 +17,8 @@ limitations under the License. package api import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // SchemeGroupVersion is group version used to register these objects diff --git a/pkg/client/unversioned/clientcmd/api/types.go b/pkg/client/unversioned/clientcmd/api/types.go index c7ddec88739..fa9d40a9bbc 100644 --- a/pkg/client/unversioned/clientcmd/api/types.go +++ b/pkg/client/unversioned/clientcmd/api/types.go @@ -17,7 +17,7 @@ limitations under the License. package api import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) // Where possible, json tags match the cli argument names. diff --git a/pkg/client/unversioned/clientcmd/api/v1/BUILD b/pkg/client/unversioned/clientcmd/api/v1/BUILD index 99f4036e668..dbae4de1b7c 100644 --- a/pkg/client/unversioned/clientcmd/api/v1/BUILD +++ b/pkg/client/unversioned/clientcmd/api/v1/BUILD @@ -17,9 +17,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/client/unversioned/clientcmd/api:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/client/unversioned/clientcmd/api/v1/conversion.go b/pkg/client/unversioned/clientcmd/api/v1/conversion.go index f21072e35d7..602c07988df 100644 --- a/pkg/client/unversioned/clientcmd/api/v1/conversion.go +++ b/pkg/client/unversioned/clientcmd/api/v1/conversion.go @@ -19,9 +19,9 @@ package v1 import ( "sort" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" ) func addConversionFuncs(scheme *runtime.Scheme) error { diff --git a/pkg/client/unversioned/clientcmd/api/v1/register.go b/pkg/client/unversioned/clientcmd/api/v1/register.go index c525effeff8..bc87706db31 100644 --- a/pkg/client/unversioned/clientcmd/api/v1/register.go +++ b/pkg/client/unversioned/clientcmd/api/v1/register.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // SchemeGroupVersion is group version used to register these objects diff --git a/pkg/client/unversioned/clientcmd/api/v1/types.go b/pkg/client/unversioned/clientcmd/api/v1/types.go index 035fbdf76c5..a0777ba53e1 100644 --- a/pkg/client/unversioned/clientcmd/api/v1/types.go +++ b/pkg/client/unversioned/clientcmd/api/v1/types.go @@ -17,7 +17,7 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" ) // Where possible, json tags match the cli argument names. diff --git a/pkg/client/unversioned/clientcmd/loader.go b/pkg/client/unversioned/clientcmd/loader.go index b20604fc4fc..822e0aff355 100644 --- a/pkg/client/unversioned/clientcmd/loader.go +++ b/pkg/client/unversioned/clientcmd/loader.go @@ -30,12 +30,12 @@ import ( "github.com/golang/glog" "github.com/imdario/mergo" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/client/restclient" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" clientcmdlatest "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/latest" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/homedir" ) diff --git a/pkg/client/unversioned/clientcmd/loader_test.go b/pkg/client/unversioned/clientcmd/loader_test.go index 501850ba053..078aeddcf98 100644 --- a/pkg/client/unversioned/clientcmd/loader_test.go +++ b/pkg/client/unversioned/clientcmd/loader_test.go @@ -28,9 +28,9 @@ import ( "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/runtime" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" clientcmdlatest "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/latest" - "k8s.io/kubernetes/pkg/runtime" ) var ( diff --git a/pkg/client/unversioned/clientcmd/validation.go b/pkg/client/unversioned/clientcmd/validation.go index 63f8adec629..db19b990205 100644 --- a/pkg/client/unversioned/clientcmd/validation.go +++ b/pkg/client/unversioned/clientcmd/validation.go @@ -23,9 +23,9 @@ import ( "reflect" "strings" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/validation" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/validation" ) var ( diff --git a/pkg/client/unversioned/clientcmd/validation_test.go b/pkg/client/unversioned/clientcmd/validation_test.go index f760c5b4f65..391b049fc25 100644 --- a/pkg/client/unversioned/clientcmd/validation_test.go +++ b/pkg/client/unversioned/clientcmd/validation_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" + utilerrors "k8s.io/apimachinery/pkg/util/errors" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) func TestConfirmUsableBadInfoButOkConfig(t *testing.T) { diff --git a/pkg/client/unversioned/conditions.go b/pkg/client/unversioned/conditions.go index c5ed6a806d5..7e48142a3f9 100644 --- a/pkg/client/unversioned/conditions.go +++ b/pkg/client/unversioned/conditions.go @@ -19,19 +19,19 @@ package unversioned import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" appsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion" batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) // ControllerHasDesiredReplicas returns a condition that will be true if and only if diff --git a/pkg/client/unversioned/helper.go b/pkg/client/unversioned/helper.go index 59a992ad75e..abc21bde26f 100644 --- a/pkg/client/unversioned/helper.go +++ b/pkg/client/unversioned/helper.go @@ -17,8 +17,8 @@ limitations under the License. package unversioned import ( + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" // Import solely to initialize client auth plugins. _ "k8s.io/kubernetes/plugin/pkg/client/auth" diff --git a/pkg/client/unversioned/helper_test.go b/pkg/client/unversioned/helper_test.go index ef32bc37702..b35a30efb3f 100644 --- a/pkg/client/unversioned/helper_test.go +++ b/pkg/client/unversioned/helper_test.go @@ -23,13 +23,13 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestSetKubernetesDefaults(t *testing.T) { diff --git a/pkg/client/unversioned/portforward/BUILD b/pkg/client/unversioned/portforward/BUILD index ca9f956bda0..29cafd31d1d 100644 --- a/pkg/client/unversioned/portforward/BUILD +++ b/pkg/client/unversioned/portforward/BUILD @@ -19,7 +19,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/kubelet/server/portforward:go_default_library", "//pkg/util/httpstream:go_default_library", - "//pkg/util/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -32,8 +32,8 @@ go_test( "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/remotecommand:go_default_library", "//pkg/kubelet/server/portforward:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/httpstream:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/client/unversioned/portforward/portforward.go b/pkg/client/unversioned/portforward/portforward.go index d746125d0f5..33230a810f2 100644 --- a/pkg/client/unversioned/portforward/portforward.go +++ b/pkg/client/unversioned/portforward/portforward.go @@ -27,10 +27,10 @@ import ( "strings" "sync" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/kubelet/server/portforward" "k8s.io/kubernetes/pkg/util/httpstream" - "k8s.io/kubernetes/pkg/util/runtime" ) // PortForwarder knows how to listen for local connections and forward them to diff --git a/pkg/client/unversioned/portforward/portforward_test.go b/pkg/client/unversioned/portforward/portforward_test.go index 8a0d57b0952..52ab89a56ef 100644 --- a/pkg/client/unversioned/portforward/portforward_test.go +++ b/pkg/client/unversioned/portforward/portforward_test.go @@ -31,10 +31,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/remotecommand" "k8s.io/kubernetes/pkg/kubelet/server/portforward" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/httpstream" ) diff --git a/pkg/client/unversioned/remotecommand/BUILD b/pkg/client/unversioned/remotecommand/BUILD index 15566cb44ad..1f886caa269 100644 --- a/pkg/client/unversioned/remotecommand/BUILD +++ b/pkg/client/unversioned/remotecommand/BUILD @@ -22,16 +22,16 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/transport:go_default_library", "//pkg/kubelet/server/remotecommand:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/httpstream/spdy:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/term:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -49,12 +49,12 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/kubelet/server/remotecommand:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/term:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/client/unversioned/remotecommand/errorstream.go b/pkg/client/unversioned/remotecommand/errorstream.go index 9d32a54992e..360276b6528 100644 --- a/pkg/client/unversioned/remotecommand/errorstream.go +++ b/pkg/client/unversioned/remotecommand/errorstream.go @@ -21,7 +21,7 @@ import ( "io" "io/ioutil" - "k8s.io/kubernetes/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/runtime" ) // errorStreamDecoder interprets the data on the error channel and creates a go error object from it. diff --git a/pkg/client/unversioned/remotecommand/remotecommand_test.go b/pkg/client/unversioned/remotecommand/remotecommand_test.go index 16bb1357176..be6cf93afab 100644 --- a/pkg/client/unversioned/remotecommand/remotecommand_test.go +++ b/pkg/client/unversioned/remotecommand/remotecommand_test.go @@ -31,12 +31,12 @@ import ( "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/client/unversioned/remotecommand/v2.go b/pkg/client/unversioned/remotecommand/v2.go index 88094b10b81..0e5de492945 100644 --- a/pkg/client/unversioned/remotecommand/v2.go +++ b/pkg/client/unversioned/remotecommand/v2.go @@ -23,8 +23,8 @@ import ( "net/http" "sync" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/runtime" ) // streamProtocolV2 implements version 2 of the streaming protocol for attach diff --git a/pkg/client/unversioned/remotecommand/v2_test.go b/pkg/client/unversioned/remotecommand/v2_test.go index 5b5fad4b004..106c27ce7fa 100644 --- a/pkg/client/unversioned/remotecommand/v2_test.go +++ b/pkg/client/unversioned/remotecommand/v2_test.go @@ -24,9 +24,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/util/httpstream" - "k8s.io/kubernetes/pkg/util/wait" ) type fakeReader struct { diff --git a/pkg/client/unversioned/remotecommand/v3.go b/pkg/client/unversioned/remotecommand/v3.go index 0716d2b0736..24b609922cb 100644 --- a/pkg/client/unversioned/remotecommand/v3.go +++ b/pkg/client/unversioned/remotecommand/v3.go @@ -22,8 +22,8 @@ import ( "net/http" "sync" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/runtime" ) // streamProtocolV3 implements version 3 of the streaming protocol for attach diff --git a/pkg/client/unversioned/remotecommand/v4.go b/pkg/client/unversioned/remotecommand/v4.go index f88cd69e5ee..73768a8feb2 100644 --- a/pkg/client/unversioned/remotecommand/v4.go +++ b/pkg/client/unversioned/remotecommand/v4.go @@ -23,7 +23,7 @@ import ( "strconv" "sync" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" "k8s.io/kubernetes/pkg/util/exec" ) diff --git a/pkg/client/unversioned/testclient/simple/BUILD b/pkg/client/unversioned/testclient/simple/BUILD index b387854e089..b9f9c6c50d1 100644 --- a/pkg/client/unversioned/testclient/simple/BUILD +++ b/pkg/client/unversioned/testclient/simple/BUILD @@ -14,14 +14,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/client/unversioned/testclient/simple/simple_testclient.go b/pkg/client/unversioned/testclient/simple/simple_testclient.go index b3d4547bfb4..edf0da1e3d5 100644 --- a/pkg/client/unversioned/testclient/simple/simple_testclient.go +++ b/pkg/client/unversioned/testclient/simple/simple_testclient.go @@ -24,15 +24,15 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/cloudprovider/BUILD b/pkg/cloudprovider/BUILD index a49a867ce43..147781b8a73 100644 --- a/pkg/cloudprovider/BUILD +++ b/pkg/cloudprovider/BUILD @@ -17,8 +17,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/cloud.go b/pkg/cloudprovider/cloud.go index 4a3d9d9e55f..c6a91394aae 100644 --- a/pkg/cloudprovider/cloud.go +++ b/pkg/cloudprovider/cloud.go @@ -21,8 +21,8 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) // Interface is an abstract, pluggable interface for cloud providers. diff --git a/pkg/cloudprovider/providers/aws/BUILD b/pkg/cloudprovider/providers/aws/BUILD index c7eab32e58c..e1f241d6c08 100644 --- a/pkg/cloudprovider/providers/aws/BUILD +++ b/pkg/cloudprovider/providers/aws/BUILD @@ -26,12 +26,8 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/credentialprovider/aws:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/aws/aws-sdk-go/aws", "//vendor:github.com/aws/aws-sdk-go/aws/awserr", @@ -45,6 +41,10 @@ go_library( "//vendor:github.com/aws/aws-sdk-go/service/elb", "//vendor:github.com/golang/glog", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -59,9 +59,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/aws/aws-sdk-go/aws", "//vendor:github.com/aws/aws-sdk-go/service/autoscaling", "//vendor:github.com/aws/aws-sdk-go/service/ec2", @@ -69,6 +66,9 @@ go_test( "//vendor:github.com/golang/glog", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/mock", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/cloudprovider/providers/aws/aws.go b/pkg/cloudprovider/providers/aws/aws.go index 259c96b4d68..93b61525cc9 100644 --- a/pkg/cloudprovider/providers/aws/aws.go +++ b/pkg/cloudprovider/providers/aws/aws.go @@ -41,14 +41,14 @@ import ( "github.com/aws/aws-sdk-go/service/elb" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/service" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/cloudprovider" awscredentials "k8s.io/kubernetes/pkg/credentialprovider/aws" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/cloudprovider/providers/aws/aws_loadbalancer.go b/pkg/cloudprovider/providers/aws/aws_loadbalancer.go index bdf90c19ae1..fef1bd238e7 100644 --- a/pkg/cloudprovider/providers/aws/aws_loadbalancer.go +++ b/pkg/cloudprovider/providers/aws/aws_loadbalancer.go @@ -25,8 +25,8 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/elb" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" ) const ProxyProtocolPolicyName = "k8s-proxyprotocol-enabled" diff --git a/pkg/cloudprovider/providers/aws/aws_test.go b/pkg/cloudprovider/providers/aws/aws_test.go index dbccacf5948..242317021f9 100644 --- a/pkg/cloudprovider/providers/aws/aws_test.go +++ b/pkg/cloudprovider/providers/aws/aws_test.go @@ -28,13 +28,13 @@ import ( "github.com/aws/aws-sdk-go/service/autoscaling" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/sets" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) const TestClusterId = "clusterid.test" diff --git a/pkg/cloudprovider/providers/aws/aws_utils.go b/pkg/cloudprovider/providers/aws/aws_utils.go index 1ccf3ac1d81..443cbecffe5 100644 --- a/pkg/cloudprovider/providers/aws/aws_utils.go +++ b/pkg/cloudprovider/providers/aws/aws_utils.go @@ -18,7 +18,7 @@ package aws import ( "github.com/aws/aws-sdk-go/aws" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) func stringSetToPointers(in sets.String) []*string { diff --git a/pkg/cloudprovider/providers/azure/BUILD b/pkg/cloudprovider/providers/azure/BUILD index 8a87451e89c..53b3631ec7e 100644 --- a/pkg/cloudprovider/providers/azure/BUILD +++ b/pkg/cloudprovider/providers/azure/BUILD @@ -28,8 +28,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/Azure/azure-sdk-for-go/arm/compute", "//vendor:github.com/Azure/azure-sdk-for-go/arm/network", @@ -41,6 +39,8 @@ go_library( "//vendor:github.com/ghodss/yaml", "//vendor:github.com/golang/glog", "//vendor:github.com/rubiojr/go-vhd/vhd", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) @@ -52,10 +52,10 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/Azure/azure-sdk-for-go/arm/compute", "//vendor:github.com/Azure/azure-sdk-for-go/arm/network", "//vendor:github.com/Azure/go-autorest/autorest/to", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/azure/azure_instances.go b/pkg/cloudprovider/providers/azure/azure_instances.go index b712203d4c3..7ae81f6da0d 100644 --- a/pkg/cloudprovider/providers/azure/azure_instances.go +++ b/pkg/cloudprovider/providers/azure/azure_instances.go @@ -24,7 +24,7 @@ import ( "k8s.io/kubernetes/pkg/cloudprovider" "github.com/Azure/azure-sdk-for-go/arm/compute" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) // NodeAddresses returns the addresses of the specified instance. diff --git a/pkg/cloudprovider/providers/azure/azure_loadbalancer.go b/pkg/cloudprovider/providers/azure/azure_loadbalancer.go index 86c99dd6c33..1f4c1e0c0fe 100644 --- a/pkg/cloudprovider/providers/azure/azure_loadbalancer.go +++ b/pkg/cloudprovider/providers/azure/azure_loadbalancer.go @@ -21,14 +21,14 @@ import ( "strconv" "strings" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" serviceapi "k8s.io/kubernetes/pkg/api/v1/service" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "github.com/Azure/azure-sdk-for-go/arm/network" "github.com/Azure/go-autorest/autorest/to" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) // GetLoadBalancer returns whether the specified load balancer exists, and diff --git a/pkg/cloudprovider/providers/azure/azure_routes.go b/pkg/cloudprovider/providers/azure/azure_routes.go index 2ee6efbd2a4..aab962f7088 100644 --- a/pkg/cloudprovider/providers/azure/azure_routes.go +++ b/pkg/cloudprovider/providers/azure/azure_routes.go @@ -24,7 +24,7 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/network" "github.com/Azure/go-autorest/autorest/to" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) // ListRoutes lists all managed routes that belong to the specified clusterName diff --git a/pkg/cloudprovider/providers/azure/azure_storage.go b/pkg/cloudprovider/providers/azure/azure_storage.go index bf7b11eec2c..c7c9ba4c9f0 100644 --- a/pkg/cloudprovider/providers/azure/azure_storage.go +++ b/pkg/cloudprovider/providers/azure/azure_storage.go @@ -22,8 +22,8 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/compute" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/cloudprovider/providers/azure/azure_test.go b/pkg/cloudprovider/providers/azure/azure_test.go index 13930793707..a9b303c607c 100644 --- a/pkg/cloudprovider/providers/azure/azure_test.go +++ b/pkg/cloudprovider/providers/azure/azure_test.go @@ -21,9 +21,9 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" serviceapi "k8s.io/kubernetes/pkg/api/v1/service" - "k8s.io/kubernetes/pkg/types" "github.com/Azure/azure-sdk-for-go/arm/compute" "github.com/Azure/azure-sdk-for-go/arm/network" diff --git a/pkg/cloudprovider/providers/azure/azure_util.go b/pkg/cloudprovider/providers/azure/azure_util.go index 0c500b071ad..0ac27401623 100644 --- a/pkg/cloudprovider/providers/azure/azure_util.go +++ b/pkg/cloudprovider/providers/azure/azure_util.go @@ -25,7 +25,7 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/compute" "github.com/Azure/azure-sdk-for-go/arm/network" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) const ( diff --git a/pkg/cloudprovider/providers/azure/azure_wrap.go b/pkg/cloudprovider/providers/azure/azure_wrap.go index d0f2417a40a..5468def16a8 100644 --- a/pkg/cloudprovider/providers/azure/azure_wrap.go +++ b/pkg/cloudprovider/providers/azure/azure_wrap.go @@ -22,7 +22,7 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/compute" "github.com/Azure/azure-sdk-for-go/arm/network" "github.com/Azure/go-autorest/autorest" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) // checkExistsFromError inspects an error and returns a true if err is nil, diff --git a/pkg/cloudprovider/providers/fake/BUILD b/pkg/cloudprovider/providers/fake/BUILD index 0cba2276d81..18be23be33b 100644 --- a/pkg/cloudprovider/providers/fake/BUILD +++ b/pkg/cloudprovider/providers/fake/BUILD @@ -17,7 +17,7 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/fake/fake.go b/pkg/cloudprovider/providers/fake/fake.go index ec4e2bc5726..2c7951f5b91 100644 --- a/pkg/cloudprovider/providers/fake/fake.go +++ b/pkg/cloudprovider/providers/fake/fake.go @@ -23,9 +23,9 @@ import ( "regexp" "sync" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) const ProviderName = "fake" diff --git a/pkg/cloudprovider/providers/gce/BUILD b/pkg/cloudprovider/providers/gce/BUILD index 01094d95e1f..677e771b87e 100644 --- a/pkg/cloudprovider/providers/gce/BUILD +++ b/pkg/cloudprovider/providers/gce/BUILD @@ -19,14 +19,9 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/net/sets:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//vendor:cloud.google.com/go/compute/metadata", "//vendor:github.com/golang/glog", @@ -37,6 +32,11 @@ go_library( "//vendor:google.golang.org/api/container/v1", "//vendor:google.golang.org/api/googleapi", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/cloudprovider/providers/gce/gce.go b/pkg/cloudprovider/providers/gce/gce.go index bf430e51bd4..14d53f9e6a6 100644 --- a/pkg/cloudprovider/providers/gce/gce.go +++ b/pkg/cloudprovider/providers/gce/gce.go @@ -30,16 +30,16 @@ import ( "gopkg.in/gcfg.v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" apiservice "k8s.io/kubernetes/pkg/api/v1/service" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/flowcontrol" netsets "k8s.io/kubernetes/pkg/util/net/sets" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" "cloud.google.com/go/compute/metadata" diff --git a/pkg/cloudprovider/providers/mesos/BUILD b/pkg/cloudprovider/providers/mesos/BUILD index 92dd281ab60..4c4aeced39e 100644 --- a/pkg/cloudprovider/providers/mesos/BUILD +++ b/pkg/cloudprovider/providers/mesos/BUILD @@ -21,14 +21,14 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/mesos/mesos-go/detector", "//vendor:github.com/mesos/mesos-go/detector/zoo", "//vendor:github.com/mesos/mesos-go/mesosproto", "//vendor:golang.org/x/net/context", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) @@ -43,12 +43,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/mesos/mesos-go/detector", "//vendor:github.com/mesos/mesos-go/mesosutil", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/cloudprovider/providers/mesos/client.go b/pkg/cloudprovider/providers/mesos/client.go index cfb207b6f09..88207dbc65e 100644 --- a/pkg/cloudprovider/providers/mesos/client.go +++ b/pkg/cloudprovider/providers/mesos/client.go @@ -31,9 +31,9 @@ import ( "github.com/mesos/mesos-go/detector" mesos "github.com/mesos/mesos-go/mesosproto" "golang.org/x/net/context" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - utilnet "k8s.io/kubernetes/pkg/util/net" ) const defaultClusterName = "mesos" diff --git a/pkg/cloudprovider/providers/mesos/client_test.go b/pkg/cloudprovider/providers/mesos/client_test.go index 40bebc5c694..8bcb983e11d 100644 --- a/pkg/cloudprovider/providers/mesos/client_test.go +++ b/pkg/cloudprovider/providers/mesos/client_test.go @@ -30,7 +30,7 @@ import ( "github.com/mesos/mesos-go/mesosutil" "golang.org/x/net/context" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" ) // Test data diff --git a/pkg/cloudprovider/providers/mesos/mesos.go b/pkg/cloudprovider/providers/mesos/mesos.go index 4facb9ecdce..aec6c5cabb9 100644 --- a/pkg/cloudprovider/providers/mesos/mesos.go +++ b/pkg/cloudprovider/providers/mesos/mesos.go @@ -28,9 +28,9 @@ import ( log "github.com/golang/glog" "github.com/mesos/mesos-go/detector" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) const ( diff --git a/pkg/cloudprovider/providers/mesos/mesos_test.go b/pkg/cloudprovider/providers/mesos/mesos_test.go index 82edd40e7e8..cd80fdba95c 100644 --- a/pkg/cloudprovider/providers/mesos/mesos_test.go +++ b/pkg/cloudprovider/providers/mesos/mesos_test.go @@ -24,8 +24,8 @@ import ( "time" log "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) func TestIPAddress(t *testing.T) { diff --git a/pkg/cloudprovider/providers/openstack/BUILD b/pkg/cloudprovider/providers/openstack/BUILD index cba40b5d4fb..265ab96cf4c 100644 --- a/pkg/cloudprovider/providers/openstack/BUILD +++ b/pkg/cloudprovider/providers/openstack/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/volume:go_default_library", @@ -54,6 +53,7 @@ go_library( "//vendor:github.com/rackspace/gophercloud/openstack/networking/v2/ports", "//vendor:github.com/rackspace/gophercloud/pagination", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -69,10 +69,10 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/rand:go_default_library", "//vendor:github.com/rackspace/gophercloud", "//vendor:github.com/rackspace/gophercloud/openstack/compute/v2/servers", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/openstack/openstack.go b/pkg/cloudprovider/providers/openstack/openstack.go index aab4fd37c36..a69a7a8bf9f 100644 --- a/pkg/cloudprovider/providers/openstack/openstack.go +++ b/pkg/cloudprovider/providers/openstack/openstack.go @@ -36,9 +36,9 @@ import ( "gopkg.in/gcfg.v1" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) const ProviderName = "openstack" diff --git a/pkg/cloudprovider/providers/openstack/openstack_instances.go b/pkg/cloudprovider/providers/openstack/openstack_instances.go index 40df290f8d9..515c7776765 100644 --- a/pkg/cloudprovider/providers/openstack/openstack_instances.go +++ b/pkg/cloudprovider/providers/openstack/openstack_instances.go @@ -26,10 +26,10 @@ import ( "github.com/rackspace/gophercloud/openstack/compute/v2/servers" "github.com/rackspace/gophercloud/pagination" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) type Instances struct { diff --git a/pkg/cloudprovider/providers/openstack/openstack_routes.go b/pkg/cloudprovider/providers/openstack/openstack_routes.go index f47c88652c2..ecf62ebd241 100644 --- a/pkg/cloudprovider/providers/openstack/openstack_routes.go +++ b/pkg/cloudprovider/providers/openstack/openstack_routes.go @@ -25,8 +25,8 @@ import ( neutronports "github.com/rackspace/gophercloud/openstack/networking/v2/ports" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) var ErrNoRouterId = errors.New("router-id not set in cloud provider config") diff --git a/pkg/cloudprovider/providers/openstack/openstack_routes_test.go b/pkg/cloudprovider/providers/openstack/openstack_routes_test.go index 9b238dc2727..2cfdc7d8f79 100644 --- a/pkg/cloudprovider/providers/openstack/openstack_routes_test.go +++ b/pkg/cloudprovider/providers/openstack/openstack_routes_test.go @@ -20,8 +20,8 @@ import ( "net" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) func TestRoutes(t *testing.T) { diff --git a/pkg/cloudprovider/providers/ovirt/BUILD b/pkg/cloudprovider/providers/ovirt/BUILD index fcfb60e1f64..fb938caafff 100644 --- a/pkg/cloudprovider/providers/ovirt/BUILD +++ b/pkg/cloudprovider/providers/ovirt/BUILD @@ -15,8 +15,8 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/ovirt/ovirt.go b/pkg/cloudprovider/providers/ovirt/ovirt.go index 19f40a4ca98..a742329f71f 100644 --- a/pkg/cloudprovider/providers/ovirt/ovirt.go +++ b/pkg/cloudprovider/providers/ovirt/ovirt.go @@ -31,9 +31,9 @@ import ( "gopkg.in/gcfg.v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) const ProviderName = "ovirt" diff --git a/pkg/cloudprovider/providers/photon/BUILD b/pkg/cloudprovider/providers/photon/BUILD index e99e71ca929..00a9552d59d 100644 --- a/pkg/cloudprovider/providers/photon/BUILD +++ b/pkg/cloudprovider/providers/photon/BUILD @@ -15,10 +15,10 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/vmware/photon-controller-go-sdk/photon", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -29,8 +29,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/rand:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/photon/photon.go b/pkg/cloudprovider/providers/photon/photon.go index e4b18e4bd7d..2c29f03195f 100644 --- a/pkg/cloudprovider/providers/photon/photon.go +++ b/pkg/cloudprovider/providers/photon/photon.go @@ -34,9 +34,9 @@ import ( "github.com/golang/glog" "github.com/vmware/photon-controller-go-sdk/photon" "gopkg.in/gcfg.v1" + k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - k8stypes "k8s.io/kubernetes/pkg/types" ) const ( diff --git a/pkg/cloudprovider/providers/photon/photon_test.go b/pkg/cloudprovider/providers/photon/photon_test.go index 7106dab2b1e..e3ec563afa1 100644 --- a/pkg/cloudprovider/providers/photon/photon_test.go +++ b/pkg/cloudprovider/providers/photon/photon_test.go @@ -23,8 +23,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/rand" ) diff --git a/pkg/cloudprovider/providers/rackspace/BUILD b/pkg/cloudprovider/providers/rackspace/BUILD index f6c7cd45ca7..895c686b248 100644 --- a/pkg/cloudprovider/providers/rackspace/BUILD +++ b/pkg/cloudprovider/providers/rackspace/BUILD @@ -15,7 +15,6 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/rackspace/gophercloud", "//vendor:github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach", @@ -26,6 +25,7 @@ go_library( "//vendor:github.com/rackspace/gophercloud/rackspace/compute/v2/servers", "//vendor:github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/rackspace/rackspace.go b/pkg/cloudprovider/providers/rackspace/rackspace.go index 93ee58dc030..5939ba3a2e5 100644 --- a/pkg/cloudprovider/providers/rackspace/rackspace.go +++ b/pkg/cloudprovider/providers/rackspace/rackspace.go @@ -40,9 +40,9 @@ import ( "github.com/rackspace/gophercloud/rackspace/compute/v2/servers" "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" ) const ProviderName = "rackspace" diff --git a/pkg/cloudprovider/providers/vsphere/BUILD b/pkg/cloudprovider/providers/vsphere/BUILD index f32ce1e0e49..e8fda0e4375 100644 --- a/pkg/cloudprovider/providers/vsphere/BUILD +++ b/pkg/cloudprovider/providers/vsphere/BUILD @@ -15,8 +15,6 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/vmware/govmomi", "//vendor:github.com/vmware/govmomi/find", @@ -29,6 +27,8 @@ go_library( "//vendor:github.com/vmware/govmomi/vim25/types", "//vendor:golang.org/x/net/context", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -39,9 +39,9 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/rand:go_default_library", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/vsphere/vsphere.go b/pkg/cloudprovider/providers/vsphere/vsphere.go index 3d474160eb9..704a604ace4 100644 --- a/pkg/cloudprovider/providers/vsphere/vsphere.go +++ b/pkg/cloudprovider/providers/vsphere/vsphere.go @@ -42,10 +42,10 @@ import ( "github.com/vmware/govmomi/vim25/types" "golang.org/x/net/context" + k8stypes "k8s.io/apimachinery/pkg/types" + k8runtime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" - k8stypes "k8s.io/kubernetes/pkg/types" - k8runtime "k8s.io/kubernetes/pkg/util/runtime" ) const ( diff --git a/pkg/cloudprovider/providers/vsphere/vsphere_test.go b/pkg/cloudprovider/providers/vsphere/vsphere_test.go index e3159e777ea..65419a895e9 100644 --- a/pkg/cloudprovider/providers/vsphere/vsphere_test.go +++ b/pkg/cloudprovider/providers/vsphere/vsphere_test.go @@ -24,8 +24,8 @@ import ( "testing" "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/rand" ) diff --git a/pkg/controller/BUILD b/pkg/controller/BUILD index 96dc34e0056..6d27906c4e6 100644 --- a/pkg/controller/BUILD +++ b/pkg/controller/BUILD @@ -21,28 +21,28 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/hash:go_default_library", "//pkg/util/integer:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/golang/groupcache/lru", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -55,18 +55,18 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/securitycontext:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/util/uuid:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/certificates/BUILD b/pkg/controller/certificates/BUILD index 1884128ece7..666a6c45487 100644 --- a/pkg/controller/certificates/BUILD +++ b/pkg/controller/certificates/BUILD @@ -27,17 +27,17 @@ go_library( "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/cert:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/cloudflare/cfssl/config", "//vendor:github.com/cloudflare/cfssl/helpers", "//vendor:github.com/cloudflare/cfssl/signer", "//vendor:github.com/cloudflare/cfssl/signer/local", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/certificates/certificate_controller.go b/pkg/controller/certificates/certificate_controller.go index c073481a069..cfb3b1a63c0 100644 --- a/pkg/controller/certificates/certificate_controller.go +++ b/pkg/controller/certificates/certificate_controller.go @@ -20,6 +20,10 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" "k8s.io/kubernetes/pkg/client/cache" @@ -27,11 +31,7 @@ import ( v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/certificates/groupapprove.go b/pkg/controller/certificates/groupapprove.go index 756db9449c6..276b81340c4 100644 --- a/pkg/controller/certificates/groupapprove.go +++ b/pkg/controller/certificates/groupapprove.go @@ -21,10 +21,10 @@ import ( "reflect" "strings" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" clientcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1" certutil "k8s.io/kubernetes/pkg/util/cert" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" ) // groupApprover implements AutoApprover for signing Kubelet certificates. diff --git a/pkg/controller/client_builder.go b/pkg/controller/client_builder.go index a6304e44594..82848048128 100644 --- a/pkg/controller/client_builder.go +++ b/pkg/controller/client_builder.go @@ -20,18 +20,18 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/serviceaccount" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/cloud/BUILD b/pkg/controller/cloud/BUILD index 2a63cf63fec..dd3cc6c78f6 100644 --- a/pkg/controller/cloud/BUILD +++ b/pkg/controller/cloud/BUILD @@ -14,16 +14,16 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -34,7 +34,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/record:go_default_library", "//pkg/cloudprovider:go_default_library", @@ -42,8 +41,9 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/controller/node/testutil:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/controller/cloud/nodecontroller.go b/pkg/controller/cloud/nodecontroller.go index b91a62011d1..c7abe357f62 100644 --- a/pkg/controller/cloud/nodecontroller.go +++ b/pkg/controller/cloud/nodecontroller.go @@ -22,16 +22,16 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/types" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) type CloudNodeController struct { diff --git a/pkg/controller/cloud/nodecontroller_test.go b/pkg/controller/cloud/nodecontroller_test.go index 1c8c1f1c57b..93e9f62c75b 100644 --- a/pkg/controller/cloud/nodecontroller_test.go +++ b/pkg/controller/cloud/nodecontroller_test.go @@ -25,14 +25,14 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/cloudprovider" fakecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/fake" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/node/testutil" - "k8s.io/kubernetes/pkg/util/wait" ) // This test checks that the node is deleted when kubelet stops reporting diff --git a/pkg/controller/controller_ref_manager.go b/pkg/controller/controller_ref_manager.go index f8c60c3e470..7f28b776c7f 100644 --- a/pkg/controller/controller_ref_manager.go +++ b/pkg/controller/controller_ref_manager.go @@ -21,12 +21,12 @@ import ( "strings" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" ) type PodControllerRefManager struct { diff --git a/pkg/controller/controller_utils.go b/pkg/controller/controller_utils.go index 3ff3ee6e6f6..52364612309 100644 --- a/pkg/controller/controller_utils.go +++ b/pkg/controller/controller_utils.go @@ -23,21 +23,21 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/clock" "k8s.io/kubernetes/pkg/util/integer" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/pkg/controller/controller_utils_test.go b/pkg/controller/controller_utils_test.go index 3bdaf2bbcee..dc2b940650e 100644 --- a/pkg/controller/controller_utils_test.go +++ b/pkg/controller/controller_utils_test.go @@ -27,19 +27,19 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/util/uuid" ) diff --git a/pkg/controller/cronjob/BUILD b/pkg/controller/cronjob/BUILD index d591eb4c6db..ade8fc4f98e 100644 --- a/pkg/controller/cronjob/BUILD +++ b/pkg/controller/cronjob/BUILD @@ -22,20 +22,20 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/robfig/cron", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -50,9 +50,9 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/controller/cronjob/cronjob_controller.go b/pkg/controller/cronjob/cronjob_controller.go index 342e88dbc19..f3f27933e96 100644 --- a/pkg/controller/cronjob/cronjob_controller.go +++ b/pkg/controller/cronjob/cronjob_controller.go @@ -34,19 +34,19 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) // Utilities for dealing with Jobs and CronJobs and time. diff --git a/pkg/controller/cronjob/cronjob_controller_test.go b/pkg/controller/cronjob/cronjob_controller_test.go index 6082fd57ada..e0894c78f54 100644 --- a/pkg/controller/cronjob/cronjob_controller_test.go +++ b/pkg/controller/cronjob/cronjob_controller_test.go @@ -20,11 +20,11 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/types" ) // schedule is hourly on the hour diff --git a/pkg/controller/cronjob/injection.go b/pkg/controller/cronjob/injection.go index b6796eef604..5863cb739c4 100644 --- a/pkg/controller/cronjob/injection.go +++ b/pkg/controller/cronjob/injection.go @@ -20,12 +20,12 @@ import ( "fmt" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/labels" ) // sjControlInterface is an interface that knows how to update CronJob status diff --git a/pkg/controller/cronjob/utils.go b/pkg/controller/cronjob/utils.go index d3912a55e22..a2ba378767d 100644 --- a/pkg/controller/cronjob/utils.go +++ b/pkg/controller/cronjob/utils.go @@ -24,12 +24,12 @@ import ( "github.com/golang/glog" "github.com/robfig/cron" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" ) // Utilities for dealing with Jobs and CronJobs and time. diff --git a/pkg/controller/cronjob/utils_test.go b/pkg/controller/cronjob/utils_test.go index aaa2b869399..20cb9ef42e0 100644 --- a/pkg/controller/cronjob/utils_test.go +++ b/pkg/controller/cronjob/utils_test.go @@ -21,10 +21,10 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" ) func TestGetJobFromTemplate(t *testing.T) { diff --git a/pkg/controller/daemon/BUILD b/pkg/controller/daemon/BUILD index 1f16ee35073..aa62900eff7 100644 --- a/pkg/controller/daemon/BUILD +++ b/pkg/controller/daemon/BUILD @@ -19,7 +19,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -27,15 +26,16 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -48,16 +48,16 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/securitycontext:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/controller/daemon/daemoncontroller.go b/pkg/controller/daemon/daemoncontroller.go index 1e6798b0f6c..28e43f13cfb 100644 --- a/pkg/controller/daemon/daemoncontroller.go +++ b/pkg/controller/daemon/daemoncontroller.go @@ -23,10 +23,14 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" @@ -34,11 +38,7 @@ import ( "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/pkg/controller/daemon/daemoncontroller_test.go b/pkg/controller/daemon/daemoncontroller_test.go index ab8fb5b03d4..81fefe5bb94 100644 --- a/pkg/controller/daemon/daemoncontroller_test.go +++ b/pkg/controller/daemon/daemoncontroller_test.go @@ -20,18 +20,18 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" ) diff --git a/pkg/controller/deployment/BUILD b/pkg/controller/deployment/BUILD index 2ea0d3f1cc2..59a85342d1e 100644 --- a/pkg/controller/deployment/BUILD +++ b/pkg/controller/deployment/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -32,16 +31,17 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/deployment/util:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/integer:go_default_library", "//pkg/util/labels:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -58,19 +58,19 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/record:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/deployment/util:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/uuid:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/controller/deployment/deployment_controller.go b/pkg/controller/deployment/deployment_controller.go index 18b92fdd64d..ff91be56e30 100644 --- a/pkg/controller/deployment/deployment_controller.go +++ b/pkg/controller/deployment/deployment_controller.go @@ -27,11 +27,16 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" @@ -39,12 +44,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" ) diff --git a/pkg/controller/deployment/deployment_controller_test.go b/pkg/controller/deployment/deployment_controller_test.go index 6ef70b78c04..12f9312022a 100644 --- a/pkg/controller/deployment/deployment_controller_test.go +++ b/pkg/controller/deployment/deployment_controller_test.go @@ -20,17 +20,17 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/uuid" ) diff --git a/pkg/controller/deployment/recreate_test.go b/pkg/controller/deployment/recreate_test.go index 60f19548655..8fbcbc1ab0e 100644 --- a/pkg/controller/deployment/recreate_test.go +++ b/pkg/controller/deployment/recreate_test.go @@ -20,12 +20,12 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/runtime" ) func TestScaleDownOldReplicaSets(t *testing.T) { diff --git a/pkg/controller/deployment/sync.go b/pkg/controller/deployment/sync.go index 69354703c0e..d341028d005 100644 --- a/pkg/controller/deployment/sync.go +++ b/pkg/controller/deployment/sync.go @@ -23,15 +23,15 @@ import ( "strconv" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/controller" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/labels" - utilerrors "k8s.io/kubernetes/pkg/util/errors" labelsutil "k8s.io/kubernetes/pkg/util/labels" ) diff --git a/pkg/controller/deployment/sync_test.go b/pkg/controller/deployment/sync_test.go index 747adf9093a..38bce1c3376 100644 --- a/pkg/controller/deployment/sync_test.go +++ b/pkg/controller/deployment/sync_test.go @@ -20,8 +20,8 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" testclient "k8s.io/kubernetes/pkg/client/testing/core" diff --git a/pkg/controller/deployment/util/BUILD b/pkg/controller/deployment/util/BUILD index 19f39f722a0..3a8961b6361 100644 --- a/pkg/controller/deployment/util/BUILD +++ b/pkg/controller/deployment/util/BUILD @@ -19,26 +19,26 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/annotations:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", "//pkg/client/retry:go_default_library", "//pkg/controller:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/hash:go_default_library", "//pkg/util/integer:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/labels:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -54,12 +54,12 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/controller/deployment/util/deployment_util.go b/pkg/controller/deployment/util/deployment_util.go index 6e07822a898..4d596830885 100644 --- a/pkg/controller/deployment/util/deployment_util.go +++ b/pkg/controller/deployment/util/deployment_util.go @@ -25,23 +25,23 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/annotations" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" internalextensions "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/integer" intstrutil "k8s.io/kubernetes/pkg/util/intstr" labelsutil "k8s.io/kubernetes/pkg/util/labels" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/controller/deployment/util/deployment_util_test.go b/pkg/controller/deployment/util/deployment_util_test.go index 60728f01037..d57a3dab837 100644 --- a/pkg/controller/deployment/util/deployment_util_test.go +++ b/pkg/controller/deployment/util/deployment_util_test.go @@ -24,13 +24,13 @@ import ( "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/controller/deployment/util/pod_util.go b/pkg/controller/deployment/util/pod_util.go index 4fb75d1230a..dde13a91757 100644 --- a/pkg/controller/deployment/util/pod_util.go +++ b/pkg/controller/deployment/util/pod_util.go @@ -22,12 +22,12 @@ import ( "github.com/golang/glog" + errorsutil "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/retry" - errorsutil "k8s.io/kubernetes/pkg/util/errors" hashutil "k8s.io/kubernetes/pkg/util/hash" ) diff --git a/pkg/controller/deployment/util/replicaset_util.go b/pkg/controller/deployment/util/replicaset_util.go index 7435dd9d8e0..48938c65177 100644 --- a/pkg/controller/deployment/util/replicaset_util.go +++ b/pkg/controller/deployment/util/replicaset_util.go @@ -21,13 +21,13 @@ import ( "github.com/golang/glog" + errorsutil "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" unversionedextensions "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/retry" - errorsutil "k8s.io/kubernetes/pkg/util/errors" labelsutil "k8s.io/kubernetes/pkg/util/labels" ) diff --git a/pkg/controller/disruption/BUILD b/pkg/controller/disruption/BUILD index c8e5232e74b..7e81e8208cd 100644 --- a/pkg/controller/disruption/BUILD +++ b/pkg/controller/disruption/BUILD @@ -17,7 +17,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -25,14 +24,15 @@ go_library( "//pkg/client/clientset_generated/clientset/typed/policy/v1beta1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -44,10 +44,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/record:go_default_library", @@ -55,6 +53,8 @@ go_test( "//pkg/util/intstr:go_default_library", "//pkg/util/uuid:go_default_library", "//pkg/util/workqueue:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/controller/disruption/disruption.go b/pkg/controller/disruption/disruption.go index c87af632d47..cca99f3af75 100644 --- a/pkg/controller/disruption/disruption.go +++ b/pkg/controller/disruption/disruption.go @@ -21,11 +21,16 @@ import ( "reflect" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -33,13 +38,8 @@ import ( policyclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/policy/v1beta1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/disruption/disruption_test.go b/pkg/controller/disruption/disruption_test.go index 0b5e826bacf..0d1a3cd3075 100644 --- a/pkg/controller/disruption/disruption_test.go +++ b/pkg/controller/disruption/disruption_test.go @@ -23,12 +23,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/record" diff --git a/pkg/controller/endpoint/BUILD b/pkg/controller/endpoint/BUILD index 2c2338abfb4..e25c6ab82c5 100644 --- a/pkg/controller/endpoint/BUILD +++ b/pkg/controller/endpoint/BUILD @@ -20,20 +20,20 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/endpoints:go_default_library", "//pkg/api/v1/pod:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -46,15 +46,15 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/endpoints:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/controller/endpoint/endpoints_controller.go b/pkg/controller/endpoint/endpoints_controller.go index f0def7b3912..ce93a955213 100644 --- a/pkg/controller/endpoint/endpoints_controller.go +++ b/pkg/controller/endpoint/endpoints_controller.go @@ -22,24 +22,24 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/endpoints" podutil "k8s.io/kubernetes/pkg/api/v1/pod" utilpod "k8s.io/kubernetes/pkg/api/v1/pod" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/endpoint/endpoints_controller_test.go b/pkg/controller/endpoint/endpoints_controller_test.go index 52c2c0a3f2e..ec60f5b67c1 100644 --- a/pkg/controller/endpoint/endpoints_controller_test.go +++ b/pkg/controller/endpoint/endpoints_controller_test.go @@ -22,17 +22,17 @@ import ( "net/http/httptest" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + _ "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" endptspkg "k8s.io/kubernetes/pkg/api/v1/endpoints" - "k8s.io/kubernetes/pkg/apimachinery/registered" - _ "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/controller/garbagecollector/BUILD b/pkg/controller/garbagecollector/BUILD index ff241431750..5cb7c9665ab 100644 --- a/pkg/controller/garbagecollector/BUILD +++ b/pkg/controller/garbagecollector/BUILD @@ -20,27 +20,27 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller/garbagecollector/metaonly:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/golang/groupcache/lru", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -52,19 +52,19 @@ go_test( deps = [ "//pkg/api/install:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller/garbagecollector/metaonly:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/json:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/json", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/garbagecollector/garbagecollector.go b/pkg/controller/garbagecollector/garbagecollector.go index e25cede1f98..16571f6849d 100644 --- a/pkg/controller/garbagecollector/garbagecollector.go +++ b/pkg/controller/garbagecollector/garbagecollector.go @@ -23,25 +23,25 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller/garbagecollector/metaonly" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) const ResourceResyncTime time.Duration = 0 diff --git a/pkg/controller/garbagecollector/garbagecollector_test.go b/pkg/controller/garbagecollector/garbagecollector_test.go index 2a905e918f9..fde08aaa221 100644 --- a/pkg/controller/garbagecollector/garbagecollector_test.go +++ b/pkg/controller/garbagecollector/garbagecollector_test.go @@ -27,18 +27,18 @@ import ( _ "k8s.io/kubernetes/pkg/api/install" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/json" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller/garbagecollector/metaonly" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/json" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/workqueue" ) diff --git a/pkg/controller/garbagecollector/metaonly/BUILD b/pkg/controller/garbagecollector/metaonly/BUILD index b89d815f572..1d4a87f5a2b 100644 --- a/pkg/controller/garbagecollector/metaonly/BUILD +++ b/pkg/controller/garbagecollector/metaonly/BUILD @@ -19,12 +19,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -35,12 +35,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/install:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", ], ) diff --git a/pkg/controller/garbagecollector/metaonly/metaonly.go b/pkg/controller/garbagecollector/metaonly/metaonly.go index 690858b5c29..bdde245b493 100644 --- a/pkg/controller/garbagecollector/metaonly/metaonly.go +++ b/pkg/controller/garbagecollector/metaonly/metaonly.go @@ -20,11 +20,11 @@ import ( "fmt" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" ) func (obj *MetadataOnlyObject) GetObjectKind() schema.ObjectKind { return obj } diff --git a/pkg/controller/garbagecollector/metaonly/metaonly_test.go b/pkg/controller/garbagecollector/metaonly/metaonly_test.go index bbf98b3ce87..e8135a4380a 100644 --- a/pkg/controller/garbagecollector/metaonly/metaonly_test.go +++ b/pkg/controller/garbagecollector/metaonly/metaonly_test.go @@ -21,13 +21,13 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" ) func getPod() *v1.Pod { diff --git a/pkg/controller/garbagecollector/metaonly/types.generated.go b/pkg/controller/garbagecollector/metaonly/types.generated.go index fd0c22e5a2f..a60284125c8 100644 --- a/pkg/controller/garbagecollector/metaonly/types.generated.go +++ b/pkg/controller/garbagecollector/metaonly/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/controller/garbagecollector/metaonly/types.go b/pkg/controller/garbagecollector/metaonly/types.go index c83cf630b58..bcbd5e823a2 100644 --- a/pkg/controller/garbagecollector/metaonly/types.go +++ b/pkg/controller/garbagecollector/metaonly/types.go @@ -17,8 +17,8 @@ limitations under the License. package metaonly import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) // MetadataOnlyObject allows decoding only the apiVersion, kind, and metadata fields of diff --git a/pkg/controller/garbagecollector/rate_limiter_helper.go b/pkg/controller/garbagecollector/rate_limiter_helper.go index d4513d3a340..767abf631dd 100644 --- a/pkg/controller/garbagecollector/rate_limiter_helper.go +++ b/pkg/controller/garbagecollector/rate_limiter_helper.go @@ -21,8 +21,8 @@ import ( "strings" "sync" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/client/typed/dynamic" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" ) diff --git a/pkg/controller/garbagecollector/uid_cache.go b/pkg/controller/garbagecollector/uid_cache.go index 70c066c8663..3ad40c32b0f 100644 --- a/pkg/controller/garbagecollector/uid_cache.go +++ b/pkg/controller/garbagecollector/uid_cache.go @@ -20,7 +20,7 @@ import ( "sync" "github.com/golang/groupcache/lru" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) // UIDCache is an LRU cache for uid. diff --git a/pkg/controller/informers/BUILD b/pkg/controller/informers/BUILD index 4f91349c66e..73225373560 100644 --- a/pkg/controller/informers/BUILD +++ b/pkg/controller/informers/BUILD @@ -33,10 +33,10 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/listers/batch/v1:go_default_library", "//pkg/client/listers/core/internalversion:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/informers/batch.go b/pkg/controller/informers/batch.go index 0e28db6df32..09c4dc17977 100644 --- a/pkg/controller/informers/batch.go +++ b/pkg/controller/informers/batch.go @@ -20,13 +20,13 @@ import ( "reflect" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" batchv1listers "k8s.io/kubernetes/pkg/client/listers/batch/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // JobInformer is type of SharedIndexInformer which watches and lists all jobs. diff --git a/pkg/controller/informers/core.go b/pkg/controller/informers/core.go index 7b463087081..7d084e9ab14 100644 --- a/pkg/controller/informers/core.go +++ b/pkg/controller/informers/core.go @@ -20,14 +20,14 @@ import ( "reflect" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" coreinternallisters "k8s.io/kubernetes/pkg/client/listers/core/internalversion" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // PodInformer is type of SharedIndexInformer which watches and lists all pods. diff --git a/pkg/controller/informers/extensions.go b/pkg/controller/informers/extensions.go index f98c7360a1d..911916f8866 100644 --- a/pkg/controller/informers/extensions.go +++ b/pkg/controller/informers/extensions.go @@ -19,11 +19,11 @@ package informers import ( "reflect" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // DaemonSetInformer is type of SharedIndexInformer which watches and lists all pods. diff --git a/pkg/controller/informers/factory.go b/pkg/controller/informers/factory.go index 59e5dfc7ded..2b5bc986acb 100644 --- a/pkg/controller/informers/factory.go +++ b/pkg/controller/informers/factory.go @@ -23,10 +23,10 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" - "k8s.io/kubernetes/pkg/runtime/schema" ) // SharedInformerFactory provides interface which holds unique informers for pods, nodes, namespaces, persistent volume diff --git a/pkg/controller/informers/generic.go b/pkg/controller/informers/generic.go index 20eb9fe832e..0d2f5c1c9c4 100644 --- a/pkg/controller/informers/generic.go +++ b/pkg/controller/informers/generic.go @@ -19,12 +19,12 @@ package informers import ( "fmt" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" rbacinternal "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/runtime/schema" ) // GenericInformer is type of SharedIndexInformer which will locate and delegate to other diff --git a/pkg/controller/informers/rbac.go b/pkg/controller/informers/rbac.go index 913750f6530..99c73d378b1 100644 --- a/pkg/controller/informers/rbac.go +++ b/pkg/controller/informers/rbac.go @@ -19,12 +19,12 @@ package informers import ( "reflect" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) type ClusterRoleInformer interface { diff --git a/pkg/controller/informers/storage.go b/pkg/controller/informers/storage.go index cfff5f41879..33b21fe4b53 100644 --- a/pkg/controller/informers/storage.go +++ b/pkg/controller/informers/storage.go @@ -19,11 +19,11 @@ package informers import ( "reflect" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // StorageClassInformer is type of SharedIndexInformer which watches and lists all storage classes. diff --git a/pkg/controller/job/BUILD b/pkg/controller/job/BUILD index fcb111c05f9..8abea7b265c 100644 --- a/pkg/controller/job/BUILD +++ b/pkg/controller/job/BUILD @@ -20,7 +20,6 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -29,10 +28,11 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -47,9 +47,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", @@ -58,8 +56,10 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/util/rand:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/job/jobcontroller.go b/pkg/controller/job/jobcontroller.go index c47ed0246b6..356dadadff8 100644 --- a/pkg/controller/job/jobcontroller.go +++ b/pkg/controller/job/jobcontroller.go @@ -23,10 +23,12 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" @@ -35,8 +37,6 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" "github.com/golang/glog" diff --git a/pkg/controller/job/jobcontroller_test.go b/pkg/controller/job/jobcontroller_test.go index 4bc400bc883..82ce78c1231 100644 --- a/pkg/controller/job/jobcontroller_test.go +++ b/pkg/controller/job/jobcontroller_test.go @@ -21,11 +21,13 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" @@ -34,8 +36,6 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/util/rand" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) var alwaysReady = func() bool { return true } diff --git a/pkg/controller/lookup_cache.go b/pkg/controller/lookup_cache.go index 84029c5f3fa..1691eadb1ca 100644 --- a/pkg/controller/lookup_cache.go +++ b/pkg/controller/lookup_cache.go @@ -21,7 +21,7 @@ import ( "sync" "github.com/golang/groupcache/lru" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" hashutil "k8s.io/kubernetes/pkg/util/hash" ) diff --git a/pkg/controller/namespace/BUILD b/pkg/controller/namespace/BUILD index f52e29db083..f44c7f33e0f 100644 --- a/pkg/controller/namespace/BUILD +++ b/pkg/controller/namespace/BUILD @@ -19,22 +19,22 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/dynamic:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -47,17 +47,17 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/client/typed/discovery:go_default_library", "//pkg/client/typed/dynamic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/namespace/namespace_controller.go b/pkg/controller/namespace/namespace_controller.go index 7878b348ffb..00a2a22c13f 100644 --- a/pkg/controller/namespace/namespace_controller.go +++ b/pkg/controller/namespace/namespace_controller.go @@ -19,20 +19,20 @@ package namespace import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/namespace/namespace_controller_test.go b/pkg/controller/namespace/namespace_controller_test.go index 06ba35d2498..744b0d65e74 100644 --- a/pkg/controller/namespace/namespace_controller_test.go +++ b/pkg/controller/namespace/namespace_controller_test.go @@ -25,20 +25,20 @@ import ( "sync" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/client/typed/dynamic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) func TestFinalized(t *testing.T) { diff --git a/pkg/controller/namespace/namespace_controller_utils.go b/pkg/controller/namespace/namespace_controller_utils.go index 6ec188cc9f0..23579f909b6 100644 --- a/pkg/controller/namespace/namespace_controller_utils.go +++ b/pkg/controller/namespace/namespace_controller_utils.go @@ -23,15 +23,15 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/client/typed/dynamic" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) // contentRemainingError is used to inform the caller that content is not fully removed from the namespace diff --git a/pkg/controller/node/BUILD b/pkg/controller/node/BUILD index 77c4c80be14..0b1c91bb206 100644 --- a/pkg/controller/node/BUILD +++ b/pkg/controller/node/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -33,19 +32,20 @@ go_library( "//pkg/controller/informers:go_default_library", "//pkg/fields:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/metrics:go_default_library", "//pkg/util/node:go_default_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", "//vendor:github.com/golang/glog", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -64,7 +64,6 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", @@ -74,13 +73,14 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/controller/node/testutil:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/node:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/controller/node/cidr_allocator.go b/pkg/controller/node/cidr_allocator.go index 11ddd218d8c..3223dae56a1 100644 --- a/pkg/controller/node/cidr_allocator.go +++ b/pkg/controller/node/cidr_allocator.go @@ -22,13 +22,13 @@ import ( "net" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" ) diff --git a/pkg/controller/node/cidr_allocator_test.go b/pkg/controller/node/cidr_allocator_test.go index 9cd41697f19..61861c5741f 100644 --- a/pkg/controller/node/cidr_allocator_test.go +++ b/pkg/controller/node/cidr_allocator_test.go @@ -21,10 +21,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/controller/node/testutil" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/controller/node/controller_utils.go b/pkg/controller/node/controller_utils.go index b5bec574fae..ca715ea0973 100644 --- a/pkg/controller/node/controller_utils.go +++ b/pkg/controller/node/controller_utils.go @@ -20,6 +20,9 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" @@ -29,10 +32,7 @@ import ( "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/node" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" utilversion "k8s.io/kubernetes/pkg/util/version" "github.com/golang/glog" diff --git a/pkg/controller/node/nodecontroller.go b/pkg/controller/node/nodecontroller.go index 84179ea4259..c30035575dd 100644 --- a/pkg/controller/node/nodecontroller.go +++ b/pkg/controller/node/nodecontroller.go @@ -24,9 +24,13 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" @@ -34,15 +38,11 @@ import ( "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/metrics" 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" ) func init() { diff --git a/pkg/controller/node/nodecontroller_test.go b/pkg/controller/node/nodecontroller_test.go index 1bb0759e923..85d81bb02b8 100644 --- a/pkg/controller/node/nodecontroller_test.go +++ b/pkg/controller/node/nodecontroller_test.go @@ -22,11 +22,14 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" @@ -36,10 +39,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/node/testutil" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/node" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/controller/node/rate_limited_queue.go b/pkg/controller/node/rate_limited_queue.go index 7cb258da0c9..a335f6f374f 100644 --- a/pkg/controller/node/rate_limited_queue.go +++ b/pkg/controller/node/rate_limited_queue.go @@ -21,8 +21,8 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" ) diff --git a/pkg/controller/node/rate_limited_queue_test.go b/pkg/controller/node/rate_limited_queue_test.go index 578049268e1..5218f31ca14 100644 --- a/pkg/controller/node/rate_limited_queue_test.go +++ b/pkg/controller/node/rate_limited_queue_test.go @@ -21,8 +21,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/sets" ) func CheckQueueEq(lhs []string, rhs TimedQueue) bool { diff --git a/pkg/controller/node/testutil/BUILD b/pkg/controller/node/testutil/BUILD index f97c165410f..4730553f0a1 100644 --- a/pkg/controller/node/testutil/BUILD +++ b/pkg/controller/node/testutil/BUILD @@ -16,14 +16,14 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/node:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/node/testutil/test_utils.go b/pkg/controller/node/testutil/test_utils.go index c96f4a59578..6604e963da7 100644 --- a/pkg/controller/node/testutil/test_utils.go +++ b/pkg/controller/node/testutil/test_utils.go @@ -22,18 +22,18 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/clock" utilnode "k8s.io/kubernetes/pkg/util/node" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" ) // FakeNodeHandler is a fake implementation of NodesInterface and NodeInterface. It diff --git a/pkg/controller/petset/BUILD b/pkg/controller/petset/BUILD index 896c6305a51..6e94dd85374 100644 --- a/pkg/controller/petset/BUILD +++ b/pkg/controller/petset/BUILD @@ -25,23 +25,23 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/apps/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:gopkg.in/inf.v0", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -59,7 +59,6 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -69,10 +68,11 @@ go_test( "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/petset/fakes.go b/pkg/controller/petset/fakes.go index 03b2cec1af9..838de43b6e2 100644 --- a/pkg/controller/petset/fakes.go +++ b/pkg/controller/petset/fakes.go @@ -22,14 +22,14 @@ import ( inf "gopkg.in/inf.v0" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" apipod "k8s.io/kubernetes/pkg/api/v1/pod" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" ) func dec(i int64, exponent int) *inf.Dec { diff --git a/pkg/controller/petset/identity_mappers.go b/pkg/controller/petset/identity_mappers.go index f9d7f154cc7..39147770310 100644 --- a/pkg/controller/petset/identity_mappers.go +++ b/pkg/controller/petset/identity_mappers.go @@ -23,10 +23,10 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" podapi "k8s.io/kubernetes/pkg/api/v1/pod" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - "k8s.io/kubernetes/pkg/util/sets" ) // identityMapper is an interface for assigning identities to a pet. diff --git a/pkg/controller/petset/iterator_test.go b/pkg/controller/petset/iterator_test.go index 9b803040a96..e59d5e6a664 100644 --- a/pkg/controller/petset/iterator_test.go +++ b/pkg/controller/petset/iterator_test.go @@ -21,8 +21,8 @@ import ( "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) func TestPetQueueCreates(t *testing.T) { diff --git a/pkg/controller/petset/pet.go b/pkg/controller/petset/pet.go index ee09950a8e3..13ca95fb35e 100644 --- a/pkg/controller/petset/pet.go +++ b/pkg/controller/petset/pet.go @@ -20,13 +20,13 @@ import ( "fmt" "strconv" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/runtime" "github.com/golang/glog" ) diff --git a/pkg/controller/petset/pet_set.go b/pkg/controller/petset/pet_set.go index 2566a0f36ae..abe4f5fd2dd 100644 --- a/pkg/controller/petset/pet_set.go +++ b/pkg/controller/petset/pet_set.go @@ -22,21 +22,21 @@ import ( "sort" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/errors" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/petset/pet_set_test.go b/pkg/controller/petset/pet_set_test.go index 0934307ec34..1bca5811546 100644 --- a/pkg/controller/petset/pet_set_test.go +++ b/pkg/controller/petset/pet_set_test.go @@ -22,6 +22,7 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" "k8s.io/kubernetes/pkg/client/cache" @@ -29,7 +30,6 @@ import ( "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1/fake" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/util/errors" ) func newFakeStatefulSetController() (*StatefulSetController, *fakePetClient) { diff --git a/pkg/controller/petset/pet_set_utils.go b/pkg/controller/petset/pet_set_utils.go index ec7341c6737..489010b5752 100644 --- a/pkg/controller/petset/pet_set_utils.go +++ b/pkg/controller/petset/pet_set_utils.go @@ -20,9 +20,9 @@ import ( "fmt" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" appsclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/petset/pet_test.go b/pkg/controller/petset/pet_test.go index 858029a2417..4d8babab3f6 100644 --- a/pkg/controller/petset/pet_test.go +++ b/pkg/controller/petset/pet_test.go @@ -21,14 +21,14 @@ import ( "net/http/httptest" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/controller/podautoscaler/BUILD b/pkg/controller/podautoscaler/BUILD index a69a1b91ed0..ace0784716a 100644 --- a/pkg/controller/podautoscaler/BUILD +++ b/pkg/controller/podautoscaler/BUILD @@ -21,19 +21,19 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset/typed/autoscaling/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller/podautoscaler/metrics:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -49,20 +49,20 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/podautoscaler/metrics:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/heapster/metrics/api/v1/types", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], diff --git a/pkg/controller/podautoscaler/horizontal.go b/pkg/controller/podautoscaler/horizontal.go index 469bb073e55..4d04f7a20fb 100644 --- a/pkg/controller/podautoscaler/horizontal.go +++ b/pkg/controller/podautoscaler/horizontal.go @@ -23,19 +23,19 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" unversionedautoscaling "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/autoscaling/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" unversionedextensions "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/runtime" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/pkg/controller/podautoscaler/horizontal_test.go b/pkg/controller/podautoscaler/horizontal_test.go index 66d384b2ada..0ccf9e67559 100644 --- a/pkg/controller/podautoscaler/horizontal_test.go +++ b/pkg/controller/podautoscaler/horizontal_test.go @@ -27,21 +27,21 @@ import ( "testing" "time" + _ "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" - _ "k8s.io/kubernetes/pkg/apimachinery/registered" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller/podautoscaler/metrics" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" heapster "k8s.io/heapster/metrics/api/v1/types" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" diff --git a/pkg/controller/podautoscaler/metrics/BUILD b/pkg/controller/podautoscaler/metrics/BUILD index 6a9722d373f..4379c2a2574 100644 --- a/pkg/controller/podautoscaler/metrics/BUILD +++ b/pkg/controller/podautoscaler/metrics/BUILD @@ -19,8 +19,8 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", - "//pkg/labels:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/heapster/metrics/api/v1/types", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], @@ -35,13 +35,13 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/heapster/metrics/api/v1/types", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], diff --git a/pkg/controller/podautoscaler/metrics/metrics_client.go b/pkg/controller/podautoscaler/metrics/metrics_client.go index 66b5c89ed14..7b55d1ca2c2 100644 --- a/pkg/controller/podautoscaler/metrics/metrics_client.go +++ b/pkg/controller/podautoscaler/metrics/metrics_client.go @@ -23,10 +23,10 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" - "k8s.io/kubernetes/pkg/labels" heapster "k8s.io/heapster/metrics/api/v1/types" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" diff --git a/pkg/controller/podautoscaler/metrics/metrics_client_test.go b/pkg/controller/podautoscaler/metrics/metrics_client_test.go index 79d107361ff..e0d498ce43b 100644 --- a/pkg/controller/podautoscaler/metrics/metrics_client_test.go +++ b/pkg/controller/podautoscaler/metrics/metrics_client_test.go @@ -23,15 +23,15 @@ import ( "testing" "time" + _ "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" - _ "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" heapster "k8s.io/heapster/metrics/api/v1/types" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" diff --git a/pkg/controller/podautoscaler/replica_calculator.go b/pkg/controller/podautoscaler/replica_calculator.go index ec9cb56babd..f63f18ba935 100644 --- a/pkg/controller/podautoscaler/replica_calculator.go +++ b/pkg/controller/podautoscaler/replica_calculator.go @@ -21,11 +21,11 @@ import ( "math" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" metricsclient "k8s.io/kubernetes/pkg/controller/podautoscaler/metrics" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" ) type ReplicaCalculator struct { diff --git a/pkg/controller/podautoscaler/replica_calculator_test.go b/pkg/controller/podautoscaler/replica_calculator_test.go index 785f1d48163..74b97e92bcd 100644 --- a/pkg/controller/podautoscaler/replica_calculator_test.go +++ b/pkg/controller/podautoscaler/replica_calculator_test.go @@ -25,16 +25,16 @@ import ( "testing" "time" + _ "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" - _ "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller/podautoscaler/metrics" - "k8s.io/kubernetes/pkg/runtime" heapster "k8s.io/heapster/metrics/api/v1/types" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" diff --git a/pkg/controller/podgc/BUILD b/pkg/controller/podgc/BUILD index f515abbd6fa..2d3e39e6874 100644 --- a/pkg/controller/podgc/BUILD +++ b/pkg/controller/podgc/BUILD @@ -21,12 +21,12 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -37,11 +37,11 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/controller/node/testutil:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/podgc/gc_controller.go b/pkg/controller/podgc/gc_controller.go index eaa72b852f5..83a85805bdd 100644 --- a/pkg/controller/podgc/gc_controller.go +++ b/pkg/controller/podgc/gc_controller.go @@ -21,16 +21,16 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/labels" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" ) diff --git a/pkg/controller/podgc/gc_controller_test.go b/pkg/controller/podgc/gc_controller_test.go index a47e15e40f1..d123bbc5997 100644 --- a/pkg/controller/podgc/gc_controller_test.go +++ b/pkg/controller/podgc/gc_controller_test.go @@ -21,12 +21,12 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/controller/node/testutil" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" ) type FakeController struct{} diff --git a/pkg/controller/replicaset/BUILD b/pkg/controller/replicaset/BUILD index a1593cc73f1..9a5720b7541 100644 --- a/pkg/controller/replicaset/BUILD +++ b/pkg/controller/replicaset/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", @@ -29,14 +28,15 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -49,9 +49,7 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", @@ -59,13 +57,15 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/replicaset/replica_set.go b/pkg/controller/replicaset/replica_set.go index 4080251bcc6..42d3b15e1c6 100644 --- a/pkg/controller/replicaset/replica_set.go +++ b/pkg/controller/replicaset/replica_set.go @@ -26,23 +26,23 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" ) diff --git a/pkg/controller/replicaset/replica_set_test.go b/pkg/controller/replicaset/replica_set_test.go index 27ce41a6baf..9bc4c4c501b 100644 --- a/pkg/controller/replicaset/replica_set_test.go +++ b/pkg/controller/replicaset/replica_set_test.go @@ -28,12 +28,16 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" @@ -42,13 +46,9 @@ import ( "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" - "k8s.io/kubernetes/pkg/util/sets" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) func testNewReplicaSetControllerFromClient(client clientset.Interface, stopCh chan struct{}, burstReplicas int, lookupCacheSize int) *ReplicaSetController { diff --git a/pkg/controller/replicaset/replica_set_utils.go b/pkg/controller/replicaset/replica_set_utils.go index b9dbbbdd654..56ce629d333 100644 --- a/pkg/controller/replicaset/replica_set_utils.go +++ b/pkg/controller/replicaset/replica_set_utils.go @@ -24,12 +24,12 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" unversionedextensions "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1" - "k8s.io/kubernetes/pkg/labels" ) // updateReplicaSetStatus attempts to update the Status.Replicas of the given ReplicaSet, with a single GET/PUT retry. diff --git a/pkg/controller/replication/BUILD b/pkg/controller/replication/BUILD index 9d14806e142..65039b8a950 100644 --- a/pkg/controller/replication/BUILD +++ b/pkg/controller/replication/BUILD @@ -19,22 +19,22 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -47,8 +47,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", @@ -56,13 +54,15 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/replication/replication_controller.go b/pkg/controller/replication/replication_controller.go index 607c65769f6..ec1197c8e97 100644 --- a/pkg/controller/replication/replication_controller.go +++ b/pkg/controller/replication/replication_controller.go @@ -25,22 +25,22 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" ) diff --git a/pkg/controller/replication/replication_controller_test.go b/pkg/controller/replication/replication_controller_test.go index 3c0a42508f3..8e5e9302cac 100644 --- a/pkg/controller/replication/replication_controller_test.go +++ b/pkg/controller/replication/replication_controller_test.go @@ -27,11 +27,15 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" @@ -40,13 +44,9 @@ import ( "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" - "k8s.io/kubernetes/pkg/util/sets" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) var alwaysReady = func() bool { return true } diff --git a/pkg/controller/replication/replication_controller_utils.go b/pkg/controller/replication/replication_controller_utils.go index ca00fb32550..db572c46177 100644 --- a/pkg/controller/replication/replication_controller_utils.go +++ b/pkg/controller/replication/replication_controller_utils.go @@ -23,10 +23,10 @@ import ( "reflect" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" - "k8s.io/kubernetes/pkg/labels" ) // updateReplicationControllerStatus attempts to update the Status.Replicas of the given controller, with a single GET/PUT retry. diff --git a/pkg/controller/resourcequota/BUILD b/pkg/controller/resourcequota/BUILD index 01e3e05ad30..d1a81efdeb6 100644 --- a/pkg/controller/resourcequota/BUILD +++ b/pkg/controller/resourcequota/BUILD @@ -18,7 +18,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -26,14 +25,15 @@ go_library( "//pkg/controller/informers:go_default_library", "//pkg/quota:go_default_library", "//pkg/quota/evaluator/core:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -54,10 +54,10 @@ go_test( "//pkg/controller:go_default_library", "//pkg/quota/generic:go_default_library", "//pkg/quota/install:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/resourcequota/replenishment_controller.go b/pkg/controller/resourcequota/replenishment_controller.go index 2848fa2b454..a9fc5f9a587 100644 --- a/pkg/controller/resourcequota/replenishment_controller.go +++ b/pkg/controller/resourcequota/replenishment_controller.go @@ -21,19 +21,19 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota/evaluator/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/watch" ) // ReplenishmentFunc is a function that is invoked when controller sees a change diff --git a/pkg/controller/resourcequota/replenishment_controller_test.go b/pkg/controller/resourcequota/replenishment_controller_test.go index e9e6d19a43b..667150ac03d 100644 --- a/pkg/controller/resourcequota/replenishment_controller_test.go +++ b/pkg/controller/resourcequota/replenishment_controller_test.go @@ -19,11 +19,11 @@ package resourcequota import ( "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/controller/resourcequota/resource_quota_controller.go b/pkg/controller/resourcequota/resource_quota_controller.go index 43fcd7f1d9f..a224e77f238 100644 --- a/pkg/controller/resourcequota/resource_quota_controller.go +++ b/pkg/controller/resourcequota/resource_quota_controller.go @@ -21,19 +21,19 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/quota" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) // ResourceQuotaControllerOptions holds options for creating a quota controller diff --git a/pkg/controller/resourcequota/resource_quota_controller_test.go b/pkg/controller/resourcequota/resource_quota_controller_test.go index 813dee4d3a0..d60c4a6119c 100644 --- a/pkg/controller/resourcequota/resource_quota_controller_test.go +++ b/pkg/controller/resourcequota/resource_quota_controller_test.go @@ -20,6 +20,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" @@ -28,8 +30,6 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/quota/generic" "k8s.io/kubernetes/pkg/quota/install" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) func getResourceList(cpu, memory string) v1.ResourceList { diff --git a/pkg/controller/route/BUILD b/pkg/controller/route/BUILD index 53a19e42136..e33f6cbd29f 100644 --- a/pkg/controller/route/BUILD +++ b/pkg/controller/route/BUILD @@ -18,18 +18,18 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/controller:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/metrics:go_default_library", "//pkg/util/node:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -44,7 +44,7 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/fake:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/controller/route/routecontroller.go b/pkg/controller/route/routecontroller.go index 823795e7596..543921c188e 100644 --- a/pkg/controller/route/routecontroller.go +++ b/pkg/controller/route/routecontroller.go @@ -23,19 +23,19 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/metrics" nodeutil "k8s.io/kubernetes/pkg/util/node" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/pkg/controller/route/routecontroller_test.go b/pkg/controller/route/routecontroller_test.go index 0cff2e5d409..78ecdaf6790 100644 --- a/pkg/controller/route/routecontroller_test.go +++ b/pkg/controller/route/routecontroller_test.go @@ -21,12 +21,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/cloudprovider" fakecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/fake" - "k8s.io/kubernetes/pkg/types" ) func TestIsResponsibleForRoute(t *testing.T) { diff --git a/pkg/controller/service/BUILD b/pkg/controller/service/BUILD index 286a04630bf..b8e63ae74ad 100644 --- a/pkg/controller/service/BUILD +++ b/pkg/controller/service/BUILD @@ -25,13 +25,13 @@ go_library( "//pkg/cloudprovider:go_default_library", "//pkg/controller:go_default_library", "//pkg/fields:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -45,7 +45,7 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/cloudprovider/providers/fake:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/controller/service/servicecontroller.go b/pkg/controller/service/servicecontroller.go index ed8c8dff50d..4c72cf0f430 100644 --- a/pkg/controller/service/servicecontroller.go +++ b/pkg/controller/service/servicecontroller.go @@ -25,6 +25,10 @@ import ( "reflect" "github.com/golang/glog" + pkgruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" @@ -34,12 +38,8 @@ import ( "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/fields" - pkgruntime "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/metrics" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/pkg/controller/service/servicecontroller_test.go b/pkg/controller/service/servicecontroller_test.go index 7d31285486d..70e78c35bc5 100644 --- a/pkg/controller/service/servicecontroller_test.go +++ b/pkg/controller/service/servicecontroller_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" fakecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/fake" - "k8s.io/kubernetes/pkg/types" ) const region = "us-central" diff --git a/pkg/controller/serviceaccount/BUILD b/pkg/controller/serviceaccount/BUILD index d6bace77378..7b869b20b99 100644 --- a/pkg/controller/serviceaccount/BUILD +++ b/pkg/controller/serviceaccount/BUILD @@ -20,9 +20,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/retry:go_default_library", @@ -34,18 +32,20 @@ go_library( "//pkg/registry/core/serviceaccount:go_default_library", "//pkg/registry/core/serviceaccount/etcd:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/storage/storagebackend:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/metrics:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -66,12 +66,12 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/rand:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/controller/serviceaccount/serviceaccounts_controller.go b/pkg/controller/serviceaccount/serviceaccounts_controller.go index 4667708a617..62d38ac2d0f 100644 --- a/pkg/controller/serviceaccount/serviceaccounts_controller.go +++ b/pkg/controller/serviceaccount/serviceaccounts_controller.go @@ -21,16 +21,16 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" apierrs "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/informers" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" ) diff --git a/pkg/controller/serviceaccount/serviceaccounts_controller_test.go b/pkg/controller/serviceaccount/serviceaccounts_controller_test.go index d07efcfc120..ab22b107aa1 100644 --- a/pkg/controller/serviceaccount/serviceaccounts_controller_test.go +++ b/pkg/controller/serviceaccount/serviceaccounts_controller_test.go @@ -20,13 +20,13 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/util/sets" ) type serverResponse struct { diff --git a/pkg/controller/serviceaccount/tokengetter.go b/pkg/controller/serviceaccount/tokengetter.go index 58a481826d3..c7d34110135 100644 --- a/pkg/controller/serviceaccount/tokengetter.go +++ b/pkg/controller/serviceaccount/tokengetter.go @@ -17,8 +17,8 @@ limitations under the License. package serviceaccount import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/secret" diff --git a/pkg/controller/serviceaccount/tokens_controller.go b/pkg/controller/serviceaccount/tokens_controller.go index b4d1d85aa3e..0cf48e8b8ce 100644 --- a/pkg/controller/serviceaccount/tokens_controller.go +++ b/pkg/controller/serviceaccount/tokens_controller.go @@ -22,25 +22,25 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" clientretry "k8s.io/kubernetes/pkg/client/retry" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/registry/core/secret" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/serviceaccount" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/metrics" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" ) // RemoveTokenBackoff is the recommended (empirical) retry interval for removing diff --git a/pkg/controller/serviceaccount/tokens_controller_test.go b/pkg/controller/serviceaccount/tokens_controller_test.go index 1316fd2f114..37b1ada9089 100644 --- a/pkg/controller/serviceaccount/tokens_controller_test.go +++ b/pkg/controller/serviceaccount/tokens_controller_test.go @@ -25,13 +25,13 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" utilrand "k8s.io/kubernetes/pkg/util/rand" ) diff --git a/pkg/controller/volume/attachdetach/BUILD b/pkg/controller/volume/attachdetach/BUILD index c5c7f19c8bd..6f6d531e7b0 100644 --- a/pkg/controller/volume/attachdetach/BUILD +++ b/pkg/controller/volume/attachdetach/BUILD @@ -24,14 +24,14 @@ go_library( "//pkg/controller/volume/attachdetach/populator:go_default_library", "//pkg/controller/volume/attachdetach/reconciler:go_default_library", "//pkg/controller/volume/attachdetach/statusupdater:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/controller/volume/attachdetach/attach_detach_controller.go b/pkg/controller/volume/attachdetach/attach_detach_controller.go index 945ea5cf0db..a679f34db81 100644 --- a/pkg/controller/volume/attachdetach/attach_detach_controller.go +++ b/pkg/controller/volume/attachdetach/attach_detach_controller.go @@ -24,6 +24,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" kcache "k8s.io/kubernetes/pkg/client/cache" @@ -35,10 +37,8 @@ import ( "k8s.io/kubernetes/pkg/controller/volume/attachdetach/populator" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/reconciler" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/statusupdater" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/pkg/controller/volume/attachdetach/cache/BUILD b/pkg/controller/volume/attachdetach/cache/BUILD index e587ecff0ca..c00d04798a2 100644 --- a/pkg/controller/volume/attachdetach/cache/BUILD +++ b/pkg/controller/volume/attachdetach/cache/BUILD @@ -17,12 +17,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -37,9 +37,9 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/controller/volume/attachdetach/testing:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/controller/volume/attachdetach/cache/actual_state_of_world.go b/pkg/controller/volume/attachdetach/cache/actual_state_of_world.go index dbb5cb698a7..f092217b092 100644 --- a/pkg/controller/volume/attachdetach/cache/actual_state_of_world.go +++ b/pkg/controller/volume/attachdetach/cache/actual_state_of_world.go @@ -28,8 +28,8 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/pkg/controller/volume/attachdetach/cache/actual_state_of_world_test.go b/pkg/controller/volume/attachdetach/cache/actual_state_of_world_test.go index 22bee95ff1f..c3423c1e2e6 100644 --- a/pkg/controller/volume/attachdetach/cache/actual_state_of_world_test.go +++ b/pkg/controller/volume/attachdetach/cache/actual_state_of_world_test.go @@ -20,9 +20,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" controllervolumetesting "k8s.io/kubernetes/pkg/controller/volume/attachdetach/testing" - "k8s.io/kubernetes/pkg/types" volumetesting "k8s.io/kubernetes/pkg/volume/testing" ) diff --git a/pkg/controller/volume/attachdetach/cache/desired_state_of_world.go b/pkg/controller/volume/attachdetach/cache/desired_state_of_world.go index 4b331557293..f55a716ac84 100644 --- a/pkg/controller/volume/attachdetach/cache/desired_state_of_world.go +++ b/pkg/controller/volume/attachdetach/cache/desired_state_of_world.go @@ -25,8 +25,8 @@ import ( "fmt" "sync" + k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - k8stypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" "k8s.io/kubernetes/pkg/volume/util/types" diff --git a/pkg/controller/volume/attachdetach/cache/desired_state_of_world_test.go b/pkg/controller/volume/attachdetach/cache/desired_state_of_world_test.go index e6b07c79ed7..49896c435a3 100644 --- a/pkg/controller/volume/attachdetach/cache/desired_state_of_world_test.go +++ b/pkg/controller/volume/attachdetach/cache/desired_state_of_world_test.go @@ -19,9 +19,9 @@ package cache import ( "testing" + k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" controllervolumetesting "k8s.io/kubernetes/pkg/controller/volume/attachdetach/testing" - k8stypes "k8s.io/kubernetes/pkg/types" volumetesting "k8s.io/kubernetes/pkg/volume/testing" "k8s.io/kubernetes/pkg/volume/util/types" ) diff --git a/pkg/controller/volume/attachdetach/populator/BUILD b/pkg/controller/volume/attachdetach/populator/BUILD index cd3bb703204..d985af08c5d 100644 --- a/pkg/controller/volume/attachdetach/populator/BUILD +++ b/pkg/controller/volume/attachdetach/populator/BUILD @@ -15,9 +15,9 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/controller/volume/attachdetach/cache:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go b/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go index 95871570ae2..2765c44611f 100644 --- a/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go +++ b/pkg/controller/volume/attachdetach/populator/desired_state_of_world_populator.go @@ -23,10 +23,10 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" kcache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume/util/volumehelper" ) diff --git a/pkg/controller/volume/attachdetach/reconciler/BUILD b/pkg/controller/volume/attachdetach/reconciler/BUILD index 3d594f8d020..f634fb25587 100644 --- a/pkg/controller/volume/attachdetach/reconciler/BUILD +++ b/pkg/controller/volume/attachdetach/reconciler/BUILD @@ -16,10 +16,10 @@ go_library( "//pkg/controller/volume/attachdetach/cache:go_default_library", "//pkg/controller/volume/attachdetach/statusupdater:go_default_library", "//pkg/util/goroutinemap/exponentialbackoff:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume/util/nestedpendingoperations:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -35,11 +35,11 @@ go_test( "//pkg/controller/volume/attachdetach/cache:go_default_library", "//pkg/controller/volume/attachdetach/statusupdater:go_default_library", "//pkg/controller/volume/attachdetach/testing:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/controller/volume/attachdetach/reconciler/reconciler.go b/pkg/controller/volume/attachdetach/reconciler/reconciler.go index 5bce52f92d6..139abc274c6 100644 --- a/pkg/controller/volume/attachdetach/reconciler/reconciler.go +++ b/pkg/controller/volume/attachdetach/reconciler/reconciler.go @@ -23,10 +23,10 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/statusupdater" "k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume/util/nestedpendingoperations" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" ) diff --git a/pkg/controller/volume/attachdetach/reconciler/reconciler_test.go b/pkg/controller/volume/attachdetach/reconciler/reconciler_test.go index 69f4ad235c7..07eab555eb8 100644 --- a/pkg/controller/volume/attachdetach/reconciler/reconciler_test.go +++ b/pkg/controller/volume/attachdetach/reconciler/reconciler_test.go @@ -20,14 +20,14 @@ import ( "testing" "time" + k8stypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/cache" "k8s.io/kubernetes/pkg/controller/volume/attachdetach/statusupdater" controllervolumetesting "k8s.io/kubernetes/pkg/controller/volume/attachdetach/testing" - k8stypes "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" volumetesting "k8s.io/kubernetes/pkg/volume/testing" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" "k8s.io/kubernetes/pkg/volume/util/types" diff --git a/pkg/controller/volume/attachdetach/testing/BUILD b/pkg/controller/volume/attachdetach/testing/BUILD index 9bb6a778944..d22036168f7 100644 --- a/pkg/controller/volume/attachdetach/testing/BUILD +++ b/pkg/controller/volume/attachdetach/testing/BUILD @@ -15,10 +15,10 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/controller/volume/attachdetach/testing/testvolumespec.go b/pkg/controller/volume/attachdetach/testing/testvolumespec.go index cae729d9437..aa6b2254b83 100644 --- a/pkg/controller/volume/attachdetach/testing/testvolumespec.go +++ b/pkg/controller/volume/attachdetach/testing/testvolumespec.go @@ -19,13 +19,13 @@ package testing import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" - "k8s.io/kubernetes/pkg/watch" ) // GetTestVolumeSpec returns a test volume spec diff --git a/pkg/controller/volume/persistentvolume/BUILD b/pkg/controller/volume/persistentvolume/BUILD index cbc1b0a9636..bb9e733687b 100644 --- a/pkg/controller/volume/persistentvolume/BUILD +++ b/pkg/controller/volume/persistentvolume/BUILD @@ -20,9 +20,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", "//pkg/client/cache:go_default_library", @@ -31,17 +29,19 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/controller:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/goroutinemap:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//pkg/volume:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -63,7 +63,6 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", "//pkg/client/cache:go_default_library", @@ -72,12 +71,13 @@ go_test( "//pkg/client/record:go_default_library", "//pkg/client/testing/cache:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/controller/volume/persistentvolume/framework_test.go b/pkg/controller/volume/persistentvolume/framework_test.go index ec442be92c8..98de0f28500 100644 --- a/pkg/controller/volume/persistentvolume/framework_test.go +++ b/pkg/controller/volume/persistentvolume/framework_test.go @@ -29,11 +29,15 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" "k8s.io/kubernetes/pkg/client/cache" @@ -42,10 +46,6 @@ import ( "k8s.io/kubernetes/pkg/client/record" fcache "k8s.io/kubernetes/pkg/client/testing/cache" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/wait" vol "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/controller/volume/persistentvolume/index.go b/pkg/controller/volume/persistentvolume/index.go index b95572a61aa..61e631b8221 100644 --- a/pkg/controller/volume/persistentvolume/index.go +++ b/pkg/controller/volume/persistentvolume/index.go @@ -20,11 +20,11 @@ import ( "fmt" "sort" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/labels" ) // persistentVolumeOrderedIndex is a cache.Store that keeps persistent volumes diff --git a/pkg/controller/volume/persistentvolume/index_test.go b/pkg/controller/volume/persistentvolume/index_test.go index 54a09503294..c496d8d0134 100644 --- a/pkg/controller/volume/persistentvolume/index_test.go +++ b/pkg/controller/volume/persistentvolume/index_test.go @@ -20,10 +20,10 @@ import ( "sort" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" ) diff --git a/pkg/controller/volume/persistentvolume/provision_test.go b/pkg/controller/volume/persistentvolume/provision_test.go index f2b16e83f9c..ec974639d9d 100644 --- a/pkg/controller/volume/persistentvolume/provision_test.go +++ b/pkg/controller/volume/persistentvolume/provision_test.go @@ -20,8 +20,8 @@ import ( "errors" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" ) diff --git a/pkg/controller/volume/persistentvolume/pv_controller.go b/pkg/controller/volume/persistentvolume/pv_controller.go index bb0d4a1e68c..b12de470f64 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller.go +++ b/pkg/controller/volume/persistentvolume/pv_controller.go @@ -22,9 +22,9 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" "k8s.io/kubernetes/pkg/client/cache" diff --git a/pkg/controller/volume/persistentvolume/pv_controller_base.go b/pkg/controller/volume/persistentvolume/pv_controller_base.go index 29e19f908ed..dd9fae19d42 100644 --- a/pkg/controller/volume/persistentvolume/pv_controller_base.go +++ b/pkg/controller/volume/persistentvolume/pv_controller_base.go @@ -21,9 +21,12 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" "k8s.io/kubernetes/pkg/client/cache" @@ -32,12 +35,9 @@ import ( "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/goroutinemap" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" vol "k8s.io/kubernetes/pkg/volume" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/controller/volume/persistentvolume/volume_host.go b/pkg/controller/volume/persistentvolume/volume_host.go index fed0ba01431..f00dd23c499 100644 --- a/pkg/controller/volume/persistentvolume/volume_host.go +++ b/pkg/controller/volume/persistentvolume/volume_host.go @@ -20,10 +20,10 @@ import ( "fmt" "net" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" vol "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/conversion/.readonly b/pkg/conversion/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/conversion/queryparams/.readonly b/pkg/conversion/queryparams/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/credentialprovider/BUILD b/pkg/credentialprovider/BUILD index 490bd8b54a4..e8e59ab2bf0 100644 --- a/pkg/credentialprovider/BUILD +++ b/pkg/credentialprovider/BUILD @@ -20,9 +20,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/docker/engine-api/types", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/credentialprovider/gcp/BUILD b/pkg/credentialprovider/gcp/BUILD index ca84c8ac5a9..edb0c257c29 100644 --- a/pkg/credentialprovider/gcp/BUILD +++ b/pkg/credentialprovider/gcp/BUILD @@ -18,12 +18,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/credentialprovider:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", "//vendor:golang.org/x/oauth2", "//vendor:golang.org/x/oauth2/google", "//vendor:golang.org/x/oauth2/jwt", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) @@ -37,7 +37,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/credentialprovider:go_default_library", - "//pkg/util/net:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/credentialprovider/gcp/metadata.go b/pkg/credentialprovider/gcp/metadata.go index 0767e1c6040..0216e2a80eb 100644 --- a/pkg/credentialprovider/gcp/metadata.go +++ b/pkg/credentialprovider/gcp/metadata.go @@ -24,8 +24,8 @@ import ( "time" "github.com/golang/glog" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/credentialprovider" - utilnet "k8s.io/kubernetes/pkg/util/net" ) const ( diff --git a/pkg/credentialprovider/gcp/metadata_test.go b/pkg/credentialprovider/gcp/metadata_test.go index 2a5a219bf70..4e1df8b6a83 100644 --- a/pkg/credentialprovider/gcp/metadata_test.go +++ b/pkg/credentialprovider/gcp/metadata_test.go @@ -29,8 +29,8 @@ import ( "strings" "testing" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/credentialprovider" - utilnet "k8s.io/kubernetes/pkg/util/net" ) func createProductNameFile() (string, error) { diff --git a/pkg/credentialprovider/keyring.go b/pkg/credentialprovider/keyring.go index 635e03f06b5..1eb9988794a 100644 --- a/pkg/credentialprovider/keyring.go +++ b/pkg/credentialprovider/keyring.go @@ -27,8 +27,8 @@ import ( "github.com/golang/glog" dockertypes "github.com/docker/engine-api/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) // DockerKeyring tracks a set of docker registry credentials, maintaining a diff --git a/pkg/fieldpath/BUILD b/pkg/fieldpath/BUILD index abf5403fbdf..cede08b241b 100644 --- a/pkg/fieldpath/BUILD +++ b/pkg/fieldpath/BUILD @@ -17,9 +17,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", ], ) diff --git a/pkg/fieldpath/fieldpath.go b/pkg/fieldpath/fieldpath.go index 8ca13ef1007..f955dccdbe9 100644 --- a/pkg/fieldpath/fieldpath.go +++ b/pkg/fieldpath/fieldpath.go @@ -22,8 +22,8 @@ import ( "strconv" "strings" + "k8s.io/apimachinery/pkg/api/meta" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/fields/BUILD b/pkg/fields/BUILD index 7a81be1e9f7..5d856b1c331 100644 --- a/pkg/fields/BUILD +++ b/pkg/fields/BUILD @@ -17,7 +17,7 @@ go_library( "selector.go", ], tags = ["automanaged"], - deps = ["//pkg/selection:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/selection"], ) go_test( diff --git a/pkg/fields/requirements.go b/pkg/fields/requirements.go index 33c6e4e1a8e..70d94ded885 100644 --- a/pkg/fields/requirements.go +++ b/pkg/fields/requirements.go @@ -16,7 +16,7 @@ limitations under the License. package fields -import "k8s.io/kubernetes/pkg/selection" +import "k8s.io/apimachinery/pkg/selection" // Requirements is AND of all requirements. type Requirements []Requirement diff --git a/pkg/fields/selector.go b/pkg/fields/selector.go index 75161daf1d7..3959c032a11 100644 --- a/pkg/fields/selector.go +++ b/pkg/fields/selector.go @@ -21,7 +21,7 @@ import ( "sort" "strings" - "k8s.io/kubernetes/pkg/selection" + "k8s.io/apimachinery/pkg/selection" ) // Selector represents a field selector. diff --git a/pkg/generated/openapi/BUILD b/pkg/generated/openapi/BUILD index c0064f481a2..98dbeedf0a9 100644 --- a/pkg/generated/openapi/BUILD +++ b/pkg/generated/openapi/BUILD @@ -16,10 +16,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/resource:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/genericapiserver/openapi/common:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/go-openapi/spec", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", ], ) diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 6c76a992d89..d50fd75f3bf 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -22,9 +22,8 @@ package openapi import ( spec "github.com/go-openapi/spec" + common "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" resource "k8s.io/kubernetes/pkg/api/resource" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - common "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" intstr "k8s.io/kubernetes/pkg/util/intstr" ) @@ -8281,7 +8280,24 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{ }, Dependencies: []string{}, }, - "v1.Time": v1.Time{}.OpenAPIDefinition(), "v1.Timestamp": { + "v1.Time": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + Properties: map[string]spec.Schema{ + "Time": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "date-time", + }, + }, + }, + Required: []string{"Time"}, + }, + }, + Dependencies: []string{}, + }, + "v1.Timestamp": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "Timestamp is a struct that is equivalent to Time, but intended for protobuf marshalling/unmarshalling. It is generated into a serialization that matches Time. Do not use in Go structs.", diff --git a/pkg/genericapiserver/BUILD b/pkg/genericapiserver/BUILD index d46a87e90f9..a8b450c1690 100644 --- a/pkg/genericapiserver/BUILD +++ b/pkg/genericapiserver/BUILD @@ -30,9 +30,6 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/auth/authorizer/union:go_default_library", "//pkg/auth/handlers:go_default_library", "//pkg/client/restclient:go_default_library", @@ -44,23 +41,14 @@ go_library( "//pkg/genericapiserver/authorizer:go_default_library", "//pkg/genericapiserver/filters:go_default_library", "//pkg/genericapiserver/mux:go_default_library", - "//pkg/genericapiserver/openapi/common:go_default_library", "//pkg/genericapiserver/options:go_default_library", "//pkg/genericapiserver/routes:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/recognizer:go_default_library", "//pkg/ssh:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//plugin/pkg/auth/authenticator/request/union:go_default_library", "//vendor:github.com/coreos/go-systemd/daemon", @@ -72,6 +60,18 @@ go_library( "//vendor:github.com/pkg/errors", "//vendor:github.com/prometheus/client_golang/prometheus", "//vendor:gopkg.in/natefinch/lumberjack.v2", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", @@ -94,32 +94,32 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/generated/openapi:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/genericapiserver/options:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/pkg/genericapiserver/api/BUILD b/pkg/genericapiserver/api/BUILD index 9e17b20704d..92b54897126 100644 --- a/pkg/genericapiserver/api/BUILD +++ b/pkg/genericapiserver/api/BUILD @@ -22,20 +22,20 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/genericapiserver/api/handlers:go_default_library", "//pkg/genericapiserver/api/handlers/negotiation:go_default_library", "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/api/metrics:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", "//vendor:github.com/emicklei/go-restful", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) @@ -53,30 +53,30 @@ go_test( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/filters:go_default_library", "//pkg/genericapiserver/api/handlers:go_default_library", "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/genericapiserver/api/testing:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//plugin/pkg/admission/admit:go_default_library", "//plugin/pkg/admission/deny:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:golang.org/x/net/websocket", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/genericapiserver/api/apiserver_test.go b/pkg/genericapiserver/api/apiserver_test.go index 58912307617..b28febbcf78 100644 --- a/pkg/genericapiserver/api/apiserver_test.go +++ b/pkg/genericapiserver/api/apiserver_test.go @@ -34,26 +34,26 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapifilters "k8s.io/kubernetes/pkg/genericapiserver/api/filters" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" "k8s.io/kubernetes/pkg/genericapiserver/api/request" genericapitesting "k8s.io/kubernetes/pkg/genericapiserver/api/testing" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/plugin/pkg/admission/admit" "k8s.io/kubernetes/plugin/pkg/admission/deny" diff --git a/pkg/genericapiserver/api/discovery.go b/pkg/genericapiserver/api/discovery.go index c58ce2a4c16..de3f8b5fdbe 100644 --- a/pkg/genericapiserver/api/discovery.go +++ b/pkg/genericapiserver/api/discovery.go @@ -24,12 +24,12 @@ import ( "github.com/emicklei/go-restful" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/negotiation" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // AddApiWebService adds a service to return the supported api versions at the legacy /api. diff --git a/pkg/genericapiserver/api/filters/BUILD b/pkg/genericapiserver/api/filters/BUILD index c9a44aaf762..f29f23e5529 100644 --- a/pkg/genericapiserver/api/filters/BUILD +++ b/pkg/genericapiserver/api/filters/BUILD @@ -25,9 +25,9 @@ go_library( "//pkg/genericapiserver/api/request:go_default_library", "//pkg/httplog:go_default_library", "//pkg/serviceaccount:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/pborman/uuid", + "//vendor:k8s.io/apimachinery/pkg/util/net", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], @@ -48,7 +48,7 @@ go_test( "//pkg/apis/batch:go_default_library", "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/pkg/genericapiserver/api/filters/audit.go b/pkg/genericapiserver/api/filters/audit.go index 3e65e58d636..e4c9f65dfee 100644 --- a/pkg/genericapiserver/api/filters/audit.go +++ b/pkg/genericapiserver/api/filters/audit.go @@ -29,10 +29,10 @@ import ( "github.com/golang/glog" "github.com/pborman/uuid" + utilnet "k8s.io/apimachinery/pkg/util/net" authenticationapi "k8s.io/kubernetes/pkg/apis/authentication" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" "k8s.io/kubernetes/pkg/genericapiserver/api/request" - utilnet "k8s.io/kubernetes/pkg/util/net" ) var _ http.ResponseWriter = &auditResponseWriter{} diff --git a/pkg/genericapiserver/api/filters/requestinfo_test.go b/pkg/genericapiserver/api/filters/requestinfo_test.go index 78b57e89461..30300be388c 100644 --- a/pkg/genericapiserver/api/filters/requestinfo_test.go +++ b/pkg/genericapiserver/api/filters/requestinfo_test.go @@ -17,8 +17,8 @@ limitations under the License. package filters import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/util/sets" ) func newTestRequestInfoResolver() *request.RequestInfoFactory { diff --git a/pkg/genericapiserver/api/groupversion.go b/pkg/genericapiserver/api/groupversion.go index 18181199985..ef5e619ca57 100644 --- a/pkg/genericapiserver/api/groupversion.go +++ b/pkg/genericapiserver/api/groupversion.go @@ -23,16 +23,16 @@ import ( "github.com/emicklei/go-restful" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/admission" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers" "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) // APIGroupVersion is a helper for exposing rest.Storage objects as http.Handlers via go-restful diff --git a/pkg/genericapiserver/api/handlers/BUILD b/pkg/genericapiserver/api/handlers/BUILD index 8cec5cfee7e..693c5149239 100644 --- a/pkg/genericapiserver/api/handlers/BUILD +++ b/pkg/genericapiserver/api/handlers/BUILD @@ -19,15 +19,15 @@ go_test( "//pkg/api/rest:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/evanphx/json-patch", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) @@ -45,30 +45,30 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/handlers/negotiation:go_default_library", "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/api/metrics:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/httplog:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", "//pkg/util:go_default_library", "//pkg/util/httpstream:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/proxy:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//pkg/util/wsstream:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/evanphx/json-patch", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/websocket", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/genericapiserver/api/handlers/discovery.go b/pkg/genericapiserver/api/handlers/discovery.go index 02642ccc6e3..0a8eef1343f 100644 --- a/pkg/genericapiserver/api/handlers/discovery.go +++ b/pkg/genericapiserver/api/handlers/discovery.go @@ -19,10 +19,10 @@ package handlers import ( "net/http" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/emicklei/go-restful" ) diff --git a/pkg/genericapiserver/api/handlers/negotiation/BUILD b/pkg/genericapiserver/api/handlers/negotiation/BUILD index a6eb316c27e..20c24be142a 100644 --- a/pkg/genericapiserver/api/handlers/negotiation/BUILD +++ b/pkg/genericapiserver/api/handlers/negotiation/BUILD @@ -14,8 +14,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -28,10 +28,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//vendor:bitbucket.org/ww/goautoneg", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/genericapiserver/api/handlers/negotiation/errors.go b/pkg/genericapiserver/api/handlers/negotiation/errors.go index ea678d5f5f6..cd262706c26 100644 --- a/pkg/genericapiserver/api/handlers/negotiation/errors.go +++ b/pkg/genericapiserver/api/handlers/negotiation/errors.go @@ -21,7 +21,7 @@ import ( "net/http" "strings" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // errNotAcceptable indicates Accept negotiation has failed diff --git a/pkg/genericapiserver/api/handlers/negotiation/negotiate.go b/pkg/genericapiserver/api/handlers/negotiation/negotiate.go index a1e68d2b33a..c3948d4cde3 100644 --- a/pkg/genericapiserver/api/handlers/negotiation/negotiate.go +++ b/pkg/genericapiserver/api/handlers/negotiation/negotiate.go @@ -24,8 +24,8 @@ import ( "bitbucket.org/ww/goautoneg" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // MediaTypesForSerializer returns a list of media and stream media types for the server. diff --git a/pkg/genericapiserver/api/handlers/negotiation/negotiate_test.go b/pkg/genericapiserver/api/handlers/negotiation/negotiate_test.go index 6052661c9c9..8a747ff73dc 100644 --- a/pkg/genericapiserver/api/handlers/negotiation/negotiate_test.go +++ b/pkg/genericapiserver/api/handlers/negotiation/negotiate_test.go @@ -21,8 +21,8 @@ import ( "net/url" "testing" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) // statusError is an object that can be converted into an metav1.Status diff --git a/pkg/genericapiserver/api/handlers/proxy.go b/pkg/genericapiserver/api/handlers/proxy.go index 916122dee50..81b90fa4859 100644 --- a/pkg/genericapiserver/api/handlers/proxy.go +++ b/pkg/genericapiserver/api/handlers/proxy.go @@ -27,6 +27,9 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" @@ -34,10 +37,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/api/metrics" "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/httplog" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/httpstream" - "k8s.io/kubernetes/pkg/util/net" proxyutil "k8s.io/kubernetes/pkg/util/proxy" "github.com/golang/glog" diff --git a/pkg/genericapiserver/api/handlers/responsewriters/BUILD b/pkg/genericapiserver/api/handlers/responsewriters/BUILD index 7fd18a54f19..5cc50008c0e 100644 --- a/pkg/genericapiserver/api/handlers/responsewriters/BUILD +++ b/pkg/genericapiserver/api/handlers/responsewriters/BUILD @@ -16,8 +16,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) @@ -32,13 +32,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/handlers/negotiation:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/wsstream:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", "//vendor:k8s.io/apiserver/pkg/util/flushwriter", ], diff --git a/pkg/genericapiserver/api/handlers/responsewriters/errors.go b/pkg/genericapiserver/api/handlers/responsewriters/errors.go index 2a5d51b0a91..9d560679b85 100644 --- a/pkg/genericapiserver/api/handlers/responsewriters/errors.go +++ b/pkg/genericapiserver/api/handlers/responsewriters/errors.go @@ -20,8 +20,8 @@ import ( "fmt" "net/http" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" - "k8s.io/kubernetes/pkg/util/runtime" ) // BadGatewayError renders a simple bad gateway error. diff --git a/pkg/genericapiserver/api/handlers/responsewriters/status.go b/pkg/genericapiserver/api/handlers/responsewriters/status.go index 75ab40c0828..8bf7919b357 100755 --- a/pkg/genericapiserver/api/handlers/responsewriters/status.go +++ b/pkg/genericapiserver/api/handlers/responsewriters/status.go @@ -20,9 +20,9 @@ import ( "fmt" "net/http" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/runtime" ) // statusError is an object that can be converted into an metav1.Status diff --git a/pkg/genericapiserver/api/handlers/responsewriters/status_test.go b/pkg/genericapiserver/api/handlers/responsewriters/status_test.go index b4731af48f8..69fc1ad4093 100644 --- a/pkg/genericapiserver/api/handlers/responsewriters/status_test.go +++ b/pkg/genericapiserver/api/handlers/responsewriters/status_test.go @@ -22,10 +22,10 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestAPIStatus(t *testing.T) { diff --git a/pkg/genericapiserver/api/handlers/responsewriters/writers.go b/pkg/genericapiserver/api/handlers/responsewriters/writers.go index 2258eac937d..e42188daf60 100644 --- a/pkg/genericapiserver/api/handlers/responsewriters/writers.go +++ b/pkg/genericapiserver/api/handlers/responsewriters/writers.go @@ -23,12 +23,12 @@ import ( "net/http" "strconv" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/util/flushwriter" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/negotiation" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/wsstream" ) diff --git a/pkg/genericapiserver/api/handlers/rest.go b/pkg/genericapiserver/api/handlers/rest.go index ec7563cbbe9..0cf967b6ebc 100644 --- a/pkg/genericapiserver/api/handlers/rest.go +++ b/pkg/genericapiserver/api/handlers/rest.go @@ -27,20 +27,20 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/negotiation" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/strategicpatch" "github.com/emicklei/go-restful" diff --git a/pkg/genericapiserver/api/handlers/rest_test.go b/pkg/genericapiserver/api/handlers/rest_test.go index 337382ebd56..722620f8516 100644 --- a/pkg/genericapiserver/api/handlers/rest_test.go +++ b/pkg/genericapiserver/api/handlers/rest_test.go @@ -26,17 +26,17 @@ import ( "github.com/emicklei/go-restful" "github.com/evanphx/json-patch" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/genericapiserver/api/handlers/watch.go b/pkg/genericapiserver/api/handlers/watch.go index b976ed725f2..a80d4cfe7e4 100755 --- a/pkg/genericapiserver/api/handlers/watch.go +++ b/pkg/genericapiserver/api/handlers/watch.go @@ -23,15 +23,15 @@ import ( "reflect" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/negotiation" "k8s.io/kubernetes/pkg/httplog" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/wsstream" - "k8s.io/kubernetes/pkg/watch" "github.com/emicklei/go-restful" "golang.org/x/net/websocket" diff --git a/pkg/genericapiserver/api/installer.go b/pkg/genericapiserver/api/installer.go index 63c5b466e3b..1505ff2abe8 100644 --- a/pkg/genericapiserver/api/installer.go +++ b/pkg/genericapiserver/api/installer.go @@ -28,19 +28,19 @@ import ( "time" "unicode" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/negotiation" "k8s.io/kubernetes/pkg/genericapiserver/api/metrics" "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/emicklei/go-restful" ) diff --git a/pkg/genericapiserver/api/installer_test.go b/pkg/genericapiserver/api/installer_test.go index bef56e09184..6368ceaffea 100644 --- a/pkg/genericapiserver/api/installer_test.go +++ b/pkg/genericapiserver/api/installer_test.go @@ -20,9 +20,9 @@ import ( "bytes" "testing" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "github.com/emicklei/go-restful" ) diff --git a/pkg/genericapiserver/api/metrics/BUILD b/pkg/genericapiserver/api/metrics/BUILD index 4a45168c172..4b253661083 100644 --- a/pkg/genericapiserver/api/metrics/BUILD +++ b/pkg/genericapiserver/api/metrics/BUILD @@ -12,9 +12,9 @@ go_library( srcs = ["metrics.go"], tags = ["automanaged"], deps = [ - "//pkg/util/net:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/genericapiserver/api/metrics/metrics.go b/pkg/genericapiserver/api/metrics/metrics.go index 15c5173078b..6df018921a0 100644 --- a/pkg/genericapiserver/api/metrics/metrics.go +++ b/pkg/genericapiserver/api/metrics/metrics.go @@ -23,7 +23,7 @@ import ( "strconv" "time" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" "github.com/emicklei/go-restful" "github.com/prometheus/client_golang/prometheus" diff --git a/pkg/genericapiserver/api/proxy_test.go b/pkg/genericapiserver/api/proxy_test.go index 118bbbf8a70..397a5a27a32 100644 --- a/pkg/genericapiserver/api/proxy_test.go +++ b/pkg/genericapiserver/api/proxy_test.go @@ -35,8 +35,8 @@ import ( "testing" "golang.org/x/net/websocket" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api/rest" - utilnet "k8s.io/kubernetes/pkg/util/net" ) func TestProxyRequestContentLengthAndTransferEncoding(t *testing.T) { diff --git a/pkg/genericapiserver/api/request/BUILD b/pkg/genericapiserver/api/request/BUILD index a729e124ebb..0c05a6b0b08 100644 --- a/pkg/genericapiserver/api/request/BUILD +++ b/pkg/genericapiserver/api/request/BUILD @@ -18,10 +18,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/types:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) @@ -31,7 +31,7 @@ go_test( srcs = ["requestinfo_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/util/sets:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/sets"], ) go_test( @@ -41,7 +41,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/pkg/genericapiserver/api/request/context.go b/pkg/genericapiserver/api/request/context.go index eefa1e7257c..b6e7d0dba8f 100644 --- a/pkg/genericapiserver/api/request/context.go +++ b/pkg/genericapiserver/api/request/context.go @@ -21,8 +21,8 @@ import ( "time" "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/types" "k8s.io/apiserver/pkg/authentication/user" - "k8s.io/kubernetes/pkg/types" ) // Context carries values across API boundaries. diff --git a/pkg/genericapiserver/api/request/context_test.go b/pkg/genericapiserver/api/request/context_test.go index 5819e4c8e94..4c5f766b6b7 100644 --- a/pkg/genericapiserver/api/request/context_test.go +++ b/pkg/genericapiserver/api/request/context_test.go @@ -19,10 +19,10 @@ package request_test import ( "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/kubernetes/pkg/api" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/types" ) // TestNamespaceContext validates that a namespace can be get/set on a context object diff --git a/pkg/genericapiserver/api/request/requestinfo.go b/pkg/genericapiserver/api/request/requestinfo.go index be75c14f435..4f231319e9d 100644 --- a/pkg/genericapiserver/api/request/requestinfo.go +++ b/pkg/genericapiserver/api/request/requestinfo.go @@ -21,7 +21,7 @@ import ( "net/http" "strings" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) // RequestInfo holds information parsed from the http.Request diff --git a/pkg/genericapiserver/api/request/requestinfo_test.go b/pkg/genericapiserver/api/request/requestinfo_test.go index 80a254adea5..6e8550f42da 100644 --- a/pkg/genericapiserver/api/request/requestinfo_test.go +++ b/pkg/genericapiserver/api/request/requestinfo_test.go @@ -21,7 +21,7 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) type fakeRL bool diff --git a/pkg/genericapiserver/api/testing/BUILD b/pkg/genericapiserver/api/testing/BUILD index 3923d515782..70f7ce32b77 100644 --- a/pkg/genericapiserver/api/testing/BUILD +++ b/pkg/genericapiserver/api/testing/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/genericapiserver/api/testing/types.generated.go b/pkg/genericapiserver/api/testing/types.generated.go index e6a3c6b4a34..f0214811bc7 100644 --- a/pkg/genericapiserver/api/testing/types.generated.go +++ b/pkg/genericapiserver/api/testing/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/genericapiserver/api/testing/types.go b/pkg/genericapiserver/api/testing/types.go index 1d089416397..8db2be1f78b 100644 --- a/pkg/genericapiserver/api/testing/types.go +++ b/pkg/genericapiserver/api/testing/types.go @@ -17,9 +17,9 @@ limitations under the License. package testing import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" ) type Simple struct { diff --git a/pkg/genericapiserver/api/watch_test.go b/pkg/genericapiserver/api/watch_test.go index f6779ddc3cf..8e0aa943443 100644 --- a/pkg/genericapiserver/api/watch_test.go +++ b/pkg/genericapiserver/api/watch_test.go @@ -30,19 +30,19 @@ import ( "time" "golang.org/x/net/websocket" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers" apitesting "k8s.io/kubernetes/pkg/genericapiserver/api/testing" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) // watchJSON defines the expected JSON wire equivalent of watch.Event diff --git a/pkg/genericapiserver/config.go b/pkg/genericapiserver/config.go index 1cc51439cb6..9e7bf73e2d5 100644 --- a/pkg/genericapiserver/config.go +++ b/pkg/genericapiserver/config.go @@ -36,13 +36,16 @@ import ( "github.com/pborman/uuid" "gopkg.in/natefinch/lumberjack.v2" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + openapicommon "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" authorizerunion "k8s.io/kubernetes/pkg/auth/authorizer/union" authhandlers "k8s.io/kubernetes/pkg/auth/handlers" "k8s.io/kubernetes/pkg/client/restclient" @@ -53,12 +56,9 @@ import ( genericauthorizer "k8s.io/kubernetes/pkg/genericapiserver/authorizer" genericfilters "k8s.io/kubernetes/pkg/genericapiserver/filters" "k8s.io/kubernetes/pkg/genericapiserver/mux" - openapicommon "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" "k8s.io/kubernetes/pkg/genericapiserver/options" "k8s.io/kubernetes/pkg/genericapiserver/routes" - "k8s.io/kubernetes/pkg/runtime" certutil "k8s.io/kubernetes/pkg/util/cert" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/version" authenticatorunion "k8s.io/kubernetes/plugin/pkg/auth/authenticator/request/union" ) diff --git a/pkg/genericapiserver/default_storage_factory_builder.go b/pkg/genericapiserver/default_storage_factory_builder.go index 2f34c96ccd1..35c84b4df88 100644 --- a/pkg/genericapiserver/default_storage_factory_builder.go +++ b/pkg/genericapiserver/default_storage_factory_builder.go @@ -21,9 +21,9 @@ import ( "strconv" "strings" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/util/config" ) diff --git a/pkg/genericapiserver/default_storage_factory_builder_test.go b/pkg/genericapiserver/default_storage_factory_builder_test.go index b2e57de69ec..c3157e7ae2b 100644 --- a/pkg/genericapiserver/default_storage_factory_builder_test.go +++ b/pkg/genericapiserver/default_storage_factory_builder_test.go @@ -20,10 +20,10 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestParseRuntimeConfig(t *testing.T) { diff --git a/pkg/genericapiserver/discovery.go b/pkg/genericapiserver/discovery.go index c2b28512680..7e631ef0b9b 100644 --- a/pkg/genericapiserver/discovery.go +++ b/pkg/genericapiserver/discovery.go @@ -19,7 +19,7 @@ package genericapiserver import ( "net" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) type DiscoveryAddresses interface { diff --git a/pkg/genericapiserver/filters/BUILD b/pkg/genericapiserver/filters/BUILD index 4b638010827..a04fb2e365b 100644 --- a/pkg/genericapiserver/filters/BUILD +++ b/pkg/genericapiserver/filters/BUILD @@ -25,9 +25,9 @@ go_library( "//pkg/genericapiserver/api/request:go_default_library", "//pkg/httplog:go_default_library", "//pkg/util:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -44,7 +44,7 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/genericapiserver/api/filters:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/genericapiserver/filters/longrunning.go b/pkg/genericapiserver/filters/longrunning.go index 6b5938f66f4..d2be9c65329 100644 --- a/pkg/genericapiserver/filters/longrunning.go +++ b/pkg/genericapiserver/filters/longrunning.go @@ -19,8 +19,8 @@ package filters import ( "net/http" + "k8s.io/apimachinery/pkg/util/sets" apirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/util/sets" ) // LongRunningRequestCheck is a predicate which is true for long-running http requests. diff --git a/pkg/genericapiserver/filters/maxinflight.go b/pkg/genericapiserver/filters/maxinflight.go index 323b174fb01..f4d7da23029 100644 --- a/pkg/genericapiserver/filters/maxinflight.go +++ b/pkg/genericapiserver/filters/maxinflight.go @@ -20,11 +20,11 @@ import ( "fmt" "net/http" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/errors" apirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/httplog" - "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" ) diff --git a/pkg/genericapiserver/filters/maxinflight_test.go b/pkg/genericapiserver/filters/maxinflight_test.go index 7bee0591f71..259e88768fb 100644 --- a/pkg/genericapiserver/filters/maxinflight_test.go +++ b/pkg/genericapiserver/filters/maxinflight_test.go @@ -24,10 +24,10 @@ import ( "sync" "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/errors" apifilters "k8s.io/kubernetes/pkg/genericapiserver/api/filters" apirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/util/sets" ) func createMaxInflightServer(callsWg, blockWg *sync.WaitGroup, disableCallsWg *bool, disableCallsWgMutex *sync.Mutex, nonMutating, mutating int) *httptest.Server { diff --git a/pkg/genericapiserver/filters/panics.go b/pkg/genericapiserver/filters/panics.go index 1a19492625c..c88bb7b2398 100644 --- a/pkg/genericapiserver/filters/panics.go +++ b/pkg/genericapiserver/filters/panics.go @@ -22,10 +22,10 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/runtime" apierrors "k8s.io/kubernetes/pkg/api/errors" apirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/httplog" - "k8s.io/kubernetes/pkg/util/runtime" ) // WithPanicRecovery wraps an http Handler to recover and log panics. diff --git a/pkg/genericapiserver/genericapiserver.go b/pkg/genericapiserver/genericapiserver.go index 197957bf95d..617a94f4f7c 100644 --- a/pkg/genericapiserver/genericapiserver.go +++ b/pkg/genericapiserver/genericapiserver.go @@ -30,23 +30,23 @@ import ( "github.com/emicklei/go-restful/swagger" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + openapicommon "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" genericapi "k8s.io/kubernetes/pkg/genericapiserver/api" apirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" genericmux "k8s.io/kubernetes/pkg/genericapiserver/mux" - openapicommon "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" "k8s.io/kubernetes/pkg/genericapiserver/routes" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" ) // Info about an API group. diff --git a/pkg/genericapiserver/genericapiserver_test.go b/pkg/genericapiserver/genericapiserver_test.go index 659ddbea173..a7a6c35a825 100644 --- a/pkg/genericapiserver/genericapiserver_test.go +++ b/pkg/genericapiserver/genericapiserver_test.go @@ -27,23 +27,23 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" openapigen "k8s.io/kubernetes/pkg/generated/openapi" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/version" "github.com/go-openapi/spec" diff --git a/pkg/genericapiserver/hooks.go b/pkg/genericapiserver/hooks.go index 985341df71c..c2cca57d9fc 100644 --- a/pkg/genericapiserver/hooks.go +++ b/pkg/genericapiserver/hooks.go @@ -23,9 +23,9 @@ import ( "github.com/golang/glog" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/pkg/client/restclient" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" ) // PostStartHookFunc is a function that is called after the server has started. diff --git a/pkg/genericapiserver/mux/BUILD b/pkg/genericapiserver/mux/BUILD index d78580ff7b3..437d18b7015 100644 --- a/pkg/genericapiserver/mux/BUILD +++ b/pkg/genericapiserver/mux/BUILD @@ -20,10 +20,10 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/genericapiserver/mux/container.go b/pkg/genericapiserver/mux/container.go index 95105a1d73b..d30f0494e4c 100644 --- a/pkg/genericapiserver/mux/container.go +++ b/pkg/genericapiserver/mux/container.go @@ -25,11 +25,11 @@ import ( "github.com/emicklei/go-restful" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // APIContainer is a restful container which in addition support registering diff --git a/pkg/genericapiserver/openapi/BUILD b/pkg/genericapiserver/openapi/BUILD index e689d5f2be6..55977446241 100644 --- a/pkg/genericapiserver/openapi/BUILD +++ b/pkg/genericapiserver/openapi/BUILD @@ -18,11 +18,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/genericapiserver/mux:go_default_library", - "//pkg/genericapiserver/openapi/common:go_default_library", "//pkg/util:go_default_library", - "//pkg/util/json:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/go-openapi/spec", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", + "//vendor:k8s.io/apimachinery/pkg/util/json", ], ) @@ -32,10 +32,10 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/genericapiserver/openapi/common:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", ], ) diff --git a/pkg/genericapiserver/openapi/common/.readonly b/pkg/genericapiserver/openapi/common/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/genericapiserver/openapi/openapi.go b/pkg/genericapiserver/openapi/openapi.go index 63170ef71ba..9fca3db2d37 100644 --- a/pkg/genericapiserver/openapi/openapi.go +++ b/pkg/genericapiserver/openapi/openapi.go @@ -25,10 +25,10 @@ import ( "github.com/emicklei/go-restful" "github.com/go-openapi/spec" + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/util/json" genericmux "k8s.io/kubernetes/pkg/genericapiserver/mux" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" "k8s.io/kubernetes/pkg/util" - "k8s.io/kubernetes/pkg/util/json" ) const ( diff --git a/pkg/genericapiserver/openapi/openapi_test.go b/pkg/genericapiserver/openapi/openapi_test.go index 9975a8306a0..26512a05315 100644 --- a/pkg/genericapiserver/openapi/openapi_test.go +++ b/pkg/genericapiserver/openapi/openapi_test.go @@ -24,7 +24,7 @@ import ( "github.com/emicklei/go-restful" "github.com/go-openapi/spec" "github.com/stretchr/testify/assert" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" ) // setUp is a convenience function for setting up for (most) tests. diff --git a/pkg/genericapiserver/options/BUILD b/pkg/genericapiserver/options/BUILD index 96aaf5b109d..fd1836fd450 100644 --- a/pkg/genericapiserver/options/BUILD +++ b/pkg/genericapiserver/options/BUILD @@ -21,16 +21,16 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/genericapiserver/authenticator:go_default_library", "//pkg/genericapiserver/authorizer:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util/cert:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", "//vendor:k8s.io/client-go/kubernetes/typed/authentication/v1beta1", "//vendor:k8s.io/client-go/kubernetes/typed/authorization/v1beta1", "//vendor:k8s.io/client-go/rest", diff --git a/pkg/genericapiserver/options/server_run_options.go b/pkg/genericapiserver/options/server_run_options.go index 621751f64d1..96d4d14f358 100644 --- a/pkg/genericapiserver/options/server_run_options.go +++ b/pkg/genericapiserver/options/server_run_options.go @@ -21,10 +21,10 @@ import ( "net" "strings" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/config" "github.com/spf13/pflag" diff --git a/pkg/genericapiserver/options/serving.go b/pkg/genericapiserver/options/serving.go index e91dcb4e380..6c1d1b2a8cb 100644 --- a/pkg/genericapiserver/options/serving.go +++ b/pkg/genericapiserver/options/serving.go @@ -24,9 +24,9 @@ import ( "github.com/golang/glog" "github.com/spf13/pflag" + utilnet "k8s.io/apimachinery/pkg/util/net" certutil "k8s.io/kubernetes/pkg/util/cert" "k8s.io/kubernetes/pkg/util/config" - utilnet "k8s.io/kubernetes/pkg/util/net" ) type ServingOptions struct { diff --git a/pkg/genericapiserver/resource_config.go b/pkg/genericapiserver/resource_config.go index dabfaeff036..7c3d634887c 100644 --- a/pkg/genericapiserver/resource_config.go +++ b/pkg/genericapiserver/resource_config.go @@ -17,8 +17,8 @@ limitations under the License. package genericapiserver import ( - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" ) // APIResourceConfigSource is the interface to determine which versions and resources are enabled diff --git a/pkg/genericapiserver/resource_config_test.go b/pkg/genericapiserver/resource_config_test.go index 712aaff5ae6..cb3ddd6c4f0 100644 --- a/pkg/genericapiserver/resource_config_test.go +++ b/pkg/genericapiserver/resource_config_test.go @@ -19,7 +19,7 @@ package genericapiserver import ( "testing" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/schema" ) func TestDisabledVersion(t *testing.T) { diff --git a/pkg/genericapiserver/resource_encoding_config.go b/pkg/genericapiserver/resource_encoding_config.go index 53880a0752e..97e08339030 100644 --- a/pkg/genericapiserver/resource_encoding_config.go +++ b/pkg/genericapiserver/resource_encoding_config.go @@ -17,9 +17,9 @@ limitations under the License. package genericapiserver import ( - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) type ResourceEncodingConfig interface { diff --git a/pkg/genericapiserver/routes/BUILD b/pkg/genericapiserver/routes/BUILD index 1fd228b7db1..5074c5befcc 100644 --- a/pkg/genericapiserver/routes/BUILD +++ b/pkg/genericapiserver/routes/BUILD @@ -21,12 +21,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/api/metrics:go_default_library", "//pkg/genericapiserver/mux:go_default_library", "//pkg/genericapiserver/openapi:go_default_library", - "//pkg/genericapiserver/openapi/common:go_default_library", "//pkg/genericapiserver/routes/data/swagger:go_default_library", "//pkg/storage/etcd/metrics:go_default_library", "//pkg/version:go_default_library", @@ -35,6 +33,8 @@ go_library( "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/golang/glog", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", ], ) diff --git a/pkg/genericapiserver/routes/index.go b/pkg/genericapiserver/routes/index.go index ca80e95c7e3..25945296b34 100644 --- a/pkg/genericapiserver/routes/index.go +++ b/pkg/genericapiserver/routes/index.go @@ -20,7 +20,7 @@ import ( "net/http" "sort" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/genericapiserver/api/handlers/responsewriters" "k8s.io/kubernetes/pkg/genericapiserver/mux" ) diff --git a/pkg/genericapiserver/routes/openapi.go b/pkg/genericapiserver/routes/openapi.go index 78b76758652..91ead1d30f9 100644 --- a/pkg/genericapiserver/routes/openapi.go +++ b/pkg/genericapiserver/routes/openapi.go @@ -17,9 +17,9 @@ limitations under the License. package routes import ( + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" "k8s.io/kubernetes/pkg/genericapiserver/mux" "k8s.io/kubernetes/pkg/genericapiserver/openapi" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" "github.com/golang/glog" ) diff --git a/pkg/genericapiserver/serve.go b/pkg/genericapiserver/serve.go index c9b35fcf75c..fc548ae3ae2 100644 --- a/pkg/genericapiserver/serve.go +++ b/pkg/genericapiserver/serve.go @@ -26,8 +26,8 @@ import ( "sync" "time" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/validation" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/validation" "github.com/golang/glog" "github.com/pkg/errors" diff --git a/pkg/genericapiserver/server_run_options_test.go b/pkg/genericapiserver/server_run_options_test.go index 551adba217c..6fcfc03ddde 100644 --- a/pkg/genericapiserver/server_run_options_test.go +++ b/pkg/genericapiserver/server_run_options_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/options" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestGenerateStorageVersionMap(t *testing.T) { diff --git a/pkg/genericapiserver/storage_factory.go b/pkg/genericapiserver/storage_factory.go index e2b84be45d1..14b66573e9f 100644 --- a/pkg/genericapiserver/storage_factory.go +++ b/pkg/genericapiserver/storage_factory.go @@ -21,11 +21,11 @@ import ( "mime" "strings" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/recognizer" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/storage/storagebackend" - "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" ) diff --git a/pkg/genericapiserver/storage_factory_test.go b/pkg/genericapiserver/storage_factory_test.go index 2c188353a21..119c4360716 100644 --- a/pkg/genericapiserver/storage_factory_test.go +++ b/pkg/genericapiserver/storage_factory_test.go @@ -20,10 +20,10 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/options" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" ) diff --git a/pkg/genericapiserver/tunneler.go b/pkg/genericapiserver/tunneler.go index 4438e0e5149..8359c659ea8 100644 --- a/pkg/genericapiserver/tunneler.go +++ b/pkg/genericapiserver/tunneler.go @@ -26,10 +26,10 @@ import ( "sync/atomic" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/ssh" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" diff --git a/pkg/kubectl/BUILD b/pkg/kubectl/BUILD index d4f3badaa82..9c124c82aa3 100644 --- a/pkg/kubectl/BUILD +++ b/pkg/kubectl/BUILD @@ -58,7 +58,6 @@ go_library( "//pkg/api/annotations:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/events:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/v1:go_default_library", @@ -68,8 +67,6 @@ go_library( "//pkg/apis/certificates:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/storage:go_default_library", @@ -91,28 +88,31 @@ go_library( "//pkg/fields:go_default_library", "//pkg/kubectl/resource:go_default_library", "//pkg/kubelet/qos:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/cert:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/integer:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/jsonpath:go_default_library", "//pkg/util/node:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/slice:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -156,11 +156,9 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", @@ -174,16 +172,18 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/controller/deployment/util:go_default_library", "//pkg/kubectl/testing:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/yaml:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/yaml", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/kubectl/apply.go b/pkg/kubectl/apply.go index 362e13b6378..8d00e636c7f 100644 --- a/pkg/kubectl/apply.go +++ b/pkg/kubectl/apply.go @@ -17,10 +17,10 @@ limitations under the License. package kubectl import ( + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/annotations" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" ) // GetOriginalConfiguration retrieves the original configuration of the object diff --git a/pkg/kubectl/autoscale.go b/pkg/kubectl/autoscale.go index 2e266810cef..3fd1e3457de 100644 --- a/pkg/kubectl/autoscale.go +++ b/pkg/kubectl/autoscale.go @@ -20,9 +20,9 @@ import ( "fmt" "strconv" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" - "k8s.io/kubernetes/pkg/runtime" ) type HorizontalPodAutoscalerV1Beta1 struct{} diff --git a/pkg/kubectl/cluster.go b/pkg/kubectl/cluster.go index 895817826b7..b6f60b50ecb 100644 --- a/pkg/kubectl/cluster.go +++ b/pkg/kubectl/cluster.go @@ -19,9 +19,9 @@ package kubectl import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" ) // ClusterGeneratorV1Beta1 supports stable generation of a diff --git a/pkg/kubectl/clusterrolebinding.go b/pkg/kubectl/clusterrolebinding.go index 42242cae0dc..6216d31121a 100644 --- a/pkg/kubectl/clusterrolebinding.go +++ b/pkg/kubectl/clusterrolebinding.go @@ -21,8 +21,8 @@ import ( "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/runtime" ) // ClusterRoleBindingGeneratorV1 supports stable generation of a clusterRoleBinding. diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index a02157ef91f..81d9aa08be7 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -65,15 +65,11 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/annotations:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch/v1:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", @@ -95,26 +91,16 @@ go_library( "//pkg/kubectl/resource:go_default_library", "//pkg/kubelet/server/remotecommand:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/crlf:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flag:go_default_library", "//pkg/util/i18n:go_default_library", "//pkg/util/interrupt:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//pkg/util/taints:go_default_library", "//pkg/util/term:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/util/yaml:go_default_library", "//pkg/version:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/daviddengcn/go-colortext", "//vendor:github.com/docker/distribution/reference", "//vendor:github.com/docker/docker/pkg/term", @@ -124,6 +110,20 @@ go_library( "//vendor:github.com/renstrom/dedent", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -174,16 +174,13 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/annotations:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", @@ -193,19 +190,22 @@ go_test( "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/json:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/util/term:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/spf13/cobra", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], ) diff --git a/pkg/kubectl/cmd/annotate.go b/pkg/kubectl/cmd/annotate.go index 989794f11c5..0cd07304116 100644 --- a/pkg/kubectl/cmd/annotate.go +++ b/pkg/kubectl/cmd/annotate.go @@ -24,13 +24,13 @@ import ( "github.com/golang/glog" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/i18n" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/kubectl/cmd/annotate_test.go b/pkg/kubectl/cmd/annotate_test.go index c1c8661f341..938e23dc4e7 100644 --- a/pkg/kubectl/cmd/annotate_test.go +++ b/pkg/kubectl/cmd/annotate_test.go @@ -23,12 +23,12 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "k8s.io/kubernetes/pkg/runtime" ) func TestValidateAnnotationOverwrites(t *testing.T) { diff --git a/pkg/kubectl/cmd/apiversions.go b/pkg/kubectl/cmd/apiversions.go index e6f388166b8..e6f47d05343 100644 --- a/pkg/kubectl/cmd/apiversions.go +++ b/pkg/kubectl/cmd/apiversions.go @@ -24,7 +24,7 @@ import ( "github.com/spf13/cobra" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" ) diff --git a/pkg/kubectl/cmd/apply.go b/pkg/kubectl/cmd/apply.go index 277b95bf39e..59d159e8cda 100644 --- a/pkg/kubectl/cmd/apply.go +++ b/pkg/kubectl/cmd/apply.go @@ -25,22 +25,22 @@ import ( "github.com/jonboulle/clockwork" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/annotations" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/strategicpatch" - "k8s.io/kubernetes/pkg/util/wait" ) type ApplyOptions struct { diff --git a/pkg/kubectl/cmd/apply_test.go b/pkg/kubectl/cmd/apply_test.go index ea95ad8c2eb..f3a353da6b1 100644 --- a/pkg/kubectl/cmd/apply_test.go +++ b/pkg/kubectl/cmd/apply_test.go @@ -27,16 +27,16 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/annotations" kubeerr "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestApplyExtraArgsFail(t *testing.T) { diff --git a/pkg/kubectl/cmd/attach.go b/pkg/kubectl/cmd/attach.go index bfd707b9ab4..6297d4ddff3 100644 --- a/pkg/kubectl/cmd/attach.go +++ b/pkg/kubectl/cmd/attach.go @@ -24,15 +24,15 @@ import ( "github.com/golang/glog" "github.com/spf13/cobra" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/remotecommand" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" remotecommandserver "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/kubectl/cmd/attach_test.go b/pkg/kubectl/cmd/attach_test.go index ef3e7523041..269fd3cfe2c 100644 --- a/pkg/kubectl/cmd/attach_test.go +++ b/pkg/kubectl/cmd/attach_test.go @@ -27,12 +27,12 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/kubectl/cmd/autoscale.go b/pkg/kubectl/cmd/autoscale.go index 2793e6eeaad..2be7dfb2f00 100644 --- a/pkg/kubectl/cmd/autoscale.go +++ b/pkg/kubectl/cmd/autoscale.go @@ -20,11 +20,11 @@ import ( "fmt" "io" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "github.com/spf13/cobra" ) diff --git a/pkg/kubectl/cmd/certificates.go b/pkg/kubectl/cmd/certificates.go index fcb8a7bab36..dac593e8ee0 100644 --- a/pkg/kubectl/cmd/certificates.go +++ b/pkg/kubectl/cmd/certificates.go @@ -20,8 +20,8 @@ import ( "fmt" "io" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/certificates" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" diff --git a/pkg/kubectl/cmd/cmd_test.go b/pkg/kubectl/cmd/cmd_test.go index 2d25e0e45b5..54152764bdc 100644 --- a/pkg/kubectl/cmd/cmd_test.go +++ b/pkg/kubectl/cmd/cmd_test.go @@ -28,17 +28,17 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/kubectl" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/strings" ) diff --git a/pkg/kubectl/cmd/config/BUILD b/pkg/kubectl/cmd/config/BUILD index 5ae33fae648..21d96959906 100644 --- a/pkg/kubectl/cmd/config/BUILD +++ b/pkg/kubectl/cmd/config/BUILD @@ -34,10 +34,10 @@ go_library( "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/templates:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/flag:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -60,8 +60,8 @@ go_test( "//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd/api:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/flag:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/kubectl/cmd/config/config_test.go b/pkg/kubectl/cmd/config/config_test.go index a37b18fa71f..74c665a2c0a 100644 --- a/pkg/kubectl/cmd/config/config_test.go +++ b/pkg/kubectl/cmd/config/config_test.go @@ -26,11 +26,11 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/util/diff" ) func newRedFederalCowHammerConfig() clientcmdapi.Config { diff --git a/pkg/kubectl/cmd/config/get_contexts.go b/pkg/kubectl/cmd/config/get_contexts.go index 5ad1d92905a..92ede9bb873 100644 --- a/pkg/kubectl/cmd/config/get_contexts.go +++ b/pkg/kubectl/cmd/config/get_contexts.go @@ -23,13 +23,13 @@ import ( "text/tabwriter" "github.com/spf13/cobra" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" ) // GetContextsOptions contains the assignable options from the args. diff --git a/pkg/kubectl/cmd/config/navigation_step_parser.go b/pkg/kubectl/cmd/config/navigation_step_parser.go index 60177be7256..7709e665f00 100644 --- a/pkg/kubectl/cmd/config/navigation_step_parser.go +++ b/pkg/kubectl/cmd/config/navigation_step_parser.go @@ -21,8 +21,8 @@ import ( "reflect" "strings" + "k8s.io/apimachinery/pkg/util/sets" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/util/sets" ) type navigationSteps struct { diff --git a/pkg/kubectl/cmd/config/navigation_step_parser_test.go b/pkg/kubectl/cmd/config/navigation_step_parser_test.go index 48b2e0cffd8..0d2eefc93ba 100644 --- a/pkg/kubectl/cmd/config/navigation_step_parser_test.go +++ b/pkg/kubectl/cmd/config/navigation_step_parser_test.go @@ -21,8 +21,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/util/diff" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/util/diff" ) type stepParserTest struct { diff --git a/pkg/kubectl/cmd/convert.go b/pkg/kubectl/cmd/convert.go index 46055cbfba2..367a2054ea0 100644 --- a/pkg/kubectl/cmd/convert.go +++ b/pkg/kubectl/cmd/convert.go @@ -21,15 +21,15 @@ import ( "io" "os" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/spf13/cobra" ) diff --git a/pkg/kubectl/cmd/create.go b/pkg/kubectl/cmd/create.go index de2b2fd625f..6256e11e8d5 100644 --- a/pkg/kubectl/cmd/create.go +++ b/pkg/kubectl/cmd/create.go @@ -23,12 +23,12 @@ import ( "github.com/spf13/cobra" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime/schema" ) var ( diff --git a/pkg/kubectl/cmd/delete.go b/pkg/kubectl/cmd/delete.go index 3d284b1d080..5706b6239db 100644 --- a/pkg/kubectl/cmd/delete.go +++ b/pkg/kubectl/cmd/delete.go @@ -23,15 +23,15 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/util/wait" ) var ( diff --git a/pkg/kubectl/cmd/delete_test.go b/pkg/kubectl/cmd/delete_test.go index 4c80e84c424..78ae74aa0c7 100644 --- a/pkg/kubectl/cmd/delete_test.go +++ b/pkg/kubectl/cmd/delete_test.go @@ -23,11 +23,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/dynamic" diff --git a/pkg/kubectl/cmd/describe.go b/pkg/kubectl/cmd/describe.go index a098f75c701..6cb91118ac5 100644 --- a/pkg/kubectl/cmd/describe.go +++ b/pkg/kubectl/cmd/describe.go @@ -23,15 +23,15 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" ) var ( diff --git a/pkg/kubectl/cmd/drain.go b/pkg/kubectl/cmd/drain.go index 39a8098030f..2b826079161 100644 --- a/pkg/kubectl/cmd/drain.go +++ b/pkg/kubectl/cmd/drain.go @@ -28,10 +28,12 @@ import ( "github.com/jonboulle/clockwork" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" @@ -41,8 +43,6 @@ import ( cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) type DrainOptions struct { diff --git a/pkg/kubectl/cmd/drain_test.go b/pkg/kubectl/cmd/drain_test.go index ca206a34da7..837df241c40 100644 --- a/pkg/kubectl/cmd/drain_test.go +++ b/pkg/kubectl/cmd/drain_test.go @@ -33,20 +33,20 @@ import ( "github.com/spf13/cobra" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubectl/cmd/edit.go b/pkg/kubectl/cmd/edit.go index 30f7d4d5ed2..28f188676a3 100644 --- a/pkg/kubectl/cmd/edit.go +++ b/pkg/kubectl/cmd/edit.go @@ -27,21 +27,21 @@ import ( gruntime "runtime" "strings" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/cmd/util/editor" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/crlf" "k8s.io/kubernetes/pkg/util/strategicpatch" - "k8s.io/kubernetes/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/util/yaml" "github.com/golang/glog" "github.com/spf13/cobra" diff --git a/pkg/kubectl/cmd/exec.go b/pkg/kubectl/cmd/exec.go index 0d051395faf..9bd0281b6d8 100644 --- a/pkg/kubectl/cmd/exec.go +++ b/pkg/kubectl/cmd/exec.go @@ -24,8 +24,8 @@ import ( dockerterm "github.com/docker/docker/pkg/term" "github.com/spf13/cobra" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/remotecommand" diff --git a/pkg/kubectl/cmd/exec_test.go b/pkg/kubectl/cmd/exec_test.go index 0eef608518a..673d9d3eef3 100644 --- a/pkg/kubectl/cmd/exec_test.go +++ b/pkg/kubectl/cmd/exec_test.go @@ -29,8 +29,8 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" diff --git a/pkg/kubectl/cmd/explain.go b/pkg/kubectl/cmd/explain.go index beb2d32da46..e267970ff31 100644 --- a/pkg/kubectl/cmd/explain.go +++ b/pkg/kubectl/cmd/explain.go @@ -22,11 +22,11 @@ import ( "github.com/spf13/cobra" - "k8s.io/kubernetes/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime/schema" ) var ( diff --git a/pkg/kubectl/cmd/expose.go b/pkg/kubectl/cmd/expose.go index c119871f0d5..e9506d54dd5 100644 --- a/pkg/kubectl/cmd/expose.go +++ b/pkg/kubectl/cmd/expose.go @@ -24,12 +24,12 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation" ) var ( diff --git a/pkg/kubectl/cmd/expose_test.go b/pkg/kubectl/cmd/expose_test.go index e3f25d0c748..f796683e5ed 100644 --- a/pkg/kubectl/cmd/expose_test.go +++ b/pkg/kubectl/cmd/expose_test.go @@ -23,11 +23,11 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/kubectl" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubectl/cmd/get.go b/pkg/kubectl/cmd/get.go index ae302d187f9..d3d335d63c0 100644 --- a/pkg/kubectl/cmd/get.go +++ b/pkg/kubectl/cmd/get.go @@ -23,18 +23,18 @@ import ( "github.com/spf13/cobra" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/i18n" "k8s.io/kubernetes/pkg/util/interrupt" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" ) // GetOptions is the start of the data required to perform the operation. As new fields are added, add them here instead of diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go index 0761d1352ef..0373f7fb5a7 100644 --- a/pkg/kubectl/cmd/get_test.go +++ b/pkg/kubectl/cmd/get_test.go @@ -26,21 +26,21 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/json" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - "k8s.io/kubernetes/pkg/watch" ) func testData() (*api.PodList, *api.ServiceList, *api.ReplicationControllerList) { diff --git a/pkg/kubectl/cmd/label.go b/pkg/kubectl/cmd/label.go index ee137b73dc4..9396daf8d4e 100644 --- a/pkg/kubectl/cmd/label.go +++ b/pkg/kubectl/cmd/label.go @@ -25,16 +25,16 @@ import ( "github.com/golang/glog" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/strategicpatch" - "k8s.io/kubernetes/pkg/util/validation" ) // LabelOptions have the data required to perform the label operation diff --git a/pkg/kubectl/cmd/label_test.go b/pkg/kubectl/cmd/label_test.go index 83a50cb1779..a0e503f8d40 100644 --- a/pkg/kubectl/cmd/label_test.go +++ b/pkg/kubectl/cmd/label_test.go @@ -23,13 +23,13 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" ) func TestValidateLabels(t *testing.T) { diff --git a/pkg/kubectl/cmd/logs.go b/pkg/kubectl/cmd/logs.go index 80f20ca6201..8fb9b71ccf6 100644 --- a/pkg/kubectl/cmd/logs.go +++ b/pkg/kubectl/cmd/logs.go @@ -24,15 +24,15 @@ import ( "time" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" ) var ( diff --git a/pkg/kubectl/cmd/logs_test.go b/pkg/kubectl/cmd/logs_test.go index e749723f03c..39970e65868 100644 --- a/pkg/kubectl/cmd/logs_test.go +++ b/pkg/kubectl/cmd/logs_test.go @@ -26,11 +26,11 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestLog(t *testing.T) { diff --git a/pkg/kubectl/cmd/patch.go b/pkg/kubectl/cmd/patch.go index 6e42d83c733..2741ec887af 100644 --- a/pkg/kubectl/cmd/patch.go +++ b/pkg/kubectl/cmd/patch.go @@ -26,15 +26,15 @@ import ( jsonpatch "github.com/evanphx/json-patch" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/strategicpatch" - "k8s.io/kubernetes/pkg/util/yaml" ) var patchTypes = map[string]api.PatchType{"json": api.JSONPatchType, "merge": api.MergePatchType, "strategic": api.StrategicMergePatchType} diff --git a/pkg/kubectl/cmd/portforward.go b/pkg/kubectl/cmd/portforward.go index 297737ce452..59177717774 100644 --- a/pkg/kubectl/cmd/portforward.go +++ b/pkg/kubectl/cmd/portforward.go @@ -25,8 +25,8 @@ import ( "github.com/spf13/cobra" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/portforward" diff --git a/pkg/kubectl/cmd/portforward_test.go b/pkg/kubectl/cmd/portforward_test.go index ef58d1189ae..5bbc886c2df 100644 --- a/pkg/kubectl/cmd/portforward_test.go +++ b/pkg/kubectl/cmd/portforward_test.go @@ -25,8 +25,8 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) diff --git a/pkg/kubectl/cmd/replace.go b/pkg/kubectl/cmd/replace.go index 36b336ec10f..f45c2fa4cf7 100644 --- a/pkg/kubectl/cmd/replace.go +++ b/pkg/kubectl/cmd/replace.go @@ -26,13 +26,13 @@ import ( "github.com/spf13/cobra" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/util/wait" ) var ( diff --git a/pkg/kubectl/cmd/rollingupdate.go b/pkg/kubectl/cmd/rollingupdate.go index beda44c3712..4288e5045be 100644 --- a/pkg/kubectl/cmd/rollingupdate.go +++ b/pkg/kubectl/cmd/rollingupdate.go @@ -27,16 +27,16 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubectl/cmd/rollout/BUILD b/pkg/kubectl/cmd/rollout/BUILD index 3a5db533629..c175e524a9c 100644 --- a/pkg/kubectl/cmd/rollout/BUILD +++ b/pkg/kubectl/cmd/rollout/BUILD @@ -20,18 +20,18 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/set:go_default_library", "//pkg/kubectl/cmd/templates:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/interrupt:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/renstrom/dedent", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/kubectl/cmd/rollout/rollout_pause.go b/pkg/kubectl/cmd/rollout/rollout_pause.go index 94c25579778..6e820a022e9 100644 --- a/pkg/kubectl/cmd/rollout/rollout_pause.go +++ b/pkg/kubectl/cmd/rollout/rollout_pause.go @@ -22,15 +22,15 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/set" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) // PauseConfig is the start of the data required to perform the operation. As new fields are added, add them here instead of diff --git a/pkg/kubectl/cmd/rollout/rollout_resume.go b/pkg/kubectl/cmd/rollout/rollout_resume.go index 702cd2ac78a..ff83ea56aed 100644 --- a/pkg/kubectl/cmd/rollout/rollout_resume.go +++ b/pkg/kubectl/cmd/rollout/rollout_resume.go @@ -22,15 +22,15 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/set" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) // ResumeConfig is the start of the data required to perform the operation. As new fields are added, add them here instead of diff --git a/pkg/kubectl/cmd/rollout/rollout_status.go b/pkg/kubectl/cmd/rollout/rollout_status.go index b629e439744..ce4b404ed2e 100644 --- a/pkg/kubectl/cmd/rollout/rollout_status.go +++ b/pkg/kubectl/cmd/rollout/rollout_status.go @@ -20,12 +20,12 @@ import ( "fmt" "io" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/util/interrupt" - "k8s.io/kubernetes/pkg/watch" "github.com/spf13/cobra" ) diff --git a/pkg/kubectl/cmd/rollout/rollout_undo.go b/pkg/kubectl/cmd/rollout/rollout_undo.go index ca2f48830d5..d97e3c3645f 100644 --- a/pkg/kubectl/cmd/rollout/rollout_undo.go +++ b/pkg/kubectl/cmd/rollout/rollout_undo.go @@ -19,13 +19,13 @@ package rollout import ( "io" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "github.com/spf13/cobra" ) diff --git a/pkg/kubectl/cmd/run.go b/pkg/kubectl/cmd/run.go index 955df8d2169..a53fba71353 100644 --- a/pkg/kubectl/cmd/run.go +++ b/pkg/kubectl/cmd/run.go @@ -25,12 +25,15 @@ import ( "github.com/docker/distribution/reference" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/typed/discovery" conditions "k8s.io/kubernetes/pkg/client/unversioned" @@ -38,11 +41,8 @@ import ( "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" uexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/interrupt" - "k8s.io/kubernetes/pkg/watch" ) var ( diff --git a/pkg/kubectl/cmd/run_test.go b/pkg/kubectl/cmd/run_test.go index 1ff188c9de5..39f3b383d01 100644 --- a/pkg/kubectl/cmd/run_test.go +++ b/pkg/kubectl/cmd/run_test.go @@ -27,14 +27,14 @@ import ( "testing" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubectl/cmd/set/BUILD b/pkg/kubectl/cmd/set/BUILD index d9161dc7e81..cd90e4d058f 100644 --- a/pkg/kubectl/cmd/set/BUILD +++ b/pkg/kubectl/cmd/set/BUILD @@ -21,17 +21,17 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/templates:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/strategicpatch:go_default_library", - "//pkg/util/validation:go_default_library", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/validation", ], ) @@ -49,18 +49,18 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/runtime:go_default_library", "//vendor:github.com/spf13/cobra", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/kubectl/cmd/set/helper.go b/pkg/kubectl/cmd/set/helper.go index 4d986db457a..da9dfbd4ae1 100644 --- a/pkg/kubectl/cmd/set/helper.go +++ b/pkg/kubectl/cmd/set/helper.go @@ -21,11 +21,11 @@ import ( "io" "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/kubectl/cmd/set/set_image.go b/pkg/kubectl/cmd/set/set_image.go index 33d10c31aec..6e4a78d7119 100644 --- a/pkg/kubectl/cmd/set/set_image.go +++ b/pkg/kubectl/cmd/set/set_image.go @@ -21,13 +21,13 @@ import ( "io" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) // ImageOptions is the start of the data required to perform the operation. As new fields are added, add them here instead of diff --git a/pkg/kubectl/cmd/set/set_image_test.go b/pkg/kubectl/cmd/set/set_image_test.go index c6ecdabea75..3f860202d91 100644 --- a/pkg/kubectl/cmd/set/set_image_test.go +++ b/pkg/kubectl/cmd/set/set_image_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" diff --git a/pkg/kubectl/cmd/set/set_resources.go b/pkg/kubectl/cmd/set/set_resources.go index adaf5f85812..4233306bc47 100644 --- a/pkg/kubectl/cmd/set/set_resources.go +++ b/pkg/kubectl/cmd/set/set_resources.go @@ -22,15 +22,15 @@ import ( "strings" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) var ( diff --git a/pkg/kubectl/cmd/set/set_selector.go b/pkg/kubectl/cmd/set/set_selector.go index 8c3feaf982f..416155451e9 100644 --- a/pkg/kubectl/cmd/set/set_selector.go +++ b/pkg/kubectl/cmd/set/set_selector.go @@ -22,14 +22,14 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation" ) // SelectorOptions is the start of the data required to perform the operation. As new fields are added, add them here instead of diff --git a/pkg/kubectl/cmd/set/set_selector_test.go b/pkg/kubectl/cmd/set/set_selector_test.go index d9259c6d19d..db8b0c07b11 100644 --- a/pkg/kubectl/cmd/set/set_selector_test.go +++ b/pkg/kubectl/cmd/set/set_selector_test.go @@ -22,11 +22,11 @@ import ( "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) func TestUpdateSelectorForObjectTypes(t *testing.T) { diff --git a/pkg/kubectl/cmd/taint.go b/pkg/kubectl/cmd/taint.go index 7e450c9312c..ba743de912f 100644 --- a/pkg/kubectl/cmd/taint.go +++ b/pkg/kubectl/cmd/taint.go @@ -25,18 +25,18 @@ import ( "github.com/golang/glog" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/strategicpatch" utiltaints "k8s.io/kubernetes/pkg/util/taints" - "k8s.io/kubernetes/pkg/util/validation" ) // TaintOptions have the data required to perform the taint operation diff --git a/pkg/kubectl/cmd/taint_test.go b/pkg/kubectl/cmd/taint_test.go index 0bec96db87b..327a93a84c0 100644 --- a/pkg/kubectl/cmd/taint_test.go +++ b/pkg/kubectl/cmd/taint_test.go @@ -25,13 +25,13 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient/fake" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/kubectl/cmd/testing/BUILD b/pkg/kubectl/cmd/testing/BUILD index 819cd16a6f6..0f22d01dfe1 100644 --- a/pkg/kubectl/cmd/testing/BUILD +++ b/pkg/kubectl/cmd/testing/BUILD @@ -14,11 +14,8 @@ go_library( deps = [ "//federation/client/clientset_generated/federation_internalclientset:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", @@ -26,12 +23,15 @@ go_library( "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", ], ) diff --git a/pkg/kubectl/cmd/testing/fake.go b/pkg/kubectl/cmd/testing/fake.go index 1173d46af5a..fff37d84861 100644 --- a/pkg/kubectl/cmd/testing/fake.go +++ b/pkg/kubectl/cmd/testing/fake.go @@ -25,13 +25,16 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" @@ -39,9 +42,6 @@ import ( "k8s.io/kubernetes/pkg/kubectl" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer" ) type InternalType struct { diff --git a/pkg/kubectl/cmd/top_node.go b/pkg/kubectl/cmd/top_node.go index 8266f4b587c..6e47a672c64 100644 --- a/pkg/kubectl/cmd/top_node.go +++ b/pkg/kubectl/cmd/top_node.go @@ -22,13 +22,13 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/metricsutil" - "k8s.io/kubernetes/pkg/labels" ) // TopNodeOptions contains all the options for running the top-node cli command. diff --git a/pkg/kubectl/cmd/top_pod.go b/pkg/kubectl/cmd/top_pod.go index 789dbe3d91d..fa905d23389 100644 --- a/pkg/kubectl/cmd/top_pod.go +++ b/pkg/kubectl/cmd/top_pod.go @@ -22,13 +22,13 @@ import ( "io" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/metricsutil" - "k8s.io/kubernetes/pkg/labels" "github.com/golang/glog" "github.com/spf13/cobra" diff --git a/pkg/kubectl/cmd/top_test.go b/pkg/kubectl/cmd/top_test.go index 295a36f584e..6b3a01a5f69 100644 --- a/pkg/kubectl/cmd/top_test.go +++ b/pkg/kubectl/cmd/top_test.go @@ -25,12 +25,12 @@ import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" ) diff --git a/pkg/kubectl/cmd/util/BUILD b/pkg/kubectl/cmd/util/BUILD index 83ba2fbdc48..80b640753e4 100644 --- a/pkg/kubectl/cmd/util/BUILD +++ b/pkg/kubectl/cmd/util/BUILD @@ -27,16 +27,12 @@ go_library( "//federation/client/clientset_generated/federation_internalclientset:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/service:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", @@ -47,24 +43,28 @@ go_library( "//pkg/controller:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/extensions/thirdpartyresourcedata:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/json:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flag:go_default_library", "//pkg/util/homedir:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//pkg/version:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/evanphx/json-patch", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -84,14 +84,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/restclient/fake:go_default_library", @@ -102,16 +99,19 @@ go_test( "//pkg/controller:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/resource:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flag:go_default_library", - "//pkg/util/validation/field:go_default_library", "//pkg/version:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/kubectl/cmd/util/cached_discovery.go b/pkg/kubectl/cmd/util/cached_discovery.go index 3cb58945484..1a781caae27 100644 --- a/pkg/kubectl/cmd/util/cached_discovery.go +++ b/pkg/kubectl/cmd/util/cached_discovery.go @@ -27,12 +27,12 @@ import ( "github.com/emicklei/go-restful/swagger" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) diff --git a/pkg/kubectl/cmd/util/cached_discovery_test.go b/pkg/kubectl/cmd/util/cached_discovery_test.go index 3dd3e8980bb..19747756d25 100644 --- a/pkg/kubectl/cmd/util/cached_discovery_test.go +++ b/pkg/kubectl/cmd/util/cached_discovery_test.go @@ -25,12 +25,12 @@ import ( "github.com/emicklei/go-restful/swagger" "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient/fake" "k8s.io/kubernetes/pkg/client/typed/discovery" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/version" ) diff --git a/pkg/kubectl/cmd/util/clientcache.go b/pkg/kubectl/cmd/util/clientcache.go index 223331cf8fa..a3668207e80 100644 --- a/pkg/kubectl/cmd/util/clientcache.go +++ b/pkg/kubectl/cmd/util/clientcache.go @@ -19,14 +19,14 @@ package util import ( "sync" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" oldclient "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" - "k8s.io/kubernetes/pkg/runtime/schema" ) func NewClientCache(loader clientcmd.ClientConfig, discoveryClientFactory DiscoveryClientFactory) *ClientCache { diff --git a/pkg/kubectl/cmd/util/factory.go b/pkg/kubectl/cmd/util/factory.go index 67522c5271d..e660f5aca03 100644 --- a/pkg/kubectl/cmd/util/factory.go +++ b/pkg/kubectl/cmd/util/factory.go @@ -33,12 +33,17 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/watch" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/restclient" @@ -46,12 +51,7 @@ import ( "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/json" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/pkg/kubectl/cmd/util/factory_builder.go b/pkg/kubectl/cmd/util/factory_builder.go index 32eee27707a..d6d718fa42f 100644 --- a/pkg/kubectl/cmd/util/factory_builder.go +++ b/pkg/kubectl/cmd/util/factory_builder.go @@ -23,10 +23,10 @@ import ( "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" ) type ring2Factory struct { diff --git a/pkg/kubectl/cmd/util/factory_client_access.go b/pkg/kubectl/cmd/util/factory_client_access.go index 090565ab20d..2faacb3392e 100644 --- a/pkg/kubectl/cmd/util/factory_client_access.go +++ b/pkg/kubectl/cmd/util/factory_client_access.go @@ -32,11 +32,13 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/service" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" @@ -47,8 +49,6 @@ import ( "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" utilflag "k8s.io/kubernetes/pkg/util/flag" "k8s.io/kubernetes/pkg/util/homedir" ) diff --git a/pkg/kubectl/cmd/util/factory_object_mapping.go b/pkg/kubectl/cmd/util/factory_object_mapping.go index d49526a74d1..fa05718830a 100644 --- a/pkg/kubectl/cmd/util/factory_object_mapping.go +++ b/pkg/kubectl/cmd/util/factory_object_mapping.go @@ -29,15 +29,18 @@ import ( "github.com/emicklei/go-restful/swagger" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/client/typed/dynamic" @@ -45,10 +48,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) type ring1Factory struct { diff --git a/pkg/kubectl/cmd/util/factory_test.go b/pkg/kubectl/cmd/util/factory_test.go index 22f1fe5961b..486a6bb0b4d 100644 --- a/pkg/kubectl/cmd/util/factory_test.go +++ b/pkg/kubectl/cmd/util/factory_test.go @@ -31,14 +31,18 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" manualfake "k8s.io/kubernetes/pkg/client/restclient/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" @@ -47,11 +51,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/flag" - "k8s.io/kubernetes/pkg/watch" ) func TestNewFactoryDefaultFlagBindings(t *testing.T) { diff --git a/pkg/kubectl/cmd/util/helpers.go b/pkg/kubectl/cmd/util/helpers.go index ab4bb4699ad..5dd5897ef5c 100644 --- a/pkg/kubectl/cmd/util/helpers.go +++ b/pkg/kubectl/cmd/util/helpers.go @@ -32,21 +32,21 @@ import ( "github.com/golang/glog" "github.com/spf13/cobra" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" kerrors "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" utilexec "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/kubectl/cmd/util/helpers_test.go b/pkg/kubectl/cmd/util/helpers_test.go index 9c8422d16a0..89ba8a3b038 100644 --- a/pkg/kubectl/cmd/util/helpers_test.go +++ b/pkg/kubectl/cmd/util/helpers_test.go @@ -26,19 +26,19 @@ import ( "syscall" "testing" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" uexec "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/validation/field" ) func TestMerge(t *testing.T) { diff --git a/pkg/kubectl/cmd/util/jsonmerge/BUILD b/pkg/kubectl/cmd/util/jsonmerge/BUILD index 3af07a07e43..7177fdd1451 100644 --- a/pkg/kubectl/cmd/util/jsonmerge/BUILD +++ b/pkg/kubectl/cmd/util/jsonmerge/BUILD @@ -13,9 +13,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/strategicpatch:go_default_library", - "//pkg/util/yaml:go_default_library", "//vendor:github.com/evanphx/json-patch", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) diff --git a/pkg/kubectl/cmd/util/jsonmerge/jsonmerge.go b/pkg/kubectl/cmd/util/jsonmerge/jsonmerge.go index 2431588943c..15881d5cb5c 100644 --- a/pkg/kubectl/cmd/util/jsonmerge/jsonmerge.go +++ b/pkg/kubectl/cmd/util/jsonmerge/jsonmerge.go @@ -23,8 +23,8 @@ import ( "github.com/evanphx/json-patch" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/util/strategicpatch" - "k8s.io/kubernetes/pkg/util/yaml" ) // Delta represents a change between two JSON documents. diff --git a/pkg/kubectl/cmd/util/printing.go b/pkg/kubectl/cmd/util/printing.go index 553153012a6..9c2b31f6ed3 100644 --- a/pkg/kubectl/cmd/util/printing.go +++ b/pkg/kubectl/cmd/util/printing.go @@ -21,10 +21,10 @@ import ( "io" "strings" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/resource" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/spf13/cobra" ) diff --git a/pkg/kubectl/cmd/util/shortcut_restmapper.go b/pkg/kubectl/cmd/util/shortcut_restmapper.go index 4226c8a7104..86458279702 100644 --- a/pkg/kubectl/cmd/util/shortcut_restmapper.go +++ b/pkg/kubectl/cmd/util/shortcut_restmapper.go @@ -19,10 +19,10 @@ package util import ( "strings" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/kubectl" - "k8s.io/kubernetes/pkg/runtime/schema" ) // ShortcutExpander is a RESTMapper that can be used for Kubernetes resources. It expands the resource first, then invokes the wrapped diff --git a/pkg/kubectl/cmd/util/shortcut_restmapper_test.go b/pkg/kubectl/cmd/util/shortcut_restmapper_test.go index 7788872fc22..3f5a8755c62 100644 --- a/pkg/kubectl/cmd/util/shortcut_restmapper_test.go +++ b/pkg/kubectl/cmd/util/shortcut_restmapper_test.go @@ -20,8 +20,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/runtime/schema" ) func TestReplaceAliases(t *testing.T) { diff --git a/pkg/kubectl/configmap.go b/pkg/kubectl/configmap.go index 3e3a6c06ccb..239c5ac7ecc 100644 --- a/pkg/kubectl/configmap.go +++ b/pkg/kubectl/configmap.go @@ -23,9 +23,9 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation" ) // ConfigMapGeneratorV1 supports stable generation of a configMap. diff --git a/pkg/kubectl/custom_column_printer.go b/pkg/kubectl/custom_column_printer.go index cb964ecb2a1..6cefff9fcef 100644 --- a/pkg/kubectl/custom_column_printer.go +++ b/pkg/kubectl/custom_column_printer.go @@ -26,8 +26,8 @@ import ( "strings" "text/tabwriter" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/util/jsonpath" ) diff --git a/pkg/kubectl/custom_column_printer_test.go b/pkg/kubectl/custom_column_printer_test.go index 8373ecc566a..4d581f73c55 100644 --- a/pkg/kubectl/custom_column_printer_test.go +++ b/pkg/kubectl/custom_column_printer_test.go @@ -22,10 +22,10 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) func TestMassageJSONPath(t *testing.T) { diff --git a/pkg/kubectl/deployment.go b/pkg/kubectl/deployment.go index 7266bdb626b..f2c4b2377f4 100644 --- a/pkg/kubectl/deployment.go +++ b/pkg/kubectl/deployment.go @@ -20,10 +20,10 @@ import ( "fmt" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) // DeploymentGeneratorV1 supports stable generation of a deployment diff --git a/pkg/kubectl/deployment_test.go b/pkg/kubectl/deployment_test.go index 713983ab66e..f477f07c1bb 100644 --- a/pkg/kubectl/deployment_test.go +++ b/pkg/kubectl/deployment_test.go @@ -20,9 +20,9 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestDeploymentGenerate(t *testing.T) { diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index a8175b880e1..e582048cfb6 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -28,6 +28,11 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/federation/apis/federation" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" "k8s.io/kubernetes/pkg/api" @@ -40,7 +45,6 @@ import ( "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/extensions" versionedextension "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/storage" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" @@ -51,12 +55,8 @@ import ( deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/fieldpath" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" certutil "k8s.io/kubernetes/pkg/util/cert" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" ) diff --git a/pkg/kubectl/describe_test.go b/pkg/kubectl/describe_test.go index 6f6a9b08fe8..93b7ba98deb 100644 --- a/pkg/kubectl/describe_test.go +++ b/pkg/kubectl/describe_test.go @@ -25,6 +25,7 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/federation/apis/federation" fedfake "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/fake" "k8s.io/kubernetes/pkg/api" @@ -32,7 +33,6 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/storage" versionedfake "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" diff --git a/pkg/kubectl/explain.go b/pkg/kubectl/explain.go index dd85a7f3668..3becdac3f96 100644 --- a/pkg/kubectl/explain.go +++ b/pkg/kubectl/explain.go @@ -23,7 +23,7 @@ import ( "github.com/emicklei/go-restful/swagger" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" apiutil "k8s.io/kubernetes/pkg/api/util" ) diff --git a/pkg/kubectl/generate.go b/pkg/kubectl/generate.go index e1ffe370ece..07c437cdd47 100644 --- a/pkg/kubectl/generate.go +++ b/pkg/kubectl/generate.go @@ -24,8 +24,8 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" ) // GeneratorParam is a parameter for a generator diff --git a/pkg/kubectl/history.go b/pkg/kubectl/history.go index 74ed8c58c70..b64a34d7938 100644 --- a/pkg/kubectl/history.go +++ b/pkg/kubectl/history.go @@ -21,15 +21,15 @@ import ( "fmt" "io" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" sliceutil "k8s.io/kubernetes/pkg/util/slice" ) diff --git a/pkg/kubectl/kubectl.go b/pkg/kubectl/kubectl.go index aa8ee733a0d..7be6fdab723 100644 --- a/pkg/kubectl/kubectl.go +++ b/pkg/kubectl/kubectl.go @@ -23,9 +23,9 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime/schema" ) const ( diff --git a/pkg/kubectl/metricsutil/BUILD b/pkg/kubectl/metricsutil/BUILD index 3a2baa63cb9..2849462b0fc 100644 --- a/pkg/kubectl/metricsutil/BUILD +++ b/pkg/kubectl/metricsutil/BUILD @@ -20,8 +20,8 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/kubectl:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/heapster/metrics/apis/metrics/v1alpha1", ], ) diff --git a/pkg/kubectl/metricsutil/metrics_client.go b/pkg/kubectl/metricsutil/metrics_client.go index 9250cc8c6b4..ed577453aeb 100644 --- a/pkg/kubectl/metricsutil/metrics_client.go +++ b/pkg/kubectl/metricsutil/metrics_client.go @@ -21,12 +21,12 @@ import ( "errors" "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" ) const ( diff --git a/pkg/kubectl/namespace.go b/pkg/kubectl/namespace.go index 6d58c226efd..a649ced7ff2 100644 --- a/pkg/kubectl/namespace.go +++ b/pkg/kubectl/namespace.go @@ -19,8 +19,8 @@ package kubectl import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) // NamespaceGeneratorV1 supports stable generation of a namespace diff --git a/pkg/kubectl/pdb.go b/pkg/kubectl/pdb.go index 8a30a7517f7..d558f6e7bcf 100644 --- a/pkg/kubectl/pdb.go +++ b/pkg/kubectl/pdb.go @@ -19,10 +19,10 @@ package kubectl import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubectl/quota.go b/pkg/kubectl/quota.go index 1261aba20b5..173f568c671 100644 --- a/pkg/kubectl/quota.go +++ b/pkg/kubectl/quota.go @@ -20,8 +20,8 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) // ResourceQuotaGeneratorV1 supports stable generation of a resource quota diff --git a/pkg/kubectl/resource/BUILD b/pkg/kubectl/resource/BUILD index e4ce813dd9f..966c653ea61 100644 --- a/pkg/kubectl/resource/BUILD +++ b/pkg/kubectl/resource/BUILD @@ -24,21 +24,21 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/yaml:go_default_library", - "//pkg/watch:go_default_library", "//vendor:golang.org/x/text/encoding/unicode", "//vendor:golang.org/x/text/transform", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -59,23 +59,23 @@ go_test( ], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient/fake:go_default_library", "//pkg/client/restclient/watch:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/serializer/streaming:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/testing:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/kubectl/resource/builder.go b/pkg/kubectl/resource/builder.go index 48992b51621..914bdf9a8cd 100644 --- a/pkg/kubectl/resource/builder.go +++ b/pkg/kubectl/resource/builder.go @@ -23,14 +23,14 @@ import ( "os" "strings" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" ) var FileExtensions = []string{".json", ".yaml", ".yml"} diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index 7380111b4ae..912d71e4605 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -31,21 +31,21 @@ import ( "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/streaming" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient/fake" restclientwatch "k8s.io/kubernetes/pkg/client/restclient/watch" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/streaming" - utilerrors "k8s.io/kubernetes/pkg/util/errors" utiltesting "k8s.io/kubernetes/pkg/util/testing" - "k8s.io/kubernetes/pkg/watch" ) func stringBody(body string) io.ReadCloser { diff --git a/pkg/kubectl/resource/helper.go b/pkg/kubectl/resource/helper.go index 6b5f8d639b9..6da2fd61e91 100644 --- a/pkg/kubectl/resource/helper.go +++ b/pkg/kubectl/resource/helper.go @@ -19,11 +19,11 @@ package resource import ( "strconv" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // Helper provides methods for retrieving or mutating a RESTful diff --git a/pkg/kubectl/resource/helper_test.go b/pkg/kubectl/resource/helper_test.go index c3613153b9d..d9a84655636 100644 --- a/pkg/kubectl/resource/helper_test.go +++ b/pkg/kubectl/resource/helper_test.go @@ -26,14 +26,14 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient/fake" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" ) func objBody(obj runtime.Object) io.ReadCloser { diff --git a/pkg/kubectl/resource/interfaces.go b/pkg/kubectl/resource/interfaces.go index 7a872eb2e41..78879ba8058 100644 --- a/pkg/kubectl/resource/interfaces.go +++ b/pkg/kubectl/resource/interfaces.go @@ -17,8 +17,8 @@ limitations under the License. package resource import ( + "k8s.io/apimachinery/pkg/api/meta" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" client "k8s.io/kubernetes/pkg/client/restclient" ) diff --git a/pkg/kubectl/resource/mapper.go b/pkg/kubectl/resource/mapper.go index 20e22d3eba6..81377358d4f 100644 --- a/pkg/kubectl/resource/mapper.go +++ b/pkg/kubectl/resource/mapper.go @@ -20,9 +20,9 @@ import ( "fmt" "reflect" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // DisabledClientForMapping allows callers to avoid allowing remote calls when handling diff --git a/pkg/kubectl/resource/result.go b/pkg/kubectl/resource/result.go index f703af06c60..fcb2bd17a87 100644 --- a/pkg/kubectl/resource/result.go +++ b/pkg/kubectl/resource/result.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" ) // ErrMatchFunc can be used to filter errors that may not be true failures. diff --git a/pkg/kubectl/resource/selector.go b/pkg/kubectl/resource/selector.go index bf9e04950b2..d737c2fdb8f 100644 --- a/pkg/kubectl/resource/selector.go +++ b/pkg/kubectl/resource/selector.go @@ -19,10 +19,10 @@ package resource import ( "fmt" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/watch" ) // Selector is a Visitor for resources that match a label selector. diff --git a/pkg/kubectl/resource/visitor.go b/pkg/kubectl/resource/visitor.go index a765243b70e..bd4dc826862 100644 --- a/pkg/kubectl/resource/visitor.go +++ b/pkg/kubectl/resource/visitor.go @@ -29,16 +29,16 @@ import ( "golang.org/x/text/encoding/unicode" "golang.org/x/text/transform" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/yaml" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/yaml" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/pkg/kubectl/resource_filter.go b/pkg/kubectl/resource_filter.go index 287443b3cfe..5443274ae62 100644 --- a/pkg/kubectl/resource_filter.go +++ b/pkg/kubectl/resource_filter.go @@ -17,9 +17,9 @@ limitations under the License. package kubectl import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/runtime" ) // FilterFunc is a function that knows how to filter a specific resource kind. diff --git a/pkg/kubectl/resource_printer.go b/pkg/kubectl/resource_printer.go index dda3200b4a2..a5c8f0c5e44 100644 --- a/pkg/kubectl/resource_printer.go +++ b/pkg/kubectl/resource_printer.go @@ -30,28 +30,28 @@ import ( "text/template" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/federation/apis/federation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/events" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/storage" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/jsonpath" "k8s.io/kubernetes/pkg/util/node" - "k8s.io/kubernetes/pkg/util/sets" "github.com/ghodss/yaml" "github.com/golang/glog" diff --git a/pkg/kubectl/resource_printer_test.go b/pkg/kubectl/resource_printer_test.go index e64cc237e52..a2779a52f00 100644 --- a/pkg/kubectl/resource_printer_test.go +++ b/pkg/kubectl/resource_printer_test.go @@ -26,21 +26,21 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + yamlserializer "k8s.io/apimachinery/pkg/runtime/serializer/yaml" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" kubectltesting "k8s.io/kubernetes/pkg/kubectl/testing" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - yamlserializer "k8s.io/kubernetes/pkg/runtime/serializer/yaml" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" "github.com/ghodss/yaml" ) diff --git a/pkg/kubectl/rolebinding.go b/pkg/kubectl/rolebinding.go index 000a5f43e7b..16120330666 100644 --- a/pkg/kubectl/rolebinding.go +++ b/pkg/kubectl/rolebinding.go @@ -21,8 +21,8 @@ import ( "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/rbac" - "k8s.io/kubernetes/pkg/runtime" ) // RoleBindingGeneratorV1 supports stable generation of a roleBinding. diff --git a/pkg/kubectl/rollback.go b/pkg/kubectl/rollback.go index 60fe08bb62b..6b6841ce0fa 100644 --- a/pkg/kubectl/rollback.go +++ b/pkg/kubectl/rollback.go @@ -23,16 +23,16 @@ import ( "os/signal" "syscall" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" externalextensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" sliceutil "k8s.io/kubernetes/pkg/util/slice" - "k8s.io/kubernetes/pkg/watch" ) // Rollbacker provides an interface for resources that can be rolled back. diff --git a/pkg/kubectl/rolling_updater.go b/pkg/kubectl/rolling_updater.go index a41484d68d8..d05bac9187f 100644 --- a/pkg/kubectl/rolling_updater.go +++ b/pkg/kubectl/rolling_updater.go @@ -24,19 +24,19 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/retry" client "k8s.io/kubernetes/pkg/client/unversioned" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/integer" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubectl/rolling_updater_test.go b/pkg/kubectl/rolling_updater_test.go index 2e6a15eebe4..887ff69f439 100644 --- a/pkg/kubectl/rolling_updater_test.go +++ b/pkg/kubectl/rolling_updater_test.go @@ -26,21 +26,21 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/client/restclient" manualfake "k8s.io/kubernetes/pkg/client/restclient/fake" testcore "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" ) func oldRc(replicas int, original int) *api.ReplicationController { diff --git a/pkg/kubectl/rollout_status.go b/pkg/kubectl/rollout_status.go index 8f2b158ef7e..aca79fb4f8a 100644 --- a/pkg/kubectl/rollout_status.go +++ b/pkg/kubectl/rollout_status.go @@ -19,12 +19,12 @@ package kubectl import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/runtime/schema" ) // StatusViewer provides an interface for resources that have rollout status. diff --git a/pkg/kubectl/run.go b/pkg/kubectl/run.go index 1ff3357b324..e27755700f3 100644 --- a/pkg/kubectl/run.go +++ b/pkg/kubectl/run.go @@ -21,13 +21,13 @@ import ( "strconv" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" batch "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation" ) type DeploymentV1Beta1 struct{} diff --git a/pkg/kubectl/run_test.go b/pkg/kubectl/run_test.go index 8f87176bc3b..08b10aea580 100644 --- a/pkg/kubectl/run_test.go +++ b/pkg/kubectl/run_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestGenerate(t *testing.T) { diff --git a/pkg/kubectl/scale.go b/pkg/kubectl/scale.go index 735eecc14c7..ff2257d7ba5 100644 --- a/pkg/kubectl/scale.go +++ b/pkg/kubectl/scale.go @@ -21,12 +21,15 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" appsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion" batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion" @@ -34,9 +37,6 @@ import ( extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" client "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) // Scaler provides an interface for resources that can be scaled. diff --git a/pkg/kubectl/scale_test.go b/pkg/kubectl/scale_test.go index 1407e2aa93c..9aeeb64a442 100644 --- a/pkg/kubectl/scale_test.go +++ b/pkg/kubectl/scale_test.go @@ -20,11 +20,11 @@ import ( "errors" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" kerrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" diff --git a/pkg/kubectl/secret.go b/pkg/kubectl/secret.go index cc3271197cd..70d436b05bc 100644 --- a/pkg/kubectl/secret.go +++ b/pkg/kubectl/secret.go @@ -23,9 +23,9 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation" ) // SecretGeneratorV1 supports stable generation of an opaque secret diff --git a/pkg/kubectl/secret_for_docker_registry.go b/pkg/kubectl/secret_for_docker_registry.go index 65615a7fd68..345e204882d 100644 --- a/pkg/kubectl/secret_for_docker_registry.go +++ b/pkg/kubectl/secret_for_docker_registry.go @@ -20,9 +20,9 @@ import ( "encoding/json" "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/credentialprovider" - "k8s.io/kubernetes/pkg/runtime" ) // SecretForDockerRegistryGeneratorV1 supports stable generation of a docker registry secret diff --git a/pkg/kubectl/secret_for_tls.go b/pkg/kubectl/secret_for_tls.go index a29af55976c..466bce6ed01 100644 --- a/pkg/kubectl/secret_for_tls.go +++ b/pkg/kubectl/secret_for_tls.go @@ -21,8 +21,8 @@ import ( "fmt" "io/ioutil" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) // SecretForTLSGeneratorV1 supports stable generation of a TLS secret. diff --git a/pkg/kubectl/service.go b/pkg/kubectl/service.go index 67cf68105c3..8ed2275f957 100644 --- a/pkg/kubectl/service.go +++ b/pkg/kubectl/service.go @@ -21,8 +21,8 @@ import ( "strconv" "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubectl/service_basic.go b/pkg/kubectl/service_basic.go index 872594a9d21..b3e100b3e62 100644 --- a/pkg/kubectl/service_basic.go +++ b/pkg/kubectl/service_basic.go @@ -21,10 +21,10 @@ import ( "strconv" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/validation" ) type ServiceCommonGeneratorV1 struct { diff --git a/pkg/kubectl/serviceaccount.go b/pkg/kubectl/serviceaccount.go index 1a7e256daaf..08b84fb6fda 100644 --- a/pkg/kubectl/serviceaccount.go +++ b/pkg/kubectl/serviceaccount.go @@ -19,8 +19,8 @@ package kubectl import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) // ServiceAccountGeneratorV1 supports stable generation of a service account diff --git a/pkg/kubectl/sorting_printer.go b/pkg/kubectl/sorting_printer.go index 3beaffa55c6..2219b221783 100644 --- a/pkg/kubectl/sorting_printer.go +++ b/pkg/kubectl/sorting_printer.go @@ -24,11 +24,11 @@ import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/integer" "k8s.io/kubernetes/pkg/util/jsonpath" ) diff --git a/pkg/kubectl/sorting_printer_test.go b/pkg/kubectl/sorting_printer_test.go index 9c17f42e3f8..c23188915b8 100644 --- a/pkg/kubectl/sorting_printer_test.go +++ b/pkg/kubectl/sorting_printer_test.go @@ -20,10 +20,10 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" internal "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) func encodeOrDie(obj runtime.Object) []byte { diff --git a/pkg/kubectl/stop.go b/pkg/kubectl/stop.go index 98fb2c6aaf0..59b7ea2566e 100644 --- a/pkg/kubectl/stop.go +++ b/pkg/kubectl/stop.go @@ -21,25 +21,25 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" appsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion" batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubectl/stop_test.go b/pkg/kubectl/stop_test.go index 91a2a26aa14..8d83798782a 100644 --- a/pkg/kubectl/stop_test.go +++ b/pkg/kubectl/stop_test.go @@ -23,18 +23,18 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" testcore "k8s.io/kubernetes/pkg/client/testing/core" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/watch" ) func TestReplicationControllerStop(t *testing.T) { diff --git a/pkg/kubectl/testing/BUILD b/pkg/kubectl/testing/BUILD index 3923d515782..70f7ce32b77 100644 --- a/pkg/kubectl/testing/BUILD +++ b/pkg/kubectl/testing/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubectl/testing/types.generated.go b/pkg/kubectl/testing/types.generated.go index d2780b5f67c..b458ee844a9 100644 --- a/pkg/kubectl/testing/types.generated.go +++ b/pkg/kubectl/testing/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/kubectl/testing/types.go b/pkg/kubectl/testing/types.go index 0260cdde130..9f7653776f2 100644 --- a/pkg/kubectl/testing/types.go +++ b/pkg/kubectl/testing/types.go @@ -17,9 +17,9 @@ limitations under the License. package testing import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" ) type TestStruct struct { diff --git a/pkg/kubelet/BUILD b/pkg/kubelet/BUILD index 5f13f07ba22..b6a50c5850b 100644 --- a/pkg/kubelet/BUILD +++ b/pkg/kubelet/BUILD @@ -43,13 +43,11 @@ go_library( "//pkg/api/v1/validation:go_default_library", "//pkg/apis/componentconfig:go_default_library", "//pkg/apis/componentconfig/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/capabilities:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/fieldpath:go_default_library", "//pkg/fields:go_default_library", "//pkg/kubelet/api:go_default_library", @@ -86,32 +84,23 @@ go_library( "//pkg/kubelet/util/queue:go_default_library", "//pkg/kubelet/util/sliceutils:go_default_library", "//pkg/kubelet/volumemanager:go_default_library", - "//pkg/labels:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/bandwidth:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/dbus:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/integer:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/iptables:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/node:go_default_library", "//pkg/util/oom:go_default_library", "//pkg/util/procfs:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/term:go_default_library", - "//pkg/util/validation:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", @@ -124,6 +113,17 @@ go_library( "//vendor:github.com/google/cadvisor/events", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/google/cadvisor/info/v2", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/client-go/kubernetes", ], ) @@ -154,9 +154,7 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/capabilities:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/record:go_default_library", @@ -183,21 +181,14 @@ go_test( "//pkg/kubelet/util/queue:go_default_library", "//pkg/kubelet/util/sliceutils:go_default_library", "//pkg/kubelet/volumemanager:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/bandwidth:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/rand:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/host_path:go_default_library", @@ -207,6 +198,15 @@ go_test( "//vendor:github.com/google/cadvisor/info/v2", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/active_deadline_test.go b/pkg/kubelet/active_deadline_test.go index a859422313a..77caabe33b8 100644 --- a/pkg/kubelet/active_deadline_test.go +++ b/pkg/kubelet/active_deadline_test.go @@ -20,10 +20,10 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" ) diff --git a/pkg/kubelet/api/v1alpha1/stats/BUILD b/pkg/kubelet/api/v1alpha1/stats/BUILD index 17b2ee8c480..e9c584472bb 100644 --- a/pkg/kubelet/api/v1alpha1/stats/BUILD +++ b/pkg/kubelet/api/v1alpha1/stats/BUILD @@ -11,7 +11,7 @@ go_library( name = "go_default_library", srcs = ["types.go"], tags = ["automanaged"], - deps = ["//pkg/apis/meta/v1:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/apis/meta/v1"], ) filegroup( diff --git a/pkg/kubelet/api/v1alpha1/stats/types.go b/pkg/kubelet/api/v1alpha1/stats/types.go index cc6ab35e1bd..3b32307c1c6 100644 --- a/pkg/kubelet/api/v1alpha1/stats/types.go +++ b/pkg/kubelet/api/v1alpha1/stats/types.go @@ -17,7 +17,7 @@ limitations under the License. package stats import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // Summary is a top-level container for holding NodeStats and PodStats. diff --git a/pkg/kubelet/cadvisor/BUILD b/pkg/kubelet/cadvisor/BUILD index d4d6fcd5f03..363d702a429 100644 --- a/pkg/kubelet/cadvisor/BUILD +++ b/pkg/kubelet/cadvisor/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/google/cadvisor/cache/memory", "//vendor:github.com/google/cadvisor/container", @@ -33,6 +32,7 @@ go_library( "//vendor:github.com/google/cadvisor/manager", "//vendor:github.com/google/cadvisor/metrics", "//vendor:github.com/google/cadvisor/utils/sysfs", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/kubelet/cadvisor/cadvisor_linux.go b/pkg/kubelet/cadvisor/cadvisor_linux.go index c90f8827b61..220c787063d 100644 --- a/pkg/kubelet/cadvisor/cadvisor_linux.go +++ b/pkg/kubelet/cadvisor/cadvisor_linux.go @@ -35,8 +35,8 @@ import ( "github.com/google/cadvisor/manager" "github.com/google/cadvisor/metrics" "github.com/google/cadvisor/utils/sysfs" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/util/runtime" ) type cadvisorClient struct { diff --git a/pkg/kubelet/client/BUILD b/pkg/kubelet/client/BUILD index 8f0f2aed516..7da01585534 100644 --- a/pkg/kubelet/client/BUILD +++ b/pkg/kubelet/client/BUILD @@ -14,12 +14,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/transport:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/node:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/kubelet/client/kubelet_client.go b/pkg/kubelet/client/kubelet_client.go index 7638e4b0202..d004e28e798 100644 --- a/pkg/kubelet/client/kubelet_client.go +++ b/pkg/kubelet/client/kubelet_client.go @@ -21,12 +21,12 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/transport" - "k8s.io/kubernetes/pkg/types" - utilnet "k8s.io/kubernetes/pkg/util/net" nodeutil "k8s.io/kubernetes/pkg/util/node" ) diff --git a/pkg/kubelet/cm/BUILD b/pkg/kubelet/cm/BUILD index 18cd448a3a5..5588e9aa3d6 100644 --- a/pkg/kubelet/cm/BUILD +++ b/pkg/kubelet/cm/BUILD @@ -27,22 +27,22 @@ go_library( "//pkg/kubelet/cadvisor:go_default_library", "//pkg/kubelet/cm/util:go_default_library", "//pkg/kubelet/qos:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/oom:go_default_library", "//pkg/util/procfs:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/sysctl:go_default_library", "//pkg/util/version:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/opencontainers/runc/libcontainer/cgroups", "//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs", "//vendor:github.com/opencontainers/runc/libcontainer/cgroups/systemd", "//vendor:github.com/opencontainers/runc/libcontainer/configs", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/cm/cgroup_manager_linux.go b/pkg/kubelet/cm/cgroup_manager_linux.go index e7dbf704f45..7e31af66f3c 100644 --- a/pkg/kubelet/cm/cgroup_manager_linux.go +++ b/pkg/kubelet/cm/cgroup_manager_linux.go @@ -28,7 +28,7 @@ import ( cgroupfs "github.com/opencontainers/runc/libcontainer/cgroups/fs" cgroupsystemd "github.com/opencontainers/runc/libcontainer/cgroups/systemd" libcontainerconfigs "github.com/opencontainers/runc/libcontainer/configs" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) // libcontainerCgroupManagerType defines how to interface with libcontainer diff --git a/pkg/kubelet/cm/container_manager_linux.go b/pkg/kubelet/cm/container_manager_linux.go index 3308882fa31..0d6e458d89c 100644 --- a/pkg/kubelet/cm/container_manager_linux.go +++ b/pkg/kubelet/cm/container_manager_linux.go @@ -33,21 +33,21 @@ import ( "github.com/opencontainers/runc/libcontainer/cgroups" "github.com/opencontainers/runc/libcontainer/cgroups/fs" "github.com/opencontainers/runc/libcontainer/configs" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/cadvisor" cmutil "k8s.io/kubernetes/pkg/kubelet/cm/util" "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/util" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/procfs" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" utilsysctl "k8s.io/kubernetes/pkg/util/sysctl" utilversion "k8s.io/kubernetes/pkg/util/version" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubelet/cm/pod_container_manager_linux.go b/pkg/kubelet/cm/pod_container_manager_linux.go index b3c0a3a3c7d..b45aeea92ca 100644 --- a/pkg/kubelet/cm/pod_container_manager_linux.go +++ b/pkg/kubelet/cm/pod_container_manager_linux.go @@ -24,10 +24,10 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/qos" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) const ( diff --git a/pkg/kubelet/cm/pod_container_manager_stub.go b/pkg/kubelet/cm/pod_container_manager_stub.go index 893ecbd1159..7b19a2364d2 100644 --- a/pkg/kubelet/cm/pod_container_manager_stub.go +++ b/pkg/kubelet/cm/pod_container_manager_stub.go @@ -17,8 +17,8 @@ limitations under the License. package cm import ( + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) type podContainerManagerStub struct { diff --git a/pkg/kubelet/cm/pod_container_manager_unsupported.go b/pkg/kubelet/cm/pod_container_manager_unsupported.go index c97d793f398..4ba5eeaa437 100644 --- a/pkg/kubelet/cm/pod_container_manager_unsupported.go +++ b/pkg/kubelet/cm/pod_container_manager_unsupported.go @@ -19,8 +19,8 @@ limitations under the License. package cm import ( + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) type unsupportedPodContainerManager struct { diff --git a/pkg/kubelet/cm/types.go b/pkg/kubelet/cm/types.go index d7dbaed2957..5330ea7affe 100644 --- a/pkg/kubelet/cm/types.go +++ b/pkg/kubelet/cm/types.go @@ -17,8 +17,8 @@ limitations under the License. package cm import ( + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) // ResourceConfig holds information about all the supported cgroup resource parameters. diff --git a/pkg/kubelet/config/BUILD b/pkg/kubelet/config/BUILD index d02d89df34c..08adcee6cb3 100644 --- a/pkg/kubelet/config/BUILD +++ b/pkg/kubelet/config/BUILD @@ -26,7 +26,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", @@ -35,16 +34,17 @@ go_library( "//pkg/kubelet/events:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/hash:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/util/yaml:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/exp/inotify", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) @@ -64,17 +64,17 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/testing:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/kubelet/config/apiserver.go b/pkg/kubelet/config/apiserver.go index 013e87414f1..889d0930358 100644 --- a/pkg/kubelet/config/apiserver.go +++ b/pkg/kubelet/config/apiserver.go @@ -18,13 +18,13 @@ limitations under the License. package config import ( + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/types" ) // NewSourceApiserver creates a config source that watches and pulls from the apiserver. diff --git a/pkg/kubelet/config/apiserver_test.go b/pkg/kubelet/config/apiserver_test.go index 3f2e24dc39f..8b3656a2497 100644 --- a/pkg/kubelet/config/apiserver_test.go +++ b/pkg/kubelet/config/apiserver_test.go @@ -19,12 +19,12 @@ package config import ( "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) type fakePodLW struct { diff --git a/pkg/kubelet/config/common.go b/pkg/kubelet/config/common.go index 652cd7a8cfc..ecb5fd10cb5 100644 --- a/pkg/kubelet/config/common.go +++ b/pkg/kubelet/config/common.go @@ -22,15 +22,15 @@ import ( "encoding/hex" "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilyaml "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/hash" - utilyaml "k8s.io/kubernetes/pkg/util/yaml" "github.com/golang/glog" ) diff --git a/pkg/kubelet/config/common_test.go b/pkg/kubelet/config/common_test.go index 91a50044e43..bc1b7ad1e99 100644 --- a/pkg/kubelet/config/common_test.go +++ b/pkg/kubelet/config/common_test.go @@ -20,12 +20,12 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" ) diff --git a/pkg/kubelet/config/config.go b/pkg/kubelet/config/config.go index f1b784813c9..99da6ad9ec2 100644 --- a/pkg/kubelet/config/config.go +++ b/pkg/kubelet/config/config.go @@ -22,6 +22,8 @@ import ( "sync" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" podutil "k8s.io/kubernetes/pkg/api/v1/pod" @@ -32,8 +34,6 @@ import ( kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/util/config" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation/field" ) // PodConfigNotificationMode describes how changes are sent to the update channel. diff --git a/pkg/kubelet/config/config_test.go b/pkg/kubelet/config/config_test.go index 50f0ee7b812..222ab67427f 100644 --- a/pkg/kubelet/config/config_test.go +++ b/pkg/kubelet/config/config_test.go @@ -24,13 +24,13 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/securitycontext" - "k8s.io/kubernetes/pkg/types" ) const ( diff --git a/pkg/kubelet/config/file.go b/pkg/kubelet/config/file.go index d0af119976b..45c2fc8db4d 100644 --- a/pkg/kubelet/config/file.go +++ b/pkg/kubelet/config/file.go @@ -27,12 +27,12 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" ) type sourceFile struct { diff --git a/pkg/kubelet/config/file_linux_test.go b/pkg/kubelet/config/file_linux_test.go index faad8493ce9..dc169fefc16 100644 --- a/pkg/kubelet/config/file_linux_test.go +++ b/pkg/kubelet/config/file_linux_test.go @@ -29,17 +29,17 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" - "k8s.io/kubernetes/pkg/types" utiltesting "k8s.io/kubernetes/pkg/util/testing" - "k8s.io/kubernetes/pkg/util/wait" ) func TestExtractFromNonExistentFile(t *testing.T) { diff --git a/pkg/kubelet/config/http.go b/pkg/kubelet/config/http.go index 584c3894588..490ab39462b 100644 --- a/pkg/kubelet/config/http.go +++ b/pkg/kubelet/config/http.go @@ -24,13 +24,13 @@ import ( "net/http" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) type sourceURL struct { diff --git a/pkg/kubelet/config/http_test.go b/pkg/kubelet/config/http_test.go index c8d64a34abb..df668f27c30 100644 --- a/pkg/kubelet/config/http_test.go +++ b/pkg/kubelet/config/http_test.go @@ -23,15 +23,15 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/kubelet/config/sources.go b/pkg/kubelet/config/sources.go index 772c020ab39..a8ac11eb04f 100644 --- a/pkg/kubelet/config/sources.go +++ b/pkg/kubelet/config/sources.go @@ -20,7 +20,7 @@ package config import ( "sync" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) // SourcesReadyFn is function that returns true if the specified sources have been seen. diff --git a/pkg/kubelet/container/BUILD b/pkg/kubelet/container/BUILD index 4fe0433efb5..08c3f0b9ec1 100644 --- a/pkg/kubelet/container/BUILD +++ b/pkg/kubelet/container/BUILD @@ -27,22 +27,22 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/api/v1alpha1/runtime:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//pkg/kubelet/util/ioutils:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/hash:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/term:go_default_library", "//pkg/volume:go_default_library", "//third_party/forked/golang/expansion:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/kr/pty", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -58,10 +58,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/container/cache.go b/pkg/kubelet/container/cache.go index e7124ea1ccf..82852a9d9e1 100644 --- a/pkg/kubelet/container/cache.go +++ b/pkg/kubelet/container/cache.go @@ -20,7 +20,7 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) // Cache stores the PodStatus for the pods. It represents *all* the visible diff --git a/pkg/kubelet/container/cache_test.go b/pkg/kubelet/container/cache_test.go index 665d80b1973..b1dc1bd239e 100644 --- a/pkg/kubelet/container/cache_test.go +++ b/pkg/kubelet/container/cache_test.go @@ -23,7 +23,7 @@ import ( "time" "github.com/stretchr/testify/assert" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) func newTestCache() *cache { diff --git a/pkg/kubelet/container/helpers.go b/pkg/kubelet/container/helpers.go index 2824db0dd9d..6b7acd6a6dc 100644 --- a/pkg/kubelet/container/helpers.go +++ b/pkg/kubelet/container/helpers.go @@ -25,14 +25,14 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" "k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/kubelet/util/ioutils" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" hashutil "k8s.io/kubernetes/pkg/util/hash" "k8s.io/kubernetes/third_party/forked/golang/expansion" ) diff --git a/pkg/kubelet/container/ref_test.go b/pkg/kubelet/container/ref_test.go index 2e8e1627aec..a485a69542e 100644 --- a/pkg/kubelet/container/ref_test.go +++ b/pkg/kubelet/container/ref_test.go @@ -19,9 +19,9 @@ package container import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestFieldPath(t *testing.T) { diff --git a/pkg/kubelet/container/resize.go b/pkg/kubelet/container/resize.go index 16860317773..1491533d87b 100644 --- a/pkg/kubelet/container/resize.go +++ b/pkg/kubelet/container/resize.go @@ -17,7 +17,7 @@ limitations under the License. package container import ( - "k8s.io/kubernetes/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/kubelet/container/runtime.go b/pkg/kubelet/container/runtime.go index 47d3d88dce4..5f68e65c150 100644 --- a/pkg/kubelet/container/runtime.go +++ b/pkg/kubelet/container/runtime.go @@ -25,9 +25,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/term" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/kubelet/container/sync_result.go b/pkg/kubelet/container/sync_result.go index c8eeda8ce86..0d456330307 100644 --- a/pkg/kubelet/container/sync_result.go +++ b/pkg/kubelet/container/sync_result.go @@ -20,7 +20,7 @@ import ( "errors" "fmt" - utilerrors "k8s.io/kubernetes/pkg/util/errors" + utilerrors "k8s.io/apimachinery/pkg/util/errors" ) // TODO(random-liu): We need to better organize runtime errors for introspection. diff --git a/pkg/kubelet/container/testing/BUILD b/pkg/kubelet/container/testing/BUILD index 765fc941fc2..9f6f6a753d8 100644 --- a/pkg/kubelet/container/testing/BUILD +++ b/pkg/kubelet/container/testing/BUILD @@ -20,12 +20,12 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/kubelet/container:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/term:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/golang/mock/gomock", "//vendor:github.com/stretchr/testify/mock", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/container/testing/fake_cache.go b/pkg/kubelet/container/testing/fake_cache.go index e77f180fa0c..354a4a4a2f9 100644 --- a/pkg/kubelet/container/testing/fake_cache.go +++ b/pkg/kubelet/container/testing/fake_cache.go @@ -19,8 +19,8 @@ package testing import ( "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) type fakeCache struct { diff --git a/pkg/kubelet/container/testing/fake_runtime.go b/pkg/kubelet/container/testing/fake_runtime.go index c19404f7f78..f207b54e529 100644 --- a/pkg/kubelet/container/testing/fake_runtime.go +++ b/pkg/kubelet/container/testing/fake_runtime.go @@ -24,9 +24,9 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" . "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/term" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/kubelet/container/testing/runtime_mock.go b/pkg/kubelet/container/testing/runtime_mock.go index aff6dedcdd7..c7dd19733ed 100644 --- a/pkg/kubelet/container/testing/runtime_mock.go +++ b/pkg/kubelet/container/testing/runtime_mock.go @@ -21,9 +21,9 @@ import ( "time" "github.com/stretchr/testify/mock" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" . "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/term" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/kubelet/dockershim/cm/BUILD b/pkg/kubelet/dockershim/cm/BUILD index 9503bf48368..7c61c72c8ed 100644 --- a/pkg/kubelet/dockershim/cm/BUILD +++ b/pkg/kubelet/dockershim/cm/BUILD @@ -19,10 +19,10 @@ go_library( "//pkg/kubelet/dockertools:go_default_library", "//pkg/kubelet/qos:go_default_library", "//pkg/util/version:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs", "//vendor:github.com/opencontainers/runc/libcontainer/configs", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/dockershim/cm/container_manager_linux.go b/pkg/kubelet/dockershim/cm/container_manager_linux.go index 8db88445cdf..fd88e6277be 100644 --- a/pkg/kubelet/dockershim/cm/container_manager_linux.go +++ b/pkg/kubelet/dockershim/cm/container_manager_linux.go @@ -28,11 +28,11 @@ import ( "github.com/golang/glog" "github.com/opencontainers/runc/libcontainer/cgroups/fs" "github.com/opencontainers/runc/libcontainer/configs" + "k8s.io/apimachinery/pkg/util/wait" kubecm "k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/pkg/kubelet/dockertools" "k8s.io/kubernetes/pkg/kubelet/qos" utilversion "k8s.io/kubernetes/pkg/util/version" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubelet/dockertools/BUILD b/pkg/kubelet/dockertools/BUILD index 00206da69ab..23de80010b4 100644 --- a/pkg/kubelet/dockertools/BUILD +++ b/pkg/kubelet/dockertools/BUILD @@ -28,7 +28,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/credentialprovider:go_default_library", "//pkg/kubelet/cm:go_default_library", @@ -46,20 +45,14 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/cache:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/oom:go_default_library", "//pkg/util/procfs:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/selinux:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/util/term:go_default_library", "//pkg/util/version:go_default_library", @@ -76,6 +69,13 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -115,15 +115,12 @@ go_test( "//pkg/kubelet/prober/results:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/security/apparmor:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/hash:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strings:go_default_library", "//vendor:github.com/docker/docker/pkg/jsonmessage", "//vendor:github.com/docker/engine-api/types", @@ -133,6 +130,9 @@ go_test( "//vendor:github.com/golang/mock/gomock", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/dockertools/container_gc.go b/pkg/kubelet/dockertools/container_gc.go index c5ab19e331f..65adddf378c 100644 --- a/pkg/kubelet/dockertools/container_gc.go +++ b/pkg/kubelet/dockertools/container_gc.go @@ -26,8 +26,8 @@ import ( dockertypes "github.com/docker/engine-api/types" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) type containerGC struct { diff --git a/pkg/kubelet/dockertools/container_gc_test.go b/pkg/kubelet/dockertools/container_gc_test.go index f46dc05bfb6..5f6ce489f47 100644 --- a/pkg/kubelet/dockertools/container_gc_test.go +++ b/pkg/kubelet/dockertools/container_gc_test.go @@ -24,9 +24,9 @@ import ( "time" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) func newTestContainerGC(t *testing.T) (*containerGC, *FakeDockerClient) { diff --git a/pkg/kubelet/dockertools/docker.go b/pkg/kubelet/dockertools/docker.go index f774cd34d00..d3767133a43 100644 --- a/pkg/kubelet/dockertools/docker.go +++ b/pkg/kubelet/dockertools/docker.go @@ -31,13 +31,13 @@ import ( dockerapi "github.com/docker/engine-api/client" dockertypes "github.com/docker/engine-api/types" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/credentialprovider" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/images" "k8s.io/kubernetes/pkg/kubelet/leaky" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) const ( diff --git a/pkg/kubelet/dockertools/docker_manager.go b/pkg/kubelet/dockertools/docker_manager.go index f48abb33035..fac7dde9e8c 100644 --- a/pkg/kubelet/dockertools/docker_manager.go +++ b/pkg/kubelet/dockertools/docker_manager.go @@ -41,9 +41,14 @@ import ( "github.com/golang/glog" cadvisorapi "github.com/google/cadvisor/info/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + kubetypes "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/kubelet/cm" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -58,17 +63,12 @@ import ( "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/cache" "k8s.io/kubernetes/pkg/kubelet/util/format" - kruntime "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/securitycontext" - kubetypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/procfs" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/selinux" - "k8s.io/kubernetes/pkg/util/sets" utilstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/util/term" utilversion "k8s.io/kubernetes/pkg/util/version" diff --git a/pkg/kubelet/dockertools/docker_manager_test.go b/pkg/kubelet/dockertools/docker_manager_test.go index 2f22a76bc34..645e0cd6a8f 100644 --- a/pkg/kubelet/dockertools/docker_manager_test.go +++ b/pkg/kubelet/dockertools/docker_manager_test.go @@ -36,6 +36,9 @@ import ( "github.com/golang/mock/gomock" cadvisorapi "github.com/google/cadvisor/info/v1" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/runtime" + kubetypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" @@ -49,13 +52,10 @@ import ( nettest "k8s.io/kubernetes/pkg/kubelet/network/testing" proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - kubetypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" uexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" ) type fakeHTTP struct { diff --git a/pkg/kubelet/dockertools/docker_test.go b/pkg/kubelet/dockertools/docker_test.go index 28da5977794..0cc1ef83bf6 100644 --- a/pkg/kubelet/dockertools/docker_test.go +++ b/pkg/kubelet/dockertools/docker_test.go @@ -33,6 +33,7 @@ import ( dockernat "github.com/docker/go-connections/nat" cadvisorapi "github.com/google/cadvisor/info/v1" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/client/record" @@ -42,7 +43,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/images" "k8s.io/kubernetes/pkg/kubelet/network" nettest "k8s.io/kubernetes/pkg/kubelet/network/testing" - "k8s.io/kubernetes/pkg/types" hashutil "k8s.io/kubernetes/pkg/util/hash" ) diff --git a/pkg/kubelet/dockertools/fake_manager.go b/pkg/kubelet/dockertools/fake_manager.go index a9538e6abef..bff9dcaa0ef 100644 --- a/pkg/kubelet/dockertools/fake_manager.go +++ b/pkg/kubelet/dockertools/fake_manager.go @@ -18,6 +18,7 @@ package dockertools import ( cadvisorapi "github.com/google/cadvisor/info/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -25,7 +26,6 @@ import ( proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/cache" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/procfs" diff --git a/pkg/kubelet/dockertools/labels.go b/pkg/kubelet/dockertools/labels.go index be8cfd9777c..3e453cbfaea 100644 --- a/pkg/kubelet/dockertools/labels.go +++ b/pkg/kubelet/dockertools/labels.go @@ -21,14 +21,14 @@ import ( "strconv" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/custommetrics" "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/runtime" - kubetypes "k8s.io/kubernetes/pkg/types" ) // This file contains all docker label related constants and functions, including: diff --git a/pkg/kubelet/dockertools/labels_test.go b/pkg/kubelet/dockertools/labels_test.go index 86b97958642..a0b30bd06ea 100644 --- a/pkg/kubelet/dockertools/labels_test.go +++ b/pkg/kubelet/dockertools/labels_test.go @@ -21,11 +21,11 @@ import ( "strconv" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubelet/eviction/BUILD b/pkg/kubelet/eviction/BUILD index a031c1e7126..d84d36eced2 100644 --- a/pkg/kubelet/eviction/BUILD +++ b/pkg/kubelet/eviction/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", "//pkg/kubelet/cm:go_default_library", @@ -35,9 +34,10 @@ go_library( "//pkg/kubelet/util/format:go_default_library", "//pkg/quota/evaluator/core:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -53,14 +53,14 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", "//pkg/kubelet/lifecycle:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/quota:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/eviction/eviction_manager.go b/pkg/kubelet/eviction/eviction_manager.go index 7a78f6d5167..83cf3d3584e 100644 --- a/pkg/kubelet/eviction/eviction_manager.go +++ b/pkg/kubelet/eviction/eviction_manager.go @@ -23,6 +23,7 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" @@ -34,7 +35,6 @@ import ( kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/wait" ) // managerImpl implements Manager diff --git a/pkg/kubelet/eviction/eviction_manager_test.go b/pkg/kubelet/eviction/eviction_manager_test.go index 1d170c3f49c..fe3322c215a 100644 --- a/pkg/kubelet/eviction/eviction_manager_test.go +++ b/pkg/kubelet/eviction/eviction_manager_test.go @@ -20,13 +20,13 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/kubelet/lifecycle" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" ) diff --git a/pkg/kubelet/eviction/helpers.go b/pkg/kubelet/eviction/helpers.go index 169e8ca01c1..bf5b45e0657 100644 --- a/pkg/kubelet/eviction/helpers.go +++ b/pkg/kubelet/eviction/helpers.go @@ -24,6 +24,7 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" @@ -31,7 +32,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/kubelet/server/stats" "k8s.io/kubernetes/pkg/quota/evaluator/core" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/pkg/kubelet/eviction/helpers_test.go b/pkg/kubelet/eviction/helpers_test.go index f99b4822ff7..5b63446494a 100644 --- a/pkg/kubelet/eviction/helpers_test.go +++ b/pkg/kubelet/eviction/helpers_test.go @@ -22,13 +22,13 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/quota" - "k8s.io/kubernetes/pkg/types" ) func quantityMustParse(value string) *resource.Quantity { diff --git a/pkg/kubelet/eviction/types.go b/pkg/kubelet/eviction/types.go index 8d4db62f4d9..d33e68a283f 100644 --- a/pkg/kubelet/eviction/types.go +++ b/pkg/kubelet/eviction/types.go @@ -19,9 +19,9 @@ package eviction import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" ) diff --git a/pkg/kubelet/images/BUILD b/pkg/kubelet/images/BUILD index 40238a3e3da..f0891b3ac21 100644 --- a/pkg/kubelet/images/BUILD +++ b/pkg/kubelet/images/BUILD @@ -25,13 +25,13 @@ go_library( "//pkg/kubelet/cadvisor:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/events:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/parsers:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/docker/distribution/reference", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/images/image_gc_manager.go b/pkg/kubelet/images/image_gc_manager.go index ea0d7496104..090c15f64d5 100644 --- a/pkg/kubelet/images/image_gc_manager.go +++ b/pkg/kubelet/images/image_gc_manager.go @@ -24,15 +24,15 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/kubelet/cadvisor" "k8s.io/kubernetes/pkg/kubelet/container" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/events" - "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" ) // Manages lifecycle of all images. diff --git a/pkg/kubelet/images/puller.go b/pkg/kubelet/images/puller.go index 6beaa1e6b00..dc1492c2aef 100644 --- a/pkg/kubelet/images/puller.go +++ b/pkg/kubelet/images/puller.go @@ -19,9 +19,9 @@ package images import ( "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/util/wait" ) type pullResult struct { diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index cadb44de278..18a4fbc5fb1 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -34,6 +34,11 @@ import ( clientgoclientset "k8s.io/client-go/kubernetes" cadvisorapi "github.com/google/cadvisor/info/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" @@ -75,9 +80,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/util/queue" "k8s.io/kubernetes/pkg/kubelet/util/sliceutils" "k8s.io/kubernetes/pkg/kubelet/volumemanager" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/security/apparmor" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/bandwidth" "k8s.io/kubernetes/pkg/util/clock" utilconfig "k8s.io/kubernetes/pkg/util/config" @@ -91,9 +94,6 @@ import ( nodeutil "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/util/oom" "k8s.io/kubernetes/pkg/util/procfs" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" ) diff --git a/pkg/kubelet/kubelet_cadvisor.go b/pkg/kubelet/kubelet_cadvisor.go index be1876a84a5..04d928129c2 100644 --- a/pkg/kubelet/kubelet_cadvisor.go +++ b/pkg/kubelet/kubelet_cadvisor.go @@ -19,8 +19,8 @@ package kubelet import ( cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapiv2 "github.com/google/cadvisor/info/v2" + "k8s.io/apimachinery/pkg/types" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) // GetContainerInfo returns stats (from Cadvisor) for a container. diff --git a/pkg/kubelet/kubelet_getters.go b/pkg/kubelet/kubelet_getters.go index 4f834491674..d4e40621f7e 100644 --- a/pkg/kubelet/kubelet_getters.go +++ b/pkg/kubelet/kubelet_getters.go @@ -23,11 +23,11 @@ import ( "path" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/cmd/kubelet/app/options" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/cm" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util" nodeutil "k8s.io/kubernetes/pkg/util/node" volumeutil "k8s.io/kubernetes/pkg/volume/util" diff --git a/pkg/kubelet/kubelet_network.go b/pkg/kubelet/kubelet_network.go index 64ccd7aa5cb..4f615f1dba1 100644 --- a/pkg/kubelet/kubelet_network.go +++ b/pkg/kubelet/kubelet_network.go @@ -23,12 +23,12 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/kubelet/network" "k8s.io/kubernetes/pkg/util/bandwidth" utiliptables "k8s.io/kubernetes/pkg/util/iptables" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index f6aa70b1694..e42a85ba963 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -27,17 +27,17 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/kubelet/cadvisor" "k8s.io/kubernetes/pkg/kubelet/events" "k8s.io/kubernetes/pkg/kubelet/util/sliceutils" - "k8s.io/kubernetes/pkg/types" - utilnet "k8s.io/kubernetes/pkg/util/net" nodeutil "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/version" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/pkg/kubelet/kubelet_node_status_test.go b/pkg/kubelet/kubelet_node_status_test.go index c4f11fbce4f..c42715e50b0 100644 --- a/pkg/kubelet/kubelet_node_status_test.go +++ b/pkg/kubelet/kubelet_node_status_test.go @@ -28,21 +28,21 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapiv2 "github.com/google/cadvisor/info/v2" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/util/sliceutils" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/rand" "k8s.io/kubernetes/pkg/util/strategicpatch" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" "k8s.io/kubernetes/pkg/volume/util/volumehelper" ) diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index ad261fdde59..da53ca6afb8 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -33,11 +33,16 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + utilvalidation "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" utilpod "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/pkg/api/v1/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fieldpath" "k8s.io/kubernetes/pkg/kubelet/cm" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -48,12 +53,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/status" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/term" - utilvalidation "k8s.io/kubernetes/pkg/util/validation" - "k8s.io/kubernetes/pkg/util/validation/field" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/volumehelper" "k8s.io/kubernetes/third_party/forked/golang/expansion" diff --git a/pkg/kubelet/kubelet_pods_test.go b/pkg/kubelet/kubelet_pods_test.go index 6f8ae0a6732..836c9344037 100644 --- a/pkg/kubelet/kubelet_pods_test.go +++ b/pkg/kubelet/kubelet_pods_test.go @@ -26,16 +26,16 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/testing/core" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" ) func TestMakeMounts(t *testing.T) { diff --git a/pkg/kubelet/kubelet_test.go b/pkg/kubelet/kubelet_test.go index 351dd69b681..ade676de57a 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -28,10 +28,14 @@ import ( cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" @@ -55,13 +59,9 @@ import ( kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/queue" kubeletvolume "k8s.io/kubernetes/pkg/kubelet/volumemanager" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/mount" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" _ "k8s.io/kubernetes/pkg/volume/host_path" volumetest "k8s.io/kubernetes/pkg/volume/testing" diff --git a/pkg/kubelet/kubelet_volumes.go b/pkg/kubelet/kubelet_volumes.go index 68a75d4a9c4..a2649e41f0f 100644 --- a/pkg/kubelet/kubelet_volumes.go +++ b/pkg/kubelet/kubelet_volumes.go @@ -21,11 +21,11 @@ import ( "os" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/volume" volumetypes "k8s.io/kubernetes/pkg/volume/util/types" ) diff --git a/pkg/kubelet/kubelet_volumes_test.go b/pkg/kubelet/kubelet_volumes_test.go index 1131f8b1d7b..ebb898360a4 100644 --- a/pkg/kubelet/kubelet_volumes_test.go +++ b/pkg/kubelet/kubelet_volumes_test.go @@ -21,10 +21,10 @@ import ( "testing" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/pkg/kubelet/kuberuntime/BUILD b/pkg/kubelet/kuberuntime/BUILD index 448dfa53348..eedb2a790b2 100644 --- a/pkg/kubelet/kuberuntime/BUILD +++ b/pkg/kubelet/kuberuntime/BUILD @@ -28,7 +28,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/credentialprovider:go_default_library", "//pkg/kubelet/api:go_default_library", @@ -46,18 +45,19 @@ go_library( "//pkg/kubelet/util/cache:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/parsers:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/selinux:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/version:go_default_library", "//vendor:github.com/docker/docker/pkg/jsonlog", "//vendor:github.com/fsnotify/fsnotify", "//vendor:github.com/golang/glog", "//vendor:github.com/google/cadvisor/info/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -78,20 +78,20 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/kubelet/api/testing:go_default_library", "//pkg/kubelet/api/v1alpha1/runtime:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/container/testing:go_default_library", "//pkg/kubelet/network:go_default_library", "//pkg/kubelet/network/testing:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/mock/gomock", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/kuberuntime/fake_kuberuntime_manager.go b/pkg/kubelet/kuberuntime/fake_kuberuntime_manager.go index 5c7c58ef136..982927022dc 100644 --- a/pkg/kubelet/kuberuntime/fake_kuberuntime_manager.go +++ b/pkg/kubelet/kuberuntime/fake_kuberuntime_manager.go @@ -22,6 +22,8 @@ import ( "time" cadvisorapi "github.com/google/cadvisor/info/v1" + "k8s.io/apimachinery/pkg/types" + kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/credentialprovider" @@ -31,8 +33,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/lifecycle" "k8s.io/kubernetes/pkg/kubelet/network" proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results" - "k8s.io/kubernetes/pkg/types" - kubetypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" ) diff --git a/pkg/kubelet/kuberuntime/helpers.go b/pkg/kubelet/kuberuntime/helpers.go index abd1d844373..c2d71d36486 100644 --- a/pkg/kubelet/kuberuntime/helpers.go +++ b/pkg/kubelet/kuberuntime/helpers.go @@ -22,10 +22,10 @@ import ( "strconv" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) const ( diff --git a/pkg/kubelet/kuberuntime/kuberuntime_container.go b/pkg/kubelet/kuberuntime/kuberuntime_container.go index 7f9517a1ee7..7380716d12e 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_container.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_container.go @@ -29,18 +29,18 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kubetypes "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/events" "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" - kubetypes "k8s.io/kubernetes/pkg/types" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/selinux" - "k8s.io/kubernetes/pkg/util/sets" ) // startContainer starts a container and returns a message indicates why it is failed on error. diff --git a/pkg/kubelet/kuberuntime/kuberuntime_gc.go b/pkg/kubelet/kuberuntime/kuberuntime_gc.go index 1525ab0c933..1f5ce7a6b6e 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_gc.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_gc.go @@ -24,10 +24,10 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" internalapi "k8s.io/kubernetes/pkg/kubelet/api" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) // sandboxMinGCAge is the minimum age for an empty sandbox before it is garbage collected. diff --git a/pkg/kubelet/kuberuntime/kuberuntime_image.go b/pkg/kubelet/kuberuntime/kuberuntime_image.go index 51f29dffdd1..f6545e9b4aa 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_image.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_image.go @@ -18,11 +18,11 @@ package kuberuntime import ( "github.com/golang/glog" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/credentialprovider" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/parsers" ) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_image_test.go b/pkg/kubelet/kuberuntime/kuberuntime_image_test.go index b758caeb248..7ed23a9e94b 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_image_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_image_test.go @@ -20,8 +20,8 @@ import ( "testing" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/util/sets" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/util/sets" ) func TestPullImage(t *testing.T) { diff --git a/pkg/kubelet/kuberuntime/kuberuntime_logs_test.go b/pkg/kubelet/kuberuntime/kuberuntime_logs_test.go index e228929ba22..9fb07d6aadb 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_logs_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_logs_test.go @@ -24,8 +24,8 @@ import ( "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestLogOptions(t *testing.T) { diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager.go b/pkg/kubelet/kuberuntime/kuberuntime_manager.go index deead5b69ef..b7c5882d60a 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager.go @@ -25,6 +25,8 @@ import ( "github.com/golang/glog" cadvisorapi "github.com/google/cadvisor/info/v1" + kubetypes "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/credentialprovider" @@ -39,9 +41,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/cache" "k8s.io/kubernetes/pkg/kubelet/util/format" - kubetypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" utilversion "k8s.io/kubernetes/pkg/util/version" ) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go b/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go index a4837718054..583b46e95ac 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager_test.go @@ -24,6 +24,8 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/types" + kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" apitest "k8s.io/kubernetes/pkg/kubelet/api/testing" @@ -32,8 +34,6 @@ import ( containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" "k8s.io/kubernetes/pkg/kubelet/network" nettest "k8s.io/kubernetes/pkg/kubelet/network/testing" - "k8s.io/kubernetes/pkg/types" - kubetypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/flowcontrol" ) diff --git a/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go b/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go index 46a13b160bd..2d55ea2f693 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_sandbox.go @@ -23,12 +23,12 @@ import ( "sort" "github.com/golang/glog" + kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" - kubetypes "k8s.io/kubernetes/pkg/types" ) // createPodSandbox creates a pod sandbox and returns (podSandBoxID, message, error). diff --git a/pkg/kubelet/kuberuntime/labels.go b/pkg/kubelet/kuberuntime/labels.go index 88e383d21bd..5092fe7c6dd 100644 --- a/pkg/kubelet/kuberuntime/labels.go +++ b/pkg/kubelet/kuberuntime/labels.go @@ -21,11 +21,11 @@ import ( "strconv" "github.com/golang/glog" + kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" - kubetypes "k8s.io/kubernetes/pkg/types" ) const ( diff --git a/pkg/kubelet/lifecycle/BUILD b/pkg/kubelet/lifecycle/BUILD index e6e3043c41d..f10f524fb4e 100644 --- a/pkg/kubelet/lifecycle/BUILD +++ b/pkg/kubelet/lifecycle/BUILD @@ -24,11 +24,11 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//pkg/security/apparmor:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/lifecycle/handlers.go b/pkg/kubelet/lifecycle/handlers.go index f2ba6e71277..64a8e4dd02e 100644 --- a/pkg/kubelet/lifecycle/handlers.go +++ b/pkg/kubelet/lifecycle/handlers.go @@ -24,12 +24,12 @@ import ( "strconv" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/security/apparmor" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/kubelet/network/BUILD b/pkg/kubelet/network/BUILD index baaba030434..b20729285b0 100644 --- a/pkg/kubelet/network/BUILD +++ b/pkg/kubelet/network/BUILD @@ -18,15 +18,15 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet/container:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/sysctl:go_default_library", - "//pkg/util/validation:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", ], ) diff --git a/pkg/kubelet/network/cni/BUILD b/pkg/kubelet/network/cni/BUILD index 0eef5d90d88..2b3c0c665c8 100644 --- a/pkg/kubelet/network/cni/BUILD +++ b/pkg/kubelet/network/cni/BUILD @@ -17,10 +17,10 @@ go_library( "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/network:go_default_library", "//pkg/util/exec:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/containernetworking/cni/libcni", "//vendor:github.com/containernetworking/cni/pkg/types", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/network/cni/cni.go b/pkg/kubelet/network/cni/cni.go index 69667df419e..a819f64049d 100644 --- a/pkg/kubelet/network/cni/cni.go +++ b/pkg/kubelet/network/cni/cni.go @@ -26,11 +26,11 @@ import ( "github.com/containernetworking/cni/libcni" cnitypes "github.com/containernetworking/cni/pkg/types" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/apis/componentconfig" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/network" utilexec "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubelet/network/kubenet/BUILD b/pkg/kubelet/network/kubenet/BUILD index d0101c549da..d3463626252 100644 --- a/pkg/kubelet/network/kubenet/BUILD +++ b/pkg/kubelet/network/kubenet/BUILD @@ -24,16 +24,16 @@ go_library( "//pkg/util/bandwidth:go_default_library", "//pkg/util/dbus:go_default_library", "//pkg/util/ebtables:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/iptables:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/sysctl:go_default_library", "//vendor:github.com/containernetworking/cni/libcni", "//vendor:github.com/containernetworking/cni/pkg/types", "//vendor:github.com/golang/glog", "//vendor:github.com/vishvananda/netlink", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/network/kubenet/kubenet_linux.go b/pkg/kubelet/network/kubenet/kubenet_linux.go index ec7ad4320c7..bb6446cec68 100644 --- a/pkg/kubelet/network/kubenet/kubenet_linux.go +++ b/pkg/kubelet/network/kubenet/kubenet_linux.go @@ -33,6 +33,9 @@ import ( cnitypes "github.com/containernetworking/cni/pkg/types" "github.com/golang/glog" "github.com/vishvananda/netlink" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilnet "k8s.io/apimachinery/pkg/util/net" + utilsets "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -41,11 +44,8 @@ import ( "k8s.io/kubernetes/pkg/util/bandwidth" utildbus "k8s.io/kubernetes/pkg/util/dbus" utilebtables "k8s.io/kubernetes/pkg/util/ebtables" - utilerrors "k8s.io/kubernetes/pkg/util/errors" utilexec "k8s.io/kubernetes/pkg/util/exec" utiliptables "k8s.io/kubernetes/pkg/util/iptables" - utilnet "k8s.io/kubernetes/pkg/util/net" - utilsets "k8s.io/kubernetes/pkg/util/sets" utilsysctl "k8s.io/kubernetes/pkg/util/sysctl" ) diff --git a/pkg/kubelet/network/mock_network/BUILD b/pkg/kubelet/network/mock_network/BUILD index be17ee7aeb0..8f06ba40be0 100644 --- a/pkg/kubelet/network/mock_network/BUILD +++ b/pkg/kubelet/network/mock_network/BUILD @@ -15,8 +15,8 @@ go_library( "//pkg/apis/componentconfig:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/network:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/mock/gomock", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/network/mock_network/network_plugins.go b/pkg/kubelet/network/mock_network/network_plugins.go index a56bf252313..fd7259d4a86 100644 --- a/pkg/kubelet/network/mock_network/network_plugins.go +++ b/pkg/kubelet/network/mock_network/network_plugins.go @@ -22,10 +22,10 @@ package mock_network import ( gomock "github.com/golang/mock/gomock" + sets "k8s.io/apimachinery/pkg/util/sets" componentconfig "k8s.io/kubernetes/pkg/apis/componentconfig" container "k8s.io/kubernetes/pkg/kubelet/container" network "k8s.io/kubernetes/pkg/kubelet/network" - sets "k8s.io/kubernetes/pkg/util/sets" ) // Mock of NetworkPlugin interface diff --git a/pkg/kubelet/network/plugins.go b/pkg/kubelet/network/plugins.go index 1b4241bcfea..4d837dcd30b 100644 --- a/pkg/kubelet/network/plugins.go +++ b/pkg/kubelet/network/plugins.go @@ -24,15 +24,15 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilsets "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - utilerrors "k8s.io/kubernetes/pkg/util/errors" utilexec "k8s.io/kubernetes/pkg/util/exec" - utilsets "k8s.io/kubernetes/pkg/util/sets" utilsysctl "k8s.io/kubernetes/pkg/util/sysctl" - "k8s.io/kubernetes/pkg/util/validation" ) const DefaultPluginName = "kubernetes.io/no-op" diff --git a/pkg/kubelet/oom_watcher.go b/pkg/kubelet/oom_watcher.go index 268ae4b0427..19837cfcd04 100644 --- a/pkg/kubelet/oom_watcher.go +++ b/pkg/kubelet/oom_watcher.go @@ -20,11 +20,11 @@ import ( "github.com/golang/glog" "github.com/google/cadvisor/events" cadvisorapi "github.com/google/cadvisor/info/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/kubelet/cadvisor" - "k8s.io/kubernetes/pkg/util/runtime" ) type OOMWatcher interface { diff --git a/pkg/kubelet/pleg/BUILD b/pkg/kubelet/pleg/BUILD index c0b5731e208..d3be41ed9b0 100644 --- a/pkg/kubelet/pleg/BUILD +++ b/pkg/kubelet/pleg/BUILD @@ -19,11 +19,11 @@ go_library( deps = [ "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/metrics:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -35,10 +35,10 @@ go_test( deps = [ "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/container/testing:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/diff:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/kubelet/pleg/generic.go b/pkg/kubelet/pleg/generic.go index 5967185e64c..8e00bd83deb 100644 --- a/pkg/kubelet/pleg/generic.go +++ b/pkg/kubelet/pleg/generic.go @@ -22,12 +22,12 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/metrics" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" ) // GenericPLEG is an extremely simple generic PLEG that relies solely on diff --git a/pkg/kubelet/pleg/generic_test.go b/pkg/kubelet/pleg/generic_test.go index 3536e9f48cc..9fa15d994cc 100644 --- a/pkg/kubelet/pleg/generic_test.go +++ b/pkg/kubelet/pleg/generic_test.go @@ -25,11 +25,11 @@ import ( "time" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/diff" ) const ( diff --git a/pkg/kubelet/pleg/pleg.go b/pkg/kubelet/pleg/pleg.go index 78900e4e4b0..aa0e46e465d 100644 --- a/pkg/kubelet/pleg/pleg.go +++ b/pkg/kubelet/pleg/pleg.go @@ -17,7 +17,7 @@ limitations under the License. package pleg import ( - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) type PodLifeCycleEventType string diff --git a/pkg/kubelet/pod/BUILD b/pkg/kubelet/pod/BUILD index 6505bea0fd1..e3bbb8b9afd 100644 --- a/pkg/kubelet/pod/BUILD +++ b/pkg/kubelet/pod/BUILD @@ -21,8 +21,8 @@ go_library( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -39,7 +39,7 @@ go_test( "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/pod/testing:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/pod/pod_manager.go b/pkg/kubelet/pod/pod_manager.go index 800887e23e2..e02d09dcf5a 100644 --- a/pkg/kubelet/pod/pod_manager.go +++ b/pkg/kubelet/pod/pod_manager.go @@ -19,9 +19,9 @@ package pod import ( "sync" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) // Manager stores and manages access to pods, maintaining the mappings diff --git a/pkg/kubelet/pod/pod_manager_test.go b/pkg/kubelet/pod/pod_manager_test.go index 683361929fa..c50e2e4ae07 100644 --- a/pkg/kubelet/pod/pod_manager_test.go +++ b/pkg/kubelet/pod/pod_manager_test.go @@ -20,10 +20,10 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" podtest "k8s.io/kubernetes/pkg/kubelet/pod/testing" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/types" ) // Stub out mirror client for testing purpose. diff --git a/pkg/kubelet/pod/testing/BUILD b/pkg/kubelet/pod/testing/BUILD index 4be448e237c..57c582eab23 100644 --- a/pkg/kubelet/pod/testing/BUILD +++ b/pkg/kubelet/pod/testing/BUILD @@ -14,7 +14,7 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/kubelet/container:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/pod/testing/fake_mirror_client.go b/pkg/kubelet/pod/testing/fake_mirror_client.go index 0e9ff513db2..13da55715f9 100644 --- a/pkg/kubelet/pod/testing/fake_mirror_client.go +++ b/pkg/kubelet/pod/testing/fake_mirror_client.go @@ -19,9 +19,9 @@ package testing import ( "sync" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/util/sets" ) type FakeMirrorClient struct { diff --git a/pkg/kubelet/pod_container_deletor.go b/pkg/kubelet/pod_container_deletor.go index 4daf1a5021b..2a88050a721 100644 --- a/pkg/kubelet/pod_container_deletor.go +++ b/pkg/kubelet/pod_container_deletor.go @@ -20,8 +20,8 @@ import ( "sort" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/wait" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubelet/pod_workers.go b/pkg/kubelet/pod_workers.go index edc55700897..b258319cf3e 100644 --- a/pkg/kubelet/pod_workers.go +++ b/pkg/kubelet/pod_workers.go @@ -22,6 +22,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -29,9 +32,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/eviction" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/queue" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) // OnCompleteFunc is a function that is invoked when an operation completes. diff --git a/pkg/kubelet/pod_workers_test.go b/pkg/kubelet/pod_workers_test.go index a6946528b65..9829514e23d 100644 --- a/pkg/kubelet/pod_workers_test.go +++ b/pkg/kubelet/pod_workers_test.go @@ -22,13 +22,13 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/queue" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" ) diff --git a/pkg/kubelet/prober/BUILD b/pkg/kubelet/prober/BUILD index 1b690be48f4..2f01e8c9ec1 100644 --- a/pkg/kubelet/prober/BUILD +++ b/pkg/kubelet/prober/BUILD @@ -28,13 +28,13 @@ go_library( "//pkg/probe/exec:go_default_library", "//pkg/probe/http:go_default_library", "//pkg/probe/tcp:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -50,7 +50,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/container:go_default_library", @@ -59,12 +58,13 @@ go_test( "//pkg/kubelet/prober/results:go_default_library", "//pkg/kubelet/status:go_default_library", "//pkg/probe:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/prober/common_test.go b/pkg/kubelet/prober/common_test.go index 8e65f9b16be..f5e69428f85 100644 --- a/pkg/kubelet/prober/common_test.go +++ b/pkg/kubelet/prober/common_test.go @@ -20,8 +20,8 @@ import ( "reflect" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" diff --git a/pkg/kubelet/prober/prober_manager.go b/pkg/kubelet/prober/prober_manager.go index 09f942b025d..7a401de50e0 100644 --- a/pkg/kubelet/prober/prober_manager.go +++ b/pkg/kubelet/prober/prober_manager.go @@ -20,15 +20,15 @@ import ( "sync" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/kubelet/status" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" ) // Manager manages pod probing. It creates a probe "worker" for every container that specifies a diff --git a/pkg/kubelet/prober/prober_manager_test.go b/pkg/kubelet/prober/prober_manager_test.go index 244f184c2ca..a0077ac8473 100644 --- a/pkg/kubelet/prober/prober_manager_test.go +++ b/pkg/kubelet/prober/prober_manager_test.go @@ -23,13 +23,13 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/probe" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) func init() { diff --git a/pkg/kubelet/prober/results/BUILD b/pkg/kubelet/prober/results/BUILD index ada38901a9b..19fd6211027 100644 --- a/pkg/kubelet/prober/results/BUILD +++ b/pkg/kubelet/prober/results/BUILD @@ -15,7 +15,7 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/kubelet/container:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -27,8 +27,8 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/kubelet/container:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/prober/results/results_manager.go b/pkg/kubelet/prober/results/results_manager.go index b7076a0bfea..6d7adeb987a 100644 --- a/pkg/kubelet/prober/results/results_manager.go +++ b/pkg/kubelet/prober/results/results_manager.go @@ -19,9 +19,9 @@ package results import ( "sync" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) // Manager provides a probe results cache and channel of updates. diff --git a/pkg/kubelet/prober/results/results_manager_test.go b/pkg/kubelet/prober/results/results_manager_test.go index 85ae8a3ce8b..444fb4d0c7e 100644 --- a/pkg/kubelet/prober/results/results_manager_test.go +++ b/pkg/kubelet/prober/results/results_manager_test.go @@ -21,9 +21,9 @@ import ( "time" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/util/wait" ) func TestCacheOperations(t *testing.T) { diff --git a/pkg/kubelet/prober/testing/BUILD b/pkg/kubelet/prober/testing/BUILD index 6d31ce442ed..e07979ff2ef 100644 --- a/pkg/kubelet/prober/testing/BUILD +++ b/pkg/kubelet/prober/testing/BUILD @@ -13,7 +13,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/prober/testing/fake_manager.go b/pkg/kubelet/prober/testing/fake_manager.go index f989cccdcdf..fe15def941f 100644 --- a/pkg/kubelet/prober/testing/fake_manager.go +++ b/pkg/kubelet/prober/testing/fake_manager.go @@ -17,8 +17,8 @@ limitations under the License. package testing import ( + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) type FakeManager struct{} diff --git a/pkg/kubelet/prober/worker.go b/pkg/kubelet/prober/worker.go index 889c8733f05..d33705027d7 100644 --- a/pkg/kubelet/prober/worker.go +++ b/pkg/kubelet/prober/worker.go @@ -21,11 +21,11 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/prober/results" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/util/runtime" ) // worker handles the periodic probing of its assigned container. Each worker has a go-routine diff --git a/pkg/kubelet/prober/worker_test.go b/pkg/kubelet/prober/worker_test.go index ab6f80e44bb..41fe42e8961 100644 --- a/pkg/kubelet/prober/worker_test.go +++ b/pkg/kubelet/prober/worker_test.go @@ -21,8 +21,10 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -31,8 +33,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/status" "k8s.io/kubernetes/pkg/probe" "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) func init() { diff --git a/pkg/kubelet/qos/BUILD b/pkg/kubelet/qos/BUILD index 4a682231944..0a79e88670b 100644 --- a/pkg/kubelet/qos/BUILD +++ b/pkg/kubelet/qos/BUILD @@ -21,7 +21,7 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/qos/qos.go b/pkg/kubelet/qos/qos.go index 914ac64cb8e..873018b4006 100644 --- a/pkg/kubelet/qos/qos.go +++ b/pkg/kubelet/qos/qos.go @@ -17,10 +17,10 @@ limitations under the License. package qos import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) // isResourceGuaranteed returns true if the container's resource requirements are Guaranteed. diff --git a/pkg/kubelet/reason_cache.go b/pkg/kubelet/reason_cache.go index 59f2da35633..0ce79aa7688 100644 --- a/pkg/kubelet/reason_cache.go +++ b/pkg/kubelet/reason_cache.go @@ -21,8 +21,8 @@ import ( "sync" "github.com/golang/groupcache/lru" + "k8s.io/apimachinery/pkg/types" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) // ReasonCache stores the failure reason of the latest container start diff --git a/pkg/kubelet/reason_cache_test.go b/pkg/kubelet/reason_cache_test.go index 7ca3ad52c92..c3c132aae6d 100644 --- a/pkg/kubelet/reason_cache_test.go +++ b/pkg/kubelet/reason_cache_test.go @@ -19,8 +19,8 @@ package kubelet import ( "testing" + "k8s.io/apimachinery/pkg/types" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) func TestReasonCache(t *testing.T) { diff --git a/pkg/kubelet/rkt/BUILD b/pkg/kubelet/rkt/BUILD index f41428fc45a..f48f94cdeff 100644 --- a/pkg/kubelet/rkt/BUILD +++ b/pkg/kubelet/rkt/BUILD @@ -24,7 +24,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/credentialprovider:go_default_library", "//pkg/kubelet/container:go_default_library", @@ -38,8 +37,6 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//pkg/securitycontext:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/parsers:go_default_library", @@ -48,7 +45,6 @@ go_library( "//pkg/util/term:go_default_library", "//pkg/util/uuid:go_default_library", "//pkg/util/version:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/appc/spec/schema", "//vendor:github.com/appc/spec/schema/types", "//vendor:github.com/coreos/go-systemd/dbus", @@ -58,6 +54,10 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", "//vendor:google.golang.org/grpc", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -79,8 +79,6 @@ go_test( "//pkg/kubelet/network/kubenet:go_default_library", "//pkg/kubelet/network/mock_network:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/testing:go_default_library", "//vendor:github.com/appc/spec/schema", @@ -91,6 +89,8 @@ go_test( "//vendor:github.com/stretchr/testify/assert", "//vendor:golang.org/x/net/context", "//vendor:google.golang.org/grpc", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/pkg/kubelet/rkt/fake_rkt_interface_test.go b/pkg/kubelet/rkt/fake_rkt_interface_test.go index 39b24135366..77311b0361a 100644 --- a/pkg/kubelet/rkt/fake_rkt_interface_test.go +++ b/pkg/kubelet/rkt/fake_rkt_interface_test.go @@ -26,9 +26,9 @@ import ( rktapi "github.com/coreos/rkt/api/v1alpha" "golang.org/x/net/context" "google.golang.org/grpc" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" ) // fakeRktInterface mocks the rktapi.PublicAPIClient interface for testing purpose. diff --git a/pkg/kubelet/rkt/log.go b/pkg/kubelet/rkt/log.go index ec67decb977..162b5026dad 100644 --- a/pkg/kubelet/rkt/log.go +++ b/pkg/kubelet/rkt/log.go @@ -26,8 +26,8 @@ import ( "golang.org/x/net/context" rktapi "github.com/coreos/rkt/api/v1alpha" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/util/format" ) diff --git a/pkg/kubelet/rkt/rkt.go b/pkg/kubelet/rkt/rkt.go index 3e9c89fde5d..8742055da0b 100644 --- a/pkg/kubelet/rkt/rkt.go +++ b/pkg/kubelet/rkt/rkt.go @@ -41,6 +41,9 @@ import ( "github.com/golang/glog" "golang.org/x/net/context" "google.golang.org/grpc" + kubetypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/errors" + utilwait "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/credentialprovider" @@ -55,15 +58,12 @@ import ( "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/securitycontext" - kubetypes "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/errors" utilexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/flowcontrol" "k8s.io/kubernetes/pkg/util/selinux" utilstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/util/term" "k8s.io/kubernetes/pkg/util/uuid" - utilwait "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/kubelet/rkt/rkt_test.go b/pkg/kubelet/rkt/rkt_test.go index f17e0c227d8..e3e8231286d 100644 --- a/pkg/kubelet/rkt/rkt_test.go +++ b/pkg/kubelet/rkt/rkt_test.go @@ -31,6 +31,8 @@ import ( rktapi "github.com/coreos/rkt/api/v1alpha" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" + kubetypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -41,8 +43,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/network/kubenet" "k8s.io/kubernetes/pkg/kubelet/network/mock_network" "k8s.io/kubernetes/pkg/kubelet/types" - kubetypes "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/errors" utilexec "k8s.io/kubernetes/pkg/util/exec" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/kubelet/runonce_test.go b/pkg/kubelet/runonce_test.go index e3652a437c4..177f18e5dea 100644 --- a/pkg/kubelet/runonce_test.go +++ b/pkg/kubelet/runonce_test.go @@ -23,6 +23,7 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapiv2 "github.com/google/cadvisor/info/v2" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" @@ -39,7 +40,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/server/stats" "k8s.io/kubernetes/pkg/kubelet/status" "k8s.io/kubernetes/pkg/kubelet/volumemanager" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/clock" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/kubelet/server/BUILD b/pkg/kubelet/server/BUILD index f8ebb018dc3..3c9c047c423 100644 --- a/pkg/kubelet/server/BUILD +++ b/pkg/kubelet/server/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/httplog:go_default_library", "//pkg/kubelet/cm:go_default_library", "//pkg/kubelet/container:go_default_library", @@ -29,12 +28,8 @@ go_library( "//pkg/kubelet/server/remotecommand:go_default_library", "//pkg/kubelet/server/stats:go_default_library", "//pkg/kubelet/server/streaming:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/configz:go_default_library", "//pkg/util/limitwriter:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/term:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/emicklei/go-restful", @@ -42,6 +37,11 @@ go_library( "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/google/cadvisor/info/v2", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", @@ -68,10 +68,8 @@ go_test( "//pkg/kubelet/server/remotecommand:go_default_library", "//pkg/kubelet/server/stats:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/httpstream/spdy:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/term:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", @@ -79,6 +77,8 @@ go_test( "//vendor:github.com/google/cadvisor/info/v2", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/pkg/kubelet/server/auth.go b/pkg/kubelet/server/auth.go index 9f175fc440e..94a4d30915d 100644 --- a/pkg/kubelet/server/auth.go +++ b/pkg/kubelet/server/auth.go @@ -21,10 +21,10 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" - "k8s.io/kubernetes/pkg/types" ) // KubeletAuth implements AuthInterface diff --git a/pkg/kubelet/server/portforward/BUILD b/pkg/kubelet/server/portforward/BUILD index cf6889cffde..dea6efab18b 100644 --- a/pkg/kubelet/server/portforward/BUILD +++ b/pkg/kubelet/server/portforward/BUILD @@ -17,11 +17,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/httpstream/spdy:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/kubelet/server/portforward/portforward.go b/pkg/kubelet/server/portforward/portforward.go index c7ca790ff64..e7f6bea88fa 100644 --- a/pkg/kubelet/server/portforward/portforward.go +++ b/pkg/kubelet/server/portforward/portforward.go @@ -27,11 +27,11 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/httpstream/spdy" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" ) // PortForwarder knows how to forward content from a data stream to/from a port diff --git a/pkg/kubelet/server/remotecommand/BUILD b/pkg/kubelet/server/remotecommand/BUILD index 06b72ea07c2..bbd6baddd73 100644 --- a/pkg/kubelet/server/remotecommand/BUILD +++ b/pkg/kubelet/server/remotecommand/BUILD @@ -21,16 +21,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/httplog:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/httpstream:go_default_library", "//pkg/util/httpstream/spdy:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/term:go_default_library", "//pkg/util/wsstream:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/kubelet/server/remotecommand/attach.go b/pkg/kubelet/server/remotecommand/attach.go index 230de3ef9db..f2d6c0567f0 100644 --- a/pkg/kubelet/server/remotecommand/attach.go +++ b/pkg/kubelet/server/remotecommand/attach.go @@ -22,10 +22,10 @@ import ( "net/http" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" apierrors "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/kubelet/server/remotecommand/exec.go b/pkg/kubelet/server/remotecommand/exec.go index 9e669778673..fdf0cff0f0b 100644 --- a/pkg/kubelet/server/remotecommand/exec.go +++ b/pkg/kubelet/server/remotecommand/exec.go @@ -22,11 +22,11 @@ import ( "net/http" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" apierrors "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" utilexec "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/kubelet/server/remotecommand/httpstream.go b/pkg/kubelet/server/remotecommand/httpstream.go index b306ce5bfb8..dca3d596ee9 100644 --- a/pkg/kubelet/server/remotecommand/httpstream.go +++ b/pkg/kubelet/server/remotecommand/httpstream.go @@ -24,12 +24,12 @@ import ( "net/http" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/httpstream/spdy" - "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/term" "k8s.io/kubernetes/pkg/util/wsstream" diff --git a/pkg/kubelet/server/remotecommand/websocket.go b/pkg/kubelet/server/remotecommand/websocket.go index 4278f81dc8d..1b93c864c02 100644 --- a/pkg/kubelet/server/remotecommand/websocket.go +++ b/pkg/kubelet/server/remotecommand/websocket.go @@ -21,8 +21,8 @@ import ( "net/http" "time" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/httplog" - "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/wsstream" ) diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index 0db8a902494..0e3d757a16f 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -35,6 +35,11 @@ import ( cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/prometheus/client_golang/prometheus" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/apiserver/pkg/healthz" @@ -43,7 +48,6 @@ import ( apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/httplog" "k8s.io/kubernetes/pkg/kubelet/cm" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -51,12 +55,8 @@ import ( "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" "k8s.io/kubernetes/pkg/kubelet/server/stats" "k8s.io/kubernetes/pkg/kubelet/server/streaming" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/configz" "k8s.io/kubernetes/pkg/util/limitwriter" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/term" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/kubelet/server/server_test.go b/pkg/kubelet/server/server_test.go index 265f8029c30..792c1d660fa 100644 --- a/pkg/kubelet/server/server_test.go +++ b/pkg/kubelet/server/server_test.go @@ -38,6 +38,8 @@ import ( cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" @@ -49,10 +51,8 @@ import ( "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" "k8s.io/kubernetes/pkg/kubelet/server/stats" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/pkg/util/httpstream/spdy" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/term" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/kubelet/server/stats/BUILD b/pkg/kubelet/server/stats/BUILD index 448e9625162..4e5acb10cad 100644 --- a/pkg/kubelet/server/stats/BUILD +++ b/pkg/kubelet/server/stats/BUILD @@ -21,7 +21,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", "//pkg/kubelet/cm:go_default_library", "//pkg/kubelet/container:go_default_library", @@ -29,13 +28,14 @@ go_library( "//pkg/kubelet/network:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/golang/glog", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/google/cadvisor/info/v2", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -49,18 +49,18 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", "//pkg/kubelet/cm:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/leaky:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/google/cadvisor/info/v2", "//vendor:github.com/google/gofuzz", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/mock", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/server/stats/fs_resource_analyzer.go b/pkg/kubelet/server/stats/fs_resource_analyzer.go index 4cc5c68518f..93cd4ae58c3 100644 --- a/pkg/kubelet/server/stats/fs_resource_analyzer.go +++ b/pkg/kubelet/server/stats/fs_resource_analyzer.go @@ -21,8 +21,8 @@ import ( "sync/atomic" "time" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "github.com/golang/glog" ) diff --git a/pkg/kubelet/server/stats/handler.go b/pkg/kubelet/server/stats/handler.go index fddeaaaa8a1..43ddf2b2e08 100644 --- a/pkg/kubelet/server/stats/handler.go +++ b/pkg/kubelet/server/stats/handler.go @@ -29,10 +29,10 @@ import ( cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/emicklei/go-restful" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/cm" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/kubelet/server/stats/mocks_test.go b/pkg/kubelet/server/stats/mocks_test.go index 892dcdae99c..4c44a011a02 100644 --- a/pkg/kubelet/server/stats/mocks_test.go +++ b/pkg/kubelet/server/stats/mocks_test.go @@ -20,9 +20,9 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/stretchr/testify/mock" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/cm" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/kubelet/server/stats/summary.go b/pkg/kubelet/server/stats/summary.go index 3c313a2aff1..fe0285acdec 100644 --- a/pkg/kubelet/server/stats/summary.go +++ b/pkg/kubelet/server/stats/summary.go @@ -21,15 +21,15 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/leaky" "k8s.io/kubernetes/pkg/kubelet/network" "k8s.io/kubernetes/pkg/kubelet/types" - kubetypes "k8s.io/kubernetes/pkg/types" "github.com/golang/glog" diff --git a/pkg/kubelet/server/stats/summary_test.go b/pkg/kubelet/server/stats/summary_test.go index c0ae4a3ed52..82930a25ee1 100644 --- a/pkg/kubelet/server/stats/summary_test.go +++ b/pkg/kubelet/server/stats/summary_test.go @@ -25,8 +25,8 @@ import ( fuzz "github.com/google/gofuzz" "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubestats "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/pkg/kubelet/container" diff --git a/pkg/kubelet/server/stats/volume_stat_calculator.go b/pkg/kubelet/server/stats/volume_stat_calculator.go index ce7ab109f52..a324ae9452a 100644 --- a/pkg/kubelet/server/stats/volume_stat_calculator.go +++ b/pkg/kubelet/server/stats/volume_stat_calculator.go @@ -21,10 +21,10 @@ import ( "sync/atomic" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" "github.com/golang/glog" diff --git a/pkg/kubelet/server/streaming/BUILD b/pkg/kubelet/server/streaming/BUILD index 6c43b1d7f38..1c1cfe7784d 100644 --- a/pkg/kubelet/server/streaming/BUILD +++ b/pkg/kubelet/server/streaming/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/kubelet/api/v1alpha1/runtime:go_default_library", "//pkg/kubelet/server/portforward:go_default_library", "//pkg/kubelet/server/remotecommand:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/term:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:google.golang.org/grpc", "//vendor:google.golang.org/grpc/codes", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/server/streaming/server.go b/pkg/kubelet/server/streaming/server.go index f1d2d0fa902..4c7b3189076 100644 --- a/pkg/kubelet/server/streaming/server.go +++ b/pkg/kubelet/server/streaming/server.go @@ -27,11 +27,11 @@ import ( restful "github.com/emicklei/go-restful" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" runtimeapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime" "k8s.io/kubernetes/pkg/kubelet/server/portforward" "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/term" ) diff --git a/pkg/kubelet/status/BUILD b/pkg/kubelet/status/BUILD index 56bf5c1a9b2..32e0e94bcd0 100644 --- a/pkg/kubelet/status/BUILD +++ b/pkg/kubelet/status/BUILD @@ -20,16 +20,16 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/pod:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -45,7 +45,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", @@ -53,9 +52,10 @@ go_test( "//pkg/kubelet/pod:go_default_library", "//pkg/kubelet/pod/testing:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/kubelet/status/status_manager.go b/pkg/kubelet/status/status_manager.go index ce3052da761..8f6c28161b1 100644 --- a/pkg/kubelet/status/status_manager.go +++ b/pkg/kubelet/status/status_manager.go @@ -24,18 +24,18 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" podutil "k8s.io/kubernetes/pkg/api/v1/pod" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" kubepod "k8s.io/kubernetes/pkg/kubelet/pod" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/wait" ) // A wrapper around v1.PodStatus that includes a version to enforce that stale pod statuses are diff --git a/pkg/kubelet/status/status_manager_test.go b/pkg/kubelet/status/status_manager_test.go index 2d2352154e4..dec1e1866c8 100644 --- a/pkg/kubelet/status/status_manager_test.go +++ b/pkg/kubelet/status/status_manager_test.go @@ -23,22 +23,22 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime/schema" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime/schema" "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" kubepod "k8s.io/kubernetes/pkg/kubelet/pod" podtest "k8s.io/kubernetes/pkg/kubelet/pod/testing" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" ) // Generate new instance of test pod with the same initial value. diff --git a/pkg/kubelet/util/csr/BUILD b/pkg/kubelet/util/csr/BUILD index ed030d33927..079ef0ae166 100644 --- a/pkg/kubelet/util/csr/BUILD +++ b/pkg/kubelet/util/csr/BUILD @@ -14,12 +14,12 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/cert:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/kubelet/util/csr/csr.go b/pkg/kubelet/util/csr/csr.go index cc41bc7b2a8..dc74470e00c 100644 --- a/pkg/kubelet/util/csr/csr.go +++ b/pkg/kubelet/util/csr/csr.go @@ -20,14 +20,14 @@ import ( "crypto/x509/pkix" "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" unversionedcertificates "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/certificates/v1alpha1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/types" certutil "k8s.io/kubernetes/pkg/util/cert" - "k8s.io/kubernetes/pkg/watch" ) // RequestNodeCertificate will create a certificate signing request and send it to API server, diff --git a/pkg/kubelet/util/format/BUILD b/pkg/kubelet/util/format/BUILD index a0e61379a33..c5cdcf449c4 100644 --- a/pkg/kubelet/util/format/BUILD +++ b/pkg/kubelet/util/format/BUILD @@ -17,7 +17,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/util/format/pod.go b/pkg/kubelet/util/format/pod.go index 16092f063e2..da20d42e8f2 100644 --- a/pkg/kubelet/util/format/pod.go +++ b/pkg/kubelet/util/format/pod.go @@ -21,8 +21,8 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) type podHandler func(*v1.Pod) string diff --git a/pkg/kubelet/util/queue/BUILD b/pkg/kubelet/util/queue/BUILD index 05ed7e42ac4..ccd99be1d77 100644 --- a/pkg/kubelet/util/queue/BUILD +++ b/pkg/kubelet/util/queue/BUILD @@ -13,8 +13,8 @@ go_library( srcs = ["work_queue.go"], tags = ["automanaged"], deps = [ - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -24,9 +24,9 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/types:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/util/queue/work_queue.go b/pkg/kubelet/util/queue/work_queue.go index 5ac45c3f2a3..29fa7c84f74 100644 --- a/pkg/kubelet/util/queue/work_queue.go +++ b/pkg/kubelet/util/queue/work_queue.go @@ -20,7 +20,7 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/util/clock" ) diff --git a/pkg/kubelet/util/queue/work_queue_test.go b/pkg/kubelet/util/queue/work_queue_test.go index e0893409dda..6ce50f36c14 100644 --- a/pkg/kubelet/util/queue/work_queue_test.go +++ b/pkg/kubelet/util/queue/work_queue_test.go @@ -20,9 +20,9 @@ import ( "testing" "time" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" ) func newTestBasicWorkQueue() (*basicWorkQueue, *clock.FakeClock) { diff --git a/pkg/kubelet/volume_host.go b/pkg/kubelet/volume_host.go index c7795fd1e6c..d3dd511cd19 100644 --- a/pkg/kubelet/volume_host.go +++ b/pkg/kubelet/volume_host.go @@ -20,10 +20,10 @@ import ( "fmt" "net" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/kubelet/volumemanager/BUILD b/pkg/kubelet/volumemanager/BUILD index 9abdcb6b1d3..91cd8ab59e2 100644 --- a/pkg/kubelet/volumemanager/BUILD +++ b/pkg/kubelet/volumemanager/BUILD @@ -23,16 +23,16 @@ go_library( "//pkg/kubelet/volumemanager/cache:go_default_library", "//pkg/kubelet/volumemanager/populator:go_default_library", "//pkg/kubelet/volumemanager/reconciler:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -51,12 +51,12 @@ go_test( "//pkg/kubelet/pod:go_default_library", "//pkg/kubelet/pod/testing:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/kubelet/volumemanager/cache/BUILD b/pkg/kubelet/volumemanager/cache/BUILD index 126660981df..af37477db19 100644 --- a/pkg/kubelet/volumemanager/cache/BUILD +++ b/pkg/kubelet/volumemanager/cache/BUILD @@ -17,12 +17,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubelet/volumemanager/cache/actual_state_of_world.go b/pkg/kubelet/volumemanager/cache/actual_state_of_world.go index 49b91de47dd..afc968dd478 100644 --- a/pkg/kubelet/volumemanager/cache/actual_state_of_world.go +++ b/pkg/kubelet/volumemanager/cache/actual_state_of_world.go @@ -26,8 +26,8 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" volumetypes "k8s.io/kubernetes/pkg/volume/util/types" diff --git a/pkg/kubelet/volumemanager/populator/BUILD b/pkg/kubelet/volumemanager/populator/BUILD index 5a23c418445..ec4f55b9384 100644 --- a/pkg/kubelet/volumemanager/populator/BUILD +++ b/pkg/kubelet/volumemanager/populator/BUILD @@ -14,18 +14,18 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/pod:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//pkg/kubelet/volumemanager/cache:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go b/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go index d583053e886..315893f0d4e 100644 --- a/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go +++ b/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go @@ -27,16 +27,16 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/pod" "k8s.io/kubernetes/pkg/kubelet/util/format" "k8s.io/kubernetes/pkg/kubelet/volumemanager/cache" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" volumetypes "k8s.io/kubernetes/pkg/volume/util/types" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/pkg/kubelet/volumemanager/reconciler/BUILD b/pkg/kubelet/volumemanager/reconciler/BUILD index f27ecebc88f..a55bc05cb8e 100644 --- a/pkg/kubelet/volumemanager/reconciler/BUILD +++ b/pkg/kubelet/volumemanager/reconciler/BUILD @@ -15,22 +15,22 @@ go_library( deps = [ "//cmd/kubelet/app/options:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet/config:go_default_library", "//pkg/kubelet/volumemanager/cache:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/goroutinemap/exponentialbackoff:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/nestedpendingoperations:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -46,16 +46,16 @@ go_test( "//pkg/client/testing/core:go_default_library", "//pkg/kubelet/config:go_default_library", "//pkg/kubelet/volumemanager/cache:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util/operationexecutor:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/kubelet/volumemanager/reconciler/reconciler.go b/pkg/kubelet/volumemanager/reconciler/reconciler.go index ac7d58558e2..721aea95aa4 100644 --- a/pkg/kubelet/volumemanager/reconciler/reconciler.go +++ b/pkg/kubelet/volumemanager/reconciler/reconciler.go @@ -26,18 +26,18 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/cmd/kubelet/app/options" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/kubelet/config" "k8s.io/kubernetes/pkg/kubelet/volumemanager/cache" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" - "k8s.io/kubernetes/pkg/util/wait" volumepkg "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/nestedpendingoperations" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" diff --git a/pkg/kubelet/volumemanager/reconciler/reconciler_test.go b/pkg/kubelet/volumemanager/reconciler/reconciler_test.go index 82e71733937..10bad01969b 100644 --- a/pkg/kubelet/volumemanager/reconciler/reconciler_test.go +++ b/pkg/kubelet/volumemanager/reconciler/reconciler_test.go @@ -22,17 +22,17 @@ import ( "time" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/runtime" + k8stypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/kubelet/config" "k8s.io/kubernetes/pkg/kubelet/volumemanager/cache" - "k8s.io/kubernetes/pkg/runtime" - k8stypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" volumetesting "k8s.io/kubernetes/pkg/volume/testing" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" diff --git a/pkg/kubelet/volumemanager/volume_manager.go b/pkg/kubelet/volumemanager/volume_manager.go index 7b3c0167b61..2c19f6709f8 100644 --- a/pkg/kubelet/volumemanager/volume_manager.go +++ b/pkg/kubelet/volumemanager/volume_manager.go @@ -22,6 +22,10 @@ import ( "time" "github.com/golang/glog" + k8stypes "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" @@ -33,11 +37,7 @@ import ( "k8s.io/kubernetes/pkg/kubelet/volumemanager/cache" "k8s.io/kubernetes/pkg/kubelet/volumemanager/populator" "k8s.io/kubernetes/pkg/kubelet/volumemanager/reconciler" - k8stypes "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" "k8s.io/kubernetes/pkg/volume/util/types" diff --git a/pkg/kubelet/volumemanager/volume_manager_test.go b/pkg/kubelet/volumemanager/volume_manager_test.go index fe58d706e16..b002dec9c62 100644 --- a/pkg/kubelet/volumemanager/volume_manager_test.go +++ b/pkg/kubelet/volumemanager/volume_manager_test.go @@ -23,6 +23,7 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" @@ -33,7 +34,6 @@ import ( kubepod "k8s.io/kubernetes/pkg/kubelet/pod" podtest "k8s.io/kubernetes/pkg/kubelet/pod/testing" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/sets" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" diff --git a/pkg/kubemark/BUILD b/pkg/kubemark/BUILD index d66aaaccbdb..23ce209e5d4 100644 --- a/pkg/kubemark/BUILD +++ b/pkg/kubemark/BUILD @@ -32,7 +32,6 @@ go_library( "//pkg/kubelet/dockertools:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/proxy/config:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/iptables:go_default_library", @@ -42,6 +41,7 @@ go_library( "//pkg/volume/secret:go_default_library", "//test/utils:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/kubemark/hollow_proxy.go b/pkg/kubemark/hollow_proxy.go index 6b7408b4b94..65481412d89 100644 --- a/pkg/kubemark/hollow_proxy.go +++ b/pkg/kubemark/hollow_proxy.go @@ -19,6 +19,7 @@ package kubemark import ( "time" + "k8s.io/apimachinery/pkg/types" proxyapp "k8s.io/kubernetes/cmd/kube-proxy/app" "k8s.io/kubernetes/cmd/kube-proxy/app/options" "k8s.io/kubernetes/pkg/api" @@ -26,7 +27,6 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/record" proxyconfig "k8s.io/kubernetes/pkg/proxy/config" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util" utiliptables "k8s.io/kubernetes/pkg/util/iptables" diff --git a/pkg/labels/.readonly b/pkg/labels/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/master/BUILD b/pkg/master/BUILD index 5cbf20503a3..9a051caccef 100644 --- a/pkg/master/BUILD +++ b/pkg/master/BUILD @@ -25,7 +25,6 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/install:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/install:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/authentication/install:go_default_library", @@ -42,7 +41,6 @@ go_library( "//pkg/apis/extensions/install:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/imagepolicy/install:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/install:go_default_library", "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/apis/rbac/install:go_default_library", @@ -72,15 +70,17 @@ go_library( "//pkg/registry/rbac/rest:go_default_library", "//pkg/registry/storage/rest:go_default_library", "//pkg/routes:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/async:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/node:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/healthz", ], ) @@ -99,7 +99,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/autoscaling:go_default_library", @@ -110,7 +109,6 @@ go_test( "//pkg/apis/certificates:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", @@ -120,18 +118,20 @@ go_test( "//pkg/genericapiserver:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/kubelet/client:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/go-openapi/loads", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/go-openapi/strfmt", "//vendor:github.com/go-openapi/validate", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/master/controller.go b/pkg/master/controller.go index b9d9421c0f3..583b5f07034 100644 --- a/pkg/master/controller.go +++ b/pkg/master/controller.go @@ -22,10 +22,13 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/endpoints" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/genericapiserver" "k8s.io/kubernetes/pkg/registry/core/rangeallocation" @@ -34,9 +37,6 @@ import ( portallocatorcontroller "k8s.io/kubernetes/pkg/registry/core/service/portallocator/controller" "k8s.io/kubernetes/pkg/util/async" "k8s.io/kubernetes/pkg/util/intstr" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) const kubernetesServiceName = "kubernetes" diff --git a/pkg/master/import_known_versions.go b/pkg/master/import_known_versions.go index e64a5fafab7..bbc93275fbe 100644 --- a/pkg/master/import_known_versions.go +++ b/pkg/master/import_known_versions.go @@ -20,8 +20,8 @@ package master import ( "fmt" + "k8s.io/apimachinery/pkg/apimachinery/registered" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/apimachinery/registered" _ "k8s.io/kubernetes/pkg/apis/apps/install" _ "k8s.io/kubernetes/pkg/apis/authentication/install" _ "k8s.io/kubernetes/pkg/apis/authorization/install" diff --git a/pkg/master/import_known_versions_test.go b/pkg/master/import_known_versions_test.go index 592b35ffdfe..660da9253e0 100644 --- a/pkg/master/import_known_versions_test.go +++ b/pkg/master/import_known_versions_test.go @@ -22,14 +22,14 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" ) func TestGroupVersions(t *testing.T) { diff --git a/pkg/master/master.go b/pkg/master/master.go index c2323635505..e4c7a73baab 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -24,6 +24,8 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/cmd/kube-apiserver/app/options" "k8s.io/kubernetes/pkg/api" @@ -46,8 +48,6 @@ import ( "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/routes" - "k8s.io/kubernetes/pkg/runtime/schema" - utilnet "k8s.io/kubernetes/pkg/util/net" nodeutil "k8s.io/kubernetes/pkg/util/node" "github.com/golang/glog" diff --git a/pkg/master/master_test.go b/pkg/master/master_test.go index 404afa16c87..1b3502e3ef5 100644 --- a/pkg/master/master_test.go +++ b/pkg/master/master_test.go @@ -26,10 +26,15 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/apps" appsapiv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" "k8s.io/kubernetes/pkg/apis/autoscaling" @@ -40,18 +45,13 @@ import ( "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/extensions" extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/genericapiserver" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/version" "github.com/stretchr/testify/assert" diff --git a/pkg/master/thirdparty/BUILD b/pkg/master/thirdparty/BUILD index bc262218069..3bfe443b274 100644 --- a/pkg/master/thirdparty/BUILD +++ b/pkg/master/thirdparty/BUILD @@ -13,11 +13,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver:go_default_library", "//pkg/genericapiserver/api:go_default_library", "//pkg/genericapiserver/api/handlers:go_default_library", @@ -26,10 +23,13 @@ go_library( "//pkg/registry/extensions/thirdpartyresourcedata:go_default_library", "//pkg/registry/extensions/thirdpartyresourcedata/etcd:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/master/thirdparty/thirdparty.go b/pkg/master/thirdparty/thirdparty.go index 51810218476..3c91034b9c9 100644 --- a/pkg/master/thirdparty/thirdparty.go +++ b/pkg/master/thirdparty/thirdparty.go @@ -23,12 +23,14 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/genericapiserver" genericapi "k8s.io/kubernetes/pkg/genericapiserver/api" genericapihandlers "k8s.io/kubernetes/pkg/genericapiserver/api/handlers" @@ -37,8 +39,6 @@ import ( "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" thirdpartyresourcedataetcd "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" ) diff --git a/pkg/probe/http/BUILD b/pkg/probe/http/BUILD index 72b29f7be4b..505e62c23cb 100644 --- a/pkg/probe/http/BUILD +++ b/pkg/probe/http/BUILD @@ -14,8 +14,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/probe:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/probe/http/http.go b/pkg/probe/http/http.go index 50659556a02..13e85d1ff14 100644 --- a/pkg/probe/http/http.go +++ b/pkg/probe/http/http.go @@ -24,8 +24,8 @@ import ( "net/url" "time" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/probe" - utilnet "k8s.io/kubernetes/pkg/util/net" "github.com/golang/glog" ) diff --git a/pkg/proxy/BUILD b/pkg/proxy/BUILD index afb228ad836..2c366011efa 100644 --- a/pkg/proxy/BUILD +++ b/pkg/proxy/BUILD @@ -16,7 +16,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/proxy/config/BUILD b/pkg/proxy/config/BUILD index f68efa2a98b..1760c8bf835 100644 --- a/pkg/proxy/config/BUILD +++ b/pkg/proxy/config/BUILD @@ -20,10 +20,10 @@ go_library( "//pkg/api:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/fields:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/config:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -36,8 +36,8 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -48,7 +48,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/proxy/config:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/proxy/config/api_test.go b/pkg/proxy/config/api_test.go index 8e0b1016a4f..34f81a36c9c 100644 --- a/pkg/proxy/config/api_test.go +++ b/pkg/proxy/config/api_test.go @@ -20,11 +20,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) type fakeLW struct { diff --git a/pkg/proxy/config/config.go b/pkg/proxy/config/config.go index 1ab5e3d6633..85c6adadd44 100644 --- a/pkg/proxy/config/config.go +++ b/pkg/proxy/config/config.go @@ -21,8 +21,8 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/config" ) diff --git a/pkg/proxy/config/config_test.go b/pkg/proxy/config/config_test.go index e4bdfd4b6f7..e2e544a26e3 100644 --- a/pkg/proxy/config/config_test.go +++ b/pkg/proxy/config/config_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" . "k8s.io/kubernetes/pkg/proxy/config" - "k8s.io/kubernetes/pkg/util/wait" ) const TomcatPort int = 8080 diff --git a/pkg/proxy/healthcheck/BUILD b/pkg/proxy/healthcheck/BUILD index 9f7b3555dfc..c6f92f0410d 100644 --- a/pkg/proxy/healthcheck/BUILD +++ b/pkg/proxy/healthcheck/BUILD @@ -21,10 +21,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/client/cache:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -34,8 +34,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/types:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/proxy/healthcheck/api.go b/pkg/proxy/healthcheck/api.go index 200ea25f9d6..91aa3bd7255 100644 --- a/pkg/proxy/healthcheck/api.go +++ b/pkg/proxy/healthcheck/api.go @@ -17,9 +17,9 @@ limitations under the License. package healthcheck import ( - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" ) // All public API Methods for this package diff --git a/pkg/proxy/healthcheck/healthcheck.go b/pkg/proxy/healthcheck/healthcheck.go index 47313c5dca7..5aebcf6fd2f 100644 --- a/pkg/proxy/healthcheck/healthcheck.go +++ b/pkg/proxy/healthcheck/healthcheck.go @@ -22,9 +22,9 @@ import ( "net/http" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" ) // proxyMutationRequest: Message to request addition/deletion of endpoints for a service diff --git a/pkg/proxy/healthcheck/healthcheck_test.go b/pkg/proxy/healthcheck/healthcheck_test.go index 6ee018a7b00..72615589799 100644 --- a/pkg/proxy/healthcheck/healthcheck_test.go +++ b/pkg/proxy/healthcheck/healthcheck_test.go @@ -24,8 +24,8 @@ import ( "testing" "time" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" ) type TestCaseData struct { diff --git a/pkg/proxy/iptables/BUILD b/pkg/proxy/iptables/BUILD index a6bb5b88aa8..c964a07c18a 100644 --- a/pkg/proxy/iptables/BUILD +++ b/pkg/proxy/iptables/BUILD @@ -19,17 +19,17 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/proxy:go_default_library", "//pkg/proxy/healthcheck:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/iptables:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/slice:go_default_library", "//pkg/util/sysctl:go_default_library", "//pkg/util/version:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -41,10 +41,10 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/proxy:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/iptables:go_default_library", "//pkg/util/iptables/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/proxy/iptables/proxier.go b/pkg/proxy/iptables/proxier.go index 558b1cd4471..6996c6729c5 100644 --- a/pkg/proxy/iptables/proxier.go +++ b/pkg/proxy/iptables/proxier.go @@ -34,18 +34,18 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy/healthcheck" - "k8s.io/kubernetes/pkg/types" featuregate "k8s.io/kubernetes/pkg/util/config" utilexec "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/flowcontrol" utiliptables "k8s.io/kubernetes/pkg/util/iptables" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/slice" utilsysctl "k8s.io/kubernetes/pkg/util/sysctl" utilversion "k8s.io/kubernetes/pkg/util/version" diff --git a/pkg/proxy/iptables/proxier_test.go b/pkg/proxy/iptables/proxier_test.go index f742bc3a5c9..bf0e39bf063 100644 --- a/pkg/proxy/iptables/proxier_test.go +++ b/pkg/proxy/iptables/proxier_test.go @@ -23,9 +23,9 @@ import ( "net" "strings" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" utiliptables "k8s.io/kubernetes/pkg/util/iptables" iptablestest "k8s.io/kubernetes/pkg/util/iptables/testing" diff --git a/pkg/proxy/types.go b/pkg/proxy/types.go index 4d2ead275e2..d9ff569cbb7 100644 --- a/pkg/proxy/types.go +++ b/pkg/proxy/types.go @@ -19,8 +19,8 @@ package proxy import ( "fmt" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/types" ) // ProxyProvider is the interface provided by proxier implementations. diff --git a/pkg/proxy/userspace/BUILD b/pkg/proxy/userspace/BUILD index 3faed2754c0..b3b331aa47d 100644 --- a/pkg/proxy/userspace/BUILD +++ b/pkg/proxy/userspace/BUILD @@ -23,14 +23,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/proxy:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/iptables:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/slice:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -46,10 +46,10 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/proxy:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/iptables/testing:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/proxy/userspace/port_allocator.go b/pkg/proxy/userspace/port_allocator.go index 9e74b0eb366..51c10cc719e 100644 --- a/pkg/proxy/userspace/port_allocator.go +++ b/pkg/proxy/userspace/port_allocator.go @@ -23,8 +23,8 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/wait" ) var ( diff --git a/pkg/proxy/userspace/port_allocator_test.go b/pkg/proxy/userspace/port_allocator_test.go index e5af16a95b3..f669bb4112a 100644 --- a/pkg/proxy/userspace/port_allocator_test.go +++ b/pkg/proxy/userspace/port_allocator_test.go @@ -20,7 +20,7 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/util/net" + "k8s.io/apimachinery/pkg/util/net" ) func TestRangeAllocatorEmpty(t *testing.T) { diff --git a/pkg/proxy/userspace/proxier.go b/pkg/proxy/userspace/proxier.go index 25564063af4..0e487d5da5b 100644 --- a/pkg/proxy/userspace/proxier.go +++ b/pkg/proxy/userspace/proxier.go @@ -26,14 +26,14 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" - utilnet "k8s.io/kubernetes/pkg/util/net" - utilerrors "k8s.io/kubernetes/pkg/util/errors" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/iptables" - "k8s.io/kubernetes/pkg/util/runtime" ) type portal struct { diff --git a/pkg/proxy/userspace/proxier_test.go b/pkg/proxy/userspace/proxier_test.go index c2bc2b0a669..71483d24c87 100644 --- a/pkg/proxy/userspace/proxier_test.go +++ b/pkg/proxy/userspace/proxier_test.go @@ -29,11 +29,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" ipttest "k8s.io/kubernetes/pkg/util/iptables/testing" - "k8s.io/kubernetes/pkg/util/runtime" ) const ( diff --git a/pkg/proxy/userspace/proxysocket.go b/pkg/proxy/userspace/proxysocket.go index e690efbae59..2bc346faa39 100644 --- a/pkg/proxy/userspace/proxysocket.go +++ b/pkg/proxy/userspace/proxysocket.go @@ -26,9 +26,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/util/runtime" ) // Abstraction over TCP/UDP sockets which are proxied. diff --git a/pkg/proxy/userspace/roundrobin.go b/pkg/proxy/userspace/roundrobin.go index 12aa44615ad..3d52445837e 100644 --- a/pkg/proxy/userspace/roundrobin.go +++ b/pkg/proxy/userspace/roundrobin.go @@ -26,9 +26,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/slice" ) diff --git a/pkg/proxy/userspace/roundrobin_test.go b/pkg/proxy/userspace/roundrobin_test.go index db769cb0564..19f32f0d31f 100644 --- a/pkg/proxy/userspace/roundrobin_test.go +++ b/pkg/proxy/userspace/roundrobin_test.go @@ -20,9 +20,9 @@ import ( "net" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" ) func TestValidateWorks(t *testing.T) { diff --git a/pkg/proxy/winuserspace/BUILD b/pkg/proxy/winuserspace/BUILD index 21526052bff..2aed90e7a03 100644 --- a/pkg/proxy/winuserspace/BUILD +++ b/pkg/proxy/winuserspace/BUILD @@ -22,14 +22,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/proxy:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/netsh:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/slice:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -45,10 +45,10 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/proxy:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/netsh/testing:go_default_library", - "//pkg/util/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/proxy/winuserspace/port_allocator.go b/pkg/proxy/winuserspace/port_allocator.go index c8539b08c72..65ad777504b 100644 --- a/pkg/proxy/winuserspace/port_allocator.go +++ b/pkg/proxy/winuserspace/port_allocator.go @@ -23,8 +23,8 @@ import ( "sync" "time" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/wait" ) var ( diff --git a/pkg/proxy/winuserspace/port_allocator_test.go b/pkg/proxy/winuserspace/port_allocator_test.go index 35096058e04..20887461746 100644 --- a/pkg/proxy/winuserspace/port_allocator_test.go +++ b/pkg/proxy/winuserspace/port_allocator_test.go @@ -20,7 +20,7 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/util/net" + "k8s.io/apimachinery/pkg/util/net" ) func TestRangeAllocatorEmpty(t *testing.T) { diff --git a/pkg/proxy/winuserspace/proxier.go b/pkg/proxy/winuserspace/proxier.go index 88de43b1209..c9d61e70d3b 100644 --- a/pkg/proxy/winuserspace/proxier.go +++ b/pkg/proxy/winuserspace/proxier.go @@ -27,13 +27,13 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/netsh" - "k8s.io/kubernetes/pkg/util/runtime" ) type portal struct { diff --git a/pkg/proxy/winuserspace/proxier_test.go b/pkg/proxy/winuserspace/proxier_test.go index e0b3a80d522..fdedeeb5b10 100644 --- a/pkg/proxy/winuserspace/proxier_test.go +++ b/pkg/proxy/winuserspace/proxier_test.go @@ -29,11 +29,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" netshtest "k8s.io/kubernetes/pkg/util/netsh/testing" - "k8s.io/kubernetes/pkg/util/runtime" ) const ( diff --git a/pkg/proxy/winuserspace/proxysocket.go b/pkg/proxy/winuserspace/proxysocket.go index fcb5fd02873..dbe0fb0a7a6 100644 --- a/pkg/proxy/winuserspace/proxysocket.go +++ b/pkg/proxy/winuserspace/proxysocket.go @@ -26,9 +26,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/util/runtime" ) // Abstraction over TCP/UDP sockets which are proxied. diff --git a/pkg/proxy/winuserspace/roundrobin.go b/pkg/proxy/winuserspace/roundrobin.go index 7b02d0f1fce..df2e5bc3bec 100644 --- a/pkg/proxy/winuserspace/roundrobin.go +++ b/pkg/proxy/winuserspace/roundrobin.go @@ -26,9 +26,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/slice" ) diff --git a/pkg/proxy/winuserspace/roundrobin_test.go b/pkg/proxy/winuserspace/roundrobin_test.go index 79d00904108..ea869985586 100644 --- a/pkg/proxy/winuserspace/roundrobin_test.go +++ b/pkg/proxy/winuserspace/roundrobin_test.go @@ -20,9 +20,9 @@ import ( "net" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/proxy" - "k8s.io/kubernetes/pkg/types" ) func TestValidateWorks(t *testing.T) { diff --git a/pkg/quota/BUILD b/pkg/quota/BUILD index fa7a6e0b135..fead5cf2bd2 100644 --- a/pkg/quota/BUILD +++ b/pkg/quota/BUILD @@ -20,9 +20,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/quota/evaluator/core/BUILD b/pkg/quota/evaluator/core/BUILD index e4cff74f0b5..8ae1e95eb55 100644 --- a/pkg/quota/evaluator/core/BUILD +++ b/pkg/quota/evaluator/core/BUILD @@ -34,10 +34,10 @@ go_library( "//pkg/kubelet/qos:go_default_library", "//pkg/quota:go_default_library", "//pkg/quota/generic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -53,10 +53,10 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/quota:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/quota/evaluator/core/configmap.go b/pkg/quota/evaluator/core/configmap.go index 4e0007193fb..32fef2e2f51 100644 --- a/pkg/quota/evaluator/core/configmap.go +++ b/pkg/quota/evaluator/core/configmap.go @@ -17,12 +17,12 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" ) // NewConfigMapEvaluator returns an evaluator that can evaluate configMaps diff --git a/pkg/quota/evaluator/core/persistent_volume_claims.go b/pkg/quota/evaluator/core/persistent_volume_claims.go index e7c3950c8c2..d6037011750 100644 --- a/pkg/quota/evaluator/core/persistent_volume_claims.go +++ b/pkg/quota/evaluator/core/persistent_volume_claims.go @@ -20,6 +20,9 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" @@ -29,9 +32,6 @@ import ( "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) // pvcResources are the set of static resources managed by quota associated with pvcs. diff --git a/pkg/quota/evaluator/core/persistent_volume_claims_test.go b/pkg/quota/evaluator/core/persistent_volume_claims_test.go index 12a26117c4d..6744fe344ba 100644 --- a/pkg/quota/evaluator/core/persistent_volume_claims_test.go +++ b/pkg/quota/evaluator/core/persistent_volume_claims_test.go @@ -19,9 +19,9 @@ package core import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/quota" diff --git a/pkg/quota/evaluator/core/pods.go b/pkg/quota/evaluator/core/pods.go index 884a7f03f2d..35e36bc789e 100644 --- a/pkg/quota/evaluator/core/pods.go +++ b/pkg/quota/evaluator/core/pods.go @@ -20,6 +20,10 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" @@ -30,10 +34,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation/field" ) // podResources are the set of resources managed by quota associated with pods. diff --git a/pkg/quota/evaluator/core/registry.go b/pkg/quota/evaluator/core/registry.go index eb74f1ea64d..7943b217306 100644 --- a/pkg/quota/evaluator/core/registry.go +++ b/pkg/quota/evaluator/core/registry.go @@ -17,11 +17,11 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/runtime/schema" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime/schema" ) // NewRegistry returns a registry that knows how to deal with core kubernetes resources diff --git a/pkg/quota/evaluator/core/replication_controllers.go b/pkg/quota/evaluator/core/replication_controllers.go index de2768e4bd9..6ee77d165db 100644 --- a/pkg/quota/evaluator/core/replication_controllers.go +++ b/pkg/quota/evaluator/core/replication_controllers.go @@ -17,12 +17,12 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" ) // NewReplicationControllerEvaluator returns an evaluator that can evaluate replication controllers diff --git a/pkg/quota/evaluator/core/resource_quotas.go b/pkg/quota/evaluator/core/resource_quotas.go index d020738da86..2c272ec6d77 100644 --- a/pkg/quota/evaluator/core/resource_quotas.go +++ b/pkg/quota/evaluator/core/resource_quotas.go @@ -17,12 +17,12 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" ) // NewResourceQuotaEvaluator returns an evaluator that can evaluate resource quotas diff --git a/pkg/quota/evaluator/core/secrets.go b/pkg/quota/evaluator/core/secrets.go index aa7732629de..d110032eafb 100644 --- a/pkg/quota/evaluator/core/secrets.go +++ b/pkg/quota/evaluator/core/secrets.go @@ -17,12 +17,12 @@ limitations under the License. package core import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" ) // NewSecretEvaluator returns an evaluator that can evaluate secrets diff --git a/pkg/quota/evaluator/core/services.go b/pkg/quota/evaluator/core/services.go index 0b60897a167..fc1f564324f 100644 --- a/pkg/quota/evaluator/core/services.go +++ b/pkg/quota/evaluator/core/services.go @@ -20,6 +20,9 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" @@ -27,9 +30,6 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) // serviceResources are the set of resources managed by quota associated with services. diff --git a/pkg/quota/generic/BUILD b/pkg/quota/generic/BUILD index 2c25c444008..6c34e99accc 100644 --- a/pkg/quota/generic/BUILD +++ b/pkg/quota/generic/BUILD @@ -20,10 +20,10 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/labels:go_default_library", "//pkg/quota:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/quota/generic/evaluator.go b/pkg/quota/generic/evaluator.go index fb3f3254b5f..f12605d712b 100644 --- a/pkg/quota/generic/evaluator.go +++ b/pkg/quota/generic/evaluator.go @@ -19,15 +19,15 @@ package generic import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/quota" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // ListResourceUsingInformerFunc returns a listing function based on the shared informer factory for the specified resource. diff --git a/pkg/quota/generic/registry.go b/pkg/quota/generic/registry.go index e0757bb4a0a..5b1241dfe22 100644 --- a/pkg/quota/generic/registry.go +++ b/pkg/quota/generic/registry.go @@ -17,8 +17,8 @@ limitations under the License. package generic import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/quota" - "k8s.io/kubernetes/pkg/runtime/schema" ) // Ensure it implements the required interface diff --git a/pkg/quota/interfaces.go b/pkg/quota/interfaces.go index f023f43de54..76a19e5d5d3 100644 --- a/pkg/quota/interfaces.go +++ b/pkg/quota/interfaces.go @@ -17,10 +17,10 @@ limitations under the License. package quota import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) // UsageStatsOptions is an options structs that describes how stats should be calculated diff --git a/pkg/quota/resources.go b/pkg/quota/resources.go index ecf45b45921..dae5bc6972a 100644 --- a/pkg/quota/resources.go +++ b/pkg/quota/resources.go @@ -17,10 +17,10 @@ limitations under the License. package quota import ( + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/sets" ) // Equals returns true if the two lists are equivalent diff --git a/pkg/registry/apps/petset/BUILD b/pkg/registry/apps/petset/BUILD index d79976ce4b1..23bdc49b6d7 100644 --- a/pkg/registry/apps/petset/BUILD +++ b/pkg/registry/apps/petset/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/apps/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -37,8 +37,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/apps/petset/etcd/BUILD b/pkg/registry/apps/petset/etcd/BUILD index bd7fbb31101..b3eb17cc763 100644 --- a/pkg/registry/apps/petset/etcd/BUILD +++ b/pkg/registry/apps/petset/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/rest:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/apps/petset:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -33,13 +33,13 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/apis/apps:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/registry/apps/petset/etcd/etcd.go b/pkg/registry/apps/petset/etcd/etcd.go index 281f9e534e3..599520c13e1 100644 --- a/pkg/registry/apps/petset/etcd/etcd.go +++ b/pkg/registry/apps/petset/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" appsapi "k8s.io/kubernetes/pkg/apis/apps" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/apps/petset" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // rest implements a RESTStorage for replication controllers against etcd diff --git a/pkg/registry/apps/petset/etcd/etcd_test.go b/pkg/registry/apps/petset/etcd/etcd_test.go index 6fa958febf5..fa2d7588b98 100644 --- a/pkg/registry/apps/petset/etcd/etcd_test.go +++ b/pkg/registry/apps/petset/etcd/etcd_test.go @@ -19,13 +19,13 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/apps" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" diff --git a/pkg/registry/apps/petset/strategy.go b/pkg/registry/apps/petset/strategy.go index 7ca931e4e94..e49f76dd7d3 100644 --- a/pkg/registry/apps/petset/strategy.go +++ b/pkg/registry/apps/petset/strategy.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/apps/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // statefulSetStrategy implements verification logic for Replication StatefulSets. diff --git a/pkg/registry/apps/petset/strategy_test.go b/pkg/registry/apps/petset/strategy_test.go index ceaad02463b..3be34d673fe 100644 --- a/pkg/registry/apps/petset/strategy_test.go +++ b/pkg/registry/apps/petset/strategy_test.go @@ -19,9 +19,9 @@ package petset import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/authentication/tokenreview/BUILD b/pkg/registry/authentication/tokenreview/BUILD index 061136746d3..0c429531cb7 100644 --- a/pkg/registry/authentication/tokenreview/BUILD +++ b/pkg/registry/authentication/tokenreview/BUILD @@ -15,7 +15,7 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/apis/authentication:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator", ], ) diff --git a/pkg/registry/authentication/tokenreview/storage.go b/pkg/registry/authentication/tokenreview/storage.go index 745c4dc48d6..bc8ac1f161b 100644 --- a/pkg/registry/authentication/tokenreview/storage.go +++ b/pkg/registry/authentication/tokenreview/storage.go @@ -20,11 +20,11 @@ import ( "fmt" "net/http" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authentication/authenticator" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/apis/authentication" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/authorization/localsubjectaccessreview/BUILD b/pkg/registry/authorization/localsubjectaccessreview/BUILD index d6541dc82a1..143b1f9732a 100644 --- a/pkg/registry/authorization/localsubjectaccessreview/BUILD +++ b/pkg/registry/authorization/localsubjectaccessreview/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/apis/authorization/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/authorization/util:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) diff --git a/pkg/registry/authorization/localsubjectaccessreview/rest.go b/pkg/registry/authorization/localsubjectaccessreview/rest.go index 9125e2add48..46d98db86e4 100644 --- a/pkg/registry/authorization/localsubjectaccessreview/rest.go +++ b/pkg/registry/authorization/localsubjectaccessreview/rest.go @@ -19,13 +19,13 @@ package localsubjectaccessreview import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" kapierrors "k8s.io/kubernetes/pkg/api/errors" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" authorizationvalidation "k8s.io/kubernetes/pkg/apis/authorization/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" authorizationutil "k8s.io/kubernetes/pkg/registry/authorization/util" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/authorization/selfsubjectaccessreview/BUILD b/pkg/registry/authorization/selfsubjectaccessreview/BUILD index d6541dc82a1..143b1f9732a 100644 --- a/pkg/registry/authorization/selfsubjectaccessreview/BUILD +++ b/pkg/registry/authorization/selfsubjectaccessreview/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/apis/authorization/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/authorization/util:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) diff --git a/pkg/registry/authorization/selfsubjectaccessreview/rest.go b/pkg/registry/authorization/selfsubjectaccessreview/rest.go index e6f00b50966..589d2a1c0bd 100644 --- a/pkg/registry/authorization/selfsubjectaccessreview/rest.go +++ b/pkg/registry/authorization/selfsubjectaccessreview/rest.go @@ -19,13 +19,13 @@ package selfsubjectaccessreview import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" apierrors "k8s.io/kubernetes/pkg/api/errors" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" authorizationvalidation "k8s.io/kubernetes/pkg/apis/authorization/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" authorizationutil "k8s.io/kubernetes/pkg/registry/authorization/util" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/authorization/subjectaccessreview/BUILD b/pkg/registry/authorization/subjectaccessreview/BUILD index d6541dc82a1..143b1f9732a 100644 --- a/pkg/registry/authorization/subjectaccessreview/BUILD +++ b/pkg/registry/authorization/subjectaccessreview/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/apis/authorization/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/authorization/util:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) diff --git a/pkg/registry/authorization/subjectaccessreview/rest.go b/pkg/registry/authorization/subjectaccessreview/rest.go index bbeb1dee75b..6d49c732e10 100644 --- a/pkg/registry/authorization/subjectaccessreview/rest.go +++ b/pkg/registry/authorization/subjectaccessreview/rest.go @@ -19,13 +19,13 @@ package subjectaccessreview import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" kapierrors "k8s.io/kubernetes/pkg/api/errors" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" authorizationvalidation "k8s.io/kubernetes/pkg/apis/authorization/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" authorizationutil "k8s.io/kubernetes/pkg/registry/authorization/util" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD b/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD index 04b15f6a5e9..24df7c2e7ce 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD @@ -21,10 +21,10 @@ go_library( "//pkg/apis/autoscaling/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/BUILD b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/BUILD index cd374ecb5dc..92fe225ca66 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/BUILD +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/rest:go_default_library", "//pkg/apis/autoscaling:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/autoscaling/horizontalpodautoscaler:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -34,11 +34,11 @@ go_test( "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go index 145a9020156..0d3f9925c7a 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/autoscaling" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd_test.go b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd_test.go index 2db80d7ab79..b3fe5c7e75a 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd_test.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd_test.go @@ -22,12 +22,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" // Ensure that autoscaling/v1 package is initialized. + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" _ "k8s.io/kubernetes/pkg/apis/autoscaling/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go index c248dc7f786..6fad078e6ab 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go @@ -19,15 +19,15 @@ package horizontalpodautoscaler import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/autoscaling/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // autoscalerStrategy implements behavior for HorizontalPodAutoscalers diff --git a/pkg/registry/batch/cronjob/BUILD b/pkg/registry/batch/cronjob/BUILD index 1febe0d0de7..0da440d9338 100644 --- a/pkg/registry/batch/cronjob/BUILD +++ b/pkg/registry/batch/cronjob/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/batch/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -38,8 +38,8 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/batch/cronjob/etcd/BUILD b/pkg/registry/batch/cronjob/etcd/BUILD index cace2fa5cd4..28e1fdd8bf6 100644 --- a/pkg/registry/batch/cronjob/etcd/BUILD +++ b/pkg/registry/batch/cronjob/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/rest:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/batch/cronjob:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -35,11 +35,11 @@ go_test( "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/batch/cronjob/etcd/etcd.go b/pkg/registry/batch/cronjob/etcd/etcd.go index 6d700ffbf7b..a2c4dbef637 100644 --- a/pkg/registry/batch/cronjob/etcd/etcd.go +++ b/pkg/registry/batch/cronjob/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/batch/cronjob" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for scheduled jobs against etcd diff --git a/pkg/registry/batch/cronjob/etcd/etcd_test.go b/pkg/registry/batch/cronjob/etcd/etcd_test.go index 2f3ca7d1d2c..d7bc69cc0b3 100644 --- a/pkg/registry/batch/cronjob/etcd/etcd_test.go +++ b/pkg/registry/batch/cronjob/etcd/etcd_test.go @@ -19,15 +19,15 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/batch/cronjob/strategy.go b/pkg/registry/batch/cronjob/strategy.go index 82ee0805dbc..182774dbbb1 100644 --- a/pkg/registry/batch/cronjob/strategy.go +++ b/pkg/registry/batch/cronjob/strategy.go @@ -19,16 +19,16 @@ package cronjob import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // scheduledJobStrategy implements verification logic for Replication Controllers. diff --git a/pkg/registry/batch/cronjob/strategy_test.go b/pkg/registry/batch/cronjob/strategy_test.go index a8bd5d96c44..32eec7b5dd6 100644 --- a/pkg/registry/batch/cronjob/strategy_test.go +++ b/pkg/registry/batch/cronjob/strategy_test.go @@ -19,10 +19,10 @@ package cronjob import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/batch/job/BUILD b/pkg/registry/batch/job/BUILD index ab90e132b2c..84d321525b4 100644 --- a/pkg/registry/batch/job/BUILD +++ b/pkg/registry/batch/job/BUILD @@ -19,14 +19,14 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -40,9 +40,9 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/registry/batch/job/etcd/BUILD b/pkg/registry/batch/job/etcd/BUILD index 46fb47e1d7c..bc33c02998c 100644 --- a/pkg/registry/batch/job/etcd/BUILD +++ b/pkg/registry/batch/job/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/rest:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/batch/job:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -32,13 +32,13 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/batch:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/batch/job/etcd/etcd.go b/pkg/registry/batch/job/etcd/etcd.go index f44fe24ee7f..8849171b972 100644 --- a/pkg/registry/batch/job/etcd/etcd.go +++ b/pkg/registry/batch/job/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/batch/job" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // JobStorage includes dummy storage for Job. diff --git a/pkg/registry/batch/job/etcd/etcd_test.go b/pkg/registry/batch/job/etcd/etcd_test.go index 6b34f476e82..ebb402b7600 100644 --- a/pkg/registry/batch/job/etcd/etcd_test.go +++ b/pkg/registry/batch/job/etcd/etcd_test.go @@ -19,14 +19,14 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/batch/job/strategy.go b/pkg/registry/batch/job/strategy.go index 1a3a5fbff38..cc315c4d339 100644 --- a/pkg/registry/batch/job/strategy.go +++ b/pkg/registry/batch/job/strategy.go @@ -20,17 +20,17 @@ import ( "fmt" "strconv" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // jobStrategy implements verification logic for Replication Controllers. diff --git a/pkg/registry/batch/job/strategy_test.go b/pkg/registry/batch/job/strategy_test.go index 52e0424aa2b..cb225505688 100644 --- a/pkg/registry/batch/job/strategy_test.go +++ b/pkg/registry/batch/job/strategy_test.go @@ -20,13 +20,13 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/apis/batch" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/types" ) func newBool(a bool) *bool { diff --git a/pkg/registry/batch/rest/BUILD b/pkg/registry/batch/rest/BUILD index 9997caa610b..77d44e66345 100644 --- a/pkg/registry/batch/rest/BUILD +++ b/pkg/registry/batch/rest/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/registry/batch/cronjob/etcd:go_default_library", "//pkg/registry/batch/job/etcd:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/registry/batch/rest/storage_batch.go b/pkg/registry/batch/rest/storage_batch.go index 3b353bae588..0fbcae7027c 100644 --- a/pkg/registry/batch/rest/storage_batch.go +++ b/pkg/registry/batch/rest/storage_batch.go @@ -17,6 +17,7 @@ limitations under the License. package rest import ( + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/batch" batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1" @@ -25,7 +26,6 @@ import ( cronjobetcd "k8s.io/kubernetes/pkg/registry/batch/cronjob/etcd" jobetcd "k8s.io/kubernetes/pkg/registry/batch/job/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime/schema" ) type RESTStorageProvider struct{} diff --git a/pkg/registry/certificates/certificates/BUILD b/pkg/registry/certificates/certificates/BUILD index df1acde3071..376034c6e36 100644 --- a/pkg/registry/certificates/certificates/BUILD +++ b/pkg/registry/certificates/certificates/BUILD @@ -21,15 +21,15 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/certificates:go_default_library", "//pkg/apis/certificates/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -41,8 +41,8 @@ go_test( deps = [ "//pkg/apis/certificates:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/pkg/registry/certificates/certificates/etcd/BUILD b/pkg/registry/certificates/certificates/etcd/BUILD index d5de9141adc..9d38b531cb2 100644 --- a/pkg/registry/certificates/certificates/etcd/BUILD +++ b/pkg/registry/certificates/certificates/etcd/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/registry/certificates/certificates:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/certificates/certificates/etcd/etcd.go b/pkg/registry/certificates/certificates/etcd/etcd.go index b039308fecd..156c5f99acf 100644 --- a/pkg/registry/certificates/certificates/etcd/etcd.go +++ b/pkg/registry/certificates/certificates/etcd/etcd.go @@ -17,13 +17,13 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/certificates" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" csrregistry "k8s.io/kubernetes/pkg/registry/certificates/certificates" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for CertificateSigningRequest against etcd diff --git a/pkg/registry/certificates/certificates/registry.go b/pkg/registry/certificates/certificates/registry.go index fd254358134..de0d4acfd80 100644 --- a/pkg/registry/certificates/certificates/registry.go +++ b/pkg/registry/certificates/certificates/registry.go @@ -17,12 +17,12 @@ limitations under the License. package certificates import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/certificates" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store CSRs. diff --git a/pkg/registry/certificates/certificates/strategy.go b/pkg/registry/certificates/certificates/strategy.go index 32fc70bc1bc..fa292e2af57 100644 --- a/pkg/registry/certificates/certificates/strategy.go +++ b/pkg/registry/certificates/certificates/strategy.go @@ -19,16 +19,16 @@ package certificates import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/certificates/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // csrStrategy implements behavior for CSRs diff --git a/pkg/registry/certificates/certificates/strategy_test.go b/pkg/registry/certificates/certificates/strategy_test.go index ea5c897b50e..0c582e829b4 100644 --- a/pkg/registry/certificates/certificates/strategy_test.go +++ b/pkg/registry/certificates/certificates/strategy_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apiserver/pkg/authentication/user" certapi "k8s.io/kubernetes/pkg/apis/certificates" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" ) func TestStrategyCreate(t *testing.T) { diff --git a/pkg/registry/core/componentstatus/BUILD b/pkg/registry/core/componentstatus/BUILD index b488caa29b3..86951b1926b 100644 --- a/pkg/registry/core/componentstatus/BUILD +++ b/pkg/registry/core/componentstatus/BUILD @@ -18,12 +18,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/probe:go_default_library", "//pkg/probe/http:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/net:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) @@ -37,10 +37,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/probe:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/componentstatus/rest.go b/pkg/registry/core/componentstatus/rest.go index bc9bf674b60..0a4eea9cda1 100644 --- a/pkg/registry/core/componentstatus/rest.go +++ b/pkg/registry/core/componentstatus/rest.go @@ -20,12 +20,12 @@ import ( "fmt" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/probe" httpprober "k8s.io/kubernetes/pkg/probe/http" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/componentstatus/rest_test.go b/pkg/registry/core/componentstatus/rest_test.go index 110e7c035cf..17162c921ed 100644 --- a/pkg/registry/core/componentstatus/rest_test.go +++ b/pkg/registry/core/componentstatus/rest_test.go @@ -26,11 +26,11 @@ import ( "net/url" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/probe" - "k8s.io/kubernetes/pkg/util/diff" ) type fakeHttpProber struct { diff --git a/pkg/registry/core/componentstatus/validator.go b/pkg/registry/core/componentstatus/validator.go index 1b24153af2b..6683dc1c288 100644 --- a/pkg/registry/core/componentstatus/validator.go +++ b/pkg/registry/core/componentstatus/validator.go @@ -21,9 +21,9 @@ import ( "time" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/probe" httpprober "k8s.io/kubernetes/pkg/probe/http" - utilnet "k8s.io/kubernetes/pkg/util/net" ) const ( diff --git a/pkg/registry/core/configmap/BUILD b/pkg/registry/core/configmap/BUILD index b4e0a5d5d5a..f37f5bb8cec 100644 --- a/pkg/registry/core/configmap/BUILD +++ b/pkg/registry/core/configmap/BUILD @@ -20,15 +20,15 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -40,8 +40,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/configmap/etcd/BUILD b/pkg/registry/core/configmap/etcd/BUILD index 6ed603760bc..a8607673d58 100644 --- a/pkg/registry/core/configmap/etcd/BUILD +++ b/pkg/registry/core/configmap/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/configmap:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -29,11 +29,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/configmap/etcd/etcd.go b/pkg/registry/core/configmap/etcd/etcd.go index 1b60e52ab8c..abf2155f83b 100644 --- a/pkg/registry/core/configmap/etcd/etcd.go +++ b/pkg/registry/core/configmap/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/configmap" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ConfigMap against etcd diff --git a/pkg/registry/core/configmap/etcd/etcd_test.go b/pkg/registry/core/configmap/etcd/etcd_test.go index 9b2b1105137..ecf2bc7d06f 100644 --- a/pkg/registry/core/configmap/etcd/etcd_test.go +++ b/pkg/registry/core/configmap/etcd/etcd_test.go @@ -19,12 +19,12 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/configmap/registry.go b/pkg/registry/core/configmap/registry.go index 9796211cc57..b759056646f 100644 --- a/pkg/registry/core/configmap/registry.go +++ b/pkg/registry/core/configmap/registry.go @@ -17,11 +17,11 @@ limitations under the License. package configmap import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store ConfigMaps. diff --git a/pkg/registry/core/configmap/strategy.go b/pkg/registry/core/configmap/strategy.go index 768a03f1414..8e2bd0d3a47 100644 --- a/pkg/registry/core/configmap/strategy.go +++ b/pkg/registry/core/configmap/strategy.go @@ -19,16 +19,16 @@ package configmap import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for ConfigMap objects diff --git a/pkg/registry/core/configmap/strategy_test.go b/pkg/registry/core/configmap/strategy_test.go index 2e64884256c..73918791fed 100644 --- a/pkg/registry/core/configmap/strategy_test.go +++ b/pkg/registry/core/configmap/strategy_test.go @@ -19,9 +19,9 @@ package configmap import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/core/controller/BUILD b/pkg/registry/core/controller/BUILD index d697e5a9554..ed6642f7e7d 100644 --- a/pkg/registry/core/controller/BUILD +++ b/pkg/registry/core/controller/BUILD @@ -20,15 +20,15 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -40,8 +40,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/controller/etcd/BUILD b/pkg/registry/core/controller/etcd/BUILD index ab9bf4f9c84..9eb85bd8a7b 100644 --- a/pkg/registry/core/controller/etcd/BUILD +++ b/pkg/registry/core/controller/etcd/BUILD @@ -18,13 +18,13 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/core/controller:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -38,15 +38,15 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/apis/autoscaling:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/controller/etcd/etcd.go b/pkg/registry/core/controller/etcd/etcd.go index 65500506e6c..a1a8cc86e02 100644 --- a/pkg/registry/core/controller/etcd/etcd.go +++ b/pkg/registry/core/controller/etcd/etcd.go @@ -21,18 +21,18 @@ package etcd import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/autoscaling/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/core/controller" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // ControllerStorage includes dummy storage for Replication Controllers and for Scale subresource. diff --git a/pkg/registry/core/controller/etcd/etcd_test.go b/pkg/registry/core/controller/etcd/etcd_test.go index 2b77d864f0a..d0231dd1885 100644 --- a/pkg/registry/core/controller/etcd/etcd_test.go +++ b/pkg/registry/core/controller/etcd/etcd_test.go @@ -19,19 +19,19 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/autoscaling" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" ) const ( diff --git a/pkg/registry/core/controller/registry.go b/pkg/registry/core/controller/registry.go index 3001bf2bd9f..85b130528ed 100644 --- a/pkg/registry/core/controller/registry.go +++ b/pkg/registry/core/controller/registry.go @@ -21,11 +21,11 @@ package controller import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store ReplicationControllers. diff --git a/pkg/registry/core/controller/strategy.go b/pkg/registry/core/controller/strategy.go index 6f0c12ae658..073b9eba5f5 100644 --- a/pkg/registry/core/controller/strategy.go +++ b/pkg/registry/core/controller/strategy.go @@ -23,16 +23,16 @@ import ( "reflect" "strconv" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // rcStrategy implements verification logic for Replication Controllers. diff --git a/pkg/registry/core/controller/strategy_test.go b/pkg/registry/core/controller/strategy_test.go index d3f9d23468f..eef8b82b005 100644 --- a/pkg/registry/core/controller/strategy_test.go +++ b/pkg/registry/core/controller/strategy_test.go @@ -19,9 +19,9 @@ package controller import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/core/endpoint/BUILD b/pkg/registry/core/endpoint/BUILD index 49541835c2c..0e1c4d3d60c 100644 --- a/pkg/registry/core/endpoint/BUILD +++ b/pkg/registry/core/endpoint/BUILD @@ -21,15 +21,15 @@ go_library( "//pkg/api/endpoints:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -41,7 +41,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/endpoint/etcd/BUILD b/pkg/registry/core/endpoint/etcd/BUILD index 049b346cf29..738827bd394 100644 --- a/pkg/registry/core/endpoint/etcd/BUILD +++ b/pkg/registry/core/endpoint/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/endpoint:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -29,11 +29,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/endpoint/etcd/etcd.go b/pkg/registry/core/endpoint/etcd/etcd.go index 2d31c8feb70..42eed442cb5 100644 --- a/pkg/registry/core/endpoint/etcd/etcd.go +++ b/pkg/registry/core/endpoint/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/endpoint" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/endpoint/etcd/etcd_test.go b/pkg/registry/core/endpoint/etcd/etcd_test.go index 6ba1a1c8377..de4b57341b0 100644 --- a/pkg/registry/core/endpoint/etcd/etcd_test.go +++ b/pkg/registry/core/endpoint/etcd/etcd_test.go @@ -19,12 +19,12 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/endpoint/registry.go b/pkg/registry/core/endpoint/registry.go index 56a04623346..c5da891e03f 100644 --- a/pkg/registry/core/endpoint/registry.go +++ b/pkg/registry/core/endpoint/registry.go @@ -17,11 +17,11 @@ limitations under the License. package endpoint import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store endpoints. diff --git a/pkg/registry/core/endpoint/strategy.go b/pkg/registry/core/endpoint/strategy.go index 78f744ec5fd..7bd210be1b3 100644 --- a/pkg/registry/core/endpoint/strategy.go +++ b/pkg/registry/core/endpoint/strategy.go @@ -19,16 +19,16 @@ package endpoint import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" endptspkg "k8s.io/kubernetes/pkg/api/endpoints" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" pkgstorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // endpointsStrategy implements behavior for Endpoints diff --git a/pkg/registry/core/endpoint/strategy_test.go b/pkg/registry/core/endpoint/strategy_test.go index 689f6f4367e..c4ae41cb3ed 100644 --- a/pkg/registry/core/endpoint/strategy_test.go +++ b/pkg/registry/core/endpoint/strategy_test.go @@ -19,9 +19,9 @@ package endpoint import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/core/event/BUILD b/pkg/registry/core/event/BUILD index ebc7f71d37e..5b82789957b 100644 --- a/pkg/registry/core/event/BUILD +++ b/pkg/registry/core/event/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -36,9 +36,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/fields:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/event/etcd/BUILD b/pkg/registry/core/event/etcd/BUILD index cf5f4367205..7dacc3de891 100644 --- a/pkg/registry/core/event/etcd/BUILD +++ b/pkg/registry/core/event/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/event:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -30,8 +30,8 @@ go_test( "//pkg/api:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/event/etcd/etcd.go b/pkg/registry/core/event/etcd/etcd.go index 52164a52647..db91d756dbe 100644 --- a/pkg/registry/core/event/etcd/etcd.go +++ b/pkg/registry/core/event/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/event" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/event/etcd/etcd_test.go b/pkg/registry/core/event/etcd/etcd_test.go index 6c8c1a4d048..b1278e28b21 100644 --- a/pkg/registry/core/event/etcd/etcd_test.go +++ b/pkg/registry/core/event/etcd/etcd_test.go @@ -19,10 +19,10 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/event/strategy.go b/pkg/registry/core/event/strategy.go index ab2e21bed5b..eb5d28d1b64 100644 --- a/pkg/registry/core/event/strategy.go +++ b/pkg/registry/core/event/strategy.go @@ -19,15 +19,15 @@ package event import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) type eventStrategy struct { diff --git a/pkg/registry/core/event/strategy_test.go b/pkg/registry/core/event/strategy_test.go index 5cdd2239381..a9a2925f3dc 100644 --- a/pkg/registry/core/event/strategy_test.go +++ b/pkg/registry/core/event/strategy_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/util/diff" ) func testEvent(name string) *api.Event { diff --git a/pkg/registry/core/limitrange/BUILD b/pkg/registry/core/limitrange/BUILD index fb3963736b3..9ef80ce511a 100644 --- a/pkg/registry/core/limitrange/BUILD +++ b/pkg/registry/core/limitrange/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -36,7 +36,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/limitrange/etcd/BUILD b/pkg/registry/core/limitrange/etcd/BUILD index 67734829871..7c0bc0dd97c 100644 --- a/pkg/registry/core/limitrange/etcd/BUILD +++ b/pkg/registry/core/limitrange/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/limitrange:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -30,11 +30,11 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/limitrange/etcd/etcd.go b/pkg/registry/core/limitrange/etcd/etcd.go index 827167b272d..e17aadeab77 100644 --- a/pkg/registry/core/limitrange/etcd/etcd.go +++ b/pkg/registry/core/limitrange/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/limitrange" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/limitrange/etcd/etcd_test.go b/pkg/registry/core/limitrange/etcd/etcd_test.go index 2b9fa49e3af..c809fdc5296 100644 --- a/pkg/registry/core/limitrange/etcd/etcd_test.go +++ b/pkg/registry/core/limitrange/etcd/etcd_test.go @@ -19,13 +19,13 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/limitrange/strategy.go b/pkg/registry/core/limitrange/strategy.go index 30d8509bc86..728479fe875 100644 --- a/pkg/registry/core/limitrange/strategy.go +++ b/pkg/registry/core/limitrange/strategy.go @@ -19,15 +19,15 @@ package limitrange import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/validation/field" ) type limitrangeStrategy struct { diff --git a/pkg/registry/core/limitrange/strategy_test.go b/pkg/registry/core/limitrange/strategy_test.go index ab06d4bd9fd..72fb9025ab4 100644 --- a/pkg/registry/core/limitrange/strategy_test.go +++ b/pkg/registry/core/limitrange/strategy_test.go @@ -19,9 +19,9 @@ package limitrange import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/core/namespace/BUILD b/pkg/registry/core/namespace/BUILD index 0689712e79a..ee877c1c965 100644 --- a/pkg/registry/core/namespace/BUILD +++ b/pkg/registry/core/namespace/BUILD @@ -20,15 +20,15 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -40,9 +40,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/core/namespace/etcd/BUILD b/pkg/registry/core/namespace/etcd/BUILD index f8c988a33e8..e142428cb8a 100644 --- a/pkg/registry/core/namespace/etcd/BUILD +++ b/pkg/registry/core/namespace/etcd/BUILD @@ -17,13 +17,13 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/errors/storage:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/namespace:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -34,13 +34,13 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/registry/core/namespace/etcd/etcd.go b/pkg/registry/core/namespace/etcd/etcd.go index d643b5d7f04..a7070aa08e8 100644 --- a/pkg/registry/core/namespace/etcd/etcd.go +++ b/pkg/registry/core/namespace/etcd/etcd.go @@ -19,16 +19,16 @@ package etcd import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" storageerr "k8s.io/kubernetes/pkg/api/errors/storage" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/namespace" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/core/namespace/etcd/etcd_test.go b/pkg/registry/core/namespace/etcd/etcd_test.go index 06ed1c3c643..547d62f10d1 100644 --- a/pkg/registry/core/namespace/etcd/etcd_test.go +++ b/pkg/registry/core/namespace/etcd/etcd_test.go @@ -19,11 +19,11 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" diff --git a/pkg/registry/core/namespace/registry.go b/pkg/registry/core/namespace/registry.go index ef7092c5d0f..81df6d68606 100644 --- a/pkg/registry/core/namespace/registry.go +++ b/pkg/registry/core/namespace/registry.go @@ -17,11 +17,11 @@ limitations under the License. package namespace import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface implemented by things that know how to store Namespace objects. diff --git a/pkg/registry/core/namespace/strategy.go b/pkg/registry/core/namespace/strategy.go index 20606aa0739..e694eba28fe 100644 --- a/pkg/registry/core/namespace/strategy.go +++ b/pkg/registry/core/namespace/strategy.go @@ -19,15 +19,15 @@ package namespace import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // namespaceStrategy implements behavior for Namespaces diff --git a/pkg/registry/core/namespace/strategy_test.go b/pkg/registry/core/namespace/strategy_test.go index 01abfc239ed..314b8b1ae69 100644 --- a/pkg/registry/core/namespace/strategy_test.go +++ b/pkg/registry/core/namespace/strategy_test.go @@ -19,10 +19,10 @@ package namespace import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/core/node/BUILD b/pkg/registry/core/node/BUILD index 3d86b90c56a..8fd79ba4486 100644 --- a/pkg/registry/core/node/BUILD +++ b/pkg/registry/core/node/BUILD @@ -21,18 +21,18 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/kubelet/client:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -44,9 +44,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/registry/core/node/etcd/BUILD b/pkg/registry/core/node/etcd/BUILD index 95707206479..329a2162c95 100644 --- a/pkg/registry/core/node/etcd/BUILD +++ b/pkg/registry/core/node/etcd/BUILD @@ -16,14 +16,14 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/registry/core/node:go_default_library", "//pkg/registry/core/node/rest:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -37,11 +37,11 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/fields:go_default_library", "//pkg/kubelet/client:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/node/etcd/etcd.go b/pkg/registry/core/node/etcd/etcd.go index d97fdcb31e4..e5e18049667 100644 --- a/pkg/registry/core/node/etcd/etcd.go +++ b/pkg/registry/core/node/etcd/etcd.go @@ -21,17 +21,17 @@ import ( "net/http" "net/url" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/registry/core/node" noderest "k8s.io/kubernetes/pkg/registry/core/node/rest" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // NodeStorage includes storage for nodes and all sub resources diff --git a/pkg/registry/core/node/etcd/etcd_test.go b/pkg/registry/core/node/etcd/etcd_test.go index d6bf019fcb7..5a190023fca 100644 --- a/pkg/registry/core/node/etcd/etcd_test.go +++ b/pkg/registry/core/node/etcd/etcd_test.go @@ -19,14 +19,14 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/fields" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/node/registry.go b/pkg/registry/core/node/registry.go index 0a7d7ca2cbb..07b385b4d83 100644 --- a/pkg/registry/core/node/registry.go +++ b/pkg/registry/core/node/registry.go @@ -17,11 +17,11 @@ limitations under the License. package node import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store node. diff --git a/pkg/registry/core/node/rest/BUILD b/pkg/registry/core/node/rest/BUILD index 388ef07f20c..d7780d439df 100644 --- a/pkg/registry/core/node/rest/BUILD +++ b/pkg/registry/core/node/rest/BUILD @@ -20,7 +20,7 @@ go_library( "//pkg/registry/core/node:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/generic/rest:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/node/rest/proxy.go b/pkg/registry/core/node/rest/proxy.go index fea558585d8..0e239288889 100644 --- a/pkg/registry/core/node/rest/proxy.go +++ b/pkg/registry/core/node/rest/proxy.go @@ -22,6 +22,7 @@ import ( "net/url" "path" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/capabilities" @@ -30,7 +31,6 @@ import ( "k8s.io/kubernetes/pkg/registry/core/node" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" - "k8s.io/kubernetes/pkg/runtime" ) // ProxyREST implements the proxy subresource for a Node diff --git a/pkg/registry/core/node/strategy.go b/pkg/registry/core/node/strategy.go index 33a83ea0c4e..87de881775d 100644 --- a/pkg/registry/core/node/strategy.go +++ b/pkg/registry/core/node/strategy.go @@ -22,20 +22,20 @@ import ( "net/http" "net/url" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/kubelet/client" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" pkgstorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/types" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/validation/field" ) // nodeStrategy implements behavior for nodes diff --git a/pkg/registry/core/node/strategy_test.go b/pkg/registry/core/node/strategy_test.go index 2ac1d4e4f47..545500bca91 100644 --- a/pkg/registry/core/node/strategy_test.go +++ b/pkg/registry/core/node/strategy_test.go @@ -19,11 +19,11 @@ package node import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" ) func TestMatchNode(t *testing.T) { diff --git a/pkg/registry/core/persistentvolume/BUILD b/pkg/registry/core/persistentvolume/BUILD index 077a54d6350..b201d2b9f63 100644 --- a/pkg/registry/core/persistentvolume/BUILD +++ b/pkg/registry/core/persistentvolume/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -36,7 +36,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/persistentvolume/etcd/BUILD b/pkg/registry/core/persistentvolume/etcd/BUILD index f90c762e0ea..0c3e919f15f 100644 --- a/pkg/registry/core/persistentvolume/etcd/BUILD +++ b/pkg/registry/core/persistentvolume/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/persistentvolume:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -33,15 +33,15 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/persistentvolume/etcd/etcd.go b/pkg/registry/core/persistentvolume/etcd/etcd.go index 9ce1109689a..eb80583f432 100644 --- a/pkg/registry/core/persistentvolume/etcd/etcd.go +++ b/pkg/registry/core/persistentvolume/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/persistentvolume" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/persistentvolume/etcd/etcd_test.go b/pkg/registry/core/persistentvolume/etcd/etcd_test.go index dae234ad684..349ee210c4c 100644 --- a/pkg/registry/core/persistentvolume/etcd/etcd_test.go +++ b/pkg/registry/core/persistentvolume/etcd/etcd_test.go @@ -19,18 +19,18 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" ) func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer) { diff --git a/pkg/registry/core/persistentvolume/strategy.go b/pkg/registry/core/persistentvolume/strategy.go index 20f1ad47db7..98e7dd3faf1 100644 --- a/pkg/registry/core/persistentvolume/strategy.go +++ b/pkg/registry/core/persistentvolume/strategy.go @@ -19,15 +19,15 @@ package persistentvolume import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // persistentvolumeStrategy implements behavior for PersistentVolume objects diff --git a/pkg/registry/core/persistentvolume/strategy_test.go b/pkg/registry/core/persistentvolume/strategy_test.go index dd382cae4ab..db38cfeedff 100644 --- a/pkg/registry/core/persistentvolume/strategy_test.go +++ b/pkg/registry/core/persistentvolume/strategy_test.go @@ -19,9 +19,9 @@ package persistentvolume import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/core/persistentvolumeclaim/BUILD b/pkg/registry/core/persistentvolumeclaim/BUILD index acab74e7db5..063e8c1169a 100644 --- a/pkg/registry/core/persistentvolumeclaim/BUILD +++ b/pkg/registry/core/persistentvolumeclaim/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -36,7 +36,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/persistentvolumeclaim/etcd/BUILD b/pkg/registry/core/persistentvolumeclaim/etcd/BUILD index 7c61046196f..dec9d055649 100644 --- a/pkg/registry/core/persistentvolumeclaim/etcd/BUILD +++ b/pkg/registry/core/persistentvolumeclaim/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/persistentvolumeclaim:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -33,15 +33,15 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go b/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go index 4dd8cd56f15..e4d0672cf36 100644 --- a/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go +++ b/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/persistentvolumeclaim" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/persistentvolumeclaim/etcd/etcd_test.go b/pkg/registry/core/persistentvolumeclaim/etcd/etcd_test.go index 81d538fc459..bcda45b3a84 100644 --- a/pkg/registry/core/persistentvolumeclaim/etcd/etcd_test.go +++ b/pkg/registry/core/persistentvolumeclaim/etcd/etcd_test.go @@ -19,18 +19,18 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" ) func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer) { diff --git a/pkg/registry/core/persistentvolumeclaim/strategy.go b/pkg/registry/core/persistentvolumeclaim/strategy.go index 0d38d066716..458ec954c20 100644 --- a/pkg/registry/core/persistentvolumeclaim/strategy.go +++ b/pkg/registry/core/persistentvolumeclaim/strategy.go @@ -19,15 +19,15 @@ package persistentvolumeclaim import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // persistentvolumeclaimStrategy implements behavior for PersistentVolumeClaim objects diff --git a/pkg/registry/core/persistentvolumeclaim/strategy_test.go b/pkg/registry/core/persistentvolumeclaim/strategy_test.go index a729f0cf8e9..e9a6d13669e 100644 --- a/pkg/registry/core/persistentvolumeclaim/strategy_test.go +++ b/pkg/registry/core/persistentvolumeclaim/strategy_test.go @@ -19,9 +19,9 @@ package persistentvolumeclaim import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/core/pod/BUILD b/pkg/registry/core/pod/BUILD index 8fdd739d5e5..e37c5c89a9a 100644 --- a/pkg/registry/core/pod/BUILD +++ b/pkg/registry/core/pod/BUILD @@ -19,18 +19,18 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/kubelet/qos:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -44,12 +44,12 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/pod/etcd/BUILD b/pkg/registry/core/pod/etcd/BUILD index 2bc04aeddfb..640eb761416 100644 --- a/pkg/registry/core/pod/etcd/BUILD +++ b/pkg/registry/core/pod/etcd/BUILD @@ -21,20 +21,20 @@ go_library( "//pkg/api/errors/storage:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/policy/internalversion:go_default_library", "//pkg/client/retry:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/kubelet/client:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/core/pod:go_default_library", "//pkg/registry/core/pod/rest:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -48,18 +48,18 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/errors/storage:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/securitycontext:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/pod/etcd/etcd.go b/pkg/registry/core/pod/etcd/etcd.go index 9e3c9d9526f..be240cf4011 100644 --- a/pkg/registry/core/pod/etcd/etcd.go +++ b/pkg/registry/core/pod/etcd/etcd.go @@ -21,12 +21,13 @@ import ( "net/http" "net/url" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" policyclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/kubelet/client" @@ -34,7 +35,6 @@ import ( podrest "k8s.io/kubernetes/pkg/registry/core/pod/rest" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/core/pod/etcd/etcd_test.go b/pkg/registry/core/pod/etcd/etcd_test.go index 3c2957699d4..f2598bcd9a1 100644 --- a/pkg/registry/core/pod/etcd/etcd_test.go +++ b/pkg/registry/core/pod/etcd/etcd_test.go @@ -21,21 +21,21 @@ import ( "testing" "golang.org/x/net/context" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/securitycontext" "k8s.io/kubernetes/pkg/storage" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" ) func newStorage(t *testing.T) (*REST, *BindingREST, *StatusREST, *etcdtesting.EtcdTestServer) { diff --git a/pkg/registry/core/pod/etcd/eviction.go b/pkg/registry/core/pod/etcd/eviction.go index 2d90f18a8bd..258d7034232 100644 --- a/pkg/registry/core/pod/etcd/eviction.go +++ b/pkg/registry/core/pod/etcd/eviction.go @@ -20,18 +20,18 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" policyclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion" "k8s.io/kubernetes/pkg/client/retry" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/pkg/registry/core/pod/rest/BUILD b/pkg/registry/core/pod/rest/BUILD index 6776dcb78fb..ee5c678f0c4 100644 --- a/pkg/registry/core/pod/rest/BUILD +++ b/pkg/registry/core/pod/rest/BUILD @@ -26,7 +26,7 @@ go_library( "//pkg/registry/core/pod:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/generic/rest:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/pod/rest/log.go b/pkg/registry/core/pod/rest/log.go index fc85ee02a76..9bcc007bb87 100644 --- a/pkg/registry/core/pod/rest/log.go +++ b/pkg/registry/core/pod/rest/log.go @@ -19,6 +19,7 @@ package rest import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" @@ -28,7 +29,6 @@ import ( "k8s.io/kubernetes/pkg/registry/core/pod" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" - "k8s.io/kubernetes/pkg/runtime" ) // LogREST implements the log endpoint for a Pod diff --git a/pkg/registry/core/pod/rest/subresources.go b/pkg/registry/core/pod/rest/subresources.go index f93505be8e4..b620ae5a510 100644 --- a/pkg/registry/core/pod/rest/subresources.go +++ b/pkg/registry/core/pod/rest/subresources.go @@ -22,6 +22,7 @@ import ( "net/url" "path" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/capabilities" @@ -30,7 +31,6 @@ import ( "k8s.io/kubernetes/pkg/registry/core/pod" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" - "k8s.io/kubernetes/pkg/runtime" ) // ProxyREST implements the proxy subresource for a Pod diff --git a/pkg/registry/core/pod/strategy.go b/pkg/registry/core/pod/strategy.go index 16c61394989..77ea065261c 100644 --- a/pkg/registry/core/pod/strategy.go +++ b/pkg/registry/core/pod/strategy.go @@ -25,21 +25,21 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/kubelet/qos" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/types" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/validation/field" ) // podStrategy implements behavior for Pods diff --git a/pkg/registry/core/pod/strategy_test.go b/pkg/registry/core/pod/strategy_test.go index 37d0b5b9583..a8b3feb6e58 100644 --- a/pkg/registry/core/pod/strategy_test.go +++ b/pkg/registry/core/pod/strategy_test.go @@ -20,16 +20,16 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" ) func TestMatchPod(t *testing.T) { diff --git a/pkg/registry/core/podtemplate/BUILD b/pkg/registry/core/podtemplate/BUILD index bfd08a1c102..b14932629d7 100644 --- a/pkg/registry/core/podtemplate/BUILD +++ b/pkg/registry/core/podtemplate/BUILD @@ -20,10 +20,10 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -35,7 +35,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/podtemplate/etcd/BUILD b/pkg/registry/core/podtemplate/etcd/BUILD index c4fcc66e417..d5c8544bd1f 100644 --- a/pkg/registry/core/podtemplate/etcd/BUILD +++ b/pkg/registry/core/podtemplate/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/podtemplate:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -29,11 +29,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/podtemplate/etcd/etcd.go b/pkg/registry/core/podtemplate/etcd/etcd.go index 742a014f49a..eeb840d293c 100644 --- a/pkg/registry/core/podtemplate/etcd/etcd.go +++ b/pkg/registry/core/podtemplate/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/podtemplate" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/podtemplate/etcd/etcd_test.go b/pkg/registry/core/podtemplate/etcd/etcd_test.go index ec36d076122..fcd38bc4e36 100644 --- a/pkg/registry/core/podtemplate/etcd/etcd_test.go +++ b/pkg/registry/core/podtemplate/etcd/etcd_test.go @@ -19,12 +19,12 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/podtemplate/strategy.go b/pkg/registry/core/podtemplate/strategy.go index 6f3bc162e77..ced662628a1 100644 --- a/pkg/registry/core/podtemplate/strategy.go +++ b/pkg/registry/core/podtemplate/strategy.go @@ -19,14 +19,14 @@ package podtemplate import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // podTemplateStrategy implements behavior for PodTemplates diff --git a/pkg/registry/core/podtemplate/strategy_test.go b/pkg/registry/core/podtemplate/strategy_test.go index 792c2289d52..1ca8d7f60e8 100644 --- a/pkg/registry/core/podtemplate/strategy_test.go +++ b/pkg/registry/core/podtemplate/strategy_test.go @@ -19,9 +19,9 @@ package podtemplate import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/core/resourcequota/BUILD b/pkg/registry/core/resourcequota/BUILD index 66727f638cd..ae554e8f806 100644 --- a/pkg/registry/core/resourcequota/BUILD +++ b/pkg/registry/core/resourcequota/BUILD @@ -20,11 +20,11 @@ go_library( "//pkg/api/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -37,8 +37,8 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/resourcequota/etcd/BUILD b/pkg/registry/core/resourcequota/etcd/BUILD index 7e2fbbc953d..a3aebdec26b 100644 --- a/pkg/registry/core/resourcequota/etcd/BUILD +++ b/pkg/registry/core/resourcequota/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/resourcequota:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -33,14 +33,14 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/core/resourcequota/etcd/etcd.go b/pkg/registry/core/resourcequota/etcd/etcd.go index c5c73f3b09c..4f9bd338545 100644 --- a/pkg/registry/core/resourcequota/etcd/etcd.go +++ b/pkg/registry/core/resourcequota/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/resourcequota" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/resourcequota/etcd/etcd_test.go b/pkg/registry/core/resourcequota/etcd/etcd_test.go index 925735b146f..1c8061ee1df 100644 --- a/pkg/registry/core/resourcequota/etcd/etcd_test.go +++ b/pkg/registry/core/resourcequota/etcd/etcd_test.go @@ -19,17 +19,17 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" ) func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer) { diff --git a/pkg/registry/core/resourcequota/strategy.go b/pkg/registry/core/resourcequota/strategy.go index a26beb3337b..14bce59e086 100644 --- a/pkg/registry/core/resourcequota/strategy.go +++ b/pkg/registry/core/resourcequota/strategy.go @@ -19,15 +19,15 @@ package resourcequota import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // resourcequotaStrategy implements behavior for ResourceQuota objects diff --git a/pkg/registry/core/resourcequota/strategy_test.go b/pkg/registry/core/resourcequota/strategy_test.go index 73ba7d860e0..8bcc087bce1 100644 --- a/pkg/registry/core/resourcequota/strategy_test.go +++ b/pkg/registry/core/resourcequota/strategy_test.go @@ -19,10 +19,10 @@ package resourcequota import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/core/rest/BUILD b/pkg/registry/core/rest/BUILD index 64048a85698..83fdc6eaba3 100644 --- a/pkg/registry/core/rest/BUILD +++ b/pkg/registry/core/rest/BUILD @@ -15,7 +15,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/policy/internalversion:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/genericapiserver:go_default_library", @@ -45,10 +44,11 @@ go_library( "//pkg/registry/core/service/portallocator:go_default_library", "//pkg/registry/core/serviceaccount/etcd:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage/etcd/util:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) @@ -58,8 +58,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/runtime/schema:go_default_library", "//pkg/storage/storagebackend:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/registry/core/rest/storage_core.go b/pkg/registry/core/rest/storage_core.go index dc82c46751d..f930d4b898e 100644 --- a/pkg/registry/core/rest/storage_core.go +++ b/pkg/registry/core/rest/storage_core.go @@ -27,9 +27,11 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/apimachinery/registered" policyclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/genericapiserver" @@ -59,9 +61,7 @@ import ( "k8s.io/kubernetes/pkg/registry/core/service/portallocator" serviceaccountetcd "k8s.io/kubernetes/pkg/registry/core/serviceaccount/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime/schema" etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" - utilnet "k8s.io/kubernetes/pkg/util/net" ) // LegacyRESTStorageProvider provides information needed to build RESTStorage for core, but diff --git a/pkg/registry/core/rest/storage_core_test.go b/pkg/registry/core/rest/storage_core_test.go index 9d4562c8ce6..42263c0cdc1 100644 --- a/pkg/registry/core/rest/storage_core_test.go +++ b/pkg/registry/core/rest/storage_core_test.go @@ -19,7 +19,7 @@ package rest import ( "testing" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" ) diff --git a/pkg/registry/core/secret/BUILD b/pkg/registry/core/secret/BUILD index 462e72766c9..c53fdeb2b07 100644 --- a/pkg/registry/core/secret/BUILD +++ b/pkg/registry/core/secret/BUILD @@ -21,15 +21,15 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -41,9 +41,9 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/secret/etcd/BUILD b/pkg/registry/core/secret/etcd/BUILD index a02ba1ce3c2..6375b224d24 100644 --- a/pkg/registry/core/secret/etcd/BUILD +++ b/pkg/registry/core/secret/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/secret:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -29,11 +29,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/secret/etcd/etcd.go b/pkg/registry/core/secret/etcd/etcd.go index 087d753cdaf..4403b7eb2fb 100644 --- a/pkg/registry/core/secret/etcd/etcd.go +++ b/pkg/registry/core/secret/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/secret" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/secret/etcd/etcd_test.go b/pkg/registry/core/secret/etcd/etcd_test.go index f270e8ee654..5c5a4bf3658 100644 --- a/pkg/registry/core/secret/etcd/etcd_test.go +++ b/pkg/registry/core/secret/etcd/etcd_test.go @@ -19,12 +19,12 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/secret/registry.go b/pkg/registry/core/secret/registry.go index 8dcd89fb8dd..31057803f03 100644 --- a/pkg/registry/core/secret/registry.go +++ b/pkg/registry/core/secret/registry.go @@ -17,11 +17,11 @@ limitations under the License. package secret import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface implemented by things that know how to store Secret objects. diff --git a/pkg/registry/core/secret/strategy.go b/pkg/registry/core/secret/strategy.go index 6494072abc9..a9e2de6a94e 100644 --- a/pkg/registry/core/secret/strategy.go +++ b/pkg/registry/core/secret/strategy.go @@ -19,17 +19,17 @@ package secret import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for Secret objects diff --git a/pkg/registry/core/secret/strategy_test.go b/pkg/registry/core/secret/strategy_test.go index 8b13cab810b..95554b08d8f 100644 --- a/pkg/registry/core/secret/strategy_test.go +++ b/pkg/registry/core/secret/strategy_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" ) func TestExportSecret(t *testing.T) { diff --git a/pkg/registry/core/service/BUILD b/pkg/registry/core/service/BUILD index 243db117d33..15e54099b63 100644 --- a/pkg/registry/core/service/BUILD +++ b/pkg/registry/core/service/BUILD @@ -24,24 +24,24 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/api/service:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/capabilities:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/core/endpoint:go_default_library", "//pkg/registry/core/service/ipallocator:go_default_library", "//pkg/registry/core/service/portallocator:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/rest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", "//pkg/util/config:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -59,16 +59,16 @@ go_test( "//pkg/api/rest:go_default_library", "//pkg/api/service:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/service/ipallocator:go_default_library", "//pkg/registry/core/service/portallocator:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/net:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/registry/core/service/allocator/etcd/BUILD b/pkg/registry/core/service/allocator/etcd/BUILD index 2ec6988ac4e..7ffeca51942 100644 --- a/pkg/registry/core/service/allocator/etcd/BUILD +++ b/pkg/registry/core/service/allocator/etcd/BUILD @@ -19,11 +19,11 @@ go_library( "//pkg/registry/core/rangeallocation:go_default_library", "//pkg/registry/core/service/allocator:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/registry/core/service/allocator/etcd/etcd.go b/pkg/registry/core/service/allocator/etcd/etcd.go index 2400f7fd17e..53b2e753ff1 100644 --- a/pkg/registry/core/service/allocator/etcd/etcd.go +++ b/pkg/registry/core/service/allocator/etcd/etcd.go @@ -21,14 +21,14 @@ import ( "fmt" "sync" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" k8serr "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" "k8s.io/kubernetes/pkg/registry/core/rangeallocation" "k8s.io/kubernetes/pkg/registry/core/service/allocator" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/storagebackend" diff --git a/pkg/registry/core/service/etcd/BUILD b/pkg/registry/core/service/etcd/BUILD index f085f89a640..fc4cdf7ad23 100644 --- a/pkg/registry/core/service/etcd/BUILD +++ b/pkg/registry/core/service/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/service:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -32,12 +32,12 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/service/etcd/etcd.go b/pkg/registry/core/service/etcd/etcd.go index a74926e3c6b..0a031b98cc9 100644 --- a/pkg/registry/core/service/etcd/etcd.go +++ b/pkg/registry/core/service/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/service" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/service/etcd/etcd_test.go b/pkg/registry/core/service/etcd/etcd_test.go index cbd303eb534..182a197371b 100644 --- a/pkg/registry/core/service/etcd/etcd_test.go +++ b/pkg/registry/core/service/etcd/etcd_test.go @@ -19,12 +19,12 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/registry/core/service/ipallocator/BUILD b/pkg/registry/core/service/ipallocator/BUILD index f40e4b78ab4..15dfc6b4e2e 100644 --- a/pkg/registry/core/service/ipallocator/BUILD +++ b/pkg/registry/core/service/ipallocator/BUILD @@ -25,7 +25,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/registry/core/service/ipallocator/allocator_test.go b/pkg/registry/core/service/ipallocator/allocator_test.go index 37f72f79df3..1b6156feb91 100644 --- a/pkg/registry/core/service/ipallocator/allocator_test.go +++ b/pkg/registry/core/service/ipallocator/allocator_test.go @@ -20,8 +20,8 @@ import ( "net" "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/sets" ) func TestAllocate(t *testing.T) { diff --git a/pkg/registry/core/service/ipallocator/controller/BUILD b/pkg/registry/core/service/ipallocator/controller/BUILD index d2aeccf7d52..b9311b50e64 100644 --- a/pkg/registry/core/service/ipallocator/controller/BUILD +++ b/pkg/registry/core/service/ipallocator/controller/BUILD @@ -19,8 +19,8 @@ go_library( "//pkg/client/retry:go_default_library", "//pkg/registry/core/rangeallocation:go_default_library", "//pkg/registry/core/service/ipallocator:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/registry/core/service/ipallocator/controller/repair.go b/pkg/registry/core/service/ipallocator/controller/repair.go index 6095a91c83d..b86f5cf3bc5 100644 --- a/pkg/registry/core/service/ipallocator/controller/repair.go +++ b/pkg/registry/core/service/ipallocator/controller/repair.go @@ -21,14 +21,14 @@ import ( "net" "time" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/client/retry" "k8s.io/kubernetes/pkg/registry/core/rangeallocation" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) // Repair is a controller loop that periodically examines all service ClusterIP allocations diff --git a/pkg/registry/core/service/portallocator/BUILD b/pkg/registry/core/service/portallocator/BUILD index c60ae013ff1..7e3fc26cdbc 100644 --- a/pkg/registry/core/service/portallocator/BUILD +++ b/pkg/registry/core/service/portallocator/BUILD @@ -18,8 +18,8 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/registry/core/service/allocator:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) @@ -30,8 +30,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/registry/core/service/portallocator/allocator.go b/pkg/registry/core/service/portallocator/allocator.go index d066fe2d578..7badfe7ad4c 100644 --- a/pkg/registry/core/service/portallocator/allocator.go +++ b/pkg/registry/core/service/portallocator/allocator.go @@ -20,9 +20,9 @@ import ( "errors" "fmt" + "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/service/allocator" - "k8s.io/kubernetes/pkg/util/net" "github.com/golang/glog" ) diff --git a/pkg/registry/core/service/portallocator/allocator_test.go b/pkg/registry/core/service/portallocator/allocator_test.go index e5613f1c915..fb3ea1f4342 100644 --- a/pkg/registry/core/service/portallocator/allocator_test.go +++ b/pkg/registry/core/service/portallocator/allocator_test.go @@ -21,9 +21,9 @@ import ( "strconv" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" ) func TestAllocate(t *testing.T) { diff --git a/pkg/registry/core/service/portallocator/controller/BUILD b/pkg/registry/core/service/portallocator/controller/BUILD index 4c4d84a7643..826f9f4bc3b 100644 --- a/pkg/registry/core/service/portallocator/controller/BUILD +++ b/pkg/registry/core/service/portallocator/controller/BUILD @@ -20,9 +20,9 @@ go_library( "//pkg/registry/core/rangeallocation:go_default_library", "//pkg/registry/core/service:go_default_library", "//pkg/registry/core/service/portallocator:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -35,7 +35,7 @@ go_test( "//pkg/api:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/registry/core/service/portallocator:go_default_library", - "//pkg/util/net:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/registry/core/service/portallocator/controller/repair.go b/pkg/registry/core/service/portallocator/controller/repair.go index 9bba150c037..cd2d7759d99 100644 --- a/pkg/registry/core/service/portallocator/controller/repair.go +++ b/pkg/registry/core/service/portallocator/controller/repair.go @@ -20,6 +20,9 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" @@ -27,9 +30,6 @@ import ( "k8s.io/kubernetes/pkg/registry/core/rangeallocation" "k8s.io/kubernetes/pkg/registry/core/service" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) // See ipallocator/controller/repair.go; this is a copy for ports. diff --git a/pkg/registry/core/service/portallocator/controller/repair_test.go b/pkg/registry/core/service/portallocator/controller/repair_test.go index b5108d1e12b..7c56de932b0 100644 --- a/pkg/registry/core/service/portallocator/controller/repair_test.go +++ b/pkg/registry/core/service/portallocator/controller/repair_test.go @@ -21,10 +21,10 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" - "k8s.io/kubernetes/pkg/util/net" ) type mockRangeRegistry struct { diff --git a/pkg/registry/core/service/proxy.go b/pkg/registry/core/service/proxy.go index 6d8fd0a1f88..740dfd63ac5 100644 --- a/pkg/registry/core/service/proxy.go +++ b/pkg/registry/core/service/proxy.go @@ -22,12 +22,12 @@ import ( "net/url" "path" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/capabilities" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" - "k8s.io/kubernetes/pkg/runtime" ) // ProxyREST implements the proxy subresource for a Service diff --git a/pkg/registry/core/service/registry.go b/pkg/registry/core/service/registry.go index 697540fb43b..d0bc22c3d9b 100644 --- a/pkg/registry/core/service/registry.go +++ b/pkg/registry/core/service/registry.go @@ -19,11 +19,11 @@ package service import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store services. diff --git a/pkg/registry/core/service/rest.go b/pkg/registry/core/service/rest.go index 2b0156fa94c..798145636ad 100644 --- a/pkg/registry/core/service/rest.go +++ b/pkg/registry/core/service/rest.go @@ -25,22 +25,22 @@ import ( "strconv" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + utilnet "k8s.io/apimachinery/pkg/util/net" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/api/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/endpoint" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" - "k8s.io/kubernetes/pkg/runtime" featuregate "k8s.io/kubernetes/pkg/util/config" - utilnet "k8s.io/kubernetes/pkg/util/net" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/watch" ) // ServiceRest includes storage for services and all sub resources diff --git a/pkg/registry/core/service/rest_test.go b/pkg/registry/core/service/rest_test.go index cfec950f6b0..684f757966b 100644 --- a/pkg/registry/core/service/rest_test.go +++ b/pkg/registry/core/service/rest_test.go @@ -22,18 +22,18 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/service" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" "k8s.io/kubernetes/pkg/registry/registrytest" featuregate "k8s.io/kubernetes/pkg/util/config" "k8s.io/kubernetes/pkg/util/intstr" - utilnet "k8s.io/kubernetes/pkg/util/net" ) func init() { diff --git a/pkg/registry/core/service/strategy.go b/pkg/registry/core/service/strategy.go index 2cafcfeb559..5f730c01e6a 100644 --- a/pkg/registry/core/service/strategy.go +++ b/pkg/registry/core/service/strategy.go @@ -19,15 +19,15 @@ package service import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // svcStrategy implements behavior for Services diff --git a/pkg/registry/core/service/strategy_test.go b/pkg/registry/core/service/strategy_test.go index c533cd58987..0bb770c95c3 100644 --- a/pkg/registry/core/service/strategy_test.go +++ b/pkg/registry/core/service/strategy_test.go @@ -20,13 +20,13 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/registry/core/serviceaccount/BUILD b/pkg/registry/core/serviceaccount/BUILD index 0c4806b8404..d90b279c830 100644 --- a/pkg/registry/core/serviceaccount/BUILD +++ b/pkg/registry/core/serviceaccount/BUILD @@ -20,15 +20,15 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -40,7 +40,7 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apimachinery/registered:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/pkg/registry/core/serviceaccount/etcd/BUILD b/pkg/registry/core/serviceaccount/etcd/BUILD index 879f363f15d..91da2244630 100644 --- a/pkg/registry/core/serviceaccount/etcd/BUILD +++ b/pkg/registry/core/serviceaccount/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/core/serviceaccount:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -29,11 +29,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/core/serviceaccount/etcd/etcd.go b/pkg/registry/core/serviceaccount/etcd/etcd.go index 6d20fb4749a..042c960ea52 100644 --- a/pkg/registry/core/serviceaccount/etcd/etcd.go +++ b/pkg/registry/core/serviceaccount/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/serviceaccount" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/core/serviceaccount/etcd/etcd_test.go b/pkg/registry/core/serviceaccount/etcd/etcd_test.go index 7188d946dd0..455ff6b394e 100644 --- a/pkg/registry/core/serviceaccount/etcd/etcd_test.go +++ b/pkg/registry/core/serviceaccount/etcd/etcd_test.go @@ -19,12 +19,12 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/core/serviceaccount/registry.go b/pkg/registry/core/serviceaccount/registry.go index 286c5cb57d8..daeb747f240 100644 --- a/pkg/registry/core/serviceaccount/registry.go +++ b/pkg/registry/core/serviceaccount/registry.go @@ -17,11 +17,11 @@ limitations under the License. package serviceaccount import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface implemented by things that know how to store ServiceAccount objects. diff --git a/pkg/registry/core/serviceaccount/strategy.go b/pkg/registry/core/serviceaccount/strategy.go index 1cacc9c7ad7..287771c089e 100644 --- a/pkg/registry/core/serviceaccount/strategy.go +++ b/pkg/registry/core/serviceaccount/strategy.go @@ -19,15 +19,15 @@ package serviceaccount import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for ServiceAccount objects diff --git a/pkg/registry/core/serviceaccount/strategy_test.go b/pkg/registry/core/serviceaccount/strategy_test.go index f7af4cd0ea0..3287d4dc0e2 100644 --- a/pkg/registry/core/serviceaccount/strategy_test.go +++ b/pkg/registry/core/serviceaccount/strategy_test.go @@ -19,9 +19,9 @@ package serviceaccount import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api" apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apimachinery/registered" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/extensions/controller/etcd/BUILD b/pkg/registry/extensions/controller/etcd/BUILD index 5ea9b369b73..ded24985d3c 100644 --- a/pkg/registry/extensions/controller/etcd/BUILD +++ b/pkg/registry/extensions/controller/etcd/BUILD @@ -18,12 +18,12 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/core/controller:go_default_library", "//pkg/registry/core/controller/etcd:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -36,13 +36,13 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/storagebackend/factory:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/extensions/controller/etcd/etcd.go b/pkg/registry/extensions/controller/etcd/etcd.go index b85084f6cd8..b80302b65e5 100644 --- a/pkg/registry/extensions/controller/etcd/etcd.go +++ b/pkg/registry/extensions/controller/etcd/etcd.go @@ -19,17 +19,17 @@ package etcd import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/core/controller" "k8s.io/kubernetes/pkg/registry/core/controller/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" ) // Container includes dummy storage for RC pods and experimental storage for Scale. diff --git a/pkg/registry/extensions/controller/etcd/etcd_test.go b/pkg/registry/extensions/controller/etcd/etcd_test.go index 36509fe3d95..fae83465e37 100644 --- a/pkg/registry/extensions/controller/etcd/etcd_test.go +++ b/pkg/registry/extensions/controller/etcd/etcd_test.go @@ -19,10 +19,10 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" diff --git a/pkg/registry/extensions/daemonset/BUILD b/pkg/registry/extensions/daemonset/BUILD index 17b199f7f0b..a8eee2ea81d 100644 --- a/pkg/registry/extensions/daemonset/BUILD +++ b/pkg/registry/extensions/daemonset/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/extensions/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/registry/extensions/daemonset/etcd/BUILD b/pkg/registry/extensions/daemonset/etcd/BUILD index 69c7ad1aefe..2d0547c198b 100644 --- a/pkg/registry/extensions/daemonset/etcd/BUILD +++ b/pkg/registry/extensions/daemonset/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/extensions/daemonset:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -32,13 +32,13 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/daemonset/etcd/etcd.go b/pkg/registry/extensions/daemonset/etcd/etcd.go index df210cab5ef..eee4989078a 100644 --- a/pkg/registry/extensions/daemonset/etcd/etcd.go +++ b/pkg/registry/extensions/daemonset/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/extensions/daemonset" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // rest implements a RESTStorage for DaemonSets against etcd diff --git a/pkg/registry/extensions/daemonset/etcd/etcd_test.go b/pkg/registry/extensions/daemonset/etcd/etcd_test.go index 24c1a736206..0036a344dd7 100644 --- a/pkg/registry/extensions/daemonset/etcd/etcd_test.go +++ b/pkg/registry/extensions/daemonset/etcd/etcd_test.go @@ -19,14 +19,14 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/extensions/daemonset/strategy.go b/pkg/registry/extensions/daemonset/strategy.go index ecb120be505..5482a7c6be8 100644 --- a/pkg/registry/extensions/daemonset/strategy.go +++ b/pkg/registry/extensions/daemonset/strategy.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // daemonSetStrategy implements verification logic for daemon sets. diff --git a/pkg/registry/extensions/deployment/BUILD b/pkg/registry/extensions/deployment/BUILD index 75900ab2a8f..8ac8f3b77cb 100644 --- a/pkg/registry/extensions/deployment/BUILD +++ b/pkg/registry/extensions/deployment/BUILD @@ -21,15 +21,15 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/controller/deployment/util:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -44,7 +44,7 @@ go_test( "//pkg/api/testing:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/deployment/etcd/BUILD b/pkg/registry/extensions/deployment/etcd/BUILD index c50e8ffd5ca..3cc43100ef8 100644 --- a/pkg/registry/extensions/deployment/etcd/BUILD +++ b/pkg/registry/extensions/deployment/etcd/BUILD @@ -19,13 +19,13 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/extensions/deployment:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -40,16 +40,16 @@ go_test( "//pkg/api/errors/storage:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/extensions/deployment/etcd/etcd.go b/pkg/registry/extensions/deployment/etcd/etcd.go index f00218ee1af..d8ac071a5f9 100644 --- a/pkg/registry/extensions/deployment/etcd/etcd.go +++ b/pkg/registry/extensions/deployment/etcd/etcd.go @@ -20,18 +20,18 @@ import ( "fmt" "net/http" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/extensions/deployment" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/extensions/deployment/etcd/etcd_test.go b/pkg/registry/extensions/deployment/etcd/etcd_test.go index f45e94de241..7d264bc5990 100644 --- a/pkg/registry/extensions/deployment/etcd/etcd_test.go +++ b/pkg/registry/extensions/deployment/etcd/etcd_test.go @@ -20,20 +20,20 @@ import ( "reflect" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/registry/extensions/deployment/registry.go b/pkg/registry/extensions/deployment/registry.go index 492a59322a2..a06a2fb04ef 100644 --- a/pkg/registry/extensions/deployment/registry.go +++ b/pkg/registry/extensions/deployment/registry.go @@ -19,10 +19,10 @@ package deployment import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/extensions/deployment/strategy.go b/pkg/registry/extensions/deployment/strategy.go index c6d5dae7e38..712b91bdccf 100644 --- a/pkg/registry/extensions/deployment/strategy.go +++ b/pkg/registry/extensions/deployment/strategy.go @@ -21,19 +21,19 @@ import ( "reflect" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // deploymentStrategy implements behavior for Deployments. diff --git a/pkg/registry/extensions/deployment/strategy_test.go b/pkg/registry/extensions/deployment/strategy_test.go index d3341b56276..f0ccd9b5c04 100644 --- a/pkg/registry/extensions/deployment/strategy_test.go +++ b/pkg/registry/extensions/deployment/strategy_test.go @@ -20,12 +20,12 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/apis/extensions" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/runtime" ) func TestSelectableFieldLabelConversions(t *testing.T) { diff --git a/pkg/registry/extensions/ingress/BUILD b/pkg/registry/extensions/ingress/BUILD index 5d7d1087d79..d108411b1c8 100644 --- a/pkg/registry/extensions/ingress/BUILD +++ b/pkg/registry/extensions/ingress/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/extensions/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/registry/extensions/ingress/etcd/BUILD b/pkg/registry/extensions/ingress/etcd/BUILD index ee9a62c1dab..e21a1864da8 100644 --- a/pkg/registry/extensions/ingress/etcd/BUILD +++ b/pkg/registry/extensions/ingress/etcd/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/extensions/ingress:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -33,12 +33,12 @@ go_test( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/ingress/etcd/etcd.go b/pkg/registry/extensions/ingress/etcd/etcd.go index cd19d8f3f6f..b8ca91e0bc3 100644 --- a/pkg/registry/extensions/ingress/etcd/etcd.go +++ b/pkg/registry/extensions/ingress/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/extensions/ingress" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // rest implements a RESTStorage for replication controllers against etcd diff --git a/pkg/registry/extensions/ingress/etcd/etcd_test.go b/pkg/registry/extensions/ingress/etcd/etcd_test.go index a7b30c61dfc..9d33b6d6eae 100644 --- a/pkg/registry/extensions/ingress/etcd/etcd_test.go +++ b/pkg/registry/extensions/ingress/etcd/etcd_test.go @@ -19,13 +19,13 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/registry/extensions/ingress/strategy.go b/pkg/registry/extensions/ingress/strategy.go index 8bf83042858..5a42ab1c680 100644 --- a/pkg/registry/extensions/ingress/strategy.go +++ b/pkg/registry/extensions/ingress/strategy.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // ingressStrategy implements verification logic for Replication Ingresss. diff --git a/pkg/registry/extensions/networkpolicy/BUILD b/pkg/registry/extensions/networkpolicy/BUILD index c4fb8b3f78d..02b4c5199c2 100644 --- a/pkg/registry/extensions/networkpolicy/BUILD +++ b/pkg/registry/extensions/networkpolicy/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/extensions/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -37,8 +37,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/extensions/networkpolicy/etcd/BUILD b/pkg/registry/extensions/networkpolicy/etcd/BUILD index 6be73e2a9bd..80459ca04d2 100644 --- a/pkg/registry/extensions/networkpolicy/etcd/BUILD +++ b/pkg/registry/extensions/networkpolicy/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/extensions/networkpolicy:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -29,15 +29,15 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/networkpolicy/etcd/etcd.go b/pkg/registry/extensions/networkpolicy/etcd/etcd.go index c0fdd4eb92a..48c1771e9e2 100644 --- a/pkg/registry/extensions/networkpolicy/etcd/etcd.go +++ b/pkg/registry/extensions/networkpolicy/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" extensionsapi "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/networkpolicy" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // rest implements a RESTStorage for network policies against etcd diff --git a/pkg/registry/extensions/networkpolicy/etcd/etcd_test.go b/pkg/registry/extensions/networkpolicy/etcd/etcd_test.go index 28907b4147a..3bcff3e9e9d 100644 --- a/pkg/registry/extensions/networkpolicy/etcd/etcd_test.go +++ b/pkg/registry/extensions/networkpolicy/etcd/etcd_test.go @@ -19,15 +19,15 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/registry/extensions/networkpolicy/strategy.go b/pkg/registry/extensions/networkpolicy/strategy.go index 62216f7806b..5d2c2530677 100644 --- a/pkg/registry/extensions/networkpolicy/strategy.go +++ b/pkg/registry/extensions/networkpolicy/strategy.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // networkPolicyStrategy implements verification logic for NetworkPolicys. diff --git a/pkg/registry/extensions/networkpolicy/strategy_test.go b/pkg/registry/extensions/networkpolicy/strategy_test.go index a2b041daf84..3661ec37c8a 100644 --- a/pkg/registry/extensions/networkpolicy/strategy_test.go +++ b/pkg/registry/extensions/networkpolicy/strategy_test.go @@ -19,9 +19,9 @@ package networkpolicy import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/extensions/podsecuritypolicy/BUILD b/pkg/registry/extensions/podsecuritypolicy/BUILD index 3395a654ee0..67c5f58721e 100644 --- a/pkg/registry/extensions/podsecuritypolicy/BUILD +++ b/pkg/registry/extensions/podsecuritypolicy/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/extensions/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/registry/extensions/podsecuritypolicy/etcd/BUILD b/pkg/registry/extensions/podsecuritypolicy/etcd/BUILD index 84c892787d1..1c3fcb4c9bc 100644 --- a/pkg/registry/extensions/podsecuritypolicy/etcd/BUILD +++ b/pkg/registry/extensions/podsecuritypolicy/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/extensions/podsecuritypolicy:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -31,11 +31,11 @@ go_test( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go b/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go index af528b87388..8caae9a6a75 100644 --- a/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go +++ b/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/podsecuritypolicy" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for PodSecurityPolicies against etcd. diff --git a/pkg/registry/extensions/podsecuritypolicy/etcd/etcd_test.go b/pkg/registry/extensions/podsecuritypolicy/etcd/etcd_test.go index f845dabec48..bb219199a93 100644 --- a/pkg/registry/extensions/podsecuritypolicy/etcd/etcd_test.go +++ b/pkg/registry/extensions/podsecuritypolicy/etcd/etcd_test.go @@ -22,12 +22,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" // Ensure that extensions/v1beta1 package is initialized. + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" _ "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/extensions/podsecuritypolicy/strategy.go b/pkg/registry/extensions/podsecuritypolicy/strategy.go index e2b80a15e09..e2e3441b06a 100644 --- a/pkg/registry/extensions/podsecuritypolicy/strategy.go +++ b/pkg/registry/extensions/podsecuritypolicy/strategy.go @@ -19,17 +19,17 @@ package podsecuritypolicy import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for PodSecurityPolicy objects diff --git a/pkg/registry/extensions/replicaset/BUILD b/pkg/registry/extensions/replicaset/BUILD index 7e530d12a68..f808a7cc715 100644 --- a/pkg/registry/extensions/replicaset/BUILD +++ b/pkg/registry/extensions/replicaset/BUILD @@ -21,15 +21,15 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -41,8 +41,8 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/extensions/replicaset/etcd/BUILD b/pkg/registry/extensions/replicaset/etcd/BUILD index 3120b6c5da0..47ed5d5cd32 100644 --- a/pkg/registry/extensions/replicaset/etcd/BUILD +++ b/pkg/registry/extensions/replicaset/etcd/BUILD @@ -18,12 +18,12 @@ go_library( "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/extensions/replicaset:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -37,15 +37,15 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/registry/extensions/replicaset/etcd/etcd.go b/pkg/registry/extensions/replicaset/etcd/etcd.go index 6193f16534a..687bfdc87b3 100644 --- a/pkg/registry/extensions/replicaset/etcd/etcd.go +++ b/pkg/registry/extensions/replicaset/etcd/etcd.go @@ -21,17 +21,17 @@ package etcd import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/extensions/replicaset" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // ReplicaSetStorage includes dummy storage for ReplicaSets and for Scale subresource. diff --git a/pkg/registry/extensions/replicaset/etcd/etcd_test.go b/pkg/registry/extensions/replicaset/etcd/etcd_test.go index 7f8e7d90510..73288d588d6 100644 --- a/pkg/registry/extensions/replicaset/etcd/etcd_test.go +++ b/pkg/registry/extensions/replicaset/etcd/etcd_test.go @@ -19,19 +19,19 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/util/diff" ) const defaultReplicas = 100 diff --git a/pkg/registry/extensions/replicaset/registry.go b/pkg/registry/extensions/replicaset/registry.go index b5012c2e7e2..eec60a6908e 100644 --- a/pkg/registry/extensions/replicaset/registry.go +++ b/pkg/registry/extensions/replicaset/registry.go @@ -21,12 +21,12 @@ package replicaset import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store ReplicaSets. diff --git a/pkg/registry/extensions/replicaset/strategy.go b/pkg/registry/extensions/replicaset/strategy.go index fb127eda01b..bada8cb696a 100644 --- a/pkg/registry/extensions/replicaset/strategy.go +++ b/pkg/registry/extensions/replicaset/strategy.go @@ -23,17 +23,17 @@ import ( "reflect" "strconv" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // rsStrategy implements verification logic for ReplicaSets. diff --git a/pkg/registry/extensions/replicaset/strategy_test.go b/pkg/registry/extensions/replicaset/strategy_test.go index 482c990889f..f80811966bb 100644 --- a/pkg/registry/extensions/replicaset/strategy_test.go +++ b/pkg/registry/extensions/replicaset/strategy_test.go @@ -19,9 +19,9 @@ package replicaset import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" ) diff --git a/pkg/registry/extensions/rest/BUILD b/pkg/registry/extensions/rest/BUILD index ce0b6659d20..e3969ff2314 100644 --- a/pkg/registry/extensions/rest/BUILD +++ b/pkg/registry/extensions/rest/BUILD @@ -34,11 +34,11 @@ go_library( "//pkg/registry/extensions/thirdpartyresource/etcd:go_default_library", "//pkg/registry/extensions/thirdpartyresourcedata:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -51,7 +51,7 @@ go_test( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/registry/extensions/thirdpartyresourcedata:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/registry/extensions/rest/storage_extensions.go b/pkg/registry/extensions/rest/storage_extensions.go index f215c019b2b..f20394a6c68 100644 --- a/pkg/registry/extensions/rest/storage_extensions.go +++ b/pkg/registry/extensions/rest/storage_extensions.go @@ -22,6 +22,8 @@ import ( "github.com/golang/glog" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -38,8 +40,6 @@ import ( replicasetetcd "k8s.io/kubernetes/pkg/registry/extensions/replicaset/etcd" thirdpartyresourceetcd "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresource/etcd" "k8s.io/kubernetes/pkg/registry/generic" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) type RESTStorageProvider struct { diff --git a/pkg/registry/extensions/rest/thirdparty_controller.go b/pkg/registry/extensions/rest/thirdparty_controller.go index bc55adaa611..6ac6201469a 100644 --- a/pkg/registry/extensions/rest/thirdparty_controller.go +++ b/pkg/registry/extensions/rest/thirdparty_controller.go @@ -20,12 +20,12 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/sets" ) // ResourceInterface is the interface for the parts of the master that know how to add/remove diff --git a/pkg/registry/extensions/rest/thirdparty_controller_test.go b/pkg/registry/extensions/rest/thirdparty_controller_test.go index 92241762235..cb974ddf4a8 100644 --- a/pkg/registry/extensions/rest/thirdparty_controller_test.go +++ b/pkg/registry/extensions/rest/thirdparty_controller_test.go @@ -19,10 +19,10 @@ package rest import ( "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" expapi "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" - "k8s.io/kubernetes/pkg/util/sets" ) type FakeAPIInterface struct { diff --git a/pkg/registry/extensions/thirdpartyresource/BUILD b/pkg/registry/extensions/thirdpartyresource/BUILD index 598ade584d0..b3f7715b0d3 100644 --- a/pkg/registry/extensions/thirdpartyresource/BUILD +++ b/pkg/registry/extensions/thirdpartyresource/BUILD @@ -22,10 +22,10 @@ go_library( "//pkg/apis/extensions/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/registry/extensions/thirdpartyresource/etcd/BUILD b/pkg/registry/extensions/thirdpartyresource/etcd/BUILD index 2c4ed3ae2b7..84f53f0d3e8 100644 --- a/pkg/registry/extensions/thirdpartyresource/etcd/BUILD +++ b/pkg/registry/extensions/thirdpartyresource/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/extensions/thirdpartyresource:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -31,11 +31,11 @@ go_test( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go b/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go index d5d7e31726a..275842ce294 100644 --- a/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go +++ b/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresource" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ThirdPartyResources against etcd diff --git a/pkg/registry/extensions/thirdpartyresource/etcd/etcd_test.go b/pkg/registry/extensions/thirdpartyresource/etcd/etcd_test.go index 6f326a99ad9..97cf543af3b 100644 --- a/pkg/registry/extensions/thirdpartyresource/etcd/etcd_test.go +++ b/pkg/registry/extensions/thirdpartyresource/etcd/etcd_test.go @@ -23,12 +23,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" // Ensure that extensions/v1beta1 package is initialized. + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" _ "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/extensions/thirdpartyresource/strategy.go b/pkg/registry/extensions/thirdpartyresource/strategy.go index 2d50df6e4bf..0b5502b4734 100644 --- a/pkg/registry/extensions/thirdpartyresource/strategy.go +++ b/pkg/registry/extensions/thirdpartyresource/strategy.go @@ -19,16 +19,16 @@ package thirdpartyresource import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for ThirdPartyResource objects diff --git a/pkg/registry/extensions/thirdpartyresourcedata/BUILD b/pkg/registry/extensions/thirdpartyresourcedata/BUILD index 939f6814c45..92908a0b04b 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/BUILD +++ b/pkg/registry/extensions/thirdpartyresourcedata/BUILD @@ -20,24 +20,24 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/yaml:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -55,11 +55,11 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/registry/extensions/thirdpartyresourcedata/codec.go b/pkg/registry/extensions/thirdpartyresourcedata/codec.go index 4058021d534..52eec4e2ec2 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/codec.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/codec.go @@ -24,17 +24,17 @@ import ( "net/url" "strings" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" apiutil "k8s.io/kubernetes/pkg/api/util" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/yaml" ) type thirdPartyObjectConverter struct { diff --git a/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go b/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go index f96db3f077c..86e9544b732 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/codec_test.go @@ -23,14 +23,14 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) type Foo struct { diff --git a/pkg/registry/extensions/thirdpartyresourcedata/etcd/BUILD b/pkg/registry/extensions/thirdpartyresourcedata/etcd/BUILD index 2d5fa578f37..78996ea08f6 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/etcd/BUILD +++ b/pkg/registry/extensions/thirdpartyresourcedata/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/extensions/thirdpartyresourcedata:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -31,11 +31,11 @@ go_test( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go b/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go index f3d36a5c9a1..8280092562f 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go @@ -19,11 +19,11 @@ package etcd import ( "strings" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ThirdPartyResourceDatas against etcd diff --git a/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd_test.go b/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd_test.go index 15d9e059640..d887ca59667 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd_test.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd_test.go @@ -22,12 +22,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" // Ensure that extensions/v1beta1 package is initialized. + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" _ "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/extensions/thirdpartyresourcedata/registry.go b/pkg/registry/extensions/thirdpartyresourcedata/registry.go index 1072eb95bf6..d6c2711c3cd 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/registry.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/registry.go @@ -17,12 +17,12 @@ limitations under the License. package thirdpartyresourcedata import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface implemented by things that know how to store ThirdPartyResourceData objects. diff --git a/pkg/registry/extensions/thirdpartyresourcedata/strategy.go b/pkg/registry/extensions/thirdpartyresourcedata/strategy.go index f16fb38d5b8..2f568f890ba 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/strategy.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/strategy.go @@ -19,16 +19,16 @@ package thirdpartyresourcedata import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for ThirdPartyResource objects diff --git a/pkg/registry/extensions/thirdpartyresourcedata/util.go b/pkg/registry/extensions/thirdpartyresourcedata/util.go index b2b14d88e0d..294760e5bf5 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/util.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/util.go @@ -20,8 +20,8 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/runtime/schema" ) func ExtractGroupVersionKind(list *extensions.ThirdPartyResourceList) ([]schema.GroupVersion, []schema.GroupVersionKind, error) { diff --git a/pkg/registry/generic/BUILD b/pkg/registry/generic/BUILD index 21adfc9f17d..ab405837c68 100644 --- a/pkg/registry/generic/BUILD +++ b/pkg/registry/generic/BUILD @@ -19,12 +19,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/fields:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/storage/storagebackend/factory:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/pkg/registry/generic/options.go b/pkg/registry/generic/options.go index 8f53fc6133b..d3bec0e0d4d 100644 --- a/pkg/registry/generic/options.go +++ b/pkg/registry/generic/options.go @@ -17,7 +17,7 @@ limitations under the License. package generic import ( - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/storagebackend" ) diff --git a/pkg/registry/generic/registry/BUILD b/pkg/registry/generic/registry/BUILD index 3205d25add2..c5d5a9811f2 100644 --- a/pkg/registry/generic/registry/BUILD +++ b/pkg/registry/generic/registry/BUILD @@ -21,26 +21,26 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/errors/storage:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/cachesize:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/storage/storagebackend/factory:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -55,25 +55,25 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/core/pod:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/selection:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/storagebackend/factory:go_default_library", "//pkg/storage/testing:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/selection", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/registry/generic/registry/decorated_watcher.go b/pkg/registry/generic/registry/decorated_watcher.go index cdd320d5f4e..c20995c6b09 100644 --- a/pkg/registry/generic/registry/decorated_watcher.go +++ b/pkg/registry/generic/registry/decorated_watcher.go @@ -21,9 +21,9 @@ import ( "golang.org/x/net/context" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/watch" ) type decoratedWatcher struct { diff --git a/pkg/registry/generic/registry/decorated_watcher_test.go b/pkg/registry/generic/registry/decorated_watcher_test.go index 9d3a2674939..2412b11ace8 100644 --- a/pkg/registry/generic/registry/decorated_watcher_test.go +++ b/pkg/registry/generic/registry/decorated_watcher_test.go @@ -21,10 +21,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) func TestDecoratedWatcher(t *testing.T) { diff --git a/pkg/registry/generic/registry/storage_factory.go b/pkg/registry/generic/registry/storage_factory.go index 5166a35c5b3..896196bdb2f 100644 --- a/pkg/registry/generic/registry/storage_factory.go +++ b/pkg/registry/generic/registry/storage_factory.go @@ -17,8 +17,8 @@ limitations under the License. package registry import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" etcdstorage "k8s.io/kubernetes/pkg/storage/etcd" "k8s.io/kubernetes/pkg/storage/storagebackend" diff --git a/pkg/registry/generic/registry/store.go b/pkg/registry/generic/registry/store.go index 2db1924b8d3..6b89f34e328 100644 --- a/pkg/registry/generic/registry/store.go +++ b/pkg/registry/generic/registry/store.go @@ -23,24 +23,24 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" kubeerr "k8s.io/kubernetes/pkg/api/errors" storeerr "k8s.io/kubernetes/pkg/api/errors/storage" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/validation/path" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" ) diff --git a/pkg/registry/generic/registry/store_test.go b/pkg/registry/generic/registry/store_test.go index d1941001a3d..28c713bf941 100644 --- a/pkg/registry/generic/registry/store_test.go +++ b/pkg/registry/generic/registry/store_test.go @@ -26,26 +26,26 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/api/testapi" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/core/pod" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/selection" "k8s.io/kubernetes/pkg/storage" etcdstorage "k8s.io/kubernetes/pkg/storage/etcd" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" "k8s.io/kubernetes/pkg/storage/storagebackend/factory" storagetesting "k8s.io/kubernetes/pkg/storage/testing" - "k8s.io/kubernetes/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/util/wait" ) type testGracefulStrategy struct { diff --git a/pkg/registry/generic/rest/BUILD b/pkg/registry/generic/rest/BUILD index 63bcbf05f28..a583cd191a1 100644 --- a/pkg/registry/generic/rest/BUILD +++ b/pkg/registry/generic/rest/BUILD @@ -20,14 +20,14 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/httpstream:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/proxy:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/mxk/go-flowrate/flowrate", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -45,11 +45,11 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/util/config:go_default_library", "//pkg/util/httpstream:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/proxy:go_default_library", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", "//vendor:golang.org/x/net/websocket", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/registry/generic/rest/proxy.go b/pkg/registry/generic/rest/proxy.go index 4e960ab0f1a..328ab280fc5 100644 --- a/pkg/registry/generic/rest/proxy.go +++ b/pkg/registry/generic/rest/proxy.go @@ -29,12 +29,12 @@ import ( "sync" "time" + utilnet "k8s.io/apimachinery/pkg/util/net" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/errors" utilconfig "k8s.io/kubernetes/pkg/util/config" "k8s.io/kubernetes/pkg/util/httpstream" - utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/proxy" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "github.com/golang/glog" "github.com/mxk/go-flowrate/flowrate" diff --git a/pkg/registry/generic/rest/proxy_test.go b/pkg/registry/generic/rest/proxy_test.go index 80454f18ab2..e8fd1cbe70e 100644 --- a/pkg/registry/generic/rest/proxy_test.go +++ b/pkg/registry/generic/rest/proxy_test.go @@ -41,9 +41,9 @@ import ( "golang.org/x/net/websocket" + utilnet "k8s.io/apimachinery/pkg/util/net" utilconfig "k8s.io/kubernetes/pkg/util/config" "k8s.io/kubernetes/pkg/util/httpstream" - utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/proxy" ) diff --git a/pkg/registry/generic/rest/response_checker.go b/pkg/registry/generic/rest/response_checker.go index fa707b26369..6f52cf4d3bc 100644 --- a/pkg/registry/generic/rest/response_checker.go +++ b/pkg/registry/generic/rest/response_checker.go @@ -22,8 +22,8 @@ import ( "io/ioutil" "net/http" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/runtime/schema" ) // Check the http error status from a location URL. diff --git a/pkg/registry/generic/rest/streamer.go b/pkg/registry/generic/rest/streamer.go index dd61e70d189..a6e7f46e0c8 100644 --- a/pkg/registry/generic/rest/streamer.go +++ b/pkg/registry/generic/rest/streamer.go @@ -22,8 +22,8 @@ import ( "net/url" "strings" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api/rest" - "k8s.io/kubernetes/pkg/runtime/schema" ) // LocationStreamer is a resource that streams the contents of a particular diff --git a/pkg/registry/generic/storage_decorator.go b/pkg/registry/generic/storage_decorator.go index d74be6f82df..61a21a03bc3 100644 --- a/pkg/registry/generic/storage_decorator.go +++ b/pkg/registry/generic/storage_decorator.go @@ -18,7 +18,7 @@ package generic import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/storage/storagebackend/factory" diff --git a/pkg/registry/policy/poddisruptionbudget/BUILD b/pkg/registry/policy/poddisruptionbudget/BUILD index 1eb53e7c017..c387ba10a8b 100644 --- a/pkg/registry/policy/poddisruptionbudget/BUILD +++ b/pkg/registry/policy/poddisruptionbudget/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/policy/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -36,10 +36,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/registry/policy/poddisruptionbudget/etcd/BUILD b/pkg/registry/policy/poddisruptionbudget/etcd/BUILD index a627c220bf3..869aa496a1d 100644 --- a/pkg/registry/policy/poddisruptionbudget/etcd/BUILD +++ b/pkg/registry/policy/poddisruptionbudget/etcd/BUILD @@ -14,13 +14,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/policy/poddisruptionbudget:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -32,15 +32,15 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go b/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go index b862b9d4dba..3b80f11a2aa 100644 --- a/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go +++ b/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go @@ -17,14 +17,14 @@ limitations under the License. package etcd import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" policyapi "k8s.io/kubernetes/pkg/apis/policy" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/policy/poddisruptionbudget" - "k8s.io/kubernetes/pkg/runtime" ) // rest implements a RESTStorage for pod disruption budgets against etcd diff --git a/pkg/registry/policy/poddisruptionbudget/etcd/etcd_test.go b/pkg/registry/policy/poddisruptionbudget/etcd/etcd_test.go index 177674f748e..643c4d7e213 100644 --- a/pkg/registry/policy/poddisruptionbudget/etcd/etcd_test.go +++ b/pkg/registry/policy/poddisruptionbudget/etcd/etcd_test.go @@ -19,13 +19,13 @@ package etcd import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" diff --git a/pkg/registry/policy/poddisruptionbudget/strategy.go b/pkg/registry/policy/poddisruptionbudget/strategy.go index cffe1bb773e..bfe39c9b8ef 100644 --- a/pkg/registry/policy/poddisruptionbudget/strategy.go +++ b/pkg/registry/policy/poddisruptionbudget/strategy.go @@ -20,16 +20,16 @@ import ( "fmt" "reflect" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/apis/policy/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // podDisruptionBudgetStrategy implements verification logic for PodDisruptionBudgets. diff --git a/pkg/registry/policy/poddisruptionbudget/strategy_test.go b/pkg/registry/policy/poddisruptionbudget/strategy_test.go index d410d74237a..83c0c195a24 100644 --- a/pkg/registry/policy/poddisruptionbudget/strategy_test.go +++ b/pkg/registry/policy/poddisruptionbudget/strategy_test.go @@ -19,8 +19,8 @@ package poddisruptionbudget import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" "k8s.io/kubernetes/pkg/util/intstr" diff --git a/pkg/registry/rbac/BUILD b/pkg/registry/rbac/BUILD index 8367642c302..f72aae5d8f1 100644 --- a/pkg/registry/rbac/BUILD +++ b/pkg/registry/rbac/BUILD @@ -14,7 +14,7 @@ go_library( deps = [ "//pkg/apis/rbac:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/util/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/pkg/registry/rbac/clusterrole/BUILD b/pkg/registry/rbac/clusterrole/BUILD index e1af985939a..e45ba9bb13f 100644 --- a/pkg/registry/rbac/clusterrole/BUILD +++ b/pkg/registry/rbac/clusterrole/BUILD @@ -18,16 +18,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/registry/rbac/clusterrole/etcd/BUILD b/pkg/registry/rbac/clusterrole/etcd/BUILD index 6c186c55e20..092c0b6aa24 100644 --- a/pkg/registry/rbac/clusterrole/etcd/BUILD +++ b/pkg/registry/rbac/clusterrole/etcd/BUILD @@ -16,7 +16,7 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/rbac/clusterrole:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/rbac/clusterrole/etcd/etcd.go b/pkg/registry/rbac/clusterrole/etcd/etcd.go index a6543f059de..253cfa25b9a 100644 --- a/pkg/registry/rbac/clusterrole/etcd/etcd.go +++ b/pkg/registry/rbac/clusterrole/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ClusterRole against etcd diff --git a/pkg/registry/rbac/clusterrole/policybased/BUILD b/pkg/registry/rbac/clusterrole/policybased/BUILD index 42cc90df16b..34c298f4496 100644 --- a/pkg/registry/rbac/clusterrole/policybased/BUILD +++ b/pkg/registry/rbac/clusterrole/policybased/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/rbac:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/rbac/clusterrole/policybased/storage.go b/pkg/registry/rbac/clusterrole/policybased/storage.go index 6fae1d8f65e..c0d9e58be57 100644 --- a/pkg/registry/rbac/clusterrole/policybased/storage.go +++ b/pkg/registry/rbac/clusterrole/policybased/storage.go @@ -18,13 +18,13 @@ limitations under the License. package policybased import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" rbacregistry "k8s.io/kubernetes/pkg/registry/rbac" - "k8s.io/kubernetes/pkg/runtime" ) var groupResource = rbac.Resource("clusterroles") diff --git a/pkg/registry/rbac/clusterrole/registry.go b/pkg/registry/rbac/clusterrole/registry.go index e1c04ba7912..1bc3fc90706 100644 --- a/pkg/registry/rbac/clusterrole/registry.go +++ b/pkg/registry/rbac/clusterrole/registry.go @@ -17,12 +17,12 @@ limitations under the License. package clusterrole import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/rbac" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store ClusterRoles. diff --git a/pkg/registry/rbac/clusterrole/strategy.go b/pkg/registry/rbac/clusterrole/strategy.go index 03da20ecea8..32ec5b23ede 100644 --- a/pkg/registry/rbac/clusterrole/strategy.go +++ b/pkg/registry/rbac/clusterrole/strategy.go @@ -19,16 +19,16 @@ package clusterrole import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for ClusterRoles diff --git a/pkg/registry/rbac/clusterrolebinding/BUILD b/pkg/registry/rbac/clusterrolebinding/BUILD index bd8ca66119b..681ee8add8a 100644 --- a/pkg/registry/rbac/clusterrolebinding/BUILD +++ b/pkg/registry/rbac/clusterrolebinding/BUILD @@ -18,16 +18,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/registry/rbac/clusterrolebinding/etcd/BUILD b/pkg/registry/rbac/clusterrolebinding/etcd/BUILD index cffc0085e51..70b104d2f96 100644 --- a/pkg/registry/rbac/clusterrolebinding/etcd/BUILD +++ b/pkg/registry/rbac/clusterrolebinding/etcd/BUILD @@ -16,7 +16,7 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/rbac/clusterrolebinding:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go b/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go index 8a723835d35..ab4a2b98ac6 100644 --- a/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go +++ b/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ClusterRoleBinding against etcd diff --git a/pkg/registry/rbac/clusterrolebinding/policybased/BUILD b/pkg/registry/rbac/clusterrolebinding/policybased/BUILD index 6ee5ca3efe8..3e30504e428 100644 --- a/pkg/registry/rbac/clusterrolebinding/policybased/BUILD +++ b/pkg/registry/rbac/clusterrolebinding/policybased/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/rbac:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) diff --git a/pkg/registry/rbac/clusterrolebinding/policybased/storage.go b/pkg/registry/rbac/clusterrolebinding/policybased/storage.go index 3413907d709..38299a109a9 100644 --- a/pkg/registry/rbac/clusterrolebinding/policybased/storage.go +++ b/pkg/registry/rbac/clusterrolebinding/policybased/storage.go @@ -18,6 +18,7 @@ limitations under the License. package policybased import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" @@ -25,7 +26,6 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" rbacregistry "k8s.io/kubernetes/pkg/registry/rbac" - "k8s.io/kubernetes/pkg/runtime" ) var groupResource = rbac.Resource("clusterrolebindings") diff --git a/pkg/registry/rbac/clusterrolebinding/registry.go b/pkg/registry/rbac/clusterrolebinding/registry.go index 1662b537fdd..725e4f4b234 100644 --- a/pkg/registry/rbac/clusterrolebinding/registry.go +++ b/pkg/registry/rbac/clusterrolebinding/registry.go @@ -17,12 +17,12 @@ limitations under the License. package clusterrolebinding import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/rbac" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store ClusterRoleBindings. diff --git a/pkg/registry/rbac/clusterrolebinding/strategy.go b/pkg/registry/rbac/clusterrolebinding/strategy.go index cb4bdb36e93..3fdf568ccfd 100644 --- a/pkg/registry/rbac/clusterrolebinding/strategy.go +++ b/pkg/registry/rbac/clusterrolebinding/strategy.go @@ -19,16 +19,16 @@ package clusterrolebinding import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for ClusterRoleBindings diff --git a/pkg/registry/rbac/escalation_check.go b/pkg/registry/rbac/escalation_check.go index 5e07568ec07..fee7fd6961d 100644 --- a/pkg/registry/rbac/escalation_check.go +++ b/pkg/registry/rbac/escalation_check.go @@ -19,11 +19,11 @@ package rbac import ( "fmt" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/apis/rbac" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" ) func EscalationAllowed(ctx genericapirequest.Context) bool { diff --git a/pkg/registry/rbac/rest/BUILD b/pkg/registry/rbac/rest/BUILD index c57f686cb51..b32d88e7588 100644 --- a/pkg/registry/rbac/rest/BUILD +++ b/pkg/registry/rbac/rest/BUILD @@ -32,10 +32,10 @@ go_library( "//pkg/registry/rbac/rolebinding:go_default_library", "//pkg/registry/rbac/rolebinding/etcd:go_default_library", "//pkg/registry/rbac/rolebinding/policybased:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/wait:go_default_library", "//plugin/pkg/auth/authorizer/rbac/bootstrappolicy:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) diff --git a/pkg/registry/rbac/rest/storage_rbac.go b/pkg/registry/rbac/rest/storage_rbac.go index cc6f71bb856..114839d4bc8 100644 --- a/pkg/registry/rbac/rest/storage_rbac.go +++ b/pkg/registry/rbac/rest/storage_rbac.go @@ -23,6 +23,8 @@ import ( "github.com/golang/glog" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" @@ -44,8 +46,6 @@ import ( "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" rolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/etcd" rolebindingpolicybased "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/policybased" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy" ) diff --git a/pkg/registry/rbac/role/BUILD b/pkg/registry/rbac/role/BUILD index f99c76b2722..e5b5ed01857 100644 --- a/pkg/registry/rbac/role/BUILD +++ b/pkg/registry/rbac/role/BUILD @@ -18,16 +18,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/registry/rbac/role/etcd/BUILD b/pkg/registry/rbac/role/etcd/BUILD index be4d2cbc8d3..3991df234b2 100644 --- a/pkg/registry/rbac/role/etcd/BUILD +++ b/pkg/registry/rbac/role/etcd/BUILD @@ -16,7 +16,7 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/rbac/role:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/rbac/role/etcd/etcd.go b/pkg/registry/rbac/role/etcd/etcd.go index 8a441884f1f..85be6b1eff2 100644 --- a/pkg/registry/rbac/role/etcd/etcd.go +++ b/pkg/registry/rbac/role/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/role" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for Role against etcd diff --git a/pkg/registry/rbac/role/policybased/BUILD b/pkg/registry/rbac/role/policybased/BUILD index 42cc90df16b..34c298f4496 100644 --- a/pkg/registry/rbac/role/policybased/BUILD +++ b/pkg/registry/rbac/role/policybased/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/rbac:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/rbac/role/policybased/storage.go b/pkg/registry/rbac/role/policybased/storage.go index 3890294fb2c..9e1a618e0b0 100644 --- a/pkg/registry/rbac/role/policybased/storage.go +++ b/pkg/registry/rbac/role/policybased/storage.go @@ -18,13 +18,13 @@ limitations under the License. package policybased import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" rbacregistry "k8s.io/kubernetes/pkg/registry/rbac" - "k8s.io/kubernetes/pkg/runtime" ) var groupResource = rbac.Resource("roles") diff --git a/pkg/registry/rbac/role/registry.go b/pkg/registry/rbac/role/registry.go index b4807a3d6de..cb29de7e2b1 100644 --- a/pkg/registry/rbac/role/registry.go +++ b/pkg/registry/rbac/role/registry.go @@ -17,12 +17,12 @@ limitations under the License. package role import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/rbac" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store Roles. diff --git a/pkg/registry/rbac/role/strategy.go b/pkg/registry/rbac/role/strategy.go index e4ea2cf282c..35baf3153b1 100644 --- a/pkg/registry/rbac/role/strategy.go +++ b/pkg/registry/rbac/role/strategy.go @@ -19,16 +19,16 @@ package role import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for Roles diff --git a/pkg/registry/rbac/rolebinding/BUILD b/pkg/registry/rbac/rolebinding/BUILD index ad4abf85106..5d6f357c5ba 100644 --- a/pkg/registry/rbac/rolebinding/BUILD +++ b/pkg/registry/rbac/rolebinding/BUILD @@ -18,16 +18,16 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/registry/rbac/rolebinding/etcd/BUILD b/pkg/registry/rbac/rolebinding/etcd/BUILD index 711cbccafd1..8805e01059e 100644 --- a/pkg/registry/rbac/rolebinding/etcd/BUILD +++ b/pkg/registry/rbac/rolebinding/etcd/BUILD @@ -16,7 +16,7 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/rbac/rolebinding:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/rbac/rolebinding/etcd/etcd.go b/pkg/registry/rbac/rolebinding/etcd/etcd.go index 09495793785..c427dc87faf 100644 --- a/pkg/registry/rbac/rolebinding/etcd/etcd.go +++ b/pkg/registry/rbac/rolebinding/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" - "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for RoleBinding against etcd diff --git a/pkg/registry/rbac/rolebinding/policybased/BUILD b/pkg/registry/rbac/rolebinding/policybased/BUILD index 6ee5ca3efe8..3e30504e428 100644 --- a/pkg/registry/rbac/rolebinding/policybased/BUILD +++ b/pkg/registry/rbac/rolebinding/policybased/BUILD @@ -18,7 +18,7 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", "//pkg/registry/rbac:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) diff --git a/pkg/registry/rbac/rolebinding/policybased/storage.go b/pkg/registry/rbac/rolebinding/policybased/storage.go index 4f86b543fdb..e30c8ce8666 100644 --- a/pkg/registry/rbac/rolebinding/policybased/storage.go +++ b/pkg/registry/rbac/rolebinding/policybased/storage.go @@ -18,6 +18,7 @@ limitations under the License. package policybased import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" @@ -25,7 +26,6 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac/validation" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" rbacregistry "k8s.io/kubernetes/pkg/registry/rbac" - "k8s.io/kubernetes/pkg/runtime" ) var groupResource = rbac.Resource("rolebindings") diff --git a/pkg/registry/rbac/rolebinding/registry.go b/pkg/registry/rbac/rolebinding/registry.go index 337badca98e..ed108fe4420 100644 --- a/pkg/registry/rbac/rolebinding/registry.go +++ b/pkg/registry/rbac/rolebinding/registry.go @@ -17,12 +17,12 @@ limitations under the License. package rolebinding import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/rbac" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store RoleBindings. diff --git a/pkg/registry/rbac/rolebinding/strategy.go b/pkg/registry/rbac/rolebinding/strategy.go index 6c919216da3..d1ebdce8aa7 100644 --- a/pkg/registry/rbac/rolebinding/strategy.go +++ b/pkg/registry/rbac/rolebinding/strategy.go @@ -19,16 +19,16 @@ package rolebinding import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // strategy implements behavior for RoleBindings diff --git a/pkg/registry/registrytest/BUILD b/pkg/registry/registrytest/BUILD index 4d8b1b8f503..4329da051e5 100644 --- a/pkg/registry/registrytest/BUILD +++ b/pkg/registry/registrytest/BUILD @@ -20,21 +20,21 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/rest/resttest:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/storage/testing:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/registry/registrytest/endpoint.go b/pkg/registry/registrytest/endpoint.go index a5a38433586..22af918bc3a 100644 --- a/pkg/registry/registrytest/endpoint.go +++ b/pkg/registry/registrytest/endpoint.go @@ -20,11 +20,11 @@ import ( "fmt" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // Registry is an interface for things that know how to store endpoints. diff --git a/pkg/registry/registrytest/etcd.go b/pkg/registry/registrytest/etcd.go index 07f69a80646..cb2ea728a41 100644 --- a/pkg/registry/registrytest/etcd.go +++ b/pkg/registry/registrytest/etcd.go @@ -20,18 +20,18 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/rest/resttest" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime" etcdstorage "k8s.io/kubernetes/pkg/storage/etcd" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" "k8s.io/kubernetes/pkg/storage/storagebackend" diff --git a/pkg/registry/registrytest/node.go b/pkg/registry/registrytest/node.go index e7c2b905c00..7478ae8cd38 100644 --- a/pkg/registry/registrytest/node.go +++ b/pkg/registry/registrytest/node.go @@ -19,11 +19,11 @@ package registrytest import ( "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) // NodeRegistry implements node.Registry interface. diff --git a/pkg/registry/registrytest/service.go b/pkg/registry/registrytest/service.go index ad49fee4ff4..428df339b3e 100644 --- a/pkg/registry/registrytest/service.go +++ b/pkg/registry/registrytest/service.go @@ -19,10 +19,10 @@ package registrytest import ( "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/watch" ) func NewServiceRegistry() *ServiceRegistry { diff --git a/pkg/registry/storage/storageclass/BUILD b/pkg/registry/storage/storageclass/BUILD index 7c96d9d1cad..1e6b917cc2e 100644 --- a/pkg/registry/storage/storageclass/BUILD +++ b/pkg/registry/storage/storageclass/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/apis/storage/validation:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/registry/storage/storageclass/etcd/BUILD b/pkg/registry/storage/storageclass/etcd/BUILD index b042e1cd6d3..c72ec1224fe 100644 --- a/pkg/registry/storage/storageclass/etcd/BUILD +++ b/pkg/registry/storage/storageclass/etcd/BUILD @@ -17,7 +17,7 @@ go_library( "//pkg/registry/generic:go_default_library", "//pkg/registry/generic/registry:go_default_library", "//pkg/registry/storage/storageclass:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -30,11 +30,11 @@ go_test( "//pkg/api:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/registry/storage/storageclass/etcd/etcd.go b/pkg/registry/storage/storageclass/etcd/etcd.go index 26ccf7450f9..edd0965a35f 100644 --- a/pkg/registry/storage/storageclass/etcd/etcd.go +++ b/pkg/registry/storage/storageclass/etcd/etcd.go @@ -17,11 +17,11 @@ limitations under the License. package etcd import ( + "k8s.io/apimachinery/pkg/runtime" storageapi "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/registry/generic" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/storage/storageclass" - "k8s.io/kubernetes/pkg/runtime" ) type REST struct { diff --git a/pkg/registry/storage/storageclass/etcd/etcd_test.go b/pkg/registry/storage/storageclass/etcd/etcd_test.go index e84d9b28137..dbc61f0fed9 100644 --- a/pkg/registry/storage/storageclass/etcd/etcd_test.go +++ b/pkg/registry/storage/storageclass/etcd/etcd_test.go @@ -19,13 +19,13 @@ package etcd import ( "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" storageapi "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" - "k8s.io/kubernetes/pkg/runtime" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" ) diff --git a/pkg/registry/storage/storageclass/strategy.go b/pkg/registry/storage/storageclass/strategy.go index b02a826ea58..545196007d3 100644 --- a/pkg/registry/storage/storageclass/strategy.go +++ b/pkg/registry/storage/storageclass/strategy.go @@ -19,16 +19,16 @@ package storageclass import ( "fmt" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/apis/storage/validation" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/runtime" apistorage "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/validation/field" ) // storageClassStrategy implements behavior for StorageClass objects diff --git a/pkg/runtime/.readonly b/pkg/runtime/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/BUILD b/pkg/runtime/BUILD index f02faefa98f..1841dd00344 100644 --- a/pkg/runtime/BUILD +++ b/pkg/runtime/BUILD @@ -36,6 +36,7 @@ go_library( "//pkg/runtime/schema:go_default_library", "//pkg/util/errors:go_default_library", "//vendor:github.com/gogo/protobuf/proto", + "//vendor:k8s.io/apimachinery/pkg/conversion", ], ) diff --git a/pkg/runtime/schema/.readonly b/pkg/runtime/schema/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/.readonly b/pkg/runtime/serializer/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/json/.readonly b/pkg/runtime/serializer/json/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/protobuf/.readonly b/pkg/runtime/serializer/protobuf/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/recognizer/.readonly b/pkg/runtime/serializer/recognizer/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/recognizer/testing/.readonly b/pkg/runtime/serializer/recognizer/testing/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/streaming/.readonly b/pkg/runtime/serializer/streaming/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/versioning/.readonly b/pkg/runtime/serializer/versioning/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/serializer/yaml/.readonly b/pkg/runtime/serializer/yaml/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/runtime/zz_generated.deepcopy.go b/pkg/runtime/zz_generated.deepcopy.go index 3b04fd00e26..b75b3ebb226 100644 --- a/pkg/runtime/zz_generated.deepcopy.go +++ b/pkg/runtime/zz_generated.deepcopy.go @@ -21,7 +21,7 @@ limitations under the License. package runtime import ( - conversion "k8s.io/kubernetes/pkg/conversion" + conversion "k8s.io/apimachinery/pkg/conversion" reflect "reflect" ) diff --git a/pkg/security/podsecuritypolicy/BUILD b/pkg/security/podsecuritypolicy/BUILD index e5340290d1f..6e4f454ff9b 100644 --- a/pkg/security/podsecuritypolicy/BUILD +++ b/pkg/security/podsecuritypolicy/BUILD @@ -28,9 +28,9 @@ go_library( "//pkg/security/podsecuritypolicy/sysctl:go_default_library", "//pkg/security/podsecuritypolicy/user:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/maps:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) @@ -46,9 +46,9 @@ go_test( "//pkg/security/apparmor:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/validation/field:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/apparmor/BUILD b/pkg/security/podsecuritypolicy/apparmor/BUILD index 415bc3fc9c5..6e2fdea9a49 100644 --- a/pkg/security/podsecuritypolicy/apparmor/BUILD +++ b/pkg/security/podsecuritypolicy/apparmor/BUILD @@ -16,7 +16,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/util/maps:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/apparmor/strategy.go b/pkg/security/podsecuritypolicy/apparmor/strategy.go index d2a1963e198..47755c80c02 100644 --- a/pkg/security/podsecuritypolicy/apparmor/strategy.go +++ b/pkg/security/podsecuritypolicy/apparmor/strategy.go @@ -20,10 +20,10 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/util/maps" - "k8s.io/kubernetes/pkg/util/validation/field" ) // Strategy defines the interface for all AppArmor constraint strategies. diff --git a/pkg/security/podsecuritypolicy/capabilities/BUILD b/pkg/security/podsecuritypolicy/capabilities/BUILD index 830e47d27c5..9f374958890 100644 --- a/pkg/security/podsecuritypolicy/capabilities/BUILD +++ b/pkg/security/podsecuritypolicy/capabilities/BUILD @@ -18,8 +18,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/capabilities/mustrunas.go b/pkg/security/podsecuritypolicy/capabilities/mustrunas.go index 3758330e6a8..7d8179af253 100644 --- a/pkg/security/podsecuritypolicy/capabilities/mustrunas.go +++ b/pkg/security/podsecuritypolicy/capabilities/mustrunas.go @@ -19,9 +19,9 @@ package capabilities import ( "fmt" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/validation/field" ) // defaultCapabilities implements the Strategy interface diff --git a/pkg/security/podsecuritypolicy/capabilities/types.go b/pkg/security/podsecuritypolicy/capabilities/types.go index 53ba089ebc3..558cfd683d9 100644 --- a/pkg/security/podsecuritypolicy/capabilities/types.go +++ b/pkg/security/podsecuritypolicy/capabilities/types.go @@ -17,8 +17,8 @@ limitations under the License. package capabilities import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // Strategy defines the interface for all cap constraint strategies. diff --git a/pkg/security/podsecuritypolicy/factory.go b/pkg/security/podsecuritypolicy/factory.go index d6d2ba296d8..0fbd8a714a6 100644 --- a/pkg/security/podsecuritypolicy/factory.go +++ b/pkg/security/podsecuritypolicy/factory.go @@ -19,6 +19,7 @@ package podsecuritypolicy import ( "fmt" + "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/apparmor" @@ -28,7 +29,6 @@ import ( "k8s.io/kubernetes/pkg/security/podsecuritypolicy/selinux" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/sysctl" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/user" - "k8s.io/kubernetes/pkg/util/errors" ) type simpleStrategyFactory struct{} diff --git a/pkg/security/podsecuritypolicy/group/BUILD b/pkg/security/podsecuritypolicy/group/BUILD index e1cadbac5ef..677775d3f1c 100644 --- a/pkg/security/podsecuritypolicy/group/BUILD +++ b/pkg/security/podsecuritypolicy/group/BUILD @@ -21,7 +21,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/group/mustrunas.go b/pkg/security/podsecuritypolicy/group/mustrunas.go index a6c64e7627a..086418086b0 100644 --- a/pkg/security/podsecuritypolicy/group/mustrunas.go +++ b/pkg/security/podsecuritypolicy/group/mustrunas.go @@ -19,10 +19,10 @@ package group import ( "fmt" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" - "k8s.io/kubernetes/pkg/util/validation/field" ) // mustRunAs implements the GroupStrategy interface diff --git a/pkg/security/podsecuritypolicy/group/runasany.go b/pkg/security/podsecuritypolicy/group/runasany.go index edf6d0b1246..8dd5100af3d 100644 --- a/pkg/security/podsecuritypolicy/group/runasany.go +++ b/pkg/security/podsecuritypolicy/group/runasany.go @@ -17,8 +17,8 @@ limitations under the License. package group import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // mustRunAs implements the GroupStrategy interface diff --git a/pkg/security/podsecuritypolicy/group/types.go b/pkg/security/podsecuritypolicy/group/types.go index 7d4c2e31d31..fa3a11d97d3 100644 --- a/pkg/security/podsecuritypolicy/group/types.go +++ b/pkg/security/podsecuritypolicy/group/types.go @@ -17,8 +17,8 @@ limitations under the License. package group import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // GroupStrategy defines the interface for all group constraint strategies. diff --git a/pkg/security/podsecuritypolicy/provider.go b/pkg/security/podsecuritypolicy/provider.go index 1d23033ce8f..a267dd250aa 100644 --- a/pkg/security/podsecuritypolicy/provider.go +++ b/pkg/security/podsecuritypolicy/provider.go @@ -19,11 +19,11 @@ package podsecuritypolicy import ( "fmt" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" "k8s.io/kubernetes/pkg/util/maps" - "k8s.io/kubernetes/pkg/util/validation/field" ) // used to pass in the field being validated for reusable group strategies so they diff --git a/pkg/security/podsecuritypolicy/provider_test.go b/pkg/security/podsecuritypolicy/provider_test.go index 26e5749cc2b..d35af12fff1 100644 --- a/pkg/security/podsecuritypolicy/provider_test.go +++ b/pkg/security/podsecuritypolicy/provider_test.go @@ -24,14 +24,14 @@ import ( "github.com/davecgh/go-spew/spew" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/security/apparmor" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/seccomp" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/validation/field" ) const defaultContainerName = "test-c" diff --git a/pkg/security/podsecuritypolicy/seccomp/BUILD b/pkg/security/podsecuritypolicy/seccomp/BUILD index 5561cd46052..a3b2276f2e9 100644 --- a/pkg/security/podsecuritypolicy/seccomp/BUILD +++ b/pkg/security/podsecuritypolicy/seccomp/BUILD @@ -14,7 +14,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/seccomp/strategy.go b/pkg/security/podsecuritypolicy/seccomp/strategy.go index fd0b32e6573..aaeb0c1f363 100644 --- a/pkg/security/podsecuritypolicy/seccomp/strategy.go +++ b/pkg/security/podsecuritypolicy/seccomp/strategy.go @@ -20,8 +20,8 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) const ( diff --git a/pkg/security/podsecuritypolicy/selinux/BUILD b/pkg/security/podsecuritypolicy/selinux/BUILD index 6e91fadd05a..e06e8de356d 100644 --- a/pkg/security/podsecuritypolicy/selinux/BUILD +++ b/pkg/security/podsecuritypolicy/selinux/BUILD @@ -20,7 +20,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/selinux/mustrunas.go b/pkg/security/podsecuritypolicy/selinux/mustrunas.go index 4b1f30ee5e9..684f7bb9669 100644 --- a/pkg/security/podsecuritypolicy/selinux/mustrunas.go +++ b/pkg/security/podsecuritypolicy/selinux/mustrunas.go @@ -19,9 +19,9 @@ package selinux import ( "fmt" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/util/validation/field" ) type mustRunAs struct { diff --git a/pkg/security/podsecuritypolicy/selinux/runasany.go b/pkg/security/podsecuritypolicy/selinux/runasany.go index 5203b9a303f..711336fc595 100644 --- a/pkg/security/podsecuritypolicy/selinux/runasany.go +++ b/pkg/security/podsecuritypolicy/selinux/runasany.go @@ -17,9 +17,9 @@ limitations under the License. package selinux import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/util/validation/field" ) // runAsAny implements the SELinuxStrategy interface. diff --git a/pkg/security/podsecuritypolicy/selinux/types.go b/pkg/security/podsecuritypolicy/selinux/types.go index b93acba27b4..043a3efe020 100644 --- a/pkg/security/podsecuritypolicy/selinux/types.go +++ b/pkg/security/podsecuritypolicy/selinux/types.go @@ -17,8 +17,8 @@ limitations under the License. package selinux import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // SELinuxStrategy defines the interface for all SELinux constraint strategies. diff --git a/pkg/security/podsecuritypolicy/sysctl/BUILD b/pkg/security/podsecuritypolicy/sysctl/BUILD index 939de14a57a..767ec5543db 100644 --- a/pkg/security/podsecuritypolicy/sysctl/BUILD +++ b/pkg/security/podsecuritypolicy/sysctl/BUILD @@ -17,7 +17,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/sysctl/mustmatchpatterns.go b/pkg/security/podsecuritypolicy/sysctl/mustmatchpatterns.go index f7480e42978..e498c3c16f8 100644 --- a/pkg/security/podsecuritypolicy/sysctl/mustmatchpatterns.go +++ b/pkg/security/podsecuritypolicy/sysctl/mustmatchpatterns.go @@ -20,8 +20,8 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // mustMatchPatterns implements the CapabilitiesStrategy interface diff --git a/pkg/security/podsecuritypolicy/sysctl/types.go b/pkg/security/podsecuritypolicy/sysctl/types.go index 6d41ed14c6b..ee9291bfb76 100644 --- a/pkg/security/podsecuritypolicy/sysctl/types.go +++ b/pkg/security/podsecuritypolicy/sysctl/types.go @@ -17,8 +17,8 @@ limitations under the License. package sysctl import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // SysctlsStrategy defines the interface for all sysctl strategies. diff --git a/pkg/security/podsecuritypolicy/types.go b/pkg/security/podsecuritypolicy/types.go index e97d046c5d6..d067a0325bf 100644 --- a/pkg/security/podsecuritypolicy/types.go +++ b/pkg/security/podsecuritypolicy/types.go @@ -17,6 +17,7 @@ limitations under the License. package podsecuritypolicy import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/apparmor" @@ -26,7 +27,6 @@ import ( "k8s.io/kubernetes/pkg/security/podsecuritypolicy/selinux" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/sysctl" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/user" - "k8s.io/kubernetes/pkg/util/validation/field" ) // Provider provides the implementation to generate a new security diff --git a/pkg/security/podsecuritypolicy/user/BUILD b/pkg/security/podsecuritypolicy/user/BUILD index 6267299d37e..d47c74cb5a7 100644 --- a/pkg/security/podsecuritypolicy/user/BUILD +++ b/pkg/security/podsecuritypolicy/user/BUILD @@ -22,7 +22,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//pkg/util/validation/field:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], ) diff --git a/pkg/security/podsecuritypolicy/user/mustrunas.go b/pkg/security/podsecuritypolicy/user/mustrunas.go index 26da58cab70..e68be43c3f1 100644 --- a/pkg/security/podsecuritypolicy/user/mustrunas.go +++ b/pkg/security/podsecuritypolicy/user/mustrunas.go @@ -19,10 +19,10 @@ package user import ( "fmt" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" - "k8s.io/kubernetes/pkg/util/validation/field" ) // mustRunAs implements the RunAsUserStrategy interface diff --git a/pkg/security/podsecuritypolicy/user/nonroot.go b/pkg/security/podsecuritypolicy/user/nonroot.go index 8a7afe24618..84f2deb1477 100644 --- a/pkg/security/podsecuritypolicy/user/nonroot.go +++ b/pkg/security/podsecuritypolicy/user/nonroot.go @@ -19,9 +19,9 @@ package user import ( "fmt" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/util/validation/field" ) type nonRoot struct{} diff --git a/pkg/security/podsecuritypolicy/user/runasany.go b/pkg/security/podsecuritypolicy/user/runasany.go index 052b00ed64b..ffee679320d 100644 --- a/pkg/security/podsecuritypolicy/user/runasany.go +++ b/pkg/security/podsecuritypolicy/user/runasany.go @@ -17,9 +17,9 @@ limitations under the License. package user import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/util/validation/field" ) // runAsAny implements the interface RunAsUserStrategy. diff --git a/pkg/security/podsecuritypolicy/user/types.go b/pkg/security/podsecuritypolicy/user/types.go index 21cd18ab1e8..8e754c32f6c 100644 --- a/pkg/security/podsecuritypolicy/user/types.go +++ b/pkg/security/podsecuritypolicy/user/types.go @@ -17,8 +17,8 @@ limitations under the License. package user import ( + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation/field" ) // RunAsUserStrategy defines the interface for all uid constraint strategies. diff --git a/pkg/security/podsecuritypolicy/util/BUILD b/pkg/security/podsecuritypolicy/util/BUILD index bcb13e2f20d..0b13643d847 100644 --- a/pkg/security/podsecuritypolicy/util/BUILD +++ b/pkg/security/podsecuritypolicy/util/BUILD @@ -18,7 +18,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/security/podsecuritypolicy/util/util.go b/pkg/security/podsecuritypolicy/util/util.go index 427df332048..95408ee8f94 100644 --- a/pkg/security/podsecuritypolicy/util/util.go +++ b/pkg/security/podsecuritypolicy/util/util.go @@ -19,9 +19,9 @@ package util import ( "fmt" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/pkg/selection/.readonly b/pkg/selection/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/storage/BUILD b/pkg/storage/BUILD index 40aa07d4a34..cbd7fadb643 100644 --- a/pkg/storage/BUILD +++ b/pkg/storage/BUILD @@ -24,24 +24,24 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation/path:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -60,16 +60,16 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -80,23 +80,23 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", "//pkg/registry/core/pod:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd:go_default_library", "//pkg/storage/etcd/etcdtest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/etcd3:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/storage/cacher.go b/pkg/storage/cacher.go index ceaa203309b..3b0d26ce1e6 100644 --- a/pkg/storage/cacher.go +++ b/pkg/storage/cacher.go @@ -24,20 +24,20 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "github.com/golang/glog" "golang.org/x/net/context" diff --git a/pkg/storage/cacher_test.go b/pkg/storage/cacher_test.go index b917bd337cd..fbc92e4b22d 100644 --- a/pkg/storage/cacher_test.go +++ b/pkg/storage/cacher_test.go @@ -24,24 +24,24 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" corepod "k8s.io/kubernetes/pkg/registry/core/pod" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" etcdstorage "k8s.io/kubernetes/pkg/storage/etcd" "k8s.io/kubernetes/pkg/storage/etcd/etcdtest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" "k8s.io/kubernetes/pkg/storage/etcd3" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "golang.org/x/net/context" ) diff --git a/pkg/storage/cacher_whitebox_test.go b/pkg/storage/cacher_whitebox_test.go index d9c50a6a9f5..c111adda72d 100644 --- a/pkg/storage/cacher_whitebox_test.go +++ b/pkg/storage/cacher_whitebox_test.go @@ -21,10 +21,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" ) // verifies the cacheWatcher.process goroutine is properly cleaned up even if diff --git a/pkg/storage/errors.go b/pkg/storage/errors.go index 7c1fbb507b1..7d91bfd2633 100644 --- a/pkg/storage/errors.go +++ b/pkg/storage/errors.go @@ -19,7 +19,7 @@ package storage import ( "fmt" - "k8s.io/kubernetes/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/util/validation/field" ) const ( diff --git a/pkg/storage/etcd/BUILD b/pkg/storage/etcd/BUILD index 104bab5606d..33b2b11c274 100644 --- a/pkg/storage/etcd/BUILD +++ b/pkg/storage/etcd/BUILD @@ -19,20 +19,20 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd/metrics:go_default_library", "//pkg/storage/etcd/util:go_default_library", "//pkg/util:go_default_library", "//pkg/util/cache:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -50,19 +50,19 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/conversion:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/serializer:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd/etcdtest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/testing:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/storage/etcd/api_object_versioner.go b/pkg/storage/etcd/api_object_versioner.go index 59839b9367b..0200e14dfee 100644 --- a/pkg/storage/etcd/api_object_versioner.go +++ b/pkg/storage/etcd/api_object_versioner.go @@ -19,9 +19,9 @@ package etcd import ( "strconv" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/storage/etcd/etcd_helper.go b/pkg/storage/etcd/etcd_helper.go index f476c75afaf..41a3b768267 100644 --- a/pkg/storage/etcd/etcd_helper.go +++ b/pkg/storage/etcd/etcd_helper.go @@ -23,16 +23,16 @@ import ( "reflect" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/etcd/metrics" etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" "k8s.io/kubernetes/pkg/util" utilcache "k8s.io/kubernetes/pkg/util/cache" - "k8s.io/kubernetes/pkg/watch" etcd "github.com/coreos/etcd/client" "github.com/golang/glog" diff --git a/pkg/storage/etcd/etcd_helper_test.go b/pkg/storage/etcd/etcd_helper_test.go index 66353274898..2a23472582b 100644 --- a/pkg/storage/etcd/etcd_helper_test.go +++ b/pkg/storage/etcd/etcd_helper_test.go @@ -25,16 +25,16 @@ import ( etcd "github.com/coreos/etcd/client" "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" apiv1 "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/etcd/etcdtest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" diff --git a/pkg/storage/etcd/etcd_watcher.go b/pkg/storage/etcd/etcd_watcher.go index 9d1547174b9..8b2689f8970 100644 --- a/pkg/storage/etcd/etcd_watcher.go +++ b/pkg/storage/etcd/etcd_watcher.go @@ -23,12 +23,12 @@ import ( "sync" "time" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/storage" etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/watch" etcd "github.com/coreos/etcd/client" "github.com/golang/glog" diff --git a/pkg/storage/etcd/etcd_watcher_test.go b/pkg/storage/etcd/etcd_watcher_test.go index 51c840839ee..359ff3fe121 100644 --- a/pkg/storage/etcd/etcd_watcher_test.go +++ b/pkg/storage/etcd/etcd_watcher_test.go @@ -20,13 +20,13 @@ import ( rt "runtime" "testing" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/etcd/etcdtest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" - "k8s.io/kubernetes/pkg/watch" etcd "github.com/coreos/etcd/client" "golang.org/x/net/context" diff --git a/pkg/storage/etcd/testing/BUILD b/pkg/storage/etcd/testing/BUILD index 3b378924b48..03c0cc7ab39 100644 --- a/pkg/storage/etcd/testing/BUILD +++ b/pkg/storage/etcd/testing/BUILD @@ -15,7 +15,6 @@ go_library( "//pkg/storage/etcd/etcdtest:go_default_library", "//pkg/storage/etcd/testing/testingcert:go_default_library", "//pkg/storage/storagebackend:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:github.com/coreos/etcd/clientv3", "//vendor:github.com/coreos/etcd/etcdserver", @@ -26,6 +25,7 @@ go_library( "//vendor:github.com/coreos/etcd/pkg/types", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/storage/etcd/testing/utils.go b/pkg/storage/etcd/testing/utils.go index 679a624bb2a..387c3650629 100644 --- a/pkg/storage/etcd/testing/utils.go +++ b/pkg/storage/etcd/testing/utils.go @@ -27,10 +27,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/storage/etcd/etcdtest" "k8s.io/kubernetes/pkg/storage/etcd/testing/testingcert" "k8s.io/kubernetes/pkg/storage/storagebackend" - "k8s.io/kubernetes/pkg/util/wait" etcd "github.com/coreos/etcd/client" "github.com/coreos/etcd/clientv3" diff --git a/pkg/storage/etcd3/BUILD b/pkg/storage/etcd3/BUILD index 77f15d2fd54..66848682d04 100644 --- a/pkg/storage/etcd3/BUILD +++ b/pkg/storage/etcd3/BUILD @@ -19,19 +19,19 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/conversion:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd:go_default_library", "//pkg/util:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/coreos/etcd/clientv3", "//vendor:github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", "//vendor:github.com/coreos/etcd/mvcc/mvccpb", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -47,18 +47,18 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/coreos/etcd/clientv3", "//vendor:github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", "//vendor:github.com/coreos/etcd/integration", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/storage/etcd3/store.go b/pkg/storage/etcd3/store.go index f9b8a416173..809d94f7a26 100644 --- a/pkg/storage/etcd3/store.go +++ b/pkg/storage/etcd3/store.go @@ -25,14 +25,14 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/conversion" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/etcd" "k8s.io/kubernetes/pkg/util" - "k8s.io/kubernetes/pkg/watch" "github.com/coreos/etcd/clientv3" "github.com/golang/glog" diff --git a/pkg/storage/etcd3/store_test.go b/pkg/storage/etcd3/store_test.go index cc9d51ca8cc..5de7a91e227 100644 --- a/pkg/storage/etcd3/store_test.go +++ b/pkg/storage/etcd3/store_test.go @@ -22,16 +22,16 @@ import ( "sync" "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "github.com/coreos/etcd/integration" "golang.org/x/net/context" - "k8s.io/kubernetes/pkg/watch" + "k8s.io/apimachinery/pkg/watch" ) func TestCreate(t *testing.T) { diff --git a/pkg/storage/etcd3/watcher.go b/pkg/storage/etcd3/watcher.go index e6b5aedd26b..f2654b57934 100644 --- a/pkg/storage/etcd3/watcher.go +++ b/pkg/storage/etcd3/watcher.go @@ -22,10 +22,10 @@ import ( "strings" "sync" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/watch" "github.com/coreos/etcd/clientv3" etcdrpc "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes" diff --git a/pkg/storage/etcd3/watcher_test.go b/pkg/storage/etcd3/watcher_test.go index c35e7ba5255..447bcc1d072 100644 --- a/pkg/storage/etcd3/watcher_test.go +++ b/pkg/storage/etcd3/watcher_test.go @@ -28,16 +28,16 @@ import ( "github.com/coreos/etcd/clientv3" "github.com/coreos/etcd/integration" "golang.org/x/net/context" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) func TestWatch(t *testing.T) { diff --git a/pkg/storage/interfaces.go b/pkg/storage/interfaces.go index 801bbecddeb..75569c38071 100644 --- a/pkg/storage/interfaces.go +++ b/pkg/storage/interfaces.go @@ -18,11 +18,11 @@ package storage import ( "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/watch" ) // Versioner abstracts setting and retrieving metadata fields from database response diff --git a/pkg/storage/selection_predicate.go b/pkg/storage/selection_predicate.go index c4e6a9514b9..59dd7830671 100644 --- a/pkg/storage/selection_predicate.go +++ b/pkg/storage/selection_predicate.go @@ -17,9 +17,9 @@ limitations under the License. package storage import ( + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" ) // AttrFunc returns label and field sets for List or Watch to match. diff --git a/pkg/storage/selection_predicate_test.go b/pkg/storage/selection_predicate_test.go index 5867808e165..edf78a5fba3 100644 --- a/pkg/storage/selection_predicate_test.go +++ b/pkg/storage/selection_predicate_test.go @@ -20,10 +20,10 @@ import ( "errors" "testing" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) type Ignored struct { diff --git a/pkg/storage/storagebackend/BUILD b/pkg/storage/storagebackend/BUILD index a8e715611bb..8da4ddcf4c6 100644 --- a/pkg/storage/storagebackend/BUILD +++ b/pkg/storage/storagebackend/BUILD @@ -11,7 +11,7 @@ go_library( name = "go_default_library", srcs = ["config.go"], tags = ["automanaged"], - deps = ["//pkg/runtime:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/runtime"], ) filegroup( diff --git a/pkg/storage/storagebackend/config.go b/pkg/storage/storagebackend/config.go index b874505ed60..470a99e87d4 100644 --- a/pkg/storage/storagebackend/config.go +++ b/pkg/storage/storagebackend/config.go @@ -16,7 +16,7 @@ limitations under the License. package storagebackend -import "k8s.io/kubernetes/pkg/runtime" +import "k8s.io/apimachinery/pkg/runtime" const ( StorageTypeUnset = "" diff --git a/pkg/storage/storagebackend/factory/BUILD b/pkg/storage/storagebackend/factory/BUILD index c412e5a0b29..ce4050b6861 100644 --- a/pkg/storage/storagebackend/factory/BUILD +++ b/pkg/storage/storagebackend/factory/BUILD @@ -21,11 +21,11 @@ go_library( "//pkg/storage/etcd:go_default_library", "//pkg/storage/etcd3:go_default_library", "//pkg/storage/storagebackend:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:github.com/coreos/etcd/clientv3", "//vendor:github.com/coreos/etcd/pkg/transport", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/util/net", ], ) diff --git a/pkg/storage/storagebackend/factory/etcd2.go b/pkg/storage/storagebackend/factory/etcd2.go index 8a572460339..e24dfbd1925 100644 --- a/pkg/storage/storagebackend/factory/etcd2.go +++ b/pkg/storage/storagebackend/factory/etcd2.go @@ -24,10 +24,10 @@ import ( etcd2client "github.com/coreos/etcd/client" "github.com/coreos/etcd/pkg/transport" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/etcd" "k8s.io/kubernetes/pkg/storage/storagebackend" - utilnet "k8s.io/kubernetes/pkg/util/net" ) func newETCD2Storage(c storagebackend.Config) (storage.Interface, DestroyFunc, error) { diff --git a/pkg/storage/testing/BUILD b/pkg/storage/testing/BUILD index 7b0a627138e..0b70d657764 100644 --- a/pkg/storage/testing/BUILD +++ b/pkg/storage/testing/BUILD @@ -16,15 +16,15 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/storage:go_default_library", - "//pkg/types:go_default_library", "//vendor:github.com/ugorji/go/codec", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/storage/testing/types.generated.go b/pkg/storage/testing/types.generated.go index e84390460aa..61c64c0cfdc 100644 --- a/pkg/storage/testing/types.generated.go +++ b/pkg/storage/testing/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + pkg3_types "k8s.io/apimachinery/pkg/types" pkg2_v1 "k8s.io/kubernetes/pkg/api/v1" - pkg1_v1 "k8s.io/kubernetes/pkg/apis/meta/v1" - pkg3_types "k8s.io/kubernetes/pkg/types" "reflect" "runtime" time "time" @@ -63,9 +63,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.ObjectMeta - var v1 pkg1_v1.TypeMeta - var v2 pkg3_types.UID + var v0 pkg1_v1.TypeMeta + var v1 pkg3_types.UID + var v2 pkg2_v1.ObjectMeta var v3 time.Time _, _, _, _ = v0, v1, v2, v3 } diff --git a/pkg/storage/testing/types.go b/pkg/storage/testing/types.go index 690b1ab3b69..40ddcb4c02c 100644 --- a/pkg/storage/testing/types.go +++ b/pkg/storage/testing/types.go @@ -17,9 +17,9 @@ limitations under the License. package testing import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" ) type TestResource struct { diff --git a/pkg/storage/testing/utils.go b/pkg/storage/testing/utils.go index a65cff7d2eb..956586a29ee 100644 --- a/pkg/storage/testing/utils.go +++ b/pkg/storage/testing/utils.go @@ -20,8 +20,8 @@ import ( "path" "golang.org/x/net/context" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/storage/util.go b/pkg/storage/util.go index 0a2da7df21c..70dd1aed1fa 100644 --- a/pkg/storage/util.go +++ b/pkg/storage/util.go @@ -24,10 +24,10 @@ import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api/validation/path" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/validation/field" ) type SimpleUpdateFunc func(runtime.Object) (runtime.Object, error) diff --git a/pkg/storage/watch_cache.go b/pkg/storage/watch_cache.go index 15847352123..5f8f0999560 100644 --- a/pkg/storage/watch_cache.go +++ b/pkg/storage/watch_cache.go @@ -23,15 +23,15 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/pkg/storage/watch_cache_test.go b/pkg/storage/watch_cache_test.go index 87f03be3898..3f44df3604a 100644 --- a/pkg/storage/watch_cache_test.go +++ b/pkg/storage/watch_cache_test.go @@ -21,18 +21,18 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" ) func makeTestPod(name string, resourceVersion uint64) *api.Pod { diff --git a/pkg/types/.readonly b/pkg/types/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/BUILD b/pkg/util/BUILD index 91bac880129..08a083f7d9b 100644 --- a/pkg/util/BUILD +++ b/pkg/util/BUILD @@ -31,8 +31,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/util/diff:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/util/diff", ], ) diff --git a/pkg/util/bandwidth/BUILD b/pkg/util/bandwidth/BUILD index 6348b6e657d..7036489be48 100644 --- a/pkg/util/bandwidth/BUILD +++ b/pkg/util/bandwidth/BUILD @@ -21,8 +21,8 @@ go_library( deps = [ "//pkg/api/resource:go_default_library", "//pkg/util/exec:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/util/bandwidth/linux.go b/pkg/util/bandwidth/linux.go index 13d6a7e58e0..3e3ba64119c 100644 --- a/pkg/util/bandwidth/linux.go +++ b/pkg/util/bandwidth/linux.go @@ -26,9 +26,9 @@ import ( "net" "strings" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/sets" "github.com/golang/glog" ) diff --git a/pkg/util/config/BUILD b/pkg/util/config/BUILD index d557c452017..cdb5ee4246c 100644 --- a/pkg/util/config/BUILD +++ b/pkg/util/config/BUILD @@ -19,9 +19,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 30defee87da..c789daa2283 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -19,7 +19,7 @@ package config import ( "sync" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/util/wait" ) type Merger interface { diff --git a/pkg/util/diff/.readonly b/pkg/util/diff/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/errors/.readonly b/pkg/util/errors/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/framer/.readonly b/pkg/util/framer/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/goroutinemap/BUILD b/pkg/util/goroutinemap/BUILD index 62cfd952eed..8ed38944d97 100644 --- a/pkg/util/goroutinemap/BUILD +++ b/pkg/util/goroutinemap/BUILD @@ -14,8 +14,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/goroutinemap/exponentialbackoff:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -24,7 +24,7 @@ go_test( srcs = ["goroutinemap_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/util/wait:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/wait"], ) filegroup( diff --git a/pkg/util/goroutinemap/goroutinemap.go b/pkg/util/goroutinemap/goroutinemap.go index aa7e3ce3b13..2c6c3aca61d 100644 --- a/pkg/util/goroutinemap/goroutinemap.go +++ b/pkg/util/goroutinemap/goroutinemap.go @@ -27,8 +27,8 @@ import ( "time" "github.com/golang/glog" + k8sRuntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff" - k8sRuntime "k8s.io/kubernetes/pkg/util/runtime" ) const ( diff --git a/pkg/util/goroutinemap/goroutinemap_test.go b/pkg/util/goroutinemap/goroutinemap_test.go index d516e4859c2..d75fd49d61b 100644 --- a/pkg/util/goroutinemap/goroutinemap_test.go +++ b/pkg/util/goroutinemap/goroutinemap_test.go @@ -21,7 +21,7 @@ import ( "testing" "time" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/util/wait" ) const ( diff --git a/pkg/util/httpstream/spdy/BUILD b/pkg/util/httpstream/spdy/BUILD index f6c103707fe..00f4c680889 100644 --- a/pkg/util/httpstream/spdy/BUILD +++ b/pkg/util/httpstream/spdy/BUILD @@ -19,12 +19,12 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/util/httpstream:go_default_library", - "//pkg/util/runtime:go_default_library", "//third_party/forked/golang/netutil:go_default_library", "//vendor:github.com/docker/spdystream", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/util/httpstream/spdy/roundtripper.go b/pkg/util/httpstream/spdy/roundtripper.go index 713bbf46a88..e2d4edea3dc 100644 --- a/pkg/util/httpstream/spdy/roundtripper.go +++ b/pkg/util/httpstream/spdy/roundtripper.go @@ -28,9 +28,9 @@ import ( "net/url" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/httpstream" "k8s.io/kubernetes/third_party/forked/golang/netutil" ) diff --git a/pkg/util/httpstream/spdy/upgrade.go b/pkg/util/httpstream/spdy/upgrade.go index 0ae4a15191c..1fe7ab69bc2 100644 --- a/pkg/util/httpstream/spdy/upgrade.go +++ b/pkg/util/httpstream/spdy/upgrade.go @@ -21,8 +21,8 @@ import ( "net/http" "strings" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/httpstream" - "k8s.io/kubernetes/pkg/util/runtime" ) const HeaderSpdy31 = "SPDY/3.1" diff --git a/pkg/util/intstr/BUILD b/pkg/util/intstr/BUILD index b4d3df77aad..97249adee55 100644 --- a/pkg/util/intstr/BUILD +++ b/pkg/util/intstr/BUILD @@ -16,11 +16,11 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/genericapiserver/openapi/common:go_default_library", "//vendor:github.com/go-openapi/spec", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/golang/glog", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", ], ) diff --git a/pkg/util/intstr/intstr.go b/pkg/util/intstr/intstr.go index adae8a4ffcb..cd463e0af73 100644 --- a/pkg/util/intstr/intstr.go +++ b/pkg/util/intstr/intstr.go @@ -24,7 +24,7 @@ import ( "strconv" "strings" - "k8s.io/kubernetes/pkg/genericapiserver/openapi/common" + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" "github.com/go-openapi/spec" "github.com/golang/glog" diff --git a/pkg/util/io/BUILD b/pkg/util/io/BUILD index d41d4d3ed47..52492504c25 100644 --- a/pkg/util/io/BUILD +++ b/pkg/util/io/BUILD @@ -18,9 +18,9 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) @@ -30,12 +30,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/pborman/uuid", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/pkg/util/io/io.go b/pkg/util/io/io.go index 07ed9c05b46..5205d4bc1e4 100644 --- a/pkg/util/io/io.go +++ b/pkg/util/io/io.go @@ -21,10 +21,10 @@ import ( "io/ioutil" "os" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" ) // LoadPodFromFile will read, decode, and return a Pod from a file. diff --git a/pkg/util/io/io_test.go b/pkg/util/io/io_test.go index 67d339b965a..6119ff86f04 100644 --- a/pkg/util/io/io_test.go +++ b/pkg/util/io/io_test.go @@ -22,9 +22,9 @@ import ( "testing" "github.com/pborman/uuid" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/io" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/util/iptables/BUILD b/pkg/util/iptables/BUILD index 9a478c4edaa..70151535492 100644 --- a/pkg/util/iptables/BUILD +++ b/pkg/util/iptables/BUILD @@ -19,10 +19,10 @@ go_library( deps = [ "//pkg/util/dbus:go_default_library", "//pkg/util/exec:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/version:go_default_library", "//vendor:github.com/godbus/dbus", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -34,7 +34,7 @@ go_test( deps = [ "//pkg/util/dbus:go_default_library", "//pkg/util/exec:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/util/iptables/iptables.go b/pkg/util/iptables/iptables.go index d9917fff19e..02ad18637dd 100644 --- a/pkg/util/iptables/iptables.go +++ b/pkg/util/iptables/iptables.go @@ -25,9 +25,9 @@ import ( godbus "github.com/godbus/dbus" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" utildbus "k8s.io/kubernetes/pkg/util/dbus" utilexec "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/sets" utilversion "k8s.io/kubernetes/pkg/util/version" ) diff --git a/pkg/util/iptables/iptables_test.go b/pkg/util/iptables/iptables_test.go index b5218eac20f..76c4b488252 100644 --- a/pkg/util/iptables/iptables_test.go +++ b/pkg/util/iptables/iptables_test.go @@ -21,9 +21,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/util/dbus" "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/sets" ) func getIPTablesCommand(protocol Protocol) string { diff --git a/pkg/util/json/.readonly b/pkg/util/json/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/labels/BUILD b/pkg/util/labels/BUILD index ca5f58e1491..52142902226 100644 --- a/pkg/util/labels/BUILD +++ b/pkg/util/labels/BUILD @@ -15,7 +15,7 @@ go_library( "labels.go", ], tags = ["automanaged"], - deps = ["//pkg/apis/meta/v1:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/apis/meta/v1"], ) go_test( @@ -23,7 +23,7 @@ go_test( srcs = ["labels_test.go"], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/apis/meta/v1:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/apis/meta/v1"], ) filegroup( diff --git a/pkg/util/labels/labels.go b/pkg/util/labels/labels.go index 82a7c70a6ef..786ac979edc 100644 --- a/pkg/util/labels/labels.go +++ b/pkg/util/labels/labels.go @@ -19,7 +19,7 @@ package labels import ( "fmt" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // Clones the given map and returns a new map with the given key and value added. diff --git a/pkg/util/labels/labels_test.go b/pkg/util/labels/labels_test.go index 3bce2a002a4..6feb9501f13 100644 --- a/pkg/util/labels/labels_test.go +++ b/pkg/util/labels/labels_test.go @@ -20,7 +20,7 @@ import ( "reflect" "testing" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func TestCloneAndAddLabel(t *testing.T) { diff --git a/pkg/util/logs/BUILD b/pkg/util/logs/BUILD index 7ca601b274d..9d6cd59eeae 100644 --- a/pkg/util/logs/BUILD +++ b/pkg/util/logs/BUILD @@ -12,9 +12,9 @@ go_library( srcs = ["logs.go"], tags = ["automanaged"], deps = [ - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/util/logs/logs.go b/pkg/util/logs/logs.go index c355dcff0aa..392bbc0fbad 100644 --- a/pkg/util/logs/logs.go +++ b/pkg/util/logs/logs.go @@ -23,7 +23,7 @@ import ( "github.com/golang/glog" "github.com/spf13/pflag" - "k8s.io/kubernetes/pkg/util/wait" + "k8s.io/apimachinery/pkg/util/wait" ) var logFlushFreq = pflag.Duration("log-flush-frequency", 5*time.Second, "Maximum number of seconds between log flushes") diff --git a/pkg/util/metrics/BUILD b/pkg/util/metrics/BUILD index d2df496d3bd..a96ec81ed69 100644 --- a/pkg/util/metrics/BUILD +++ b/pkg/util/metrics/BUILD @@ -13,9 +13,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/flowcontrol:go_default_library", - "//pkg/util/wait:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/util/metrics/util.go b/pkg/util/metrics/util.go index 1c8d090ea1f..8f5bd2eff17 100644 --- a/pkg/util/metrics/util.go +++ b/pkg/util/metrics/util.go @@ -21,8 +21,8 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/wait" "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" diff --git a/pkg/util/mount/BUILD b/pkg/util/mount/BUILD index ed10d705592..a0c648d23bf 100644 --- a/pkg/util/mount/BUILD +++ b/pkg/util/mount/BUILD @@ -20,8 +20,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/exec:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/util/mount/mount_linux.go b/pkg/util/mount/mount_linux.go index 51e4515d4c0..4cd7103ae53 100644 --- a/pkg/util/mount/mount_linux.go +++ b/pkg/util/mount/mount_linux.go @@ -30,8 +30,8 @@ import ( "syscall" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" utilexec "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/pkg/util/net/.readonly b/pkg/util/net/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/node/BUILD b/pkg/util/node/BUILD index c4ec2dd62b2..0b73050507f 100644 --- a/pkg/util/node/BUILD +++ b/pkg/util/node/BUILD @@ -15,11 +15,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/strategicpatch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -30,7 +30,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/util/node/node.go b/pkg/util/node/node.go index 75a3cc64308..41d5c8fef66 100644 --- a/pkg/util/node/node.go +++ b/pkg/util/node/node.go @@ -25,11 +25,11 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/strategicpatch" ) diff --git a/pkg/util/node/node_test.go b/pkg/util/node/node_test.go index 0db3cc2bb85..ddf7c3306bb 100644 --- a/pkg/util/node/node_test.go +++ b/pkg/util/node/node_test.go @@ -19,8 +19,8 @@ package node import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func TestGetPreferredAddress(t *testing.T) { diff --git a/pkg/util/procfs/BUILD b/pkg/util/procfs/BUILD index 7a2442c703e..f76849b4757 100644 --- a/pkg/util/procfs/BUILD +++ b/pkg/util/procfs/BUILD @@ -18,8 +18,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/errors:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/pkg/util/procfs/procfs_linux.go b/pkg/util/procfs/procfs_linux.go index 5b67dcd36cd..5a4fe71e6ab 100644 --- a/pkg/util/procfs/procfs_linux.go +++ b/pkg/util/procfs/procfs_linux.go @@ -32,7 +32,7 @@ import ( "unicode" "github.com/golang/glog" - utilerrors "k8s.io/kubernetes/pkg/util/errors" + utilerrors "k8s.io/apimachinery/pkg/util/errors" ) type ProcFS struct{} diff --git a/pkg/util/proxy/BUILD b/pkg/util/proxy/BUILD index 57216c7e3ab..31a6b815f84 100644 --- a/pkg/util/proxy/BUILD +++ b/pkg/util/proxy/BUILD @@ -17,12 +17,12 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/net:go_default_library", - "//pkg/util/sets:go_default_library", "//third_party/forked/golang/netutil:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/html", "//vendor:golang.org/x/net/html/atom", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -34,7 +34,7 @@ go_test( ], library = ":go_default_library", tags = ["automanaged"], - deps = ["//pkg/util/net:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/net"], ) filegroup( diff --git a/pkg/util/proxy/dial.go b/pkg/util/proxy/dial.go index a977e8713e9..2f3744e4a4b 100644 --- a/pkg/util/proxy/dial.go +++ b/pkg/util/proxy/dial.go @@ -25,7 +25,7 @@ import ( "github.com/golang/glog" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/third_party/forked/golang/netutil" ) diff --git a/pkg/util/proxy/dial_test.go b/pkg/util/proxy/dial_test.go index e9aeb9fa9cb..fb6791a0723 100644 --- a/pkg/util/proxy/dial_test.go +++ b/pkg/util/proxy/dial_test.go @@ -28,7 +28,7 @@ import ( "strings" "testing" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" ) func TestDialURL(t *testing.T) { diff --git a/pkg/util/proxy/transport.go b/pkg/util/proxy/transport.go index af12e3d5894..5bf22969741 100644 --- a/pkg/util/proxy/transport.go +++ b/pkg/util/proxy/transport.go @@ -31,8 +31,8 @@ import ( "golang.org/x/net/html" "golang.org/x/net/html/atom" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" ) // atomsToAttrs states which attributes of which tags require URL substitution. diff --git a/pkg/util/runtime/.readonly b/pkg/util/runtime/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/sets/.readonly b/pkg/util/sets/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/strategicpatch/BUILD b/pkg/util/strategicpatch/BUILD index bb3b5066adb..0ef6a1516a4 100644 --- a/pkg/util/strategicpatch/BUILD +++ b/pkg/util/strategicpatch/BUILD @@ -13,10 +13,10 @@ go_library( srcs = ["patch.go"], tags = ["automanaged"], deps = [ - "//pkg/util/json:go_default_library", "//third_party/forked/golang/json:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:github.com/ghodss/yaml", + "//vendor:k8s.io/apimachinery/pkg/util/json", ], ) diff --git a/pkg/util/strategicpatch/patch.go b/pkg/util/strategicpatch/patch.go index f715d8c197f..3c600174773 100644 --- a/pkg/util/strategicpatch/patch.go +++ b/pkg/util/strategicpatch/patch.go @@ -21,7 +21,7 @@ import ( "reflect" "sort" - "k8s.io/kubernetes/pkg/util/json" + "k8s.io/apimachinery/pkg/util/json" forkedjson "k8s.io/kubernetes/third_party/forked/golang/json" "github.com/davecgh/go-spew/spew" diff --git a/pkg/util/taints/BUILD b/pkg/util/taints/BUILD index a14b770d816..f03631571b0 100644 --- a/pkg/util/taints/BUILD +++ b/pkg/util/taints/BUILD @@ -14,7 +14,7 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/util/validation:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/validation", ], ) diff --git a/pkg/util/taints/taints.go b/pkg/util/taints/taints.go index b36680bd392..32470c42467 100644 --- a/pkg/util/taints/taints.go +++ b/pkg/util/taints/taints.go @@ -21,8 +21,8 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/util/validation" ) // ParseTaint parses a taint from a string. Taint must be off the format '=:'. diff --git a/pkg/util/term/BUILD b/pkg/util/term/BUILD index 95ccbc6f554..e340aeb2fa8 100644 --- a/pkg/util/term/BUILD +++ b/pkg/util/term/BUILD @@ -20,9 +20,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/interrupt:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/docker/docker/pkg/term", "//vendor:github.com/mitchellh/go-wordwrap", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/util/term/resize.go b/pkg/util/term/resize.go index 3d78c866419..2a948268d67 100644 --- a/pkg/util/term/resize.go +++ b/pkg/util/term/resize.go @@ -20,7 +20,7 @@ import ( "fmt" "github.com/docker/docker/pkg/term" - "k8s.io/kubernetes/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/runtime" ) // Size represents the width and height of a terminal. diff --git a/pkg/util/term/resizeevents.go b/pkg/util/term/resizeevents.go index 70858ed03f0..375023fbf1a 100644 --- a/pkg/util/term/resizeevents.go +++ b/pkg/util/term/resizeevents.go @@ -23,7 +23,7 @@ import ( "os/signal" "syscall" - "k8s.io/kubernetes/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/runtime" ) // monitorResizeEvents spawns a goroutine that waits for SIGWINCH signals (these indicate the diff --git a/pkg/util/term/resizeevents_windows.go b/pkg/util/term/resizeevents_windows.go index e994d28da31..2bb442a0c91 100644 --- a/pkg/util/term/resizeevents_windows.go +++ b/pkg/util/term/resizeevents_windows.go @@ -19,7 +19,7 @@ package term import ( "time" - "k8s.io/kubernetes/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/runtime" ) // monitorResizeEvents spawns a goroutine that periodically gets the terminal size and tries to send diff --git a/pkg/util/util_test.go b/pkg/util/util_test.go index 36a6641dadb..3232e8c7f53 100644 --- a/pkg/util/util_test.go +++ b/pkg/util/util_test.go @@ -19,7 +19,7 @@ package util import ( "testing" - "k8s.io/kubernetes/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/diff" ) func TestStringDiff(t *testing.T) { diff --git a/pkg/util/uuid/BUILD b/pkg/util/uuid/BUILD index 6e4ff30ad55..e4e921484c2 100644 --- a/pkg/util/uuid/BUILD +++ b/pkg/util/uuid/BUILD @@ -12,8 +12,8 @@ go_library( srcs = ["uuid.go"], tags = ["automanaged"], deps = [ - "//pkg/types:go_default_library", "//vendor:github.com/pborman/uuid", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/util/uuid/uuid.go b/pkg/util/uuid/uuid.go index 51f2689a68d..76854791751 100644 --- a/pkg/util/uuid/uuid.go +++ b/pkg/util/uuid/uuid.go @@ -20,7 +20,7 @@ import ( "sync" "github.com/pborman/uuid" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) var uuidLock sync.Mutex diff --git a/pkg/util/validation/.readonly b/pkg/util/validation/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/validation/field/.readonly b/pkg/util/validation/field/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/wait/.readonly b/pkg/util/wait/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/util/workqueue/BUILD b/pkg/util/workqueue/BUILD index 6277b56bf6d..79fecc408d3 100644 --- a/pkg/util/workqueue/BUILD +++ b/pkg/util/workqueue/BUILD @@ -23,8 +23,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/clock:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/juju/ratelimit", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -41,7 +41,7 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/util/workqueue/delaying_queue.go b/pkg/util/workqueue/delaying_queue.go index eaa6b5bb431..7b17da09594 100644 --- a/pkg/util/workqueue/delaying_queue.go +++ b/pkg/util/workqueue/delaying_queue.go @@ -20,8 +20,8 @@ import ( "sort" "time" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/clock" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" ) // DelayingInterface is an Interface that can Add an item at a later time. This makes it easier to diff --git a/pkg/util/workqueue/delaying_queue_test.go b/pkg/util/workqueue/delaying_queue_test.go index 15cb93fc5e7..dc5846107d2 100644 --- a/pkg/util/workqueue/delaying_queue_test.go +++ b/pkg/util/workqueue/delaying_queue_test.go @@ -22,8 +22,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/wait" ) func TestSimpleQueue(t *testing.T) { diff --git a/pkg/util/workqueue/parallelizer.go b/pkg/util/workqueue/parallelizer.go index b66cebe6985..be668c42339 100644 --- a/pkg/util/workqueue/parallelizer.go +++ b/pkg/util/workqueue/parallelizer.go @@ -19,7 +19,7 @@ package workqueue import ( "sync" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" ) type DoWorkPieceFunc func(piece int) diff --git a/pkg/util/wsstream/BUILD b/pkg/util/wsstream/BUILD index f51bc77fe87..a3aaf0ba197 100644 --- a/pkg/util/wsstream/BUILD +++ b/pkg/util/wsstream/BUILD @@ -17,9 +17,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/runtime:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/websocket", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/client-go/pkg/util/runtime", ], ) diff --git a/pkg/util/wsstream/conn.go b/pkg/util/wsstream/conn.go index 94b75568eec..f01638ad6d3 100644 --- a/pkg/util/wsstream/conn.go +++ b/pkg/util/wsstream/conn.go @@ -28,7 +28,7 @@ import ( "github.com/golang/glog" "golang.org/x/net/websocket" - "k8s.io/kubernetes/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/runtime" ) // The Websocket subprotocol "channel.k8s.io" prepends each binary message with a byte indicating diff --git a/pkg/util/yaml/.readonly b/pkg/util/yaml/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/volume/BUILD b/pkg/volume/BUILD index 742a9870d43..eb26516c925 100644 --- a/pkg/volume/BUILD +++ b/pkg/volume/BUILD @@ -27,21 +27,21 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/fields:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/chmod:go_default_library", "//pkg/util/chown:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", "//pkg/volume/util:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -60,9 +60,9 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/testing:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/volume/aws_ebs/BUILD b/pkg/volume/aws_ebs/BUILD index 732fcfed3d8..f93138b9f0a 100644 --- a/pkg/volume/aws_ebs/BUILD +++ b/pkg/volume/aws_ebs/BUILD @@ -22,13 +22,13 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/aws:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -44,12 +44,12 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/cloudprovider/providers/aws:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/aws_ebs/attacher.go b/pkg/volume/aws_ebs/attacher.go index 66edcaf31f6..1f7d2878dce 100644 --- a/pkg/volume/aws_ebs/attacher.go +++ b/pkg/volume/aws_ebs/attacher.go @@ -24,8 +24,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/aws_ebs/attacher_test.go b/pkg/volume/aws_ebs/attacher_test.go index f86638eba61..c36d6af9866 100644 --- a/pkg/volume/aws_ebs/attacher_test.go +++ b/pkg/volume/aws_ebs/attacher_test.go @@ -26,7 +26,7 @@ import ( volumetest "k8s.io/kubernetes/pkg/volume/testing" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) func TestGetVolumeName_Volume(t *testing.T) { diff --git a/pkg/volume/aws_ebs/aws_ebs.go b/pkg/volume/aws_ebs/aws_ebs.go index 65f9cc6540e..8a2a44d41a9 100644 --- a/pkg/volume/aws_ebs/aws_ebs.go +++ b/pkg/volume/aws_ebs/aws_ebs.go @@ -25,10 +25,10 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" kstrings "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/aws_ebs/aws_ebs_test.go b/pkg/volume/aws_ebs/aws_ebs_test.go index 6d2ae5eb56f..5c9665338dc 100644 --- a/pkg/volume/aws_ebs/aws_ebs_test.go +++ b/pkg/volume/aws_ebs/aws_ebs_test.go @@ -22,10 +22,10 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/azure_dd/BUILD b/pkg/volume/azure_dd/BUILD index 92c538abdbc..7cc093e0f53 100644 --- a/pkg/volume/azure_dd/BUILD +++ b/pkg/volume/azure_dd/BUILD @@ -22,16 +22,16 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/azure:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/keymutex:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/Azure/azure-sdk-for-go/arm/compute", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -45,13 +45,13 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/Azure/azure-sdk-for-go/arm/compute", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/azure_dd/attacher.go b/pkg/volume/azure_dd/attacher.go index 155c6d6b29f..26dee3fd394 100644 --- a/pkg/volume/azure_dd/attacher.go +++ b/pkg/volume/azure_dd/attacher.go @@ -26,12 +26,12 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/compute" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/keymutex" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/azure_dd/azure_dd.go b/pkg/volume/azure_dd/azure_dd.go index 1f4c1b584d8..0b79b7252a7 100644 --- a/pkg/volume/azure_dd/azure_dd.go +++ b/pkg/volume/azure_dd/azure_dd.go @@ -25,10 +25,10 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider/providers/azure" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/keymutex" "k8s.io/kubernetes/pkg/util/mount" diff --git a/pkg/volume/azure_dd/azure_dd_test.go b/pkg/volume/azure_dd/azure_dd_test.go index f0ece6bb8ff..095eb129f80 100644 --- a/pkg/volume/azure_dd/azure_dd_test.go +++ b/pkg/volume/azure_dd/azure_dd_test.go @@ -24,8 +24,8 @@ import ( "github.com/Azure/azure-sdk-for-go/arm/compute" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/azure_file/BUILD b/pkg/volume/azure_file/BUILD index 9a5bdf9edc5..d77d9f62d2b 100644 --- a/pkg/volume/azure_file/BUILD +++ b/pkg/volume/azure_file/BUILD @@ -18,13 +18,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -36,10 +36,10 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/azure_file/azure_file.go b/pkg/volume/azure_file/azure_file.go index 064c3585df7..51d922ef3c5 100644 --- a/pkg/volume/azure_file/azure_file.go +++ b/pkg/volume/azure_file/azure_file.go @@ -20,8 +20,8 @@ import ( "fmt" "os" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" kstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/azure_file/azure_file_test.go b/pkg/volume/azure_file/azure_file_test.go index 660d3cf63b2..006bc323e8a 100644 --- a/pkg/volume/azure_file/azure_file_test.go +++ b/pkg/volume/azure_file/azure_file_test.go @@ -22,9 +22,9 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" diff --git a/pkg/volume/azure_file/azure_util.go b/pkg/volume/azure_file/azure_util.go index 647edf35efd..9e2418d1fe3 100644 --- a/pkg/volume/azure_file/azure_util.go +++ b/pkg/volume/azure_file/azure_util.go @@ -19,7 +19,7 @@ package azure_file import ( "fmt" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/volume/cephfs/BUILD b/pkg/volume/cephfs/BUILD index 2493bcdc8bb..1a15b262161 100644 --- a/pkg/volume/cephfs/BUILD +++ b/pkg/volume/cephfs/BUILD @@ -17,13 +17,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -34,11 +34,11 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/cephfs/cephfs.go b/pkg/volume/cephfs/cephfs.go index 8a7dbb78979..8f2d476c56b 100644 --- a/pkg/volume/cephfs/cephfs.go +++ b/pkg/volume/cephfs/cephfs.go @@ -22,9 +22,9 @@ import ( "strings" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utilstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/cephfs/cephfs_test.go b/pkg/volume/cephfs/cephfs_test.go index 223dfc23d46..c49d0c7b7d2 100644 --- a/pkg/volume/cephfs/cephfs_test.go +++ b/pkg/volume/cephfs/cephfs_test.go @@ -21,8 +21,8 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/cinder/BUILD b/pkg/volume/cinder/BUILD index 05cf3cad2de..341542798ef 100644 --- a/pkg/volume/cinder/BUILD +++ b/pkg/volume/cinder/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/openstack:go_default_library", "//pkg/cloudprovider/providers/rackspace:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/keymutex:go_default_library", "//pkg/util/mount:go_default_library", @@ -31,6 +30,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -45,12 +45,12 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/cinder/attacher.go b/pkg/volume/cinder/attacher.go index 9186ac15be8..594895013c7 100644 --- a/pkg/volume/cinder/attacher.go +++ b/pkg/volume/cinder/attacher.go @@ -24,7 +24,7 @@ import ( "time" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/cinder/attacher_test.go b/pkg/volume/cinder/attacher_test.go index 9a55ac7888a..17d6ec24266 100644 --- a/pkg/volume/cinder/attacher_test.go +++ b/pkg/volume/cinder/attacher_test.go @@ -26,7 +26,7 @@ import ( volumetest "k8s.io/kubernetes/pkg/volume/testing" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) func TestGetDeviceName_Volume(t *testing.T) { diff --git a/pkg/volume/cinder/cinder.go b/pkg/volume/cinder/cinder.go index 2d17f427037..51c74c336d8 100644 --- a/pkg/volume/cinder/cinder.go +++ b/pkg/volume/cinder/cinder.go @@ -23,12 +23,12 @@ import ( "path" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider/providers/openstack" "k8s.io/kubernetes/pkg/cloudprovider/providers/rackspace" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/keymutex" "k8s.io/kubernetes/pkg/util/mount" diff --git a/pkg/volume/cinder/cinder_test.go b/pkg/volume/cinder/cinder_test.go index 1f01c23b4d7..ae0a3b06eee 100644 --- a/pkg/volume/cinder/cinder_test.go +++ b/pkg/volume/cinder/cinder_test.go @@ -23,8 +23,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/configmap/BUILD b/pkg/volume/configmap/BUILD index d9365ffc01e..1a005674e61 100644 --- a/pkg/volume/configmap/BUILD +++ b/pkg/volume/configmap/BUILD @@ -17,14 +17,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -37,11 +37,11 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/empty_dir:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/configmap/configmap.go b/pkg/volume/configmap/configmap.go index 3c8cca71776..48a389c9f07 100644 --- a/pkg/volume/configmap/configmap.go +++ b/pkg/volume/configmap/configmap.go @@ -20,9 +20,9 @@ import ( "fmt" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" ioutil "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/configmap/configmap_test.go b/pkg/volume/configmap/configmap_test.go index 16ef7d2a72d..0cf4406cfab 100644 --- a/pkg/volume/configmap/configmap_test.go +++ b/pkg/volume/configmap/configmap_test.go @@ -25,10 +25,10 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/empty_dir" volumetest "k8s.io/kubernetes/pkg/volume/testing" diff --git a/pkg/volume/downwardapi/BUILD b/pkg/volume/downwardapi/BUILD index f714a8ba69a..a62d953b818 100644 --- a/pkg/volume/downwardapi/BUILD +++ b/pkg/volume/downwardapi/BUILD @@ -15,12 +15,12 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/fieldpath:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) @@ -34,11 +34,11 @@ go_test( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/fieldpath:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/empty_dir:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/downwardapi/downwardapi.go b/pkg/volume/downwardapi/downwardapi.go index 6ae25dae454..96548490b5e 100644 --- a/pkg/volume/downwardapi/downwardapi.go +++ b/pkg/volume/downwardapi/downwardapi.go @@ -22,10 +22,10 @@ import ( "sort" "strings" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/fieldpath" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" utilstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" volumeutil "k8s.io/kubernetes/pkg/volume/util" diff --git a/pkg/volume/downwardapi/downwardapi_test.go b/pkg/volume/downwardapi/downwardapi_test.go index 5ab71e9fec1..6120e68c61e 100644 --- a/pkg/volume/downwardapi/downwardapi_test.go +++ b/pkg/volume/downwardapi/downwardapi_test.go @@ -23,11 +23,11 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/fieldpath" - "k8s.io/kubernetes/pkg/types" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/empty_dir" diff --git a/pkg/volume/empty_dir/BUILD b/pkg/volume/empty_dir/BUILD index ab9f684c3a1..a1d5b1b1d00 100644 --- a/pkg/volume/empty_dir/BUILD +++ b/pkg/volume/empty_dir/BUILD @@ -18,12 +18,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -34,12 +34,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/empty_dir/empty_dir.go b/pkg/volume/empty_dir/empty_dir.go index 6cabedf9850..74100bdf65b 100644 --- a/pkg/volume/empty_dir/empty_dir.go +++ b/pkg/volume/empty_dir/empty_dir.go @@ -22,8 +22,8 @@ import ( "path" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/empty_dir/empty_dir_test.go b/pkg/volume/empty_dir/empty_dir_test.go index f071205c997..ac6dbbac663 100644 --- a/pkg/volume/empty_dir/empty_dir_test.go +++ b/pkg/volume/empty_dir/empty_dir_test.go @@ -23,8 +23,8 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/fc/BUILD b/pkg/volume/fc/BUILD index 3133f83ee91..e2b909eb28e 100644 --- a/pkg/volume/fc/BUILD +++ b/pkg/volume/fc/BUILD @@ -19,12 +19,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -39,11 +39,11 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/fc/fc.go b/pkg/volume/fc/fc.go index 84a1a7487ea..2295f1d3dc5 100644 --- a/pkg/volume/fc/fc.go +++ b/pkg/volume/fc/fc.go @@ -21,8 +21,8 @@ import ( "strconv" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/fc/fc_test.go b/pkg/volume/fc/fc_test.go index 4c59207e14c..565522c3251 100644 --- a/pkg/volume/fc/fc_test.go +++ b/pkg/volume/fc/fc_test.go @@ -21,9 +21,9 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/flexvolume/BUILD b/pkg/volume/flexvolume/BUILD index 9df952ca251..c4629edf07c 100644 --- a/pkg/volume/flexvolume/BUILD +++ b/pkg/volume/flexvolume/BUILD @@ -17,13 +17,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -34,12 +34,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/flexvolume/flexvolume.go b/pkg/volume/flexvolume/flexvolume.go index 4c468e4b408..4cd7c3763ea 100644 --- a/pkg/volume/flexvolume/flexvolume.go +++ b/pkg/volume/flexvolume/flexvolume.go @@ -25,9 +25,9 @@ import ( "strings" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" utilstrings "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/flexvolume/flexvolume_test.go b/pkg/volume/flexvolume/flexvolume_test.go index 318a9f9e3a1..b6805ae8071 100644 --- a/pkg/volume/flexvolume/flexvolume_test.go +++ b/pkg/volume/flexvolume/flexvolume_test.go @@ -25,8 +25,8 @@ import ( "testing" "text/template" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" diff --git a/pkg/volume/flocker/BUILD b/pkg/volume/flocker/BUILD index c2a873ed4da..9c8a6ef5294 100644 --- a/pkg/volume/flocker/BUILD +++ b/pkg/volume/flocker/BUILD @@ -20,7 +20,6 @@ go_library( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/env:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/rand:go_default_library", @@ -29,6 +28,7 @@ go_library( "//pkg/volume/util:go_default_library", "//vendor:github.com/clusterhq/flocker-go", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -43,14 +43,14 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/clusterhq/flocker-go", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/flocker/flocker.go b/pkg/volume/flocker/flocker.go index 1188b1064a9..af6d74cb3c4 100644 --- a/pkg/volume/flocker/flocker.go +++ b/pkg/volume/flocker/flocker.go @@ -23,8 +23,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/env" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/flocker/flocker_test.go b/pkg/volume/flocker/flocker_test.go index c76881a356e..36679ed01d5 100644 --- a/pkg/volume/flocker/flocker_test.go +++ b/pkg/volume/flocker/flocker_test.go @@ -21,8 +21,8 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/flocker/flocker_volume_test.go b/pkg/volume/flocker/flocker_volume_test.go index 2e7d9a69628..b9c19f236f8 100644 --- a/pkg/volume/flocker/flocker_volume_test.go +++ b/pkg/volume/flocker/flocker_volume_test.go @@ -20,8 +20,8 @@ import ( "fmt" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" diff --git a/pkg/volume/gce_pd/BUILD b/pkg/volume/gce_pd/BUILD index 0608890750d..9ba1e0684fb 100644 --- a/pkg/volume/gce_pd/BUILD +++ b/pkg/volume/gce_pd/BUILD @@ -22,14 +22,14 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/gce:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -44,12 +44,12 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/gce_pd/attacher.go b/pkg/volume/gce_pd/attacher.go index 38b0b1fead5..b3a90ae33e2 100644 --- a/pkg/volume/gce_pd/attacher.go +++ b/pkg/volume/gce_pd/attacher.go @@ -25,11 +25,11 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/volume" volumeutil "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/gce_pd/attacher_test.go b/pkg/volume/gce_pd/attacher_test.go index 4e2d87a30c8..35ae6c6da4e 100644 --- a/pkg/volume/gce_pd/attacher_test.go +++ b/pkg/volume/gce_pd/attacher_test.go @@ -26,7 +26,7 @@ import ( volumetest "k8s.io/kubernetes/pkg/volume/testing" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) func TestGetDeviceName_Volume(t *testing.T) { diff --git a/pkg/volume/gce_pd/gce_pd.go b/pkg/volume/gce_pd/gce_pd.go index d4fe6e62f5d..78d629d9897 100644 --- a/pkg/volume/gce_pd/gce_pd.go +++ b/pkg/volume/gce_pd/gce_pd.go @@ -23,9 +23,9 @@ import ( "strconv" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/gce_pd/gce_pd_test.go b/pkg/volume/gce_pd/gce_pd_test.go index 97c4f82698b..03afdfda93f 100644 --- a/pkg/volume/gce_pd/gce_pd_test.go +++ b/pkg/volume/gce_pd/gce_pd_test.go @@ -22,9 +22,9 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/gce_pd/gce_util.go b/pkg/volume/gce_pd/gce_util.go index 8676f24915b..8d71fc0eb4f 100644 --- a/pkg/volume/gce_pd/gce_util.go +++ b/pkg/volume/gce_pd/gce_util.go @@ -24,11 +24,11 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" "k8s.io/kubernetes/pkg/util/exec" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/volume" volumeutil "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/git_repo/BUILD b/pkg/volume/git_repo/BUILD index 1a6713bd630..269dc867ab4 100644 --- a/pkg/volume/git_repo/BUILD +++ b/pkg/volume/git_repo/BUILD @@ -17,11 +17,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -32,11 +32,11 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/empty_dir:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/git_repo/git_repo.go b/pkg/volume/git_repo/git_repo.go index 4008dba7e0c..b2c279f2c8a 100644 --- a/pkg/volume/git_repo/git_repo.go +++ b/pkg/volume/git_repo/git_repo.go @@ -22,8 +22,8 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" utilstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/git_repo/git_repo_test.go b/pkg/volume/git_repo/git_repo_test.go index e17b5514123..58f789fb2e2 100644 --- a/pkg/volume/git_repo/git_repo_test.go +++ b/pkg/volume/git_repo/git_repo_test.go @@ -25,8 +25,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/empty_dir" diff --git a/pkg/volume/glusterfs/BUILD b/pkg/volume/glusterfs/BUILD index 7850847bf98..8eb8696b0aa 100644 --- a/pkg/volume/glusterfs/BUILD +++ b/pkg/volume/glusterfs/BUILD @@ -21,11 +21,8 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", @@ -35,6 +32,9 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:github.com/heketi/heketi/client/api/go-client", "//vendor:github.com/heketi/heketi/pkg/glusterfs/api", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -50,14 +50,14 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/heketi/heketi/pkg/glusterfs/api", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/glusterfs/glusterfs.go b/pkg/volume/glusterfs/glusterfs.go index 5349910fde6..bee7a05a02e 100644 --- a/pkg/volume/glusterfs/glusterfs.go +++ b/pkg/volume/glusterfs/glusterfs.go @@ -29,14 +29,14 @@ import ( "github.com/golang/glog" gcli "github.com/heketi/heketi/client/api/go-client" gapi "github.com/heketi/heketi/pkg/glusterfs/api" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/glusterfs/glusterfs_test.go b/pkg/volume/glusterfs/glusterfs_test.go index a1316087d11..d03a6822dd6 100644 --- a/pkg/volume/glusterfs/glusterfs_test.go +++ b/pkg/volume/glusterfs/glusterfs_test.go @@ -23,11 +23,11 @@ import ( "testing" gapi "github.com/heketi/heketi/pkg/glusterfs/api" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" diff --git a/pkg/volume/host_path/BUILD b/pkg/volume/host_path/BUILD index b303a91cf3a..e980c7b0eb9 100644 --- a/pkg/volume/host_path/BUILD +++ b/pkg/volume/host_path/BUILD @@ -18,9 +18,9 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/uuid:go_default_library", "//pkg/volume:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -33,11 +33,11 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/uuid:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/host_path/host_path.go b/pkg/volume/host_path/host_path.go index 305062cca8b..48e7c04a4ad 100644 --- a/pkg/volume/host_path/host_path.go +++ b/pkg/volume/host_path/host_path.go @@ -21,9 +21,9 @@ import ( "os" "regexp" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/volume/host_path/host_path_test.go b/pkg/volume/host_path/host_path_test.go index 769d9b34f4c..422ecae88e2 100644 --- a/pkg/volume/host_path/host_path_test.go +++ b/pkg/volume/host_path/host_path_test.go @@ -23,10 +23,10 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/iscsi/BUILD b/pkg/volume/iscsi/BUILD index c8e0977793f..17727c167e8 100644 --- a/pkg/volume/iscsi/BUILD +++ b/pkg/volume/iscsi/BUILD @@ -19,13 +19,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -40,11 +40,11 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/iscsi/iscsi.go b/pkg/volume/iscsi/iscsi.go index 51932c303b5..cb7979e6dfd 100644 --- a/pkg/volume/iscsi/iscsi.go +++ b/pkg/volume/iscsi/iscsi.go @@ -22,8 +22,8 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" utilstrings "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/iscsi/iscsi_test.go b/pkg/volume/iscsi/iscsi_test.go index 51c3558416c..0f314529e8f 100644 --- a/pkg/volume/iscsi/iscsi_test.go +++ b/pkg/volume/iscsi/iscsi_test.go @@ -21,9 +21,9 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/nfs/BUILD b/pkg/volume/nfs/BUILD index 1c24850b4eb..79388b6f44c 100644 --- a/pkg/volume/nfs/BUILD +++ b/pkg/volume/nfs/BUILD @@ -18,13 +18,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -36,11 +36,11 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/nfs/nfs.go b/pkg/volume/nfs/nfs.go index d0bda4b0b12..ae307abad4b 100644 --- a/pkg/volume/nfs/nfs.go +++ b/pkg/volume/nfs/nfs.go @@ -22,9 +22,9 @@ import ( "runtime" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/nfs/nfs_test.go b/pkg/volume/nfs/nfs_test.go index abbca5ff481..6504b2ecd5a 100644 --- a/pkg/volume/nfs/nfs_test.go +++ b/pkg/volume/nfs/nfs_test.go @@ -21,9 +21,9 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/photon_pd/BUILD b/pkg/volume/photon_pd/BUILD index add0180588b..e9e9d16d98f 100644 --- a/pkg/volume/photon_pd/BUILD +++ b/pkg/volume/photon_pd/BUILD @@ -21,13 +21,13 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/photon:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -42,12 +42,12 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider/providers/photon:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/photon_pd/attacher.go b/pkg/volume/photon_pd/attacher.go index 3a07e618ac6..d4bd0fc6fbb 100644 --- a/pkg/volume/photon_pd/attacher.go +++ b/pkg/volume/photon_pd/attacher.go @@ -25,8 +25,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider/providers/photon" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/photon_pd/attacher_test.go b/pkg/volume/photon_pd/attacher_test.go index 7c175b9b30f..d2c4b775f43 100644 --- a/pkg/volume/photon_pd/attacher_test.go +++ b/pkg/volume/photon_pd/attacher_test.go @@ -26,7 +26,7 @@ import ( volumetest "k8s.io/kubernetes/pkg/volume/testing" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) func TestGetDeviceName_Volume(t *testing.T) { diff --git a/pkg/volume/photon_pd/photon_pd.go b/pkg/volume/photon_pd/photon_pd.go index ebbdeba3a53..942481f1681 100644 --- a/pkg/volume/photon_pd/photon_pd.go +++ b/pkg/volume/photon_pd/photon_pd.go @@ -22,9 +22,9 @@ import ( "path" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" utilstrings "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/photon_pd/photon_pd_test.go b/pkg/volume/photon_pd/photon_pd_test.go index 3688ed672e0..86b7df8d2a1 100644 --- a/pkg/volume/photon_pd/photon_pd_test.go +++ b/pkg/volume/photon_pd/photon_pd_test.go @@ -22,8 +22,8 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/plugins.go b/pkg/volume/plugins.go index 9af3c1b4e7f..29cd0fbd490 100644 --- a/pkg/volume/plugins.go +++ b/pkg/volume/plugins.go @@ -23,14 +23,14 @@ import ( "sync" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" - "k8s.io/kubernetes/pkg/util/validation" ) // VolumeOptions contains option information about a volume. diff --git a/pkg/volume/plugins_test.go b/pkg/volume/plugins_test.go index fab7895f339..da154992461 100644 --- a/pkg/volume/plugins_test.go +++ b/pkg/volume/plugins_test.go @@ -19,8 +19,8 @@ package volume import ( "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) func TestSpecSourceConverters(t *testing.T) { diff --git a/pkg/volume/quobyte/BUILD b/pkg/volume/quobyte/BUILD index 283f61d598f..f121b0b89a2 100644 --- a/pkg/volume/quobyte/BUILD +++ b/pkg/volume/quobyte/BUILD @@ -19,7 +19,6 @@ go_library( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", @@ -28,6 +27,7 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:github.com/pborman/uuid", "//vendor:github.com/quobyte/api", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -39,11 +39,11 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/quobyte/quobyte.go b/pkg/volume/quobyte/quobyte.go index 0501b678cad..9a5dcdf8d17 100644 --- a/pkg/volume/quobyte/quobyte.go +++ b/pkg/volume/quobyte/quobyte.go @@ -24,9 +24,9 @@ import ( "github.com/golang/glog" "github.com/pborman/uuid" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/quobyte/quobyte_test.go b/pkg/volume/quobyte/quobyte_test.go index 045b170c4fd..f37d2e15d07 100644 --- a/pkg/volume/quobyte/quobyte_test.go +++ b/pkg/volume/quobyte/quobyte_test.go @@ -21,9 +21,9 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/rbd/BUILD b/pkg/volume/rbd/BUILD index 74bf4fcbe5a..48d628d0adc 100644 --- a/pkg/volume/rbd/BUILD +++ b/pkg/volume/rbd/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/node:go_default_library", @@ -30,6 +29,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -41,11 +41,11 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/rbd/rbd.go b/pkg/volume/rbd/rbd.go index c4cf1d67d4d..8b49bf723a5 100644 --- a/pkg/volume/rbd/rbd.go +++ b/pkg/volume/rbd/rbd.go @@ -21,10 +21,10 @@ import ( dstrings "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/rbd/rbd_test.go b/pkg/volume/rbd/rbd_test.go index 00a80f787a8..48266a2268d 100644 --- a/pkg/volume/rbd/rbd_test.go +++ b/pkg/volume/rbd/rbd_test.go @@ -21,9 +21,9 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/secret/BUILD b/pkg/volume/secret/BUILD index 21f1de6de9d..2cfcf0aa7d8 100644 --- a/pkg/volume/secret/BUILD +++ b/pkg/volume/secret/BUILD @@ -17,14 +17,14 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -37,12 +37,12 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", - "//pkg/types:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/empty_dir:go_default_library", "//pkg/volume/testing:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/secret/secret.go b/pkg/volume/secret/secret.go index 99683000004..7daf0d436e8 100644 --- a/pkg/volume/secret/secret.go +++ b/pkg/volume/secret/secret.go @@ -22,9 +22,9 @@ import ( "runtime" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/types" ioutil "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/secret/secret_test.go b/pkg/volume/secret/secret_test.go index d6f0b6bb0b4..996f30d2f59 100644 --- a/pkg/volume/secret/secret_test.go +++ b/pkg/volume/secret/secret_test.go @@ -26,10 +26,10 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/empty_dir" volumetest "k8s.io/kubernetes/pkg/volume/testing" diff --git a/pkg/volume/testing/BUILD b/pkg/volume/testing/BUILD index 5029510380b..b3ee7d0c416 100644 --- a/pkg/volume/testing/BUILD +++ b/pkg/volume/testing/BUILD @@ -19,7 +19,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/cloudprovider:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/io:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/strings:go_default_library", @@ -27,6 +26,7 @@ go_library( "//pkg/util/uuid:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/stretchr/testify/mock", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/testing/testing.go b/pkg/volume/testing/testing.go index aaad59a695d..0df308371a5 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -27,11 +27,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/io" "k8s.io/kubernetes/pkg/util/mount" utilstrings "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/util.go b/pkg/volume/util.go index 034e1368e2e..00852abfea5 100644 --- a/pkg/volume/util.go +++ b/pkg/volume/util.go @@ -20,11 +20,11 @@ import ( "fmt" "reflect" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/watch" "hash/fnv" "math/rand" @@ -32,10 +32,10 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/sets" volutil "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/util/BUILD b/pkg/volume/util/BUILD index d7ee470b476..9cac087b7f3 100644 --- a/pkg/volume/util/BUILD +++ b/pkg/volume/util/BUILD @@ -23,12 +23,12 @@ go_library( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/util/mount:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -41,8 +41,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/pkg/volume/util/atomic_writer.go b/pkg/volume/util/atomic_writer.go index 8b84710fc31..5eef55b4508 100644 --- a/pkg/volume/util/atomic_writer.go +++ b/pkg/volume/util/atomic_writer.go @@ -29,7 +29,7 @@ import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) const ( diff --git a/pkg/volume/util/atomic_writer_test.go b/pkg/volume/util/atomic_writer_test.go index 36777d9b6ca..f0551d00c16 100644 --- a/pkg/volume/util/atomic_writer_test.go +++ b/pkg/volume/util/atomic_writer_test.go @@ -28,7 +28,7 @@ import ( "strings" "testing" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" utiltesting "k8s.io/kubernetes/pkg/util/testing" ) diff --git a/pkg/volume/util/nestedpendingoperations/BUILD b/pkg/volume/util/nestedpendingoperations/BUILD index 6af199f915b..8ba66fa90aa 100644 --- a/pkg/volume/util/nestedpendingoperations/BUILD +++ b/pkg/volume/util/nestedpendingoperations/BUILD @@ -15,9 +15,9 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/util/goroutinemap/exponentialbackoff:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/volume/util/types:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -28,8 +28,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/volume/util/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/pkg/volume/util/nestedpendingoperations/nestedpendingoperations.go b/pkg/volume/util/nestedpendingoperations/nestedpendingoperations.go index ed3477bcfac..718caf10de4 100644 --- a/pkg/volume/util/nestedpendingoperations/nestedpendingoperations.go +++ b/pkg/volume/util/nestedpendingoperations/nestedpendingoperations.go @@ -29,9 +29,9 @@ import ( "sync" "github.com/golang/glog" + k8sRuntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff" - k8sRuntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/volume/util/types" ) diff --git a/pkg/volume/util/nestedpendingoperations/nestedpendingoperations_test.go b/pkg/volume/util/nestedpendingoperations/nestedpendingoperations_test.go index fb7592c619b..ce079407a63 100644 --- a/pkg/volume/util/nestedpendingoperations/nestedpendingoperations_test.go +++ b/pkg/volume/util/nestedpendingoperations/nestedpendingoperations_test.go @@ -21,8 +21,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume/util/types" ) diff --git a/pkg/volume/util/operationexecutor/BUILD b/pkg/volume/util/operationexecutor/BUILD index e371a371e35..b237e4def93 100644 --- a/pkg/volume/util/operationexecutor/BUILD +++ b/pkg/volume/util/operationexecutor/BUILD @@ -18,17 +18,17 @@ go_library( deps = [ "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/events:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/util/nestedpendingoperations:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -39,10 +39,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/uuid:go_default_library", "//pkg/volume/util/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/util/operationexecutor/operation_executor.go b/pkg/volume/util/operationexecutor/operation_executor.go index c15614b89e6..1c9b91bfe3c 100644 --- a/pkg/volume/util/operationexecutor/operation_executor.go +++ b/pkg/volume/util/operationexecutor/operation_executor.go @@ -24,8 +24,8 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/nestedpendingoperations" diff --git a/pkg/volume/util/operationexecutor/operation_executor_test.go b/pkg/volume/util/operationexecutor/operation_executor_test.go index 96a207f2b9d..460793a4235 100644 --- a/pkg/volume/util/operationexecutor/operation_executor_test.go +++ b/pkg/volume/util/operationexecutor/operation_executor_test.go @@ -17,8 +17,8 @@ limitations under the License. package operationexecutor import ( + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/uuid" volumetypes "k8s.io/kubernetes/pkg/volume/util/types" diff --git a/pkg/volume/util/operationexecutor/operation_generator.go b/pkg/volume/util/operationexecutor/operation_generator.go index 9fe8f3720f1..39d9f25c5ed 100644 --- a/pkg/volume/util/operationexecutor/operation_generator.go +++ b/pkg/volume/util/operationexecutor/operation_generator.go @@ -21,13 +21,13 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/record" kevents "k8s.io/kubernetes/pkg/kubelet/events" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/volume/util/types/BUILD b/pkg/volume/util/types/BUILD index f27df168af6..f0b977cbc33 100644 --- a/pkg/volume/util/types/BUILD +++ b/pkg/volume/util/types/BUILD @@ -11,7 +11,7 @@ go_library( name = "go_default_library", srcs = ["types.go"], tags = ["automanaged"], - deps = ["//pkg/types:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/types"], ) filegroup( diff --git a/pkg/volume/util/types/types.go b/pkg/volume/util/types/types.go index 1c66503c177..90bbdc4e21f 100644 --- a/pkg/volume/util/types/types.go +++ b/pkg/volume/util/types/types.go @@ -17,7 +17,7 @@ limitations under the License. // Package types defines types used only by volume components package types -import "k8s.io/kubernetes/pkg/types" +import "k8s.io/apimachinery/pkg/types" // UniquePodName defines the type to key pods off of type UniquePodName types.UID diff --git a/pkg/volume/util/util.go b/pkg/volume/util/util.go index 19dc374c01d..9142454049a 100644 --- a/pkg/volume/util/util.go +++ b/pkg/volume/util/util.go @@ -22,8 +22,8 @@ import ( "path" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/util/mount" diff --git a/pkg/volume/util_test.go b/pkg/volume/util_test.go index 3f5d47a541f..65b4fc62d08 100644 --- a/pkg/volume/util_test.go +++ b/pkg/volume/util_test.go @@ -21,11 +21,11 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/watch" ) type testcase struct { diff --git a/pkg/volume/volume.go b/pkg/volume/volume.go index 1d4ea14488d..9e023c1af16 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -25,9 +25,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" ) // Volume represents a directory used by pods or hosts on a node. All method diff --git a/pkg/volume/vsphere_volume/BUILD b/pkg/volume/vsphere_volume/BUILD index bda0957c22c..888c965ddbf 100644 --- a/pkg/volume/vsphere_volume/BUILD +++ b/pkg/volume/vsphere_volume/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/vsphere:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/keymutex:go_default_library", "//pkg/util/mount:go_default_library", @@ -29,6 +28,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) @@ -43,12 +43,12 @@ go_test( deps = [ "//pkg/api/v1:go_default_library", "//pkg/cloudprovider/providers/vsphere:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/mount:go_default_library", "//pkg/util/testing:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/volume/vsphere_volume/attacher.go b/pkg/volume/vsphere_volume/attacher.go index 7e74af3b800..290639dcd56 100644 --- a/pkg/volume/vsphere_volume/attacher.go +++ b/pkg/volume/vsphere_volume/attacher.go @@ -23,8 +23,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/keymutex" "k8s.io/kubernetes/pkg/util/mount" diff --git a/pkg/volume/vsphere_volume/attacher_test.go b/pkg/volume/vsphere_volume/attacher_test.go index 4c706e8a773..688021d39ed 100644 --- a/pkg/volume/vsphere_volume/attacher_test.go +++ b/pkg/volume/vsphere_volume/attacher_test.go @@ -26,7 +26,7 @@ import ( volumetest "k8s.io/kubernetes/pkg/volume/testing" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/types" + "k8s.io/apimachinery/pkg/types" ) func TestGetDeviceName_Volume(t *testing.T) { diff --git a/pkg/volume/vsphere_volume/vsphere_volume.go b/pkg/volume/vsphere_volume/vsphere_volume.go index 804dc43a646..016fe3cd9e9 100644 --- a/pkg/volume/vsphere_volume/vsphere_volume.go +++ b/pkg/volume/vsphere_volume/vsphere_volume.go @@ -23,9 +23,9 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" utilstrings "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/vsphere_volume/vsphere_volume_test.go b/pkg/volume/vsphere_volume/vsphere_volume_test.go index 4f8d57b9885..b16fb82c805 100644 --- a/pkg/volume/vsphere_volume/vsphere_volume_test.go +++ b/pkg/volume/vsphere_volume/vsphere_volume_test.go @@ -22,8 +22,8 @@ import ( "path" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/mount" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/watch/.readonly b/pkg/watch/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkg/watch/json/BUILD b/pkg/watch/json/BUILD index 94fbada4690..e63a2cae24e 100644 --- a/pkg/watch/json/BUILD +++ b/pkg/watch/json/BUILD @@ -15,8 +15,8 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/pkg/watch/json/types.go b/pkg/watch/json/types.go index bccdb426937..708570fbd40 100644 --- a/pkg/watch/json/types.go +++ b/pkg/watch/json/types.go @@ -21,8 +21,8 @@ import ( "fmt" "reflect" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" ) // WatchEvent objects are streamed from the api server in response to a watch request. diff --git a/plugin/cmd/kube-scheduler/app/BUILD b/plugin/cmd/kube-scheduler/app/BUILD index bc1f9f39aa7..a5c4374c246 100644 --- a/plugin/cmd/kube-scheduler/app/BUILD +++ b/plugin/cmd/kube-scheduler/app/BUILD @@ -20,7 +20,6 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/configz:go_default_library", "//plugin/cmd/kube-scheduler/app/options:go_default_library", "//plugin/pkg/scheduler:go_default_library", @@ -32,6 +31,7 @@ go_library( "//vendor:github.com/prometheus/client_golang/prometheus", "//vendor:github.com/spf13/cobra", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/healthz", ], ) diff --git a/plugin/cmd/kube-scheduler/app/server.go b/plugin/cmd/kube-scheduler/app/server.go index ee9f249c988..3bc160258d8 100644 --- a/plugin/cmd/kube-scheduler/app/server.go +++ b/plugin/cmd/kube-scheduler/app/server.go @@ -27,6 +27,7 @@ import ( goruntime "runtime" "strconv" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/healthz" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -36,7 +37,6 @@ import ( "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/configz" "k8s.io/kubernetes/plugin/cmd/kube-scheduler/app/options" "k8s.io/kubernetes/plugin/pkg/scheduler" diff --git a/plugin/pkg/admission/alwayspullimages/BUILD b/plugin/pkg/admission/alwayspullimages/BUILD index 8f778783a05..41dce1a73a2 100644 --- a/plugin/pkg/admission/alwayspullimages/BUILD +++ b/plugin/pkg/admission/alwayspullimages/BUILD @@ -27,7 +27,7 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/plugin/pkg/admission/alwayspullimages/admission_test.go b/plugin/pkg/admission/alwayspullimages/admission_test.go index cdbf5968265..1c4559c3cac 100644 --- a/plugin/pkg/admission/alwayspullimages/admission_test.go +++ b/plugin/pkg/admission/alwayspullimages/admission_test.go @@ -19,9 +19,9 @@ package alwayspullimages import ( "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) // TestAdmission verifies all create requests for pods result in every container's image pull policy diff --git a/plugin/pkg/admission/antiaffinity/BUILD b/plugin/pkg/admission/antiaffinity/BUILD index 8f6308f846c..2e40dc0d0e5 100644 --- a/plugin/pkg/admission/antiaffinity/BUILD +++ b/plugin/pkg/admission/antiaffinity/BUILD @@ -19,8 +19,8 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) @@ -32,8 +32,8 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/plugin/pkg/admission/antiaffinity/admission.go b/plugin/pkg/admission/antiaffinity/admission.go index aadbb26cbb3..6c687a36f62 100644 --- a/plugin/pkg/admission/antiaffinity/admission.go +++ b/plugin/pkg/admission/antiaffinity/admission.go @@ -21,10 +21,10 @@ import ( "io" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func init() { diff --git a/plugin/pkg/admission/antiaffinity/admission_test.go b/plugin/pkg/admission/antiaffinity/admission_test.go index 8540b28eaef..62b50bb7a68 100644 --- a/plugin/pkg/admission/antiaffinity/admission_test.go +++ b/plugin/pkg/admission/antiaffinity/admission_test.go @@ -19,10 +19,10 @@ package antiaffinity import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" ) // ensures the hard PodAntiAffinity is denied if it defines TopologyKey other than kubernetes.io/hostname. diff --git a/plugin/pkg/admission/exec/BUILD b/plugin/pkg/admission/exec/BUILD index 16617a052df..d22e7d54a62 100644 --- a/plugin/pkg/admission/exec/BUILD +++ b/plugin/pkg/admission/exec/BUILD @@ -17,9 +17,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/rest:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) @@ -34,7 +34,7 @@ go_test( "//pkg/api/rest:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/plugin/pkg/admission/exec/admission.go b/plugin/pkg/admission/exec/admission.go index 97fc2b779e1..964df46b02e 100644 --- a/plugin/pkg/admission/exec/admission.go +++ b/plugin/pkg/admission/exec/admission.go @@ -20,11 +20,11 @@ import ( "fmt" "io" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/rest" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) diff --git a/plugin/pkg/admission/exec/admission_test.go b/plugin/pkg/admission/exec/admission_test.go index ddc59959f4b..733f4067d77 100644 --- a/plugin/pkg/admission/exec/admission_test.go +++ b/plugin/pkg/admission/exec/admission_test.go @@ -19,12 +19,12 @@ package exec import ( "testing" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" - "k8s.io/kubernetes/pkg/runtime" ) func TestAdmission(t *testing.T) { diff --git a/plugin/pkg/admission/gc/BUILD b/plugin/pkg/admission/gc/BUILD index e0fba643fda..ed499df88b9 100644 --- a/plugin/pkg/admission/gc/BUILD +++ b/plugin/pkg/admission/gc/BUILD @@ -15,8 +15,8 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", - "//pkg/runtime:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], ) @@ -29,9 +29,9 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/plugin/pkg/admission/gc/gc_admission.go b/plugin/pkg/admission/gc/gc_admission.go index 241027e672c..c00ce1840ba 100644 --- a/plugin/pkg/admission/gc/gc_admission.go +++ b/plugin/pkg/admission/gc/gc_admission.go @@ -20,11 +20,11 @@ import ( "fmt" "io" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/runtime" ) func init() { diff --git a/plugin/pkg/admission/gc/gc_admission_test.go b/plugin/pkg/admission/gc/gc_admission_test.go index 70a95350f25..08c89271288 100644 --- a/plugin/pkg/admission/gc/gc_admission_test.go +++ b/plugin/pkg/admission/gc/gc_admission_test.go @@ -19,13 +19,13 @@ package gc import ( "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" ) type fakeAuthorizer struct{} diff --git a/plugin/pkg/admission/imagepolicy/BUILD b/plugin/pkg/admission/imagepolicy/BUILD index b84b392f7b8..7877b0bf8b6 100644 --- a/plugin/pkg/admission/imagepolicy/BUILD +++ b/plugin/pkg/admission/imagepolicy/BUILD @@ -19,11 +19,11 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/util/cache:go_default_library", - "//pkg/util/yaml:go_default_library", "//plugin/pkg/webhook:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", "//vendor:k8s.io/client-go/pkg/api/errors", "//vendor:k8s.io/client-go/pkg/apis/imagepolicy/install", "//vendor:k8s.io/client-go/pkg/apis/imagepolicy/v1alpha1", diff --git a/plugin/pkg/admission/imagepolicy/admission.go b/plugin/pkg/admission/imagepolicy/admission.go index 6abfa20f615..a7805174428 100644 --- a/plugin/pkg/admission/imagepolicy/admission.go +++ b/plugin/pkg/admission/imagepolicy/admission.go @@ -33,11 +33,11 @@ import ( "k8s.io/client-go/pkg/runtime/schema" "k8s.io/client-go/rest" + kubeschema "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - kubeschema "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/cache" - "k8s.io/kubernetes/pkg/util/yaml" "k8s.io/kubernetes/plugin/pkg/webhook" // install the clientgo image policy API for use with api registry diff --git a/plugin/pkg/admission/limitranger/BUILD b/plugin/pkg/admission/limitranger/BUILD index ad2bf3fd4b7..b1897234b38 100644 --- a/plugin/pkg/admission/limitranger/BUILD +++ b/plugin/pkg/admission/limitranger/BUILD @@ -18,16 +18,16 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/listers/core/internalversion:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/errors:go_default_library", "//vendor:github.com/hashicorp/golang-lru", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) @@ -40,14 +40,14 @@ go_test( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/resource:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/plugin/pkg/admission/limitranger/admission.go b/plugin/pkg/admission/limitranger/admission.go index c16bf604856..40a63cdff3f 100644 --- a/plugin/pkg/admission/limitranger/admission.go +++ b/plugin/pkg/admission/limitranger/admission.go @@ -25,17 +25,17 @@ import ( lru "github.com/hashicorp/golang-lru" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" coreinternallisters "k8s.io/kubernetes/pkg/client/listers/core/internalversion" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) const ( diff --git a/plugin/pkg/admission/limitranger/admission_test.go b/plugin/pkg/admission/limitranger/admission_test.go index 1d6bc36c816..7639716e73d 100644 --- a/plugin/pkg/admission/limitranger/admission_test.go +++ b/plugin/pkg/admission/limitranger/admission_test.go @@ -22,17 +22,17 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller/informers" kubeadmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) func getComputeResourceList(cpu, memory string) api.ResourceList { diff --git a/plugin/pkg/admission/limitranger/interfaces.go b/plugin/pkg/admission/limitranger/interfaces.go index 8f1222851be..0be881e142a 100644 --- a/plugin/pkg/admission/limitranger/interfaces.go +++ b/plugin/pkg/admission/limitranger/interfaces.go @@ -17,9 +17,9 @@ limitations under the License. package limitranger import ( + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/runtime" ) type LimitRangerActions interface { diff --git a/plugin/pkg/admission/namespace/autoprovision/BUILD b/plugin/pkg/admission/namespace/autoprovision/BUILD index 7461a7382a9..f6b70101e3d 100644 --- a/plugin/pkg/admission/namespace/autoprovision/BUILD +++ b/plugin/pkg/admission/namespace/autoprovision/BUILD @@ -32,14 +32,14 @@ go_test( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/plugin/pkg/admission/namespace/autoprovision/admission_test.go b/plugin/pkg/admission/namespace/autoprovision/admission_test.go index 42d77ee3bab..16b8f1d5746 100644 --- a/plugin/pkg/admission/namespace/autoprovision/admission_test.go +++ b/plugin/pkg/admission/namespace/autoprovision/admission_test.go @@ -21,17 +21,17 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller/informers" kubeadmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) // newHandlerForTest returns the admission controller configured for testing. diff --git a/plugin/pkg/admission/namespace/exists/BUILD b/plugin/pkg/admission/namespace/exists/BUILD index fa337638845..e64a35bc2b7 100644 --- a/plugin/pkg/admission/namespace/exists/BUILD +++ b/plugin/pkg/admission/namespace/exists/BUILD @@ -16,11 +16,11 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) @@ -32,14 +32,14 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/plugin/pkg/admission/namespace/exists/admission.go b/plugin/pkg/admission/namespace/exists/admission.go index b39c25ade9a..c875752398f 100644 --- a/plugin/pkg/admission/namespace/exists/admission.go +++ b/plugin/pkg/admission/namespace/exists/admission.go @@ -20,10 +20,10 @@ import ( "fmt" "io" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/plugin/pkg/admission/namespace/exists/admission_test.go b/plugin/pkg/admission/namespace/exists/admission_test.go index 6a6b94f3f2a..1b45db60acf 100644 --- a/plugin/pkg/admission/namespace/exists/admission_test.go +++ b/plugin/pkg/admission/namespace/exists/admission_test.go @@ -21,16 +21,16 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller/informers" kubeadmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" ) // newHandlerForTest returns the admission controller configured for testing. diff --git a/plugin/pkg/admission/namespace/lifecycle/BUILD b/plugin/pkg/admission/namespace/lifecycle/BUILD index e1c2ee530ea..b8d450e488c 100644 --- a/plugin/pkg/admission/namespace/lifecycle/BUILD +++ b/plugin/pkg/admission/namespace/lifecycle/BUILD @@ -16,15 +16,15 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/util/cache:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -36,16 +36,16 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/client/testing/core:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/clock:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/plugin/pkg/admission/namespace/lifecycle/admission.go b/plugin/pkg/admission/namespace/lifecycle/admission.go index d8269b48b0c..a6419501809 100644 --- a/plugin/pkg/admission/namespace/lifecycle/admission.go +++ b/plugin/pkg/admission/namespace/lifecycle/admission.go @@ -23,17 +23,17 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" utilcache "k8s.io/kubernetes/pkg/util/cache" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" ) const ( diff --git a/plugin/pkg/admission/namespace/lifecycle/admission_test.go b/plugin/pkg/admission/namespace/lifecycle/admission_test.go index 1a74bc00d79..882df2c097d 100644 --- a/plugin/pkg/admission/namespace/lifecycle/admission_test.go +++ b/plugin/pkg/admission/namespace/lifecycle/admission_test.go @@ -21,18 +21,18 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/client/testing/core" "k8s.io/kubernetes/pkg/controller/informers" kubeadmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/clock" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" ) // newHandlerForTest returns a configured handler for testing. diff --git a/plugin/pkg/admission/persistentvolume/label/BUILD b/plugin/pkg/admission/persistentvolume/label/BUILD index 9e3aa8b5380..7fbdf931c0b 100644 --- a/plugin/pkg/admission/persistentvolume/label/BUILD +++ b/plugin/pkg/admission/persistentvolume/label/BUILD @@ -18,11 +18,11 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/aws:go_default_library", "//pkg/cloudprovider/providers/gce:go_default_library", "//pkg/volume:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) @@ -35,7 +35,7 @@ go_test( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/cloudprovider/providers/aws:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/plugin/pkg/admission/persistentvolume/label/admission.go b/plugin/pkg/admission/persistentvolume/label/admission.go index 453a91f9187..5b7973bf102 100644 --- a/plugin/pkg/admission/persistentvolume/label/admission.go +++ b/plugin/pkg/admission/persistentvolume/label/admission.go @@ -21,9 +21,9 @@ import ( "io" "sync" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" diff --git a/plugin/pkg/admission/persistentvolume/label/admission_test.go b/plugin/pkg/admission/persistentvolume/label/admission_test.go index 01d2bc34c7c..38f07c06671 100644 --- a/plugin/pkg/admission/persistentvolume/label/admission_test.go +++ b/plugin/pkg/admission/persistentvolume/label/admission_test.go @@ -21,10 +21,10 @@ import ( "fmt" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" - "k8s.io/kubernetes/pkg/types" ) type mockVolumes struct { diff --git a/plugin/pkg/admission/podnodeselector/BUILD b/plugin/pkg/admission/podnodeselector/BUILD index 30657f6d6cf..002a2bceb8a 100644 --- a/plugin/pkg/admission/podnodeselector/BUILD +++ b/plugin/pkg/admission/podnodeselector/BUILD @@ -16,14 +16,14 @@ go_library( "//pkg/admission:go_default_library", "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/yaml:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) @@ -39,8 +39,8 @@ go_test( "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/plugin/pkg/admission/podnodeselector/admission.go b/plugin/pkg/admission/podnodeselector/admission.go index c33b51534bd..8275a46cc81 100644 --- a/plugin/pkg/admission/podnodeselector/admission.go +++ b/plugin/pkg/admission/podnodeselector/admission.go @@ -23,16 +23,16 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/controller/informers" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/yaml" ) // The annotation key scheduler.alpha.kubernetes.io/node-selector is for assigning diff --git a/plugin/pkg/admission/podnodeselector/admission_test.go b/plugin/pkg/admission/podnodeselector/admission_test.go index 88cc694a56a..bbd7b36a6cd 100644 --- a/plugin/pkg/admission/podnodeselector/admission_test.go +++ b/plugin/pkg/admission/podnodeselector/admission_test.go @@ -20,14 +20,14 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/controller/informers" kubeadmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" ) // TestPodAdmission verifies various scenarios involving pod/namespace/global node label selectors diff --git a/plugin/pkg/admission/resourcequota/BUILD b/plugin/pkg/admission/resourcequota/BUILD index d01d7d64071..eb9beb2fc97 100644 --- a/plugin/pkg/admission/resourcequota/BUILD +++ b/plugin/pkg/admission/resourcequota/BUILD @@ -20,23 +20,23 @@ go_library( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/quota:go_default_library", "//pkg/quota/install:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/storage/etcd:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//pkg/util/workqueue/prometheus:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/hashicorp/golang-lru", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -55,9 +55,9 @@ go_test( "//pkg/quota:go_default_library", "//pkg/quota/generic:go_default_library", "//pkg/quota/install:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/hashicorp/golang-lru", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/plugin/pkg/admission/resourcequota/admission_test.go b/plugin/pkg/admission/resourcequota/admission_test.go index 2f47474cf6a..ca2edc6b8bd 100644 --- a/plugin/pkg/admission/resourcequota/admission_test.go +++ b/plugin/pkg/admission/resourcequota/admission_test.go @@ -24,6 +24,8 @@ import ( lru "github.com/hashicorp/golang-lru" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" @@ -33,8 +35,6 @@ import ( "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" "k8s.io/kubernetes/pkg/quota/install" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" ) func getResourceList(cpu, memory string) api.ResourceList { diff --git a/plugin/pkg/admission/resourcequota/controller.go b/plugin/pkg/admission/resourcequota/controller.go index 1fb8e19913f..4fd308a7061 100644 --- a/plugin/pkg/admission/resourcequota/controller.go +++ b/plugin/pkg/admission/resourcequota/controller.go @@ -25,13 +25,13 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/meta" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/quota" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" _ "k8s.io/kubernetes/pkg/util/workqueue/prometheus" // for workqueue metric registration ) diff --git a/plugin/pkg/admission/resourcequota/resource_access.go b/plugin/pkg/admission/resourcequota/resource_access.go index cff0f7d67af..8656cbdb071 100644 --- a/plugin/pkg/admission/resourcequota/resource_access.go +++ b/plugin/pkg/admission/resourcequota/resource_access.go @@ -25,13 +25,13 @@ import ( clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage/etcd" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/watch" ) // QuotaAccessor abstracts the get/set logic from the rest of the Evaluator. This could be a test stub, a straight passthrough, diff --git a/plugin/pkg/admission/security/podsecuritypolicy/BUILD b/plugin/pkg/admission/security/podsecuritypolicy/BUILD index d39f984f3ac..aa311ece5ee 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/BUILD +++ b/plugin/pkg/admission/security/podsecuritypolicy/BUILD @@ -21,15 +21,15 @@ go_library( "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/security/podsecuritypolicy:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", "//pkg/securitycontext:go_default_library", "//pkg/serviceaccount:go_default_library", "//pkg/util/maps:go_default_library", - "//pkg/util/validation/field:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], @@ -49,9 +49,9 @@ go_test( "//pkg/security/podsecuritypolicy:go_default_library", "//pkg/security/podsecuritypolicy/seccomp:go_default_library", "//pkg/security/podsecuritypolicy/util:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/sets:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/plugin/pkg/admission/security/podsecuritypolicy/admission.go b/plugin/pkg/admission/security/podsecuritypolicy/admission.go index 62594ab0ab8..48293c03b37 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/admission.go +++ b/plugin/pkg/admission/security/podsecuritypolicy/admission.go @@ -23,6 +23,9 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/admission" @@ -33,14 +36,11 @@ import ( "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/runtime" psp "k8s.io/kubernetes/pkg/security/podsecuritypolicy" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" sc "k8s.io/kubernetes/pkg/securitycontext" "k8s.io/kubernetes/pkg/serviceaccount" "k8s.io/kubernetes/pkg/util/maps" - "k8s.io/kubernetes/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go b/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go index 484e501d03e..55edc38469a 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go +++ b/plugin/pkg/admission/security/podsecuritypolicy/admission_test.go @@ -24,6 +24,8 @@ import ( "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" kadmission "k8s.io/kubernetes/pkg/admission" @@ -34,8 +36,6 @@ import ( kpsp "k8s.io/kubernetes/pkg/security/podsecuritypolicy" "k8s.io/kubernetes/pkg/security/podsecuritypolicy/seccomp" psputil "k8s.io/kubernetes/pkg/security/podsecuritypolicy/util" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/sets" ) const defaultContainerName = "test-c" diff --git a/plugin/pkg/admission/serviceaccount/BUILD b/plugin/pkg/admission/serviceaccount/BUILD index b9ddff90c6e..0a1d527dd46 100644 --- a/plugin/pkg/admission/serviceaccount/BUILD +++ b/plugin/pkg/admission/serviceaccount/BUILD @@ -20,17 +20,17 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/fields:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/serviceaccount:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/watch:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -45,7 +45,7 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/kubelet/types:go_default_library", - "//pkg/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/plugin/pkg/admission/serviceaccount/admission.go b/plugin/pkg/admission/serviceaccount/admission.go index ee769d97a00..349be07acc5 100644 --- a/plugin/pkg/admission/serviceaccount/admission.go +++ b/plugin/pkg/admission/serviceaccount/admission.go @@ -23,21 +23,21 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/fields" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" kubelet "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" ) // DefaultServiceAccountName is the name of the default service account to set on pods which do not specify a service account diff --git a/plugin/pkg/admission/serviceaccount/admission_test.go b/plugin/pkg/admission/serviceaccount/admission_test.go index 667f42dd4ad..feeaac9b376 100644 --- a/plugin/pkg/admission/serviceaccount/admission_test.go +++ b/plugin/pkg/admission/serviceaccount/admission_test.go @@ -21,12 +21,12 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" kubelet "k8s.io/kubernetes/pkg/kubelet/types" - "k8s.io/kubernetes/pkg/types" ) func TestIgnoresNonCreate(t *testing.T) { diff --git a/plugin/pkg/admission/storageclass/default/BUILD b/plugin/pkg/admission/storageclass/default/BUILD index 60b8ced5924..f8188f5d288 100644 --- a/plugin/pkg/admission/storageclass/default/BUILD +++ b/plugin/pkg/admission/storageclass/default/BUILD @@ -22,9 +22,9 @@ go_library( "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) @@ -36,10 +36,10 @@ go_test( deps = [ "//pkg/admission:go_default_library", "//pkg/api:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/plugin/pkg/admission/storageclass/default/admission.go b/plugin/pkg/admission/storageclass/default/admission.go index 08afa655145..9ee8006ab97 100644 --- a/plugin/pkg/admission/storageclass/default/admission.go +++ b/plugin/pkg/admission/storageclass/default/admission.go @@ -22,6 +22,8 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" admission "k8s.io/kubernetes/pkg/admission" api "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" @@ -31,8 +33,6 @@ import ( "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) const ( diff --git a/plugin/pkg/admission/storageclass/default/admission_test.go b/plugin/pkg/admission/storageclass/default/admission_test.go index c1ca61d11f2..9c4f828247c 100644 --- a/plugin/pkg/admission/storageclass/default/admission_test.go +++ b/plugin/pkg/admission/storageclass/default/admission_test.go @@ -21,9 +21,9 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/admission" "k8s.io/kubernetes/pkg/api" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/storage" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" ) diff --git a/plugin/pkg/auth/authenticator/password/keystone/BUILD b/plugin/pkg/auth/authenticator/password/keystone/BUILD index 0a8d9519054..179cc62344a 100644 --- a/plugin/pkg/auth/authenticator/password/keystone/BUILD +++ b/plugin/pkg/auth/authenticator/password/keystone/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/cert:go_default_library", - "//pkg/util/net:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/rackspace/gophercloud", "//vendor:github.com/rackspace/gophercloud/openstack", + "//vendor:k8s.io/apimachinery/pkg/util/net", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/plugin/pkg/auth/authenticator/password/keystone/keystone.go b/plugin/pkg/auth/authenticator/password/keystone/keystone.go index 5a103123b4d..ce792410835 100644 --- a/plugin/pkg/auth/authenticator/password/keystone/keystone.go +++ b/plugin/pkg/auth/authenticator/password/keystone/keystone.go @@ -25,9 +25,9 @@ import ( "github.com/golang/glog" "github.com/rackspace/gophercloud" "github.com/rackspace/gophercloud/openstack" + netutil "k8s.io/apimachinery/pkg/util/net" "k8s.io/apiserver/pkg/authentication/user" certutil "k8s.io/kubernetes/pkg/util/cert" - netutil "k8s.io/kubernetes/pkg/util/net" ) // KeystoneAuthenticator contacts openstack keystone to validate user's credentials passed in the request. diff --git a/plugin/pkg/auth/authenticator/request/anonymous/BUILD b/plugin/pkg/auth/authenticator/request/anonymous/BUILD index 35834e48df1..ce50fbaf4c4 100644 --- a/plugin/pkg/auth/authenticator/request/anonymous/BUILD +++ b/plugin/pkg/auth/authenticator/request/anonymous/BUILD @@ -24,7 +24,7 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], diff --git a/plugin/pkg/auth/authenticator/request/anonymous/anonymous_test.go b/plugin/pkg/auth/authenticator/request/anonymous/anonymous_test.go index 29193aafb01..55485e2b8c6 100644 --- a/plugin/pkg/auth/authenticator/request/anonymous/anonymous_test.go +++ b/plugin/pkg/auth/authenticator/request/anonymous/anonymous_test.go @@ -19,9 +19,9 @@ package anonymous import ( "testing" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" - "k8s.io/kubernetes/pkg/util/sets" ) func TestAnonymous(t *testing.T) { diff --git a/plugin/pkg/auth/authenticator/token/oidc/BUILD b/plugin/pkg/auth/authenticator/token/oidc/BUILD index 12a6195b94d..ff2a3ea9434 100644 --- a/plugin/pkg/auth/authenticator/token/oidc/BUILD +++ b/plugin/pkg/auth/authenticator/token/oidc/BUILD @@ -14,11 +14,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/util/cert:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_library", "//vendor:github.com/coreos/go-oidc/jose", "//vendor:github.com/coreos/go-oidc/oidc", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/plugin/pkg/auth/authenticator/token/oidc/oidc.go b/plugin/pkg/auth/authenticator/token/oidc/oidc.go index c441aaa8658..2187124b463 100644 --- a/plugin/pkg/auth/authenticator/token/oidc/oidc.go +++ b/plugin/pkg/auth/authenticator/token/oidc/oidc.go @@ -39,10 +39,10 @@ import ( "github.com/coreos/go-oidc/jose" "github.com/coreos/go-oidc/oidc" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/authentication/user" certutil "k8s.io/kubernetes/pkg/util/cert" - "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/runtime" ) type OIDCOptions struct { diff --git a/plugin/pkg/auth/authenticator/token/webhook/BUILD b/plugin/pkg/auth/authenticator/token/webhook/BUILD index 4ab06522448..bc2bbe4d4e6 100644 --- a/plugin/pkg/auth/authenticator/token/webhook/BUILD +++ b/plugin/pkg/auth/authenticator/token/webhook/BUILD @@ -34,8 +34,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/apis/authentication/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/unversioned/clientcmd/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apiserver/pkg/authentication/user", ], ) diff --git a/plugin/pkg/auth/authenticator/token/webhook/webhook_test.go b/plugin/pkg/auth/authenticator/token/webhook/webhook_test.go index 863505a0f40..aefdf056852 100644 --- a/plugin/pkg/auth/authenticator/token/webhook/webhook_test.go +++ b/plugin/pkg/auth/authenticator/token/webhook/webhook_test.go @@ -30,9 +30,9 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1" ) diff --git a/plugin/pkg/auth/authorizer/rbac/BUILD b/plugin/pkg/auth/authorizer/rbac/BUILD index 1a10d69b02a..6f9caf25c81 100644 --- a/plugin/pkg/auth/authorizer/rbac/BUILD +++ b/plugin/pkg/auth/authorizer/rbac/BUILD @@ -18,8 +18,8 @@ go_library( deps = [ "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/validation:go_default_library", - "//pkg/util/errors:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/BUILD b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/BUILD index c1bed36dda0..5f28e70024f 100644 --- a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/BUILD +++ b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/BUILD @@ -33,17 +33,17 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", - "//pkg/api/meta:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/rbac:go_default_library", "//pkg/apis/rbac/install:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/apis/rbac/validation:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/sets:go_default_library", "//plugin/pkg/auth/authorizer/rbac/bootstrappolicy:go_default_library", "//vendor:github.com/ghodss/yaml", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -53,8 +53,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/meta:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/controller_policy_test.go b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/controller_policy_test.go index cdf9ab1199d..8c36915f216 100644 --- a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/controller_policy_test.go +++ b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/controller_policy_test.go @@ -20,8 +20,8 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/api/meta" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/util/sets" ) // rolesWithAllowStar are the controller roles which are allowed to contain a *. These are diff --git a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy_test.go b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy_test.go index 2623cc0e9cc..b050fc2567d 100644 --- a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy_test.go +++ b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy_test.go @@ -25,17 +25,17 @@ import ( "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/api/meta" "k8s.io/kubernetes/pkg/api/v1" rbac "k8s.io/kubernetes/pkg/apis/rbac" _ "k8s.io/kubernetes/pkg/apis/rbac/install" rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" rbacvalidation "k8s.io/kubernetes/pkg/apis/rbac/validation" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy" ) diff --git a/plugin/pkg/auth/authorizer/rbac/subject_locator.go b/plugin/pkg/auth/authorizer/rbac/subject_locator.go index e07736ea174..77bc3460e57 100644 --- a/plugin/pkg/auth/authorizer/rbac/subject_locator.go +++ b/plugin/pkg/auth/authorizer/rbac/subject_locator.go @@ -18,11 +18,11 @@ limitations under the License. package rbac import ( + utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/apis/rbac/validation" - utilerrors "k8s.io/kubernetes/pkg/util/errors" ) type RoleToRuleMapper interface { diff --git a/plugin/pkg/auth/authorizer/webhook/BUILD b/plugin/pkg/auth/authorizer/webhook/BUILD index 69fe4758d65..d07af885bb8 100644 --- a/plugin/pkg/auth/authorizer/webhook/BUILD +++ b/plugin/pkg/auth/authorizer/webhook/BUILD @@ -34,9 +34,9 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/apis/authorization/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/unversioned/clientcmd/api/v1:go_default_library", - "//pkg/util/diff:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", ], diff --git a/plugin/pkg/auth/authorizer/webhook/webhook_test.go b/plugin/pkg/auth/authorizer/webhook/webhook_test.go index 9f9d9eaec8e..0d6f0d2abf1 100644 --- a/plugin/pkg/auth/authorizer/webhook/webhook_test.go +++ b/plugin/pkg/auth/authorizer/webhook/webhook_test.go @@ -32,12 +32,12 @@ import ( "text/template" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api/v1" - "k8s.io/kubernetes/pkg/util/diff" ) func TestNewFromConfig(t *testing.T) { diff --git a/plugin/pkg/client/auth/gcp/BUILD b/plugin/pkg/client/auth/gcp/BUILD index a0afab38493..4524742343b 100644 --- a/plugin/pkg/client/auth/gcp/BUILD +++ b/plugin/pkg/client/auth/gcp/BUILD @@ -15,11 +15,11 @@ go_library( deps = [ "//pkg/client/restclient:go_default_library", "//pkg/util/jsonpath:go_default_library", - "//pkg/util/yaml:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", "//vendor:golang.org/x/oauth2", "//vendor:golang.org/x/oauth2/google", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", ], ) diff --git a/plugin/pkg/client/auth/gcp/gcp.go b/plugin/pkg/client/auth/gcp/gcp.go index 8b52a27a196..e4a87cd1810 100644 --- a/plugin/pkg/client/auth/gcp/gcp.go +++ b/plugin/pkg/client/auth/gcp/gcp.go @@ -30,9 +30,9 @@ import ( "golang.org/x/net/context" "golang.org/x/oauth2" "golang.org/x/oauth2/google" + "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/util/jsonpath" - "k8s.io/kubernetes/pkg/util/yaml" ) func init() { diff --git a/plugin/pkg/scheduler/BUILD b/plugin/pkg/scheduler/BUILD index 3825535fbef..fc7ff26ccf9 100644 --- a/plugin/pkg/scheduler/BUILD +++ b/plugin/pkg/scheduler/BUILD @@ -22,10 +22,7 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/util:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/hash:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", @@ -34,6 +31,9 @@ go_library( "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/golang/groupcache/lru", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -53,10 +53,6 @@ go_test( "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/record:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/diff:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/wait:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities:go_default_library", @@ -64,6 +60,10 @@ go_test( "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//plugin/pkg/scheduler/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/plugin/pkg/scheduler/algorithm/BUILD b/plugin/pkg/scheduler/algorithm/BUILD index c8349a7c768..7c57522a8e7 100644 --- a/plugin/pkg/scheduler/algorithm/BUILD +++ b/plugin/pkg/scheduler/algorithm/BUILD @@ -20,10 +20,10 @@ go_library( deps = [ "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/labels:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/plugin/pkg/scheduler/algorithm/listers.go b/plugin/pkg/scheduler/algorithm/listers.go index 854b5708c40..af5f801bee2 100644 --- a/plugin/pkg/scheduler/algorithm/listers.go +++ b/plugin/pkg/scheduler/algorithm/listers.go @@ -19,10 +19,10 @@ package algorithm import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" ) // NodeLister interface represents anything that can list nodes for a scheduler. diff --git a/plugin/pkg/scheduler/algorithm/predicates/BUILD b/plugin/pkg/scheduler/algorithm/predicates/BUILD index 0949512b034..d2b64291358 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/BUILD +++ b/plugin/pkg/scheduler/algorithm/predicates/BUILD @@ -19,16 +19,16 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/kubelet/qos:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/runtime:go_default_library", "//pkg/util/workqueue:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) @@ -43,10 +43,10 @@ go_test( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/labels:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/plugin/pkg/scheduler/algorithm/predicates/predicates.go b/plugin/pkg/scheduler/algorithm/predicates/predicates.go index f6c31268c2a..aeacf0101ce 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/predicates.go +++ b/plugin/pkg/scheduler/algorithm/predicates/predicates.go @@ -25,12 +25,12 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/kubelet/qos" - "k8s.io/kubernetes/pkg/labels" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" diff --git a/plugin/pkg/scheduler/algorithm/predicates/utils.go b/plugin/pkg/scheduler/algorithm/predicates/utils.go index 46e7597c392..c78449e5794 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/utils.go +++ b/plugin/pkg/scheduler/algorithm/predicates/utils.go @@ -17,8 +17,8 @@ limitations under the License. package predicates import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" ) // FindLabelsInSet gets as many key/value pairs as possible out of a label set. diff --git a/plugin/pkg/scheduler/algorithm/predicates/utils_test.go b/plugin/pkg/scheduler/algorithm/predicates/utils_test.go index 1e1125a6fd3..7ddc9affa3e 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/utils_test.go +++ b/plugin/pkg/scheduler/algorithm/predicates/utils_test.go @@ -19,8 +19,8 @@ package predicates import ( "fmt" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" ) // ExampleUtils is a https://blog.golang.org/examples styled unit test. diff --git a/plugin/pkg/scheduler/algorithm/priorities/BUILD b/plugin/pkg/scheduler/algorithm/priorities/BUILD index f39692c2d8a..f223c50ad55 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/BUILD +++ b/plugin/pkg/scheduler/algorithm/priorities/BUILD @@ -28,8 +28,6 @@ go_library( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/labels:go_default_library", "//pkg/util/node:go_default_library", "//pkg/util/workqueue:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", @@ -38,6 +36,8 @@ go_library( "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) @@ -61,11 +61,11 @@ go_test( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity.go b/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity.go index d3ad964e286..738bafb3a4d 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity.go +++ b/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity.go @@ -20,8 +20,8 @@ import ( "sync" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" diff --git a/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity_test.go b/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity_test.go index cf812a426f1..98192af073b 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/interpod_affinity_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" diff --git a/plugin/pkg/scheduler/algorithm/priorities/node_affinity.go b/plugin/pkg/scheduler/algorithm/priorities/node_affinity.go index 419493fab1b..bd361af66cf 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/node_affinity.go +++ b/plugin/pkg/scheduler/algorithm/priorities/node_affinity.go @@ -20,8 +20,8 @@ import ( "fmt" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" ) diff --git a/plugin/pkg/scheduler/algorithm/priorities/node_label.go b/plugin/pkg/scheduler/algorithm/priorities/node_label.go index d22c29b505c..483be2e637a 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/node_label.go +++ b/plugin/pkg/scheduler/algorithm/priorities/node_label.go @@ -19,8 +19,8 @@ package priorities import ( "fmt" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods_test.go b/plugin/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods_test.go index 4c2e4da50cf..f5f54bf060a 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/node_prefer_avoid_pods_test.go @@ -21,8 +21,8 @@ import ( "sort" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" ) diff --git a/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go b/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go index e9dd548bc56..d1b6a052583 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go +++ b/plugin/pkg/scheduler/algorithm/priorities/selector_spreading.go @@ -20,9 +20,9 @@ import ( "sync" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" utilnode "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" diff --git a/plugin/pkg/scheduler/algorithm/priorities/selector_spreading_test.go b/plugin/pkg/scheduler/algorithm/priorities/selector_spreading_test.go index 3b6e80400e4..7237012a867 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/selector_spreading_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/selector_spreading_test.go @@ -21,9 +21,9 @@ import ( "sort" "testing" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/algorithm/priorities/util/BUILD b/plugin/pkg/scheduler/algorithm/priorities/util/BUILD index 9112b613d9a..4ca73d76969 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/util/BUILD +++ b/plugin/pkg/scheduler/algorithm/priorities/util/BUILD @@ -17,9 +17,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/plugin/pkg/scheduler/algorithm/priorities/util/topologies.go b/plugin/pkg/scheduler/algorithm/priorities/util/topologies.go index b8d9d906aa9..3541707095d 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/util/topologies.go +++ b/plugin/pkg/scheduler/algorithm/priorities/util/topologies.go @@ -17,9 +17,9 @@ limitations under the License. package util import ( + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" ) // GetNamespacesFromPodAffinityTerm returns a set of names diff --git a/plugin/pkg/scheduler/algorithm/priorities/util/util.go b/plugin/pkg/scheduler/algorithm/priorities/util/util.go index 7734befb174..8dd4c23c128 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/util/util.go +++ b/plugin/pkg/scheduler/algorithm/priorities/util/util.go @@ -17,8 +17,8 @@ limitations under the License. package util import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) func GetControllerRef(pod *v1.Pod) *metav1.OwnerReference { diff --git a/plugin/pkg/scheduler/algorithmprovider/defaults/BUILD b/plugin/pkg/scheduler/algorithmprovider/defaults/BUILD index b8de9a7aec9..7cb21e2230d 100644 --- a/plugin/pkg/scheduler/algorithmprovider/defaults/BUILD +++ b/plugin/pkg/scheduler/algorithmprovider/defaults/BUILD @@ -14,15 +14,15 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/cloudprovider/providers/aws:go_default_library", - "//pkg/util/sets:go_default_library", "//plugin/pkg/scheduler:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities:go_default_library", "//plugin/pkg/scheduler/factory:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -33,15 +33,15 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/testing:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/api/latest:go_default_library", "//plugin/pkg/scheduler/factory:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/plugin/pkg/scheduler/algorithmprovider/defaults/compatibility_test.go b/plugin/pkg/scheduler/algorithmprovider/defaults/compatibility_test.go index 8477c8bcf3e..abbc63d28cf 100644 --- a/plugin/pkg/scheduler/algorithmprovider/defaults/compatibility_test.go +++ b/plugin/pkg/scheduler/algorithmprovider/defaults/compatibility_test.go @@ -23,12 +23,12 @@ import ( "net/http/httptest" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/sets" utiltesting "k8s.io/kubernetes/pkg/util/testing" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" latestschedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api/latest" diff --git a/plugin/pkg/scheduler/algorithmprovider/defaults/defaults.go b/plugin/pkg/scheduler/algorithmprovider/defaults/defaults.go index d7f7bfda70d..0f124ef290c 100644 --- a/plugin/pkg/scheduler/algorithmprovider/defaults/defaults.go +++ b/plugin/pkg/scheduler/algorithmprovider/defaults/defaults.go @@ -21,10 +21,10 @@ import ( "os" "strconv" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/plugin/pkg/scheduler" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" diff --git a/plugin/pkg/scheduler/api/BUILD b/plugin/pkg/scheduler/api/BUILD index 89c34d7761a..167b90d1b2d 100644 --- a/plugin/pkg/scheduler/api/BUILD +++ b/plugin/pkg/scheduler/api/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/plugin/pkg/scheduler/api/latest/BUILD b/plugin/pkg/scheduler/api/latest/BUILD index e1774d0cb19..a9b6f3d7287 100644 --- a/plugin/pkg/scheduler/api/latest/BUILD +++ b/plugin/pkg/scheduler/api/latest/BUILD @@ -12,12 +12,12 @@ go_library( srcs = ["latest.go"], tags = ["automanaged"], deps = [ - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/json:go_default_library", - "//pkg/runtime/serializer/versioning:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/versioning", ], ) diff --git a/plugin/pkg/scheduler/api/latest/latest.go b/plugin/pkg/scheduler/api/latest/latest.go index 7b3db3954c9..cef40b6acb1 100644 --- a/plugin/pkg/scheduler/api/latest/latest.go +++ b/plugin/pkg/scheduler/api/latest/latest.go @@ -17,10 +17,10 @@ limitations under the License. package latest import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/runtime/serializer/json" - "k8s.io/kubernetes/pkg/runtime/serializer/versioning" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/runtime/serializer/versioning" "k8s.io/kubernetes/plugin/pkg/scheduler/api" _ "k8s.io/kubernetes/plugin/pkg/scheduler/api/v1" ) diff --git a/plugin/pkg/scheduler/api/register.go b/plugin/pkg/scheduler/api/register.go index 53eacec84da..9225b6b9077 100644 --- a/plugin/pkg/scheduler/api/register.go +++ b/plugin/pkg/scheduler/api/register.go @@ -17,9 +17,9 @@ limitations under the License. package api import ( - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered. diff --git a/plugin/pkg/scheduler/api/types.go b/plugin/pkg/scheduler/api/types.go index 8b76a9c60fb..8f4f655118d 100644 --- a/plugin/pkg/scheduler/api/types.go +++ b/plugin/pkg/scheduler/api/types.go @@ -19,8 +19,8 @@ package api import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" ) diff --git a/plugin/pkg/scheduler/api/v1/BUILD b/plugin/pkg/scheduler/api/v1/BUILD index 45954df1ca6..1a55ca63137 100644 --- a/plugin/pkg/scheduler/api/v1/BUILD +++ b/plugin/pkg/scheduler/api/v1/BUILD @@ -16,11 +16,11 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/plugin/pkg/scheduler/api/v1/register.go b/plugin/pkg/scheduler/api/v1/register.go index c92c7408705..f7d423c3e91 100644 --- a/plugin/pkg/scheduler/api/v1/register.go +++ b/plugin/pkg/scheduler/api/v1/register.go @@ -17,8 +17,8 @@ limitations under the License. package v1 import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/plugin/pkg/scheduler/api" ) diff --git a/plugin/pkg/scheduler/api/v1/types.go b/plugin/pkg/scheduler/api/v1/types.go index 6474fe1f431..371cd0e7b62 100644 --- a/plugin/pkg/scheduler/api/v1/types.go +++ b/plugin/pkg/scheduler/api/v1/types.go @@ -19,8 +19,8 @@ package v1 import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apiv1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" ) diff --git a/plugin/pkg/scheduler/api/validation/BUILD b/plugin/pkg/scheduler/api/validation/BUILD index 748cccee3e7..38af3e52da9 100644 --- a/plugin/pkg/scheduler/api/validation/BUILD +++ b/plugin/pkg/scheduler/api/validation/BUILD @@ -13,8 +13,8 @@ go_library( srcs = ["validation.go"], tags = ["automanaged"], deps = [ - "//pkg/util/errors:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/plugin/pkg/scheduler/api/validation/validation.go b/plugin/pkg/scheduler/api/validation/validation.go index d7d2b28851a..74e58538fef 100644 --- a/plugin/pkg/scheduler/api/validation/validation.go +++ b/plugin/pkg/scheduler/api/validation/validation.go @@ -19,7 +19,7 @@ package validation import ( "fmt" - utilerrors "k8s.io/kubernetes/pkg/util/errors" + utilerrors "k8s.io/apimachinery/pkg/util/errors" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" ) diff --git a/plugin/pkg/scheduler/extender.go b/plugin/pkg/scheduler/extender.go index fd01b7328da..55a18e646dd 100644 --- a/plugin/pkg/scheduler/extender.go +++ b/plugin/pkg/scheduler/extender.go @@ -24,9 +24,9 @@ import ( "net/http" "time" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/restclient" - utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" ) diff --git a/plugin/pkg/scheduler/extender_test.go b/plugin/pkg/scheduler/extender_test.go index 32e3bce9b0c..f24c563c68c 100644 --- a/plugin/pkg/scheduler/extender_test.go +++ b/plugin/pkg/scheduler/extender_test.go @@ -21,8 +21,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/factory/BUILD b/plugin/pkg/scheduler/factory/BUILD index 719b7f89216..602fcb8115c 100644 --- a/plugin/pkg/scheduler/factory/BUILD +++ b/plugin/pkg/scheduler/factory/BUILD @@ -19,16 +19,11 @@ go_library( "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/fields:go_default_library", "//pkg/genericapiserver/api/request:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", - "//pkg/util/validation:go_default_library", "//plugin/pkg/scheduler:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", @@ -37,6 +32,11 @@ go_library( "//plugin/pkg/scheduler/api/validation:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", ], ) @@ -52,17 +52,17 @@ go_test( "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/testing:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/api/latest:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/plugin/pkg/scheduler/factory/factory.go b/plugin/pkg/scheduler/factory/factory.go index c5d1080d72f..a41ecdfb28c 100644 --- a/plugin/pkg/scheduler/factory/factory.go +++ b/plugin/pkg/scheduler/factory/factory.go @@ -25,18 +25,18 @@ import ( "sync/atomic" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + utilvalidation "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/fields" genericapirequest "k8s.io/kubernetes/pkg/genericapiserver/api/request" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/runtime" - "k8s.io/kubernetes/pkg/util/sets" - utilvalidation "k8s.io/kubernetes/pkg/util/validation" "k8s.io/kubernetes/plugin/pkg/scheduler" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" diff --git a/plugin/pkg/scheduler/factory/factory_test.go b/plugin/pkg/scheduler/factory/factory_test.go index 54a9890ec38..7757682abfa 100644 --- a/plugin/pkg/scheduler/factory/factory_test.go +++ b/plugin/pkg/scheduler/factory/factory_test.go @@ -23,15 +23,15 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" utiltesting "k8s.io/kubernetes/pkg/util/testing" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" diff --git a/plugin/pkg/scheduler/factory/plugins.go b/plugin/pkg/scheduler/factory/plugins.go index dfdcc4d04e4..29e4601c69b 100644 --- a/plugin/pkg/scheduler/factory/plugins.go +++ b/plugin/pkg/scheduler/factory/plugins.go @@ -23,7 +23,7 @@ import ( "strings" "sync" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities" diff --git a/plugin/pkg/scheduler/generic_scheduler.go b/plugin/pkg/scheduler/generic_scheduler.go index 71980cb2970..f46aa5cc02b 100644 --- a/plugin/pkg/scheduler/generic_scheduler.go +++ b/plugin/pkg/scheduler/generic_scheduler.go @@ -25,9 +25,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/util/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util" - "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" diff --git a/plugin/pkg/scheduler/generic_scheduler_test.go b/plugin/pkg/scheduler/generic_scheduler_test.go index 892b3a4db3b..f03d642b97d 100644 --- a/plugin/pkg/scheduler/generic_scheduler_test.go +++ b/plugin/pkg/scheduler/generic_scheduler_test.go @@ -25,11 +25,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" algorithmpredicates "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" algorithmpriorities "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities" diff --git a/plugin/pkg/scheduler/scheduler.go b/plugin/pkg/scheduler/scheduler.go index 943f478187f..87c1327f291 100644 --- a/plugin/pkg/scheduler/scheduler.go +++ b/plugin/pkg/scheduler/scheduler.go @@ -19,9 +19,9 @@ package scheduler import ( "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/metrics" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/scheduler_test.go b/plugin/pkg/scheduler/scheduler_test.go index 42b73035a48..2161c0c23f7 100644 --- a/plugin/pkg/scheduler/scheduler_test.go +++ b/plugin/pkg/scheduler/scheduler_test.go @@ -23,14 +23,14 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" clientcache "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/record" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/schedulercache/BUILD b/plugin/pkg/scheduler/schedulercache/BUILD index 838e0fdb950..d0d850db433 100644 --- a/plugin/pkg/scheduler/schedulercache/BUILD +++ b/plugin/pkg/scheduler/schedulercache/BUILD @@ -21,10 +21,10 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/cache:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/util/wait:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -36,8 +36,8 @@ go_test( deps = [ "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/labels:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/plugin/pkg/scheduler/schedulercache/cache.go b/plugin/pkg/scheduler/schedulercache/cache.go index ae4f18b3b42..4aafa32a1be 100644 --- a/plugin/pkg/scheduler/schedulercache/cache.go +++ b/plugin/pkg/scheduler/schedulercache/cache.go @@ -22,9 +22,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" ) var ( diff --git a/plugin/pkg/scheduler/schedulercache/cache_test.go b/plugin/pkg/scheduler/schedulercache/cache_test.go index 67c3e5a4684..2e363139795 100644 --- a/plugin/pkg/scheduler/schedulercache/cache_test.go +++ b/plugin/pkg/scheduler/schedulercache/cache_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" ) diff --git a/plugin/pkg/scheduler/schedulercache/interface.go b/plugin/pkg/scheduler/schedulercache/interface.go index 1d216f679bd..521fecfd79b 100644 --- a/plugin/pkg/scheduler/schedulercache/interface.go +++ b/plugin/pkg/scheduler/schedulercache/interface.go @@ -17,8 +17,8 @@ limitations under the License. package schedulercache import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" ) // Cache collects pods' information and provides node-level aggregated information. diff --git a/plugin/pkg/scheduler/testing/BUILD b/plugin/pkg/scheduler/testing/BUILD index f8e10b111ba..4874814d320 100644 --- a/plugin/pkg/scheduler/testing/BUILD +++ b/plugin/pkg/scheduler/testing/BUILD @@ -16,8 +16,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/labels:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/plugin/pkg/scheduler/testing/fake_cache.go b/plugin/pkg/scheduler/testing/fake_cache.go index aab879dec7d..5ae953e814d 100644 --- a/plugin/pkg/scheduler/testing/fake_cache.go +++ b/plugin/pkg/scheduler/testing/fake_cache.go @@ -17,8 +17,8 @@ limitations under the License. package schedulercache import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" ) diff --git a/plugin/pkg/scheduler/testing/pods_to_cache.go b/plugin/pkg/scheduler/testing/pods_to_cache.go index c5a96fde11e..99706f09b84 100644 --- a/plugin/pkg/scheduler/testing/pods_to_cache.go +++ b/plugin/pkg/scheduler/testing/pods_to_cache.go @@ -17,8 +17,8 @@ limitations under the License. package schedulercache import ( + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" ) diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/OWNERS b/staging/src/k8s.io/apimachinery/pkg/api/meta/OWNERS new file mode 100755 index 00000000000..6044c031edc --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/OWNERS @@ -0,0 +1,26 @@ +reviewers: +- thockin +- smarterclayton +- wojtek-t +- deads2k +- brendandburns +- derekwaynecarr +- caesarxuchao +- mikedanese +- liggitt +- nikhiljindal +- gmarek +- kargakis +- janetkuo +- ncdc +- eparis +- dims +- krousey +- markturansky +- fabioy +- resouer +- david-mcmahon +- mfojtik +- jianhuiz +- feihujiang +- ghodss diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/doc.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/doc.go new file mode 100644 index 00000000000..b6d42acf8fb --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2014 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 meta provides functions for retrieving API metadata from objects +// belonging to the Kubernetes API +package meta // import "k8s.io/apimachinery/pkg/api/meta" diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/errors.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/errors.go new file mode 100644 index 00000000000..1503bd6d846 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/errors.go @@ -0,0 +1,105 @@ +/* +Copyright 2014 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 meta + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// AmbiguousResourceError is returned if the RESTMapper finds multiple matches for a resource +type AmbiguousResourceError struct { + PartialResource schema.GroupVersionResource + + MatchingResources []schema.GroupVersionResource + MatchingKinds []schema.GroupVersionKind +} + +func (e *AmbiguousResourceError) Error() string { + switch { + case len(e.MatchingKinds) > 0 && len(e.MatchingResources) > 0: + return fmt.Sprintf("%v matches multiple resources %v and kinds %v", e.PartialResource, e.MatchingResources, e.MatchingKinds) + case len(e.MatchingKinds) > 0: + return fmt.Sprintf("%v matches multiple kinds %v", e.PartialResource, e.MatchingKinds) + case len(e.MatchingResources) > 0: + return fmt.Sprintf("%v matches multiple resources %v", e.PartialResource, e.MatchingResources) + } + return fmt.Sprintf("%v matches multiple resources or kinds", e.PartialResource) +} + +// AmbiguousKindError is returned if the RESTMapper finds multiple matches for a kind +type AmbiguousKindError struct { + PartialKind schema.GroupVersionKind + + MatchingResources []schema.GroupVersionResource + MatchingKinds []schema.GroupVersionKind +} + +func (e *AmbiguousKindError) Error() string { + switch { + case len(e.MatchingKinds) > 0 && len(e.MatchingResources) > 0: + return fmt.Sprintf("%v matches multiple resources %v and kinds %v", e.PartialKind, e.MatchingResources, e.MatchingKinds) + case len(e.MatchingKinds) > 0: + return fmt.Sprintf("%v matches multiple kinds %v", e.PartialKind, e.MatchingKinds) + case len(e.MatchingResources) > 0: + return fmt.Sprintf("%v matches multiple resources %v", e.PartialKind, e.MatchingResources) + } + return fmt.Sprintf("%v matches multiple resources or kinds", e.PartialKind) +} + +func IsAmbiguousError(err error) bool { + if err == nil { + return false + } + switch err.(type) { + case *AmbiguousResourceError, *AmbiguousKindError: + return true + default: + return false + } +} + +// NoResourceMatchError is returned if the RESTMapper can't find any match for a resource +type NoResourceMatchError struct { + PartialResource schema.GroupVersionResource +} + +func (e *NoResourceMatchError) Error() string { + return fmt.Sprintf("no matches for %v", e.PartialResource) +} + +// NoKindMatchError is returned if the RESTMapper can't find any match for a kind +type NoKindMatchError struct { + PartialKind schema.GroupVersionKind +} + +func (e *NoKindMatchError) Error() string { + return fmt.Sprintf("no matches for %v", e.PartialKind) +} + +func IsNoMatchError(err error) bool { + if err == nil { + return false + } + switch err.(type) { + case *NoResourceMatchError, *NoKindMatchError: + return true + default: + return false + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/firsthit_restmapper.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/firsthit_restmapper.go new file mode 100644 index 00000000000..fd221002290 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/firsthit_restmapper.go @@ -0,0 +1,97 @@ +/* +Copyright 2014 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 meta + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" +) + +// FirstHitRESTMapper is a wrapper for multiple RESTMappers which returns the +// first successful result for the singular requests +type FirstHitRESTMapper struct { + MultiRESTMapper +} + +func (m FirstHitRESTMapper) String() string { + return fmt.Sprintf("FirstHitRESTMapper{\n\t%v\n}", m.MultiRESTMapper) +} + +func (m FirstHitRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { + errors := []error{} + for _, t := range m.MultiRESTMapper { + ret, err := t.ResourceFor(resource) + if err == nil { + return ret, nil + } + errors = append(errors, err) + } + + return schema.GroupVersionResource{}, collapseAggregateErrors(errors) +} + +func (m FirstHitRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { + errors := []error{} + for _, t := range m.MultiRESTMapper { + ret, err := t.KindFor(resource) + if err == nil { + return ret, nil + } + errors = append(errors, err) + } + + return schema.GroupVersionKind{}, collapseAggregateErrors(errors) +} + +// RESTMapping provides the REST mapping for the resource based on the +// kind and version. This implementation supports multiple REST schemas and +// return the first match. +func (m FirstHitRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { + errors := []error{} + for _, t := range m.MultiRESTMapper { + ret, err := t.RESTMapping(gk, versions...) + if err == nil { + return ret, nil + } + errors = append(errors, err) + } + + return nil, collapseAggregateErrors(errors) +} + +// collapseAggregateErrors returns the minimal errors. it handles empty as nil, handles one item in a list +// by returning the item, and collapses all NoMatchErrors to a single one (since they should all be the same) +func collapseAggregateErrors(errors []error) error { + if len(errors) == 0 { + return nil + } + if len(errors) == 1 { + return errors[0] + } + + allNoMatchErrors := true + for _, err := range errors { + allNoMatchErrors = allNoMatchErrors && IsNoMatchError(err) + } + if allNoMatchErrors { + return errors[0] + } + + return utilerrors.NewAggregate(errors) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go new file mode 100644 index 00000000000..930441fa6a2 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/help.go @@ -0,0 +1,199 @@ +/* +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 meta + +import ( + "fmt" + "reflect" + + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" +) + +// IsListType returns true if the provided Object has a slice called Items +func IsListType(obj runtime.Object) bool { + // if we're a runtime.Unstructured, check whether this is a list. + // TODO: refactor GetItemsPtr to use an interface that returns []runtime.Object + if unstructured, ok := obj.(runtime.Unstructured); ok { + return unstructured.IsList() + } + + _, err := GetItemsPtr(obj) + return err == nil +} + +// GetItemsPtr returns a pointer to the list object's Items member. +// If 'list' doesn't have an Items member, it's not really a list type +// and an error will be returned. +// This function will either return a pointer to a slice, or an error, but not both. +func GetItemsPtr(list runtime.Object) (interface{}, error) { + v, err := conversion.EnforcePtr(list) + if err != nil { + return nil, err + } + + items := v.FieldByName("Items") + if !items.IsValid() { + return nil, fmt.Errorf("no Items field in %#v", list) + } + switch items.Kind() { + case reflect.Interface, reflect.Ptr: + target := reflect.TypeOf(items.Interface()).Elem() + if target.Kind() != reflect.Slice { + return nil, fmt.Errorf("items: Expected slice, got %s", target.Kind()) + } + return items.Interface(), nil + case reflect.Slice: + return items.Addr().Interface(), nil + default: + return nil, fmt.Errorf("items: Expected slice, got %s", items.Kind()) + } +} + +// EachListItem invokes fn on each runtime.Object in the list. Any error immediately terminates +// the loop. +func EachListItem(obj runtime.Object, fn func(runtime.Object) error) error { + // TODO: Change to an interface call? + itemsPtr, err := GetItemsPtr(obj) + if err != nil { + return err + } + items, err := conversion.EnforcePtr(itemsPtr) + if err != nil { + return err + } + len := items.Len() + if len == 0 { + return nil + } + takeAddr := false + if elemType := items.Type().Elem(); elemType.Kind() != reflect.Ptr && elemType.Kind() != reflect.Interface { + if !items.Index(0).CanAddr() { + return fmt.Errorf("unable to take address of items in %T for EachListItem", obj) + } + takeAddr = true + } + + for i := 0; i < len; i++ { + raw := items.Index(i) + if takeAddr { + raw = raw.Addr() + } + switch item := raw.Interface().(type) { + case *runtime.RawExtension: + if err := fn(item.Object); err != nil { + return err + } + case runtime.Object: + if err := fn(item); err != nil { + return err + } + default: + obj, ok := item.(runtime.Object) + if !ok { + return fmt.Errorf("%v: item[%v]: Expected object, got %#v(%s)", obj, i, raw.Interface(), raw.Kind()) + } + if err := fn(obj); err != nil { + return err + } + } + } + return nil +} + +// ExtractList returns obj's Items element as an array of runtime.Objects. +// Returns an error if obj is not a List type (does not have an Items member). +func ExtractList(obj runtime.Object) ([]runtime.Object, error) { + itemsPtr, err := GetItemsPtr(obj) + if err != nil { + return nil, err + } + items, err := conversion.EnforcePtr(itemsPtr) + if err != nil { + return nil, err + } + list := make([]runtime.Object, items.Len()) + for i := range list { + raw := items.Index(i) + switch item := raw.Interface().(type) { + case runtime.RawExtension: + switch { + case item.Object != nil: + list[i] = item.Object + case item.Raw != nil: + // TODO: Set ContentEncoding and ContentType correctly. + list[i] = &runtime.Unknown{Raw: item.Raw} + default: + list[i] = nil + } + case runtime.Object: + list[i] = item + default: + var found bool + if list[i], found = raw.Addr().Interface().(runtime.Object); !found { + return nil, fmt.Errorf("%v: item[%v]: Expected object, got %#v(%s)", obj, i, raw.Interface(), raw.Kind()) + } + } + } + return list, nil +} + +// objectSliceType is the type of a slice of Objects +var objectSliceType = reflect.TypeOf([]runtime.Object{}) + +// SetList sets the given list object's Items member have the elements given in +// objects. +// Returns an error if list is not a List type (does not have an Items member), +// or if any of the objects are not of the right type. +func SetList(list runtime.Object, objects []runtime.Object) error { + itemsPtr, err := GetItemsPtr(list) + if err != nil { + return err + } + items, err := conversion.EnforcePtr(itemsPtr) + if err != nil { + return err + } + if items.Type() == objectSliceType { + items.Set(reflect.ValueOf(objects)) + return nil + } + slice := reflect.MakeSlice(items.Type(), len(objects), len(objects)) + for i := range objects { + dest := slice.Index(i) + + // check to see if you're directly assignable + if reflect.TypeOf(objects[i]).AssignableTo(dest.Type()) { + dest.Set(reflect.ValueOf(objects[i])) + continue + } + + src, err := conversion.EnforcePtr(objects[i]) + if err != nil { + return err + } + if src.Type().AssignableTo(dest.Type()) { + dest.Set(src) + } else if src.Type().ConvertibleTo(dest.Type()) { + dest.Set(src.Convert(dest.Type())) + } else { + return fmt.Errorf("item[%d]: can't assign or convert %v into %v", i, src.Type(), dest.Type()) + } + } + items.Set(slice) + return nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/interfaces.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/interfaces.go new file mode 100644 index 00000000000..6f04ec32c2a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/interfaces.go @@ -0,0 +1,188 @@ +/* +Copyright 2014 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 meta + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" +) + +// VersionInterfaces contains the interfaces one should use for dealing with types of a particular version. +type VersionInterfaces struct { + runtime.ObjectConvertor + MetadataAccessor +} + +type ObjectMetaAccessor interface { + GetObjectMeta() Object +} + +// Object lets you work with object metadata from any of the versioned or +// internal API objects. Attempting to set or retrieve a field on an object that does +// not support that field (Name, UID, Namespace on lists) will be a no-op and return +// a default value. +type Object interface { + GetNamespace() string + SetNamespace(namespace string) + GetName() string + SetName(name string) + GetGenerateName() string + SetGenerateName(name string) + GetUID() types.UID + SetUID(uid types.UID) + GetResourceVersion() string + SetResourceVersion(version string) + GetSelfLink() string + SetSelfLink(selfLink string) + GetCreationTimestamp() metav1.Time + SetCreationTimestamp(timestamp metav1.Time) + GetDeletionTimestamp() *metav1.Time + SetDeletionTimestamp(timestamp *metav1.Time) + GetLabels() map[string]string + SetLabels(labels map[string]string) + GetAnnotations() map[string]string + SetAnnotations(annotations map[string]string) + GetFinalizers() []string + SetFinalizers(finalizers []string) + GetOwnerReferences() []metav1.OwnerReference + SetOwnerReferences([]metav1.OwnerReference) + GetClusterName() string + SetClusterName(clusterName string) +} + +// TODO: move me to pkg/apis/meta/v1/unstructured once Object is moved to pkg/apis/meta/v1 +var _ Object = &unstructured.Unstructured{} + +type ListMetaAccessor interface { + GetListMeta() List +} + +// List lets you work with list metadata from any of the versioned or +// internal API objects. Attempting to set or retrieve a field on an object that does +// not support that field will be a no-op and return a default value. +type List metav1.List + +// Type exposes the type and APIVersion of versioned or internal API objects. +type Type metav1.Type + +// MetadataAccessor lets you work with object and list metadata from any of the versioned or +// internal API objects. Attempting to set or retrieve a field on an object that does +// not support that field (Name, UID, Namespace on lists) will be a no-op and return +// a default value. +// +// MetadataAccessor exposes Interface in a way that can be used with multiple objects. +type MetadataAccessor interface { + APIVersion(obj runtime.Object) (string, error) + SetAPIVersion(obj runtime.Object, version string) error + + Kind(obj runtime.Object) (string, error) + SetKind(obj runtime.Object, kind string) error + + Namespace(obj runtime.Object) (string, error) + SetNamespace(obj runtime.Object, namespace string) error + + Name(obj runtime.Object) (string, error) + SetName(obj runtime.Object, name string) error + + GenerateName(obj runtime.Object) (string, error) + SetGenerateName(obj runtime.Object, name string) error + + UID(obj runtime.Object) (types.UID, error) + SetUID(obj runtime.Object, uid types.UID) error + + SelfLink(obj runtime.Object) (string, error) + SetSelfLink(obj runtime.Object, selfLink string) error + + Labels(obj runtime.Object) (map[string]string, error) + SetLabels(obj runtime.Object, labels map[string]string) error + + Annotations(obj runtime.Object) (map[string]string, error) + SetAnnotations(obj runtime.Object, annotations map[string]string) error + + runtime.ResourceVersioner +} + +type RESTScopeName string + +const ( + RESTScopeNameNamespace RESTScopeName = "namespace" + RESTScopeNameRoot RESTScopeName = "root" +) + +// RESTScope contains the information needed to deal with REST resources that are in a resource hierarchy +type RESTScope interface { + // Name of the scope + Name() RESTScopeName + // ParamName is the optional name of the parameter that should be inserted in the resource url + // If empty, no param will be inserted + ParamName() string + // ArgumentName is the optional name that should be used for the variable holding the value. + ArgumentName() string + // ParamDescription is the optional description to use to document the parameter in api documentation + ParamDescription() string +} + +// RESTMapping contains the information needed to deal with objects of a specific +// resource and kind in a RESTful manner. +type RESTMapping struct { + // Resource is a string representing the name of this resource as a REST client would see it + Resource string + + GroupVersionKind schema.GroupVersionKind + + // Scope contains the information needed to deal with REST Resources that are in a resource hierarchy + Scope RESTScope + + runtime.ObjectConvertor + MetadataAccessor +} + +// RESTMapper allows clients to map resources to kind, and map kind and version +// to interfaces for manipulating those objects. It is primarily intended for +// consumers of Kubernetes compatible REST APIs as defined in docs/devel/api-conventions.md. +// +// The Kubernetes API provides versioned resources and object kinds which are scoped +// to API groups. In other words, kinds and resources should not be assumed to be +// unique across groups. +// +// TODO: split into sub-interfaces +type RESTMapper interface { + // KindFor takes a partial resource and returns the single match. Returns an error if there are multiple matches + KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) + + // KindsFor takes a partial resource and returns the list of potential kinds in priority order + KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) + + // ResourceFor takes a partial resource and returns the single match. Returns an error if there are multiple matches + ResourceFor(input schema.GroupVersionResource) (schema.GroupVersionResource, error) + + // ResourcesFor takes a partial resource and returns the list of potential resource in priority order + ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) + + // RESTMapping identifies a preferred resource mapping for the provided group kind. + RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) + // RESTMappings returns all resource mappings for the provided group kind if no + // version search is provided. Otherwise identifies a preferred resource mapping for + // the provided version(s). + RESTMappings(gk schema.GroupKind, versions ...string) ([]*RESTMapping, error) + + AliasesForResource(resource string) ([]string, bool) + ResourceSingularizer(resource string) (singular string, err error) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/meta.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/meta.go new file mode 100644 index 00000000000..149474dd712 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/meta.go @@ -0,0 +1,567 @@ +/* +Copyright 2014 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 meta + +import ( + "fmt" + "reflect" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + + "github.com/golang/glog" +) + +// errNotList is returned when an object implements the Object style interfaces but not the List style +// interfaces. +var errNotList = fmt.Errorf("object does not implement the List interfaces") + +// ListAccessor returns a List interface for the provided object or an error if the object does +// not provide List. +// IMPORTANT: Objects are a superset of lists, so all Objects return List metadata. Do not use this +// check to determine whether an object *is* a List. +// TODO: return bool instead of error +func ListAccessor(obj interface{}) (List, error) { + switch t := obj.(type) { + case List: + return t, nil + case metav1.List: + return t, nil + case ListMetaAccessor: + if m := t.GetListMeta(); m != nil { + return m, nil + } + return nil, errNotList + case metav1.ListMetaAccessor: + if m := t.GetListMeta(); m != nil { + return m, nil + } + return nil, errNotList + case Object: + return t, nil + case ObjectMetaAccessor: + if m := t.GetObjectMeta(); m != nil { + return m, nil + } + return nil, errNotList + default: + return nil, errNotList + } +} + +// errNotObject is returned when an object implements the List style interfaces but not the Object style +// interfaces. +var errNotObject = fmt.Errorf("object does not implement the Object interfaces") + +// Accessor takes an arbitrary object pointer and returns meta.Interface. +// obj must be a pointer to an API type. An error is returned if the minimum +// required fields are missing. Fields that are not required return the default +// value and are a no-op if set. +// TODO: return bool instead of error +func Accessor(obj interface{}) (Object, error) { + switch t := obj.(type) { + case Object: + return t, nil + case ObjectMetaAccessor: + if m := t.GetObjectMeta(); m != nil { + return m, nil + } + return nil, errNotObject + case List, metav1.List, ListMetaAccessor, metav1.ListMetaAccessor: + return nil, errNotObject + default: + return nil, errNotObject + } +} + +// TypeAccessor returns an interface that allows retrieving and modifying the APIVersion +// and Kind of an in-memory internal object. +// TODO: this interface is used to test code that does not have ObjectMeta or ListMeta +// in round tripping (objects which can use apiVersion/kind, but do not fit the Kube +// api conventions). +func TypeAccessor(obj interface{}) (Type, error) { + if typed, ok := obj.(runtime.Object); ok { + return objectAccessor{typed}, nil + } + v, err := conversion.EnforcePtr(obj) + if err != nil { + return nil, err + } + t := v.Type() + if v.Kind() != reflect.Struct { + return nil, fmt.Errorf("expected struct, but got %v: %v (%#v)", v.Kind(), t, v.Interface()) + } + + typeMeta := v.FieldByName("TypeMeta") + if !typeMeta.IsValid() { + return nil, fmt.Errorf("struct %v lacks embedded TypeMeta type", t) + } + a := &genericAccessor{} + if err := extractFromTypeMeta(typeMeta, a); err != nil { + return nil, fmt.Errorf("unable to find type fields on %#v: %v", typeMeta, err) + } + return a, nil +} + +type objectAccessor struct { + runtime.Object +} + +func (obj objectAccessor) GetKind() string { + return obj.GetObjectKind().GroupVersionKind().Kind +} + +func (obj objectAccessor) SetKind(kind string) { + gvk := obj.GetObjectKind().GroupVersionKind() + gvk.Kind = kind + obj.GetObjectKind().SetGroupVersionKind(gvk) +} + +func (obj objectAccessor) GetAPIVersion() string { + return obj.GetObjectKind().GroupVersionKind().GroupVersion().String() +} + +func (obj objectAccessor) SetAPIVersion(version string) { + gvk := obj.GetObjectKind().GroupVersionKind() + gv, err := schema.ParseGroupVersion(version) + if err != nil { + gv = schema.GroupVersion{Version: version} + } + gvk.Group, gvk.Version = gv.Group, gv.Version + obj.GetObjectKind().SetGroupVersionKind(gvk) +} + +// NewAccessor returns a MetadataAccessor that can retrieve +// or manipulate resource version on objects derived from core API +// metadata concepts. +func NewAccessor() MetadataAccessor { + return resourceAccessor{} +} + +// resourceAccessor implements ResourceVersioner and SelfLinker. +type resourceAccessor struct{} + +func (resourceAccessor) Kind(obj runtime.Object) (string, error) { + return objectAccessor{obj}.GetKind(), nil +} + +func (resourceAccessor) SetKind(obj runtime.Object, kind string) error { + objectAccessor{obj}.SetKind(kind) + return nil +} + +func (resourceAccessor) APIVersion(obj runtime.Object) (string, error) { + return objectAccessor{obj}.GetAPIVersion(), nil +} + +func (resourceAccessor) SetAPIVersion(obj runtime.Object, version string) error { + objectAccessor{obj}.SetAPIVersion(version) + return nil +} + +func (resourceAccessor) Namespace(obj runtime.Object) (string, error) { + accessor, err := Accessor(obj) + if err != nil { + return "", err + } + return accessor.GetNamespace(), nil +} + +func (resourceAccessor) SetNamespace(obj runtime.Object, namespace string) error { + accessor, err := Accessor(obj) + if err != nil { + return err + } + accessor.SetNamespace(namespace) + return nil +} + +func (resourceAccessor) Name(obj runtime.Object) (string, error) { + accessor, err := Accessor(obj) + if err != nil { + return "", err + } + return accessor.GetName(), nil +} + +func (resourceAccessor) SetName(obj runtime.Object, name string) error { + accessor, err := Accessor(obj) + if err != nil { + return err + } + accessor.SetName(name) + return nil +} + +func (resourceAccessor) GenerateName(obj runtime.Object) (string, error) { + accessor, err := Accessor(obj) + if err != nil { + return "", err + } + return accessor.GetGenerateName(), nil +} + +func (resourceAccessor) SetGenerateName(obj runtime.Object, name string) error { + accessor, err := Accessor(obj) + if err != nil { + return err + } + accessor.SetGenerateName(name) + return nil +} + +func (resourceAccessor) UID(obj runtime.Object) (types.UID, error) { + accessor, err := Accessor(obj) + if err != nil { + return "", err + } + return accessor.GetUID(), nil +} + +func (resourceAccessor) SetUID(obj runtime.Object, uid types.UID) error { + accessor, err := Accessor(obj) + if err != nil { + return err + } + accessor.SetUID(uid) + return nil +} + +func (resourceAccessor) SelfLink(obj runtime.Object) (string, error) { + accessor, err := ListAccessor(obj) + if err != nil { + return "", err + } + return accessor.GetSelfLink(), nil +} + +func (resourceAccessor) SetSelfLink(obj runtime.Object, selfLink string) error { + accessor, err := ListAccessor(obj) + if err != nil { + return err + } + accessor.SetSelfLink(selfLink) + return nil +} + +func (resourceAccessor) Labels(obj runtime.Object) (map[string]string, error) { + accessor, err := Accessor(obj) + if err != nil { + return nil, err + } + return accessor.GetLabels(), nil +} + +func (resourceAccessor) SetLabels(obj runtime.Object, labels map[string]string) error { + accessor, err := Accessor(obj) + if err != nil { + return err + } + accessor.SetLabels(labels) + return nil +} + +func (resourceAccessor) Annotations(obj runtime.Object) (map[string]string, error) { + accessor, err := Accessor(obj) + if err != nil { + return nil, err + } + return accessor.GetAnnotations(), nil +} + +func (resourceAccessor) SetAnnotations(obj runtime.Object, annotations map[string]string) error { + accessor, err := Accessor(obj) + if err != nil { + return err + } + accessor.SetAnnotations(annotations) + return nil +} + +func (resourceAccessor) ResourceVersion(obj runtime.Object) (string, error) { + accessor, err := ListAccessor(obj) + if err != nil { + return "", err + } + return accessor.GetResourceVersion(), nil +} + +func (resourceAccessor) SetResourceVersion(obj runtime.Object, version string) error { + accessor, err := ListAccessor(obj) + if err != nil { + return err + } + accessor.SetResourceVersion(version) + return nil +} + +// extractFromOwnerReference extracts v to o. v is the OwnerReferences field of an object. +func extractFromOwnerReference(v reflect.Value, o *metav1.OwnerReference) error { + if err := runtime.Field(v, "APIVersion", &o.APIVersion); err != nil { + return err + } + if err := runtime.Field(v, "Kind", &o.Kind); err != nil { + return err + } + if err := runtime.Field(v, "Name", &o.Name); err != nil { + return err + } + if err := runtime.Field(v, "UID", &o.UID); err != nil { + return err + } + var controllerPtr *bool + if err := runtime.Field(v, "Controller", &controllerPtr); err != nil { + return err + } + if controllerPtr != nil { + controller := *controllerPtr + o.Controller = &controller + } + return nil +} + +// setOwnerReference sets v to o. v is the OwnerReferences field of an object. +func setOwnerReference(v reflect.Value, o *metav1.OwnerReference) error { + if err := runtime.SetField(o.APIVersion, v, "APIVersion"); err != nil { + return err + } + if err := runtime.SetField(o.Kind, v, "Kind"); err != nil { + return err + } + if err := runtime.SetField(o.Name, v, "Name"); err != nil { + return err + } + if err := runtime.SetField(o.UID, v, "UID"); err != nil { + return err + } + if o.Controller != nil { + controller := *(o.Controller) + if err := runtime.SetField(&controller, v, "Controller"); err != nil { + return err + } + } + return nil +} + +// genericAccessor contains pointers to strings that can modify an arbitrary +// struct and implements the Accessor interface. +type genericAccessor struct { + namespace *string + name *string + generateName *string + uid *types.UID + apiVersion *string + kind *string + resourceVersion *string + selfLink *string + creationTimestamp *metav1.Time + deletionTimestamp **metav1.Time + labels *map[string]string + annotations *map[string]string + ownerReferences reflect.Value + finalizers *[]string +} + +func (a genericAccessor) GetNamespace() string { + if a.namespace == nil { + return "" + } + return *a.namespace +} + +func (a genericAccessor) SetNamespace(namespace string) { + if a.namespace == nil { + return + } + *a.namespace = namespace +} + +func (a genericAccessor) GetName() string { + if a.name == nil { + return "" + } + return *a.name +} + +func (a genericAccessor) SetName(name string) { + if a.name == nil { + return + } + *a.name = name +} + +func (a genericAccessor) GetGenerateName() string { + if a.generateName == nil { + return "" + } + return *a.generateName +} + +func (a genericAccessor) SetGenerateName(generateName string) { + if a.generateName == nil { + return + } + *a.generateName = generateName +} + +func (a genericAccessor) GetUID() types.UID { + if a.uid == nil { + return "" + } + return *a.uid +} + +func (a genericAccessor) SetUID(uid types.UID) { + if a.uid == nil { + return + } + *a.uid = uid +} + +func (a genericAccessor) GetAPIVersion() string { + return *a.apiVersion +} + +func (a genericAccessor) SetAPIVersion(version string) { + *a.apiVersion = version +} + +func (a genericAccessor) GetKind() string { + return *a.kind +} + +func (a genericAccessor) SetKind(kind string) { + *a.kind = kind +} + +func (a genericAccessor) GetResourceVersion() string { + return *a.resourceVersion +} + +func (a genericAccessor) SetResourceVersion(version string) { + *a.resourceVersion = version +} + +func (a genericAccessor) GetSelfLink() string { + return *a.selfLink +} + +func (a genericAccessor) SetSelfLink(selfLink string) { + *a.selfLink = selfLink +} + +func (a genericAccessor) GetCreationTimestamp() metav1.Time { + return *a.creationTimestamp +} + +func (a genericAccessor) SetCreationTimestamp(timestamp metav1.Time) { + *a.creationTimestamp = timestamp +} + +func (a genericAccessor) GetDeletionTimestamp() *metav1.Time { + return *a.deletionTimestamp +} + +func (a genericAccessor) SetDeletionTimestamp(timestamp *metav1.Time) { + *a.deletionTimestamp = timestamp +} + +func (a genericAccessor) GetLabels() map[string]string { + if a.labels == nil { + return nil + } + return *a.labels +} + +func (a genericAccessor) SetLabels(labels map[string]string) { + *a.labels = labels +} + +func (a genericAccessor) GetAnnotations() map[string]string { + if a.annotations == nil { + return nil + } + return *a.annotations +} + +func (a genericAccessor) SetAnnotations(annotations map[string]string) { + if a.annotations == nil { + emptyAnnotations := make(map[string]string) + a.annotations = &emptyAnnotations + } + *a.annotations = annotations +} + +func (a genericAccessor) GetFinalizers() []string { + if a.finalizers == nil { + return nil + } + return *a.finalizers +} + +func (a genericAccessor) SetFinalizers(finalizers []string) { + *a.finalizers = finalizers +} + +func (a genericAccessor) GetOwnerReferences() []metav1.OwnerReference { + var ret []metav1.OwnerReference + s := a.ownerReferences + if s.Kind() != reflect.Ptr || s.Elem().Kind() != reflect.Slice { + glog.Errorf("expect %v to be a pointer to slice", s) + return ret + } + s = s.Elem() + // Set the capacity to one element greater to avoid copy if the caller later append an element. + ret = make([]metav1.OwnerReference, s.Len(), s.Len()+1) + for i := 0; i < s.Len(); i++ { + if err := extractFromOwnerReference(s.Index(i), &ret[i]); err != nil { + glog.Errorf("extractFromOwnerReference failed: %v", err) + return ret + } + } + return ret +} + +func (a genericAccessor) SetOwnerReferences(references []metav1.OwnerReference) { + s := a.ownerReferences + if s.Kind() != reflect.Ptr || s.Elem().Kind() != reflect.Slice { + glog.Errorf("expect %v to be a pointer to slice", s) + } + s = s.Elem() + newReferences := reflect.MakeSlice(s.Type(), len(references), len(references)) + for i := 0; i < len(references); i++ { + if err := setOwnerReference(newReferences.Index(i), &references[i]); err != nil { + glog.Errorf("setOwnerReference failed: %v", err) + return + } + } + s.Set(newReferences) +} + +// extractFromTypeMeta extracts pointers to version and kind fields from an object +func extractFromTypeMeta(v reflect.Value, a *genericAccessor) error { + if err := runtime.FieldPtr(v, "APIVersion", &a.apiVersion); err != nil { + return err + } + if err := runtime.FieldPtr(v, "Kind", &a.kind); err != nil { + return err + } + return nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/multirestmapper.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/multirestmapper.go new file mode 100644 index 00000000000..d32b0dbf795 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/multirestmapper.go @@ -0,0 +1,231 @@ +/* +Copyright 2014 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 meta + +import ( + "fmt" + "strings" + + "k8s.io/apimachinery/pkg/runtime/schema" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" +) + +// MultiRESTMapper is a wrapper for multiple RESTMappers. +type MultiRESTMapper []RESTMapper + +func (m MultiRESTMapper) String() string { + nested := []string{} + for _, t := range m { + currString := fmt.Sprintf("%v", t) + splitStrings := strings.Split(currString, "\n") + nested = append(nested, strings.Join(splitStrings, "\n\t")) + } + + return fmt.Sprintf("MultiRESTMapper{\n\t%s\n}", strings.Join(nested, "\n\t")) +} + +// ResourceSingularizer converts a REST resource name from plural to singular (e.g., from pods to pod) +// This implementation supports multiple REST schemas and return the first match. +func (m MultiRESTMapper) ResourceSingularizer(resource string) (singular string, err error) { + for _, t := range m { + singular, err = t.ResourceSingularizer(resource) + if err == nil { + return + } + } + return +} + +func (m MultiRESTMapper) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { + allGVRs := []schema.GroupVersionResource{} + for _, t := range m { + gvrs, err := t.ResourcesFor(resource) + // ignore "no match" errors, but any other error percolates back up + if IsNoMatchError(err) { + continue + } + if err != nil { + return nil, err + } + + // walk the existing values to de-dup + for _, curr := range gvrs { + found := false + for _, existing := range allGVRs { + if curr == existing { + found = true + break + } + } + + if !found { + allGVRs = append(allGVRs, curr) + } + } + } + + if len(allGVRs) == 0 { + return nil, &NoResourceMatchError{PartialResource: resource} + } + + return allGVRs, nil +} + +func (m MultiRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { + allGVKs := []schema.GroupVersionKind{} + for _, t := range m { + gvks, err := t.KindsFor(resource) + // ignore "no match" errors, but any other error percolates back up + if IsNoMatchError(err) { + continue + } + if err != nil { + return nil, err + } + + // walk the existing values to de-dup + for _, curr := range gvks { + found := false + for _, existing := range allGVKs { + if curr == existing { + found = true + break + } + } + + if !found { + allGVKs = append(allGVKs, curr) + } + } + } + + if len(allGVKs) == 0 { + return nil, &NoResourceMatchError{PartialResource: resource} + } + + return allGVKs, nil +} + +func (m MultiRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { + resources, err := m.ResourcesFor(resource) + if err != nil { + return schema.GroupVersionResource{}, err + } + if len(resources) == 1 { + return resources[0], nil + } + + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} +} + +func (m MultiRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { + kinds, err := m.KindsFor(resource) + if err != nil { + return schema.GroupVersionKind{}, err + } + if len(kinds) == 1 { + return kinds[0], nil + } + + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} +} + +// RESTMapping provides the REST mapping for the resource based on the +// kind and version. This implementation supports multiple REST schemas and +// return the first match. +func (m MultiRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { + allMappings := []*RESTMapping{} + errors := []error{} + + for _, t := range m { + currMapping, err := t.RESTMapping(gk, versions...) + // ignore "no match" errors, but any other error percolates back up + if IsNoMatchError(err) { + continue + } + if err != nil { + errors = append(errors, err) + continue + } + + allMappings = append(allMappings, currMapping) + } + + // if we got exactly one mapping, then use it even if other requested failed + if len(allMappings) == 1 { + return allMappings[0], nil + } + if len(allMappings) > 1 { + var kinds []schema.GroupVersionKind + for _, m := range allMappings { + kinds = append(kinds, m.GroupVersionKind) + } + return nil, &AmbiguousKindError{PartialKind: gk.WithVersion(""), MatchingKinds: kinds} + } + if len(errors) > 0 { + return nil, utilerrors.NewAggregate(errors) + } + return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")} +} + +// RESTMappings returns all possible RESTMappings for the provided group kind, or an error +// if the type is not recognized. +func (m MultiRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) ([]*RESTMapping, error) { + var allMappings []*RESTMapping + var errors []error + + for _, t := range m { + currMappings, err := t.RESTMappings(gk, versions...) + // ignore "no match" errors, but any other error percolates back up + if IsNoMatchError(err) { + continue + } + if err != nil { + errors = append(errors, err) + continue + } + allMappings = append(allMappings, currMappings...) + } + if len(errors) > 0 { + return nil, utilerrors.NewAggregate(errors) + } + if len(allMappings) == 0 { + return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")} + } + return allMappings, nil +} + +// AliasesForResource finds the first alias response for the provided mappers. +func (m MultiRESTMapper) AliasesForResource(alias string) ([]string, bool) { + seenAliases := sets.NewString() + allAliases := []string{} + handled := false + + for _, t := range m { + if currAliases, currOk := t.AliasesForResource(alias); currOk { + for _, currAlias := range currAliases { + if !seenAliases.Has(currAlias) { + allAliases = append(allAliases, currAlias) + seenAliases.Insert(currAlias) + } + } + handled = true + } + } + return allAliases, handled +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/multirestmapper_test.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/multirestmapper_test.go new file mode 100644 index 00000000000..b287682b968 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/multirestmapper_test.go @@ -0,0 +1,359 @@ +/* +Copyright 2014 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 meta + +import ( + "errors" + "reflect" + "testing" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func TestMultiRESTMapperResourceFor(t *testing.T) { + tcs := []struct { + name string + + mapper MultiRESTMapper + input schema.GroupVersionResource + result schema.GroupVersionResource + err error + }{ + { + name: "empty", + mapper: MultiRESTMapper{}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionResource{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "ignore not found", + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionResource{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "accept first failure", + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionResource{}, + err: errors.New("fail on this"), + }, + } + + for _, tc := range tcs { + actualResult, actualErr := tc.mapper.ResourceFor(tc.input) + if e, a := tc.result, actualResult; e != a { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + switch { + case tc.err == nil && actualErr == nil: + case tc.err == nil: + t.Errorf("%s: unexpected error: %v", tc.name, actualErr) + case actualErr == nil: + t.Errorf("%s: expected error: %v got nil", tc.name, tc.err) + case tc.err.Error() != actualErr.Error(): + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestMultiRESTMapperResourcesFor(t *testing.T) { + tcs := []struct { + name string + + mapper MultiRESTMapper + input schema.GroupVersionResource + result []schema.GroupVersionResource + err error + }{ + { + name: "empty", + mapper: MultiRESTMapper{}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: nil, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "ignore not found", + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: nil, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "accept first failure", + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: nil, + err: errors.New("fail on this"), + }, + { + name: "union and dedup", + mapper: MultiRESTMapper{ + fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "dupe"}, {Resource: "first"}}}, + fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "dupe"}, {Resource: "second"}}}, + }, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionResource{{Resource: "dupe"}, {Resource: "first"}, {Resource: "second"}}, + }, + { + name: "skip not and continue", + mapper: MultiRESTMapper{ + fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}, + fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "first"}, {Resource: "second"}}}, + }, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionResource{{Resource: "first"}, {Resource: "second"}}, + }, + } + + for _, tc := range tcs { + actualResult, actualErr := tc.mapper.ResourcesFor(tc.input) + if e, a := tc.result, actualResult; !reflect.DeepEqual(e, a) { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + switch { + case tc.err == nil && actualErr == nil: + case tc.err == nil: + t.Errorf("%s: unexpected error: %v", tc.name, actualErr) + case actualErr == nil: + t.Errorf("%s: expected error: %v got nil", tc.name, tc.err) + case tc.err.Error() != actualErr.Error(): + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestMultiRESTMapperKindsFor(t *testing.T) { + tcs := []struct { + name string + + mapper MultiRESTMapper + input schema.GroupVersionResource + result []schema.GroupVersionKind + err error + }{ + { + name: "empty", + mapper: MultiRESTMapper{}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: nil, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "ignore not found", + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: nil, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "accept first failure", + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: nil, + err: errors.New("fail on this"), + }, + { + name: "union and dedup", + mapper: MultiRESTMapper{ + fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "dupe"}, {Kind: "first"}}}, + fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "dupe"}, {Kind: "second"}}}, + }, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionKind{{Kind: "dupe"}, {Kind: "first"}, {Kind: "second"}}, + }, + { + name: "skip not and continue", + mapper: MultiRESTMapper{ + fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}, + fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "first"}, {Kind: "second"}}}, + }, + input: schema.GroupVersionResource{Resource: "foo"}, + result: []schema.GroupVersionKind{{Kind: "first"}, {Kind: "second"}}, + }, + } + + for _, tc := range tcs { + actualResult, actualErr := tc.mapper.KindsFor(tc.input) + if e, a := tc.result, actualResult; !reflect.DeepEqual(e, a) { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + switch { + case tc.err == nil && actualErr == nil: + case tc.err == nil: + t.Errorf("%s: unexpected error: %v", tc.name, actualErr) + case actualErr == nil: + t.Errorf("%s: expected error: %v got nil", tc.name, tc.err) + case tc.err.Error() != actualErr.Error(): + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestMultiRESTMapperKindFor(t *testing.T) { + tcs := []struct { + name string + + mapper MultiRESTMapper + input schema.GroupVersionResource + result schema.GroupVersionKind + err error + }{ + { + name: "empty", + mapper: MultiRESTMapper{}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionKind{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "ignore not found", + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "IGNORE_THIS"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionKind{}, + err: &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Resource: "foo"}}, + }, + { + name: "accept first failure", + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "unused"}}}}, + input: schema.GroupVersionResource{Resource: "foo"}, + result: schema.GroupVersionKind{}, + err: errors.New("fail on this"), + }, + } + + for _, tc := range tcs { + actualResult, actualErr := tc.mapper.KindFor(tc.input) + if e, a := tc.result, actualResult; e != a { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + switch { + case tc.err == nil && actualErr == nil: + case tc.err == nil: + t.Errorf("%s: unexpected error: %v", tc.name, actualErr) + case actualErr == nil: + t.Errorf("%s: expected error: %v got nil", tc.name, tc.err) + case tc.err.Error() != actualErr.Error(): + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestMultiRESTMapperRESTMappings(t *testing.T) { + mapping1, mapping2 := &RESTMapping{}, &RESTMapping{} + tcs := []struct { + name string + + mapper MultiRESTMapper + input schema.GroupKind + result []*RESTMapping + err error + }{ + { + name: "empty", + mapper: MultiRESTMapper{}, + input: schema.GroupKind{Kind: "Foo"}, + result: nil, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, + }, + { + name: "ignore not found", + mapper: MultiRESTMapper{fixedRESTMapper{err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "IGNORE_THIS"}}}}, + input: schema.GroupKind{Kind: "Foo"}, + result: nil, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, + }, + { + name: "accept first failure", + mapper: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{mappings: []*RESTMapping{mapping1}}}, + input: schema.GroupKind{Kind: "Foo"}, + result: nil, + err: errors.New("fail on this"), + }, + { + name: "return both", + mapper: MultiRESTMapper{fixedRESTMapper{mappings: []*RESTMapping{mapping1}}, fixedRESTMapper{mappings: []*RESTMapping{mapping2}}}, + input: schema.GroupKind{Kind: "Foo"}, + result: []*RESTMapping{mapping1, mapping2}, + }, + } + + for _, tc := range tcs { + actualResult, actualErr := tc.mapper.RESTMappings(tc.input) + if e, a := tc.result, actualResult; !reflect.DeepEqual(e, a) { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + switch { + case tc.err == nil && actualErr == nil: + case tc.err == nil: + t.Errorf("%s: unexpected error: %v", tc.name, actualErr) + case actualErr == nil: + t.Errorf("%s: expected error: %v got nil", tc.name, tc.err) + case tc.err.Error() != actualErr.Error(): + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +type fixedRESTMapper struct { + resourcesFor []schema.GroupVersionResource + kindsFor []schema.GroupVersionKind + resourceFor schema.GroupVersionResource + kindFor schema.GroupVersionKind + mappings []*RESTMapping + + err error +} + +func (m fixedRESTMapper) ResourceSingularizer(resource string) (singular string, err error) { + return "", m.err +} + +func (m fixedRESTMapper) ResourcesFor(resource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { + return m.resourcesFor, m.err +} + +func (m fixedRESTMapper) KindsFor(resource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { + return m.kindsFor, m.err +} + +func (m fixedRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { + return m.resourceFor, m.err +} + +func (m fixedRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { + return m.kindFor, m.err +} + +func (m fixedRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (mapping *RESTMapping, err error) { + return nil, m.err +} + +func (m fixedRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) (mappings []*RESTMapping, err error) { + return m.mappings, m.err +} + +func (m fixedRESTMapper) AliasesForResource(alias string) (aliases []string, ok bool) { + return nil, false +} + +func (m fixedRESTMapper) ResourceIsValid(resource schema.GroupVersionResource) bool { + return false +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/priority.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/priority.go new file mode 100644 index 00000000000..91203d11fcd --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/priority.go @@ -0,0 +1,226 @@ +/* +Copyright 2016 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 meta + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +const ( + AnyGroup = "*" + AnyVersion = "*" + AnyResource = "*" + AnyKind = "*" +) + +// PriorityRESTMapper is a wrapper for automatically choosing a particular Resource or Kind +// when multiple matches are possible +type PriorityRESTMapper struct { + // Delegate is the RESTMapper to use to locate all the Kind and Resource matches + Delegate RESTMapper + + // ResourcePriority is a list of priority patterns to apply to matching resources. + // The list of all matching resources is narrowed based on the patterns until only one remains. + // A pattern with no matches is skipped. A pattern with more than one match uses its + // matches as the list to continue matching against. + ResourcePriority []schema.GroupVersionResource + + // KindPriority is a list of priority patterns to apply to matching kinds. + // The list of all matching kinds is narrowed based on the patterns until only one remains. + // A pattern with no matches is skipped. A pattern with more than one match uses its + // matches as the list to continue matching against. + KindPriority []schema.GroupVersionKind +} + +func (m PriorityRESTMapper) String() string { + return fmt.Sprintf("PriorityRESTMapper{\n\t%v\n\t%v\n\t%v\n}", m.ResourcePriority, m.KindPriority, m.Delegate) +} + +// ResourceFor finds all resources, then passes them through the ResourcePriority patterns to find a single matching hit. +func (m PriorityRESTMapper) ResourceFor(partiallySpecifiedResource schema.GroupVersionResource) (schema.GroupVersionResource, error) { + originalGVRs, err := m.Delegate.ResourcesFor(partiallySpecifiedResource) + if err != nil { + return schema.GroupVersionResource{}, err + } + if len(originalGVRs) == 1 { + return originalGVRs[0], nil + } + + remainingGVRs := append([]schema.GroupVersionResource{}, originalGVRs...) + for _, pattern := range m.ResourcePriority { + matchedGVRs := []schema.GroupVersionResource{} + for _, gvr := range remainingGVRs { + if resourceMatches(pattern, gvr) { + matchedGVRs = append(matchedGVRs, gvr) + } + } + + switch len(matchedGVRs) { + case 0: + // if you have no matches, then nothing matched this pattern just move to the next + continue + case 1: + // one match, return + return matchedGVRs[0], nil + default: + // more than one match, use the matched hits as the list moving to the next pattern. + // this way you can have a series of selection criteria + remainingGVRs = matchedGVRs + } + } + + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingResources: originalGVRs} +} + +// KindFor finds all kinds, then passes them through the KindPriority patterns to find a single matching hit. +func (m PriorityRESTMapper) KindFor(partiallySpecifiedResource schema.GroupVersionResource) (schema.GroupVersionKind, error) { + originalGVKs, err := m.Delegate.KindsFor(partiallySpecifiedResource) + if err != nil { + return schema.GroupVersionKind{}, err + } + if len(originalGVKs) == 1 { + return originalGVKs[0], nil + } + + remainingGVKs := append([]schema.GroupVersionKind{}, originalGVKs...) + for _, pattern := range m.KindPriority { + matchedGVKs := []schema.GroupVersionKind{} + for _, gvr := range remainingGVKs { + if kindMatches(pattern, gvr) { + matchedGVKs = append(matchedGVKs, gvr) + } + } + + switch len(matchedGVKs) { + case 0: + // if you have no matches, then nothing matched this pattern just move to the next + continue + case 1: + // one match, return + return matchedGVKs[0], nil + default: + // more than one match, use the matched hits as the list moving to the next pattern. + // this way you can have a series of selection criteria + remainingGVKs = matchedGVKs + } + } + + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: partiallySpecifiedResource, MatchingKinds: originalGVKs} +} + +func resourceMatches(pattern schema.GroupVersionResource, resource schema.GroupVersionResource) bool { + if pattern.Group != AnyGroup && pattern.Group != resource.Group { + return false + } + if pattern.Version != AnyVersion && pattern.Version != resource.Version { + return false + } + if pattern.Resource != AnyResource && pattern.Resource != resource.Resource { + return false + } + + return true +} + +func kindMatches(pattern schema.GroupVersionKind, kind schema.GroupVersionKind) bool { + if pattern.Group != AnyGroup && pattern.Group != kind.Group { + return false + } + if pattern.Version != AnyVersion && pattern.Version != kind.Version { + return false + } + if pattern.Kind != AnyKind && pattern.Kind != kind.Kind { + return false + } + + return true +} + +func (m PriorityRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (mapping *RESTMapping, err error) { + mappings, err := m.Delegate.RESTMappings(gk) + if err != nil { + return nil, err + } + + // any versions the user provides take priority + priorities := m.KindPriority + if len(versions) > 0 { + priorities = make([]schema.GroupVersionKind, 0, len(m.KindPriority)+len(versions)) + for _, version := range versions { + gv := schema.GroupVersion{ + Version: version, + Group: gk.Group, + } + priorities = append(priorities, gv.WithKind(AnyKind)) + } + priorities = append(priorities, m.KindPriority...) + } + + remaining := append([]*RESTMapping{}, mappings...) + for _, pattern := range priorities { + var matching []*RESTMapping + for _, m := range remaining { + if kindMatches(pattern, m.GroupVersionKind) { + matching = append(matching, m) + } + } + + switch len(matching) { + case 0: + // if you have no matches, then nothing matched this pattern just move to the next + continue + case 1: + // one match, return + return matching[0], nil + default: + // more than one match, use the matched hits as the list moving to the next pattern. + // this way you can have a series of selection criteria + remaining = matching + } + } + if len(remaining) == 1 { + return remaining[0], nil + } + + var kinds []schema.GroupVersionKind + for _, m := range mappings { + kinds = append(kinds, m.GroupVersionKind) + } + return nil, &AmbiguousKindError{PartialKind: gk.WithVersion(""), MatchingKinds: kinds} +} + +func (m PriorityRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) ([]*RESTMapping, error) { + return m.Delegate.RESTMappings(gk, versions...) +} + +func (m PriorityRESTMapper) AliasesForResource(alias string) (aliases []string, ok bool) { + return m.Delegate.AliasesForResource(alias) +} + +func (m PriorityRESTMapper) ResourceSingularizer(resource string) (singular string, err error) { + return m.Delegate.ResourceSingularizer(resource) +} + +func (m PriorityRESTMapper) ResourcesFor(partiallySpecifiedResource schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { + return m.Delegate.ResourcesFor(partiallySpecifiedResource) +} + +func (m PriorityRESTMapper) KindsFor(partiallySpecifiedResource schema.GroupVersionResource) (gvk []schema.GroupVersionKind, err error) { + return m.Delegate.KindsFor(partiallySpecifiedResource) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/priority_test.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/priority_test.go new file mode 100644 index 00000000000..f273a39f9f6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/priority_test.go @@ -0,0 +1,346 @@ +/* +Copyright 2016 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 meta + +import ( + "errors" + "reflect" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func TestPriorityRESTMapperResourceForErrorHandling(t *testing.T) { + tcs := []struct { + name string + + delegate RESTMapper + resourcePatterns []schema.GroupVersionResource + result schema.GroupVersionResource + err string + }{ + { + name: "single hit", + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{{Resource: "single-hit"}}}, + result: schema.GroupVersionResource{Resource: "single-hit"}, + }, + { + name: "ambiguous match", + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ + {Group: "one", Version: "a", Resource: "first"}, + {Group: "two", Version: "b", Resource: "second"}, + }}, + err: "matches multiple resources", + }, + { + name: "group selection", + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ + {Group: "one", Version: "a", Resource: "first"}, + {Group: "two", Version: "b", Resource: "second"}, + }}, + resourcePatterns: []schema.GroupVersionResource{ + {Group: "one", Version: AnyVersion, Resource: AnyResource}, + }, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, + }, + { + name: "empty match continues", + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ + {Group: "one", Version: "a", Resource: "first"}, + {Group: "two", Version: "b", Resource: "second"}, + }}, + resourcePatterns: []schema.GroupVersionResource{ + {Group: "fail", Version: AnyVersion, Resource: AnyResource}, + {Group: "one", Version: AnyVersion, Resource: AnyResource}, + }, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, + }, + { + name: "group followed by version selection", + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ + {Group: "one", Version: "a", Resource: "first"}, + {Group: "two", Version: "b", Resource: "second"}, + {Group: "one", Version: "c", Resource: "third"}, + }}, + resourcePatterns: []schema.GroupVersionResource{ + {Group: "one", Version: AnyVersion, Resource: AnyResource}, + {Group: AnyGroup, Version: "a", Resource: AnyResource}, + }, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "first"}, + }, + { + name: "resource selection", + delegate: fixedRESTMapper{resourcesFor: []schema.GroupVersionResource{ + {Group: "one", Version: "a", Resource: "first"}, + {Group: "one", Version: "a", Resource: "second"}, + }}, + resourcePatterns: []schema.GroupVersionResource{ + {Group: AnyGroup, Version: AnyVersion, Resource: "second"}, + }, + result: schema.GroupVersionResource{Group: "one", Version: "a", Resource: "second"}, + }, + } + + for _, tc := range tcs { + mapper := PriorityRESTMapper{Delegate: tc.delegate, ResourcePriority: tc.resourcePatterns} + + actualResult, actualErr := mapper.ResourceFor(schema.GroupVersionResource{}) + if e, a := tc.result, actualResult; e != a { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + if len(tc.err) == 0 && actualErr == nil { + continue + } + if len(tc.err) > 0 && actualErr == nil { + t.Errorf("%s: missing expected err: %v", tc.name, tc.err) + continue + } + if !strings.Contains(actualErr.Error(), tc.err) { + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestPriorityRESTMapperKindForErrorHandling(t *testing.T) { + tcs := []struct { + name string + + delegate RESTMapper + kindPatterns []schema.GroupVersionKind + result schema.GroupVersionKind + err string + }{ + { + name: "single hit", + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{{Kind: "single-hit"}}}, + result: schema.GroupVersionKind{Kind: "single-hit"}, + }, + { + name: "ambiguous match", + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ + {Group: "one", Version: "a", Kind: "first"}, + {Group: "two", Version: "b", Kind: "second"}, + }}, + err: "matches multiple kinds", + }, + { + name: "group selection", + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ + {Group: "one", Version: "a", Kind: "first"}, + {Group: "two", Version: "b", Kind: "second"}, + }}, + kindPatterns: []schema.GroupVersionKind{ + {Group: "one", Version: AnyVersion, Kind: AnyKind}, + }, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, + }, + { + name: "empty match continues", + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ + {Group: "one", Version: "a", Kind: "first"}, + {Group: "two", Version: "b", Kind: "second"}, + }}, + kindPatterns: []schema.GroupVersionKind{ + {Group: "fail", Version: AnyVersion, Kind: AnyKind}, + {Group: "one", Version: AnyVersion, Kind: AnyKind}, + }, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, + }, + { + name: "group followed by version selection", + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ + {Group: "one", Version: "a", Kind: "first"}, + {Group: "two", Version: "b", Kind: "second"}, + {Group: "one", Version: "c", Kind: "third"}, + }}, + kindPatterns: []schema.GroupVersionKind{ + {Group: "one", Version: AnyVersion, Kind: AnyKind}, + {Group: AnyGroup, Version: "a", Kind: AnyKind}, + }, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "first"}, + }, + { + name: "kind selection", + delegate: fixedRESTMapper{kindsFor: []schema.GroupVersionKind{ + {Group: "one", Version: "a", Kind: "first"}, + {Group: "one", Version: "a", Kind: "second"}, + }}, + kindPatterns: []schema.GroupVersionKind{ + {Group: AnyGroup, Version: AnyVersion, Kind: "second"}, + }, + result: schema.GroupVersionKind{Group: "one", Version: "a", Kind: "second"}, + }, + } + + for _, tc := range tcs { + mapper := PriorityRESTMapper{Delegate: tc.delegate, KindPriority: tc.kindPatterns} + + actualResult, actualErr := mapper.KindFor(schema.GroupVersionResource{}) + if e, a := tc.result, actualResult; e != a { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + if len(tc.err) == 0 && actualErr == nil { + continue + } + if len(tc.err) > 0 && actualErr == nil { + t.Errorf("%s: missing expected err: %v", tc.name, tc.err) + continue + } + if !strings.Contains(actualErr.Error(), tc.err) { + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestPriorityRESTMapperRESTMapping(t *testing.T) { + mapping1 := &RESTMapping{ + GroupVersionKind: schema.GroupVersionKind{Kind: "Foo", Version: "v1alpha1"}, + } + mapping2 := &RESTMapping{ + GroupVersionKind: schema.GroupVersionKind{Kind: "Foo", Version: "v1"}, + } + mapping3 := &RESTMapping{ + GroupVersionKind: schema.GroupVersionKind{Group: "other", Kind: "Foo", Version: "v1"}, + } + allMappers := MultiRESTMapper{ + fixedRESTMapper{mappings: []*RESTMapping{mapping1}}, + fixedRESTMapper{mappings: []*RESTMapping{mapping2}}, + fixedRESTMapper{mappings: []*RESTMapping{mapping3}}, + } + tcs := []struct { + name string + + mapper PriorityRESTMapper + input schema.GroupKind + result *RESTMapping + err error + }{ + { + name: "empty", + mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{}}, + input: schema.GroupKind{Kind: "Foo"}, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, + }, + { + name: "ignore not found", + mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{fixedRESTMapper{err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "IGNORE_THIS"}}}}}, + input: schema.GroupKind{Kind: "Foo"}, + err: &NoKindMatchError{PartialKind: schema.GroupVersionKind{Kind: "Foo"}}, + }, + { + name: "accept first failure", + mapper: PriorityRESTMapper{Delegate: MultiRESTMapper{fixedRESTMapper{err: errors.New("fail on this")}, fixedRESTMapper{mappings: []*RESTMapping{mapping1}}}}, + input: schema.GroupKind{Kind: "Foo"}, + err: errors.New("fail on this"), + }, + { + name: "return error for ambiguous", + mapper: PriorityRESTMapper{ + Delegate: allMappers, + }, + input: schema.GroupKind{Kind: "Foo"}, + err: &AmbiguousKindError{ + PartialKind: schema.GroupVersionKind{Kind: "Foo"}, + MatchingKinds: []schema.GroupVersionKind{ + {Kind: "Foo", Version: "v1alpha1"}, + {Kind: "Foo", Version: "v1"}, + {Group: "other", Kind: "Foo", Version: "v1"}, + }, + }, + }, + { + name: "accept only item", + mapper: PriorityRESTMapper{ + Delegate: fixedRESTMapper{mappings: []*RESTMapping{mapping1}}, + }, + input: schema.GroupKind{Kind: "Foo"}, + result: mapping1, + }, + { + name: "return single priority", + mapper: PriorityRESTMapper{ + Delegate: allMappers, + KindPriority: []schema.GroupVersionKind{{Version: "v1", Kind: AnyKind}, {Version: "v1alpha1", Kind: AnyKind}}, + }, + input: schema.GroupKind{Kind: "Foo"}, + result: mapping2, + }, + { + name: "return out of group match", + mapper: PriorityRESTMapper{ + Delegate: allMappers, + KindPriority: []schema.GroupVersionKind{{Group: AnyGroup, Version: "v1", Kind: AnyKind}, {Group: "other", Version: AnyVersion, Kind: AnyKind}}, + }, + input: schema.GroupKind{Kind: "Foo"}, + result: mapping3, + }, + } + + for _, tc := range tcs { + actualResult, actualErr := tc.mapper.RESTMapping(tc.input) + if e, a := tc.result, actualResult; !reflect.DeepEqual(e, a) { + t.Errorf("%s: expected %v, got %v", tc.name, e, a) + } + switch { + case tc.err == nil && actualErr == nil: + case tc.err == nil: + t.Errorf("%s: unexpected error: %v", tc.name, actualErr) + case actualErr == nil: + t.Errorf("%s: expected error: %v got nil", tc.name, tc.err) + case tc.err.Error() != actualErr.Error(): + t.Errorf("%s: expected %v, got %v", tc.name, tc.err, actualErr) + } + } +} + +func TestPriorityRESTMapperRESTMappingHonorsUserVersion(t *testing.T) { + mappingV2alpha1 := &RESTMapping{ + GroupVersionKind: schema.GroupVersionKind{Group: "Bar", Kind: "Foo", Version: "v2alpha1"}, + } + mappingV1 := &RESTMapping{ + GroupVersionKind: schema.GroupVersionKind{Group: "Bar", Kind: "Foo", Version: "v1"}, + } + + allMappers := MultiRESTMapper{ + fixedRESTMapper{mappings: []*RESTMapping{mappingV2alpha1}}, + fixedRESTMapper{mappings: []*RESTMapping{mappingV1}}, + } + + mapper := PriorityRESTMapper{ + Delegate: allMappers, + KindPriority: []schema.GroupVersionKind{{Group: "Bar", Version: "v2alpha1", Kind: AnyKind}, {Group: "Bar", Version: AnyVersion, Kind: AnyKind}}, + } + + outMapping1, err := mapper.RESTMapping(schema.GroupKind{Group: "Bar", Kind: "Foo"}, "v1") + if err != nil { + t.Errorf("unexpected error: %v", err) + } + + if outMapping1 != mappingV1 { + t.Errorf("asked for version %v, expected mapping for %v, got mapping for %v", "v1", mappingV1.GroupVersionKind, outMapping1.GroupVersionKind) + } + + outMapping2, err := mapper.RESTMapping(schema.GroupKind{Group: "Bar", Kind: "Foo"}, "v2alpha1") + if err != nil { + t.Errorf("unexpected error: %v", err) + } + + if outMapping2 != mappingV2alpha1 { + t.Errorf("asked for version %v, expected mapping for %v, got mapping for %v", "v2alpha1", mappingV2alpha1.GroupVersionKind, outMapping2.GroupVersionKind) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/restmapper.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/restmapper.go new file mode 100644 index 00000000000..bf4c77a82bd --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/restmapper.go @@ -0,0 +1,566 @@ +/* +Copyright 2014 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. +*/ + +// TODO: move everything in this file to pkg/api/rest +package meta + +import ( + "fmt" + "sort" + "strings" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// Implements RESTScope interface +type restScope struct { + name RESTScopeName + paramName string + argumentName string + paramDescription string +} + +func (r *restScope) Name() RESTScopeName { + return r.name +} +func (r *restScope) ParamName() string { + return r.paramName +} +func (r *restScope) ArgumentName() string { + return r.argumentName +} +func (r *restScope) ParamDescription() string { + return r.paramDescription +} + +var RESTScopeNamespace = &restScope{ + name: RESTScopeNameNamespace, + paramName: "namespaces", + argumentName: "namespace", + paramDescription: "object name and auth scope, such as for teams and projects", +} + +var RESTScopeRoot = &restScope{ + name: RESTScopeNameRoot, +} + +// DefaultRESTMapper exposes mappings between the types defined in a +// runtime.Scheme. It assumes that all types defined the provided scheme +// can be mapped with the provided MetadataAccessor and Codec interfaces. +// +// The resource name of a Kind is defined as the lowercase, +// English-plural version of the Kind string. +// When converting from resource to Kind, the singular version of the +// resource name is also accepted for convenience. +// +// TODO: Only accept plural for some operations for increased control? +// (`get pod bar` vs `get pods bar`) +type DefaultRESTMapper struct { + defaultGroupVersions []schema.GroupVersion + + resourceToKind map[schema.GroupVersionResource]schema.GroupVersionKind + kindToPluralResource map[schema.GroupVersionKind]schema.GroupVersionResource + kindToScope map[schema.GroupVersionKind]RESTScope + singularToPlural map[schema.GroupVersionResource]schema.GroupVersionResource + pluralToSingular map[schema.GroupVersionResource]schema.GroupVersionResource + + interfacesFunc VersionInterfacesFunc + + // aliasToResource is used for mapping aliases to resources + aliasToResource map[string][]string +} + +func (m *DefaultRESTMapper) String() string { + return fmt.Sprintf("DefaultRESTMapper{kindToPluralResource=%v}", m.kindToPluralResource) +} + +var _ RESTMapper = &DefaultRESTMapper{} + +// VersionInterfacesFunc returns the appropriate typer, and metadata accessor for a +// given api version, or an error if no such api version exists. +type VersionInterfacesFunc func(version schema.GroupVersion) (*VersionInterfaces, error) + +// NewDefaultRESTMapper initializes a mapping between Kind and APIVersion +// to a resource name and back based on the objects in a runtime.Scheme +// and the Kubernetes API conventions. Takes a group name, a priority list of the versions +// to search when an object has no default version (set empty to return an error), +// and a function that retrieves the correct metadata for a given version. +func NewDefaultRESTMapper(defaultGroupVersions []schema.GroupVersion, f VersionInterfacesFunc) *DefaultRESTMapper { + resourceToKind := make(map[schema.GroupVersionResource]schema.GroupVersionKind) + kindToPluralResource := make(map[schema.GroupVersionKind]schema.GroupVersionResource) + kindToScope := make(map[schema.GroupVersionKind]RESTScope) + singularToPlural := make(map[schema.GroupVersionResource]schema.GroupVersionResource) + pluralToSingular := make(map[schema.GroupVersionResource]schema.GroupVersionResource) + aliasToResource := make(map[string][]string) + // TODO: verify name mappings work correctly when versions differ + + return &DefaultRESTMapper{ + resourceToKind: resourceToKind, + kindToPluralResource: kindToPluralResource, + kindToScope: kindToScope, + defaultGroupVersions: defaultGroupVersions, + singularToPlural: singularToPlural, + pluralToSingular: pluralToSingular, + aliasToResource: aliasToResource, + interfacesFunc: f, + } +} + +func (m *DefaultRESTMapper) Add(kind schema.GroupVersionKind, scope RESTScope) { + plural, singular := KindToResource(kind) + + m.singularToPlural[singular] = plural + m.pluralToSingular[plural] = singular + + m.resourceToKind[singular] = kind + m.resourceToKind[plural] = kind + + m.kindToPluralResource[kind] = plural + m.kindToScope[kind] = scope +} + +// unpluralizedSuffixes is a list of resource suffixes that are the same plural and singular +// This is only is only necessary because some bits of code are lazy and don't actually use the RESTMapper like they should. +// TODO eliminate this so that different callers can correctly map to resources. This probably means updating all +// callers to use the RESTMapper they mean. +var unpluralizedSuffixes = []string{ + "endpoints", +} + +// KindToResource converts Kind to a resource name. +// Broken. This method only "sort of" works when used outside of this package. It assumes that Kinds and Resources match +// and they aren't guaranteed to do so. +func KindToResource(kind schema.GroupVersionKind) ( /*plural*/ schema.GroupVersionResource /*singular*/, schema.GroupVersionResource) { + kindName := kind.Kind + if len(kindName) == 0 { + return schema.GroupVersionResource{}, schema.GroupVersionResource{} + } + singularName := strings.ToLower(kindName) + singular := kind.GroupVersion().WithResource(singularName) + + for _, skip := range unpluralizedSuffixes { + if strings.HasSuffix(singularName, skip) { + return singular, singular + } + } + + switch string(singularName[len(singularName)-1]) { + case "s": + return kind.GroupVersion().WithResource(singularName + "es"), singular + case "y": + return kind.GroupVersion().WithResource(strings.TrimSuffix(singularName, "y") + "ies"), singular + } + + return kind.GroupVersion().WithResource(singularName + "s"), singular +} + +// ResourceSingularizer implements RESTMapper +// It converts a resource name from plural to singular (e.g., from pods to pod) +func (m *DefaultRESTMapper) ResourceSingularizer(resourceType string) (string, error) { + partialResource := schema.GroupVersionResource{Resource: resourceType} + resources, err := m.ResourcesFor(partialResource) + if err != nil { + return resourceType, err + } + + singular := schema.GroupVersionResource{} + for _, curr := range resources { + currSingular, ok := m.pluralToSingular[curr] + if !ok { + continue + } + if singular.Empty() { + singular = currSingular + continue + } + + if currSingular.Resource != singular.Resource { + return resourceType, fmt.Errorf("multiple possible singular resources (%v) found for %v", resources, resourceType) + } + } + + if singular.Empty() { + return resourceType, fmt.Errorf("no singular of resource %v has been defined", resourceType) + } + + return singular.Resource, nil +} + +// coerceResourceForMatching makes the resource lower case and converts internal versions to unspecified (legacy behavior) +func coerceResourceForMatching(resource schema.GroupVersionResource) schema.GroupVersionResource { + resource.Resource = strings.ToLower(resource.Resource) + if resource.Version == runtime.APIVersionInternal { + resource.Version = "" + } + + return resource +} + +func (m *DefaultRESTMapper) ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { + resource := coerceResourceForMatching(input) + + hasResource := len(resource.Resource) > 0 + hasGroup := len(resource.Group) > 0 + hasVersion := len(resource.Version) > 0 + + if !hasResource { + return nil, fmt.Errorf("a resource must be present, got: %v", resource) + } + + ret := []schema.GroupVersionResource{} + switch { + case hasGroup && hasVersion: + // fully qualified. Find the exact match + for plural, singular := range m.pluralToSingular { + if singular == resource { + ret = append(ret, plural) + break + } + if plural == resource { + ret = append(ret, plural) + break + } + } + + case hasGroup: + // given a group, prefer an exact match. If you don't find one, resort to a prefix match on group + foundExactMatch := false + requestedGroupResource := resource.GroupResource() + for plural, singular := range m.pluralToSingular { + if singular.GroupResource() == requestedGroupResource { + foundExactMatch = true + ret = append(ret, plural) + } + if plural.GroupResource() == requestedGroupResource { + foundExactMatch = true + ret = append(ret, plural) + } + } + + // if you didn't find an exact match, match on group prefixing. This allows storageclass.storage to match + // storageclass.storage.k8s.io + if !foundExactMatch { + for plural, singular := range m.pluralToSingular { + if !strings.HasPrefix(plural.Group, requestedGroupResource.Group) { + continue + } + if singular.Resource == requestedGroupResource.Resource { + ret = append(ret, plural) + } + if plural.Resource == requestedGroupResource.Resource { + ret = append(ret, plural) + } + } + + } + + case hasVersion: + for plural, singular := range m.pluralToSingular { + if singular.Version == resource.Version && singular.Resource == resource.Resource { + ret = append(ret, plural) + } + if plural.Version == resource.Version && plural.Resource == resource.Resource { + ret = append(ret, plural) + } + } + + default: + for plural, singular := range m.pluralToSingular { + if singular.Resource == resource.Resource { + ret = append(ret, plural) + } + if plural.Resource == resource.Resource { + ret = append(ret, plural) + } + } + } + + if len(ret) == 0 { + return nil, &NoResourceMatchError{PartialResource: resource} + } + + sort.Sort(resourceByPreferredGroupVersion{ret, m.defaultGroupVersions}) + return ret, nil +} + +func (m *DefaultRESTMapper) ResourceFor(resource schema.GroupVersionResource) (schema.GroupVersionResource, error) { + resources, err := m.ResourcesFor(resource) + if err != nil { + return schema.GroupVersionResource{}, err + } + if len(resources) == 1 { + return resources[0], nil + } + + return schema.GroupVersionResource{}, &AmbiguousResourceError{PartialResource: resource, MatchingResources: resources} +} + +func (m *DefaultRESTMapper) KindsFor(input schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { + resource := coerceResourceForMatching(input) + + hasResource := len(resource.Resource) > 0 + hasGroup := len(resource.Group) > 0 + hasVersion := len(resource.Version) > 0 + + if !hasResource { + return nil, fmt.Errorf("a resource must be present, got: %v", resource) + } + + ret := []schema.GroupVersionKind{} + switch { + // fully qualified. Find the exact match + case hasGroup && hasVersion: + kind, exists := m.resourceToKind[resource] + if exists { + ret = append(ret, kind) + } + + case hasGroup: + foundExactMatch := false + requestedGroupResource := resource.GroupResource() + for currResource, currKind := range m.resourceToKind { + if currResource.GroupResource() == requestedGroupResource { + foundExactMatch = true + ret = append(ret, currKind) + } + } + + // if you didn't find an exact match, match on group prefixing. This allows storageclass.storage to match + // storageclass.storage.k8s.io + if !foundExactMatch { + for currResource, currKind := range m.resourceToKind { + if !strings.HasPrefix(currResource.Group, requestedGroupResource.Group) { + continue + } + if currResource.Resource == requestedGroupResource.Resource { + ret = append(ret, currKind) + } + } + + } + + case hasVersion: + for currResource, currKind := range m.resourceToKind { + if currResource.Version == resource.Version && currResource.Resource == resource.Resource { + ret = append(ret, currKind) + } + } + + default: + for currResource, currKind := range m.resourceToKind { + if currResource.Resource == resource.Resource { + ret = append(ret, currKind) + } + } + } + + if len(ret) == 0 { + return nil, &NoResourceMatchError{PartialResource: input} + } + + sort.Sort(kindByPreferredGroupVersion{ret, m.defaultGroupVersions}) + return ret, nil +} + +func (m *DefaultRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { + kinds, err := m.KindsFor(resource) + if err != nil { + return schema.GroupVersionKind{}, err + } + if len(kinds) == 1 { + return kinds[0], nil + } + + return schema.GroupVersionKind{}, &AmbiguousResourceError{PartialResource: resource, MatchingKinds: kinds} +} + +type kindByPreferredGroupVersion struct { + list []schema.GroupVersionKind + sortOrder []schema.GroupVersion +} + +func (o kindByPreferredGroupVersion) Len() int { return len(o.list) } +func (o kindByPreferredGroupVersion) Swap(i, j int) { o.list[i], o.list[j] = o.list[j], o.list[i] } +func (o kindByPreferredGroupVersion) Less(i, j int) bool { + lhs := o.list[i] + rhs := o.list[j] + if lhs == rhs { + return false + } + + if lhs.GroupVersion() == rhs.GroupVersion() { + return lhs.Kind < rhs.Kind + } + + // otherwise, the difference is in the GroupVersion, so we need to sort with respect to the preferred order + lhsIndex := -1 + rhsIndex := -1 + + for i := range o.sortOrder { + if o.sortOrder[i] == lhs.GroupVersion() { + lhsIndex = i + } + if o.sortOrder[i] == rhs.GroupVersion() { + rhsIndex = i + } + } + + if rhsIndex == -1 { + return true + } + + return lhsIndex < rhsIndex +} + +type resourceByPreferredGroupVersion struct { + list []schema.GroupVersionResource + sortOrder []schema.GroupVersion +} + +func (o resourceByPreferredGroupVersion) Len() int { return len(o.list) } +func (o resourceByPreferredGroupVersion) Swap(i, j int) { o.list[i], o.list[j] = o.list[j], o.list[i] } +func (o resourceByPreferredGroupVersion) Less(i, j int) bool { + lhs := o.list[i] + rhs := o.list[j] + if lhs == rhs { + return false + } + + if lhs.GroupVersion() == rhs.GroupVersion() { + return lhs.Resource < rhs.Resource + } + + // otherwise, the difference is in the GroupVersion, so we need to sort with respect to the preferred order + lhsIndex := -1 + rhsIndex := -1 + + for i := range o.sortOrder { + if o.sortOrder[i] == lhs.GroupVersion() { + lhsIndex = i + } + if o.sortOrder[i] == rhs.GroupVersion() { + rhsIndex = i + } + } + + if rhsIndex == -1 { + return true + } + + return lhsIndex < rhsIndex +} + +// RESTMapping returns a struct representing the resource path and conversion interfaces a +// RESTClient should use to operate on the provided group/kind in order of versions. If a version search +// order is not provided, the search order provided to DefaultRESTMapper will be used to resolve which +// version should be used to access the named group/kind. +func (m *DefaultRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*RESTMapping, error) { + mappings, err := m.RESTMappings(gk, versions...) + if err != nil { + return nil, err + } + if len(mappings) == 0 { + return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")} + } + // since we rely on RESTMappings method + // take the first match and return to the caller + // as this was the existing behavior. + return mappings[0], nil +} + +// RESTMappings returns the RESTMappings for the provided group kind. If a version search order +// is not provided, the search order provided to DefaultRESTMapper will be used. +func (m *DefaultRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) ([]*RESTMapping, error) { + mappings := make([]*RESTMapping, 0) + potentialGVK := make([]schema.GroupVersionKind, 0) + hadVersion := false + + // Pick an appropriate version + for _, version := range versions { + if len(version) == 0 || version == runtime.APIVersionInternal { + continue + } + currGVK := gk.WithVersion(version) + hadVersion = true + if _, ok := m.kindToPluralResource[currGVK]; ok { + potentialGVK = append(potentialGVK, currGVK) + break + } + } + // Use the default preferred versions + if !hadVersion && len(potentialGVK) == 0 { + for _, gv := range m.defaultGroupVersions { + if gv.Group != gk.Group { + continue + } + potentialGVK = append(potentialGVK, gk.WithVersion(gv.Version)) + } + } + + if len(potentialGVK) == 0 { + return nil, &NoKindMatchError{PartialKind: gk.WithVersion("")} + } + + for _, gvk := range potentialGVK { + //Ensure we have a REST mapping + res, ok := m.kindToPluralResource[gvk] + if !ok { + continue + } + + // Ensure we have a REST scope + scope, ok := m.kindToScope[gvk] + if !ok { + return nil, fmt.Errorf("the provided version %q and kind %q cannot be mapped to a supported scope", gvk.GroupVersion(), gvk.Kind) + } + + interfaces, err := m.interfacesFunc(gvk.GroupVersion()) + if err != nil { + return nil, fmt.Errorf("the provided version %q has no relevant versions: %v", gvk.GroupVersion().String(), err) + } + + mappings = append(mappings, &RESTMapping{ + Resource: res.Resource, + GroupVersionKind: gvk, + Scope: scope, + + ObjectConvertor: interfaces.ObjectConvertor, + MetadataAccessor: interfaces.MetadataAccessor, + }) + } + + if len(mappings) == 0 { + return nil, &NoResourceMatchError{PartialResource: schema.GroupVersionResource{Group: gk.Group, Resource: gk.Kind}} + } + return mappings, nil +} + +// AddResourceAlias maps aliases to resources +func (m *DefaultRESTMapper) AddResourceAlias(alias string, resources ...string) { + if len(resources) == 0 { + return + } + m.aliasToResource[alias] = resources +} + +// AliasesForResource returns whether a resource has an alias or not +func (m *DefaultRESTMapper) AliasesForResource(alias string) ([]string, bool) { + if res, ok := m.aliasToResource[alias]; ok { + return res, true + } + return nil, false +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/restmapper_test.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/restmapper_test.go new file mode 100644 index 00000000000..2c1653438bf --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/restmapper_test.go @@ -0,0 +1,751 @@ +/* +Copyright 2014 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 meta + +import ( + "errors" + "reflect" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +type fakeConvertor struct{} + +func (fakeConvertor) Convert(in, out, context interface{}) error { + return nil +} + +func (fakeConvertor) ConvertToVersion(in runtime.Object, _ runtime.GroupVersioner) (runtime.Object, error) { + return in, nil +} + +func (fakeConvertor) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + return label, value, nil +} + +var validAccessor = resourceAccessor{} +var validConvertor = fakeConvertor{} + +func fakeInterfaces(version schema.GroupVersion) (*VersionInterfaces, error) { + return &VersionInterfaces{ObjectConvertor: validConvertor, MetadataAccessor: validAccessor}, nil +} + +var unmatchedErr = errors.New("no version") + +func unmatchedVersionInterfaces(version schema.GroupVersion) (*VersionInterfaces, error) { + return nil, unmatchedErr +} + +func TestRESTMapperVersionAndKindForResource(t *testing.T) { + testGroup := "test.group" + testVersion := "test" + testGroupVersion := schema.GroupVersion{Group: testGroup, Version: testVersion} + + testCases := []struct { + Resource schema.GroupVersionResource + GroupVersionToRegister schema.GroupVersion + ExpectedGVK schema.GroupVersionKind + Err bool + }{ + {Resource: schema.GroupVersionResource{Resource: "internalobjec"}, Err: true}, + {Resource: schema.GroupVersionResource{Resource: "internalObjec"}, Err: true}, + + {Resource: schema.GroupVersionResource{Resource: "internalobject"}, ExpectedGVK: testGroupVersion.WithKind("InternalObject")}, + {Resource: schema.GroupVersionResource{Resource: "internalobjects"}, ExpectedGVK: testGroupVersion.WithKind("InternalObject")}, + } + for i, testCase := range testCases { + mapper := NewDefaultRESTMapper([]schema.GroupVersion{testGroupVersion}, fakeInterfaces) + if len(testCase.ExpectedGVK.Kind) != 0 { + mapper.Add(testCase.ExpectedGVK, RESTScopeNamespace) + } + actualGVK, err := mapper.KindFor(testCase.Resource) + + hasErr := err != nil + if hasErr != testCase.Err { + t.Errorf("%d: unexpected error behavior %t: %v", i, testCase.Err, err) + continue + } + if err != nil { + continue + } + + if actualGVK != testCase.ExpectedGVK { + t.Errorf("%d: unexpected version and kind: e=%s a=%s", i, testCase.ExpectedGVK, actualGVK) + } + } +} + +func TestRESTMapperGroupForResource(t *testing.T) { + testCases := []struct { + Resource schema.GroupVersionResource + GroupVersionKind schema.GroupVersionKind + Err bool + }{ + {Resource: schema.GroupVersionResource{Resource: "myObject"}, GroupVersionKind: schema.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myobject"}, GroupVersionKind: schema.GroupVersionKind{Group: "testapi2", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myObje"}, Err: true, GroupVersionKind: schema.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, + {Resource: schema.GroupVersionResource{Resource: "myobje"}, Err: true, GroupVersionKind: schema.GroupVersionKind{Group: "testapi", Version: "test", Kind: "MyObject"}}, + } + for i, testCase := range testCases { + mapper := NewDefaultRESTMapper([]schema.GroupVersion{testCase.GroupVersionKind.GroupVersion()}, fakeInterfaces) + mapper.Add(testCase.GroupVersionKind, RESTScopeNamespace) + + actualGVK, err := mapper.KindFor(testCase.Resource) + if testCase.Err { + if err == nil { + t.Errorf("%d: expected error", i) + } + } else if err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + } else if actualGVK != testCase.GroupVersionKind { + t.Errorf("%d: expected group %q, got %q", i, testCase.GroupVersionKind, actualGVK) + } + } +} + +func TestRESTMapperKindsFor(t *testing.T) { + testCases := []struct { + Name string + PreferredOrder []schema.GroupVersion + KindsToRegister []schema.GroupVersionKind + PartialResourceToRequest schema.GroupVersionResource + + ExpectedKinds []schema.GroupVersionKind + ExpectedKindErr string + }{ + { + // exact matches are prefered + Name: "groups, with group exact", + PreferredOrder: []schema.GroupVersion{ + {Group: "first-group-1", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, + + ExpectedKinds: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + }, + + { + // group prefixes work + Name: "groups, with group prefix", + PreferredOrder: []schema.GroupVersion{ + {Group: "second-group", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + }, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, + + ExpectedKinds: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + }, + + { + // group prefixes can be ambiguous + Name: "groups, with ambiguous group prefix", + PreferredOrder: []schema.GroupVersion{ + {Group: "first-group-1", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, + + ExpectedKinds: []schema.GroupVersionKind{ + {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + ExpectedKindErr: " matches multiple kinds ", + }, + + { + Name: "ambiguous groups, with preference order", + PreferredOrder: []schema.GroupVersion{ + {Group: "second-group", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "your-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "your-kind"}, + }, + PartialResourceToRequest: schema.GroupVersionResource{Resource: "my-kinds"}, + + ExpectedKinds: []schema.GroupVersionKind{ + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + ExpectedKindErr: " matches multiple kinds ", + }, + + { + Name: "ambiguous groups, with explicit group match", + PreferredOrder: []schema.GroupVersion{ + {Group: "second-group", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "your-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "your-kind"}, + }, + PartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, + + ExpectedKinds: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + }, + + { + Name: "ambiguous groups, with ambiguous version match", + PreferredOrder: []schema.GroupVersion{ + {Group: "first-group", Version: "first-version"}, + {Group: "second-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "your-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "your-kind"}, + }, + PartialResourceToRequest: schema.GroupVersionResource{Version: "first-version", Resource: "my-kinds"}, + + ExpectedKinds: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + }, + ExpectedKindErr: " matches multiple kinds ", + }, + } + for _, testCase := range testCases { + tcName := testCase.Name + mapper := NewDefaultRESTMapper(testCase.PreferredOrder, fakeInterfaces) + for _, kind := range testCase.KindsToRegister { + mapper.Add(kind, RESTScopeNamespace) + } + + actualKinds, err := mapper.KindsFor(testCase.PartialResourceToRequest) + if err != nil { + t.Errorf("%s: unexpected error: %v", tcName, err) + continue + } + if !reflect.DeepEqual(testCase.ExpectedKinds, actualKinds) { + t.Errorf("%s: expected %v, got %v", tcName, testCase.ExpectedKinds, actualKinds) + } + + singleKind, err := mapper.KindFor(testCase.PartialResourceToRequest) + if err == nil && len(testCase.ExpectedKindErr) != 0 { + t.Errorf("%s: expected error: %v", tcName, testCase.ExpectedKindErr) + continue + } + if err != nil { + if len(testCase.ExpectedKindErr) == 0 { + t.Errorf("%s: unexpected error: %v", tcName, err) + continue + } else { + if !strings.Contains(err.Error(), testCase.ExpectedKindErr) { + t.Errorf("%s: expected %v, got %v", tcName, testCase.ExpectedKindErr, err) + continue + } + } + + } else { + if testCase.ExpectedKinds[0] != singleKind { + t.Errorf("%s: expected %v, got %v", tcName, testCase.ExpectedKinds[0], singleKind) + } + + } + } +} + +func TestRESTMapperResourcesFor(t *testing.T) { + testCases := []struct { + Name string + PreferredOrder []schema.GroupVersion + KindsToRegister []schema.GroupVersionKind + PluralPartialResourceToRequest schema.GroupVersionResource + SingularPartialResourceToRequest schema.GroupVersionResource + + ExpectedResources []schema.GroupVersionResource + ExpectedResourceErr string + }{ + { + // exact matches are prefered + Name: "groups, with group exact", + PreferredOrder: []schema.GroupVersion{ + {Group: "first-group-1", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, + + ExpectedResources: []schema.GroupVersionResource{ + {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, + }, + }, + + { + // group prefixes work + Name: "groups, with group prefix", + PreferredOrder: []schema.GroupVersion{ + {Group: "second-group", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + }, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, + + ExpectedResources: []schema.GroupVersionResource{ + {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, + }, + }, + + { + // group prefixes can be ambiguous + Name: "groups, with ambiguous group prefix", + PreferredOrder: []schema.GroupVersion{ + {Group: "first-group-1", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group-1", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + }, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first", Resource: "my-kind"}, + + ExpectedResources: []schema.GroupVersionResource{ + {Group: "first-group-1", Version: "first-version", Resource: "my-kinds"}, + {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, + }, + ExpectedResourceErr: " matches multiple resources ", + }, + + { + Name: "ambiguous groups, with preference order", + PreferredOrder: []schema.GroupVersion{ + {Group: "second-group", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "your-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "your-kind"}, + }, + PluralPartialResourceToRequest: schema.GroupVersionResource{Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Resource: "my-kind"}, + + ExpectedResources: []schema.GroupVersionResource{ + {Group: "second-group", Version: "first-version", Resource: "my-kinds"}, + {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, + }, + ExpectedResourceErr: " matches multiple resources ", + }, + + { + Name: "ambiguous groups, with explicit group match", + PreferredOrder: []schema.GroupVersion{ + {Group: "second-group", Version: "first-version"}, + {Group: "first-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "your-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "your-kind"}, + }, + PluralPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Group: "first-group", Resource: "my-kind"}, + + ExpectedResources: []schema.GroupVersionResource{ + {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, + }, + }, + + { + Name: "ambiguous groups, with ambiguous version match", + PreferredOrder: []schema.GroupVersion{ + {Group: "first-group", Version: "first-version"}, + {Group: "second-group", Version: "first-version"}, + }, + KindsToRegister: []schema.GroupVersionKind{ + {Group: "first-group", Version: "first-version", Kind: "my-kind"}, + {Group: "first-group", Version: "first-version", Kind: "your-kind"}, + {Group: "second-group", Version: "first-version", Kind: "my-kind"}, + {Group: "second-group", Version: "first-version", Kind: "your-kind"}, + }, + PluralPartialResourceToRequest: schema.GroupVersionResource{Version: "first-version", Resource: "my-kinds"}, + SingularPartialResourceToRequest: schema.GroupVersionResource{Version: "first-version", Resource: "my-kind"}, + + ExpectedResources: []schema.GroupVersionResource{ + {Group: "first-group", Version: "first-version", Resource: "my-kinds"}, + {Group: "second-group", Version: "first-version", Resource: "my-kinds"}, + }, + ExpectedResourceErr: " matches multiple resources ", + }, + } + for _, testCase := range testCases { + tcName := testCase.Name + + for _, partialResource := range []schema.GroupVersionResource{testCase.PluralPartialResourceToRequest, testCase.SingularPartialResourceToRequest} { + mapper := NewDefaultRESTMapper(testCase.PreferredOrder, fakeInterfaces) + for _, kind := range testCase.KindsToRegister { + mapper.Add(kind, RESTScopeNamespace) + } + + actualResources, err := mapper.ResourcesFor(partialResource) + if err != nil { + t.Errorf("%s: unexpected error: %v", tcName, err) + continue + } + if !reflect.DeepEqual(testCase.ExpectedResources, actualResources) { + t.Errorf("%s: expected %v, got %v", tcName, testCase.ExpectedResources, actualResources) + } + + singleResource, err := mapper.ResourceFor(partialResource) + if err == nil && len(testCase.ExpectedResourceErr) != 0 { + t.Errorf("%s: expected error: %v", tcName, testCase.ExpectedResourceErr) + continue + } + if err != nil { + if len(testCase.ExpectedResourceErr) == 0 { + t.Errorf("%s: unexpected error: %v", tcName, err) + continue + } else { + if !strings.Contains(err.Error(), testCase.ExpectedResourceErr) { + t.Errorf("%s: expected %v, got %v", tcName, testCase.ExpectedResourceErr, err) + continue + } + } + + } else { + if testCase.ExpectedResources[0] != singleResource { + t.Errorf("%s: expected %v, got %v", tcName, testCase.ExpectedResources[0], singleResource) + } + + } + } + } +} + +func TestKindToResource(t *testing.T) { + testCases := []struct { + Kind string + Plural, Singular string + }{ + {Kind: "Pod", Plural: "pods", Singular: "pod"}, + + {Kind: "ReplicationController", Plural: "replicationcontrollers", Singular: "replicationcontroller"}, + + // Add "ies" when ending with "y" + {Kind: "ImageRepository", Plural: "imagerepositories", Singular: "imagerepository"}, + // Add "es" when ending with "s" + {Kind: "miss", Plural: "misses", Singular: "miss"}, + // Add "s" otherwise + {Kind: "lowercase", Plural: "lowercases", Singular: "lowercase"}, + } + for i, testCase := range testCases { + version := schema.GroupVersion{} + + plural, singular := KindToResource(version.WithKind(testCase.Kind)) + if singular != version.WithResource(testCase.Singular) || plural != version.WithResource(testCase.Plural) { + t.Errorf("%d: unexpected plural and singular: %v %v", i, plural, singular) + } + } +} + +func TestRESTMapperResourceSingularizer(t *testing.T) { + testGroupVersion := schema.GroupVersion{Group: "tgroup", Version: "test"} + + testCases := []struct { + Kind string + Plural string + Singular string + }{ + {Kind: "Pod", Plural: "pods", Singular: "pod"}, + {Kind: "ReplicationController", Plural: "replicationcontrollers", Singular: "replicationcontroller"}, + {Kind: "ImageRepository", Plural: "imagerepositories", Singular: "imagerepository"}, + {Kind: "Status", Plural: "statuses", Singular: "status"}, + + {Kind: "lowercase", Plural: "lowercases", Singular: "lowercase"}, + // TODO this test is broken. This updates to reflect actual behavior. Kinds are expected to be singular + // old (incorrect), coment: Don't add extra s if the original object is already plural + {Kind: "lowercases", Plural: "lowercaseses", Singular: "lowercases"}, + } + for i, testCase := range testCases { + mapper := NewDefaultRESTMapper([]schema.GroupVersion{testGroupVersion}, fakeInterfaces) + // create singular/plural mapping + mapper.Add(testGroupVersion.WithKind(testCase.Kind), RESTScopeNamespace) + + singular, err := mapper.ResourceSingularizer(testCase.Plural) + if err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + } + if singular != testCase.Singular { + t.Errorf("%d: mismatched singular: got %v, expected %v", i, singular, testCase.Singular) + } + } +} + +func TestRESTMapperRESTMapping(t *testing.T) { + testGroup := "tgroup" + testGroupVersion := schema.GroupVersion{Group: testGroup, Version: "test"} + internalGroupVersion := schema.GroupVersion{Group: testGroup, Version: "test"} + + testCases := []struct { + Kind string + APIGroupVersions []schema.GroupVersion + DefaultVersions []schema.GroupVersion + + Resource string + ExpectedGroupVersion *schema.GroupVersion + Err bool + }{ + {Kind: "Unknown", Err: true}, + {Kind: "InternalObject", Err: true}, + + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "Unknown", Err: true}, + + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{}, Resource: "internalobjects", ExpectedGroupVersion: &schema.GroupVersion{Group: testGroup, Version: "test"}}, + + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "test"}}, Resource: "internalobjects"}, + + // TODO: add test for a resource that exists in one version but not another + } + for i, testCase := range testCases { + mapper := NewDefaultRESTMapper(testCase.DefaultVersions, fakeInterfaces) + mapper.Add(internalGroupVersion.WithKind("InternalObject"), RESTScopeNamespace) + + preferredVersions := []string{} + for _, gv := range testCase.APIGroupVersions { + preferredVersions = append(preferredVersions, gv.Version) + } + gk := schema.GroupKind{Group: testGroup, Kind: testCase.Kind} + + mapping, err := mapper.RESTMapping(gk, preferredVersions...) + hasErr := err != nil + if hasErr != testCase.Err { + t.Errorf("%d: unexpected error behavior %t: %v", i, testCase.Err, err) + } + if hasErr { + continue + } + if mapping.Resource != testCase.Resource { + t.Errorf("%d: unexpected resource: %#v", i, mapping) + } + + if mapping.MetadataAccessor == nil || mapping.ObjectConvertor == nil { + t.Errorf("%d: missing codec and accessor: %#v", i, mapping) + } + + groupVersion := testCase.ExpectedGroupVersion + if groupVersion == nil { + groupVersion = &testCase.APIGroupVersions[0] + } + if mapping.GroupVersionKind.GroupVersion() != *groupVersion { + t.Errorf("%d: unexpected version: %#v", i, mapping) + } + + } +} + +func TestRESTMapperRESTMappingSelectsVersion(t *testing.T) { + expectedGroupVersion1 := schema.GroupVersion{Group: "tgroup", Version: "test1"} + expectedGroupVersion2 := schema.GroupVersion{Group: "tgroup", Version: "test2"} + expectedGroupVersion3 := schema.GroupVersion{Group: "tgroup", Version: "test3"} + internalObjectGK := schema.GroupKind{Group: "tgroup", Kind: "InternalObject"} + otherObjectGK := schema.GroupKind{Group: "tgroup", Kind: "OtherObject"} + + mapper := NewDefaultRESTMapper([]schema.GroupVersion{expectedGroupVersion1, expectedGroupVersion2}, fakeInterfaces) + mapper.Add(expectedGroupVersion1.WithKind("InternalObject"), RESTScopeNamespace) + mapper.Add(expectedGroupVersion2.WithKind("OtherObject"), RESTScopeNamespace) + + // pick default matching object kind based on search order + mapping, err := mapper.RESTMapping(otherObjectGK) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if mapping.Resource != "otherobjects" || mapping.GroupVersionKind.GroupVersion() != expectedGroupVersion2 { + t.Errorf("unexpected mapping: %#v", mapping) + } + + mapping, err = mapper.RESTMapping(internalObjectGK) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if mapping.Resource != "internalobjects" || mapping.GroupVersionKind.GroupVersion() != expectedGroupVersion1 { + t.Errorf("unexpected mapping: %#v", mapping) + } + + // mismatch of version + mapping, err = mapper.RESTMapping(internalObjectGK, expectedGroupVersion2.Version) + if err == nil { + t.Errorf("unexpected non-error") + } + mapping, err = mapper.RESTMapping(otherObjectGK, expectedGroupVersion1.Version) + if err == nil { + t.Errorf("unexpected non-error") + } + + // not in the search versions + mapping, err = mapper.RESTMapping(otherObjectGK, expectedGroupVersion3.Version) + if err == nil { + t.Errorf("unexpected non-error") + } + + // explicit search order + mapping, err = mapper.RESTMapping(otherObjectGK, expectedGroupVersion3.Version, expectedGroupVersion1.Version) + if err == nil { + t.Errorf("unexpected non-error") + } + + mapping, err = mapper.RESTMapping(otherObjectGK, expectedGroupVersion3.Version, expectedGroupVersion2.Version) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if mapping.Resource != "otherobjects" || mapping.GroupVersionKind.GroupVersion() != expectedGroupVersion2 { + t.Errorf("unexpected mapping: %#v", mapping) + } +} + +func TestRESTMapperRESTMappings(t *testing.T) { + testGroup := "tgroup" + testGroupVersion := schema.GroupVersion{Group: testGroup, Version: "v1"} + + testCases := []struct { + Kind string + APIGroupVersions []schema.GroupVersion + DefaultVersions []schema.GroupVersion + AddGroupVersionKind []schema.GroupVersionKind + + ExpectedRESTMappings []*RESTMapping + Err bool + }{ + {Kind: "Unknown", Err: true}, + {Kind: "InternalObject", Err: true}, + + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "Unknown", Err: true}, + + // ask for specific version - not available - thus error + {DefaultVersions: []schema.GroupVersion{testGroupVersion}, Kind: "InternalObject", APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "v2"}}, Err: true}, + + // ask for specific version - available - check ExpectedRESTMappings + { + DefaultVersions: []schema.GroupVersion{testGroupVersion}, + Kind: "InternalObject", + APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "v2"}}, + AddGroupVersionKind: []schema.GroupVersionKind{schema.GroupVersion{Group: testGroup, Version: "v2"}.WithKind("InternalObject")}, + ExpectedRESTMappings: []*RESTMapping{{Resource: "internalobjects", GroupVersionKind: schema.GroupVersionKind{Group: testGroup, Version: "v2", Kind: "InternalObject"}}}, + }, + + // ask for specific versions - only one available - check ExpectedRESTMappings + { + DefaultVersions: []schema.GroupVersion{testGroupVersion}, + Kind: "InternalObject", + APIGroupVersions: []schema.GroupVersion{{Group: testGroup, Version: "v3"}, {Group: testGroup, Version: "v2"}}, + AddGroupVersionKind: []schema.GroupVersionKind{schema.GroupVersion{Group: testGroup, Version: "v2"}.WithKind("InternalObject")}, + ExpectedRESTMappings: []*RESTMapping{{Resource: "internalobjects", GroupVersionKind: schema.GroupVersionKind{Group: testGroup, Version: "v2", Kind: "InternalObject"}}}, + }, + + // do not ask for specific version - search through default versions - check ExpectedRESTMappings + { + DefaultVersions: []schema.GroupVersion{testGroupVersion, {Group: testGroup, Version: "v2"}}, + Kind: "InternalObject", + AddGroupVersionKind: []schema.GroupVersionKind{schema.GroupVersion{Group: testGroup, Version: "v1"}.WithKind("InternalObject"), schema.GroupVersion{Group: testGroup, Version: "v2"}.WithKind("InternalObject")}, + ExpectedRESTMappings: []*RESTMapping{{Resource: "internalobjects", GroupVersionKind: schema.GroupVersionKind{Group: testGroup, Version: "v1", Kind: "InternalObject"}}, {Resource: "internalobjects", GroupVersionKind: schema.GroupVersionKind{Group: testGroup, Version: "v2", Kind: "InternalObject"}}}, + }, + } + + for i, testCase := range testCases { + mapper := NewDefaultRESTMapper(testCase.DefaultVersions, fakeInterfaces) + for _, gvk := range testCase.AddGroupVersionKind { + mapper.Add(gvk, RESTScopeNamespace) + } + + preferredVersions := []string{} + for _, gv := range testCase.APIGroupVersions { + preferredVersions = append(preferredVersions, gv.Version) + } + gk := schema.GroupKind{Group: testGroup, Kind: testCase.Kind} + + mappings, err := mapper.RESTMappings(gk, preferredVersions...) + hasErr := err != nil + if hasErr != testCase.Err { + t.Errorf("%d: unexpected error behavior %t: %v", i, testCase.Err, err) + } + if hasErr { + continue + } + if len(mappings) != len(testCase.ExpectedRESTMappings) { + t.Errorf("%d: unexpected number = %d of rest mappings was returned, expected = %d", i, len(mappings), len(testCase.ExpectedRESTMappings)) + } + for j, mapping := range mappings { + exp := testCase.ExpectedRESTMappings[j] + if mapping.Resource != exp.Resource { + t.Errorf("%d - %d: unexpected resource: %#v", i, j, mapping) + } + if mapping.MetadataAccessor == nil || mapping.ObjectConvertor == nil { + t.Errorf("%d - %d: missing codec and accessor: %#v", i, j, mapping) + } + if mapping.GroupVersionKind != exp.GroupVersionKind { + t.Errorf("%d - %d: unexpected GroupVersionKind: %#v", i, j, mapping) + } + } + } +} + +func TestRESTMapperReportsErrorOnBadVersion(t *testing.T) { + expectedGroupVersion1 := schema.GroupVersion{Group: "tgroup", Version: "test1"} + expectedGroupVersion2 := schema.GroupVersion{Group: "tgroup", Version: "test2"} + internalObjectGK := schema.GroupKind{Group: "tgroup", Kind: "InternalObject"} + + mapper := NewDefaultRESTMapper([]schema.GroupVersion{expectedGroupVersion1, expectedGroupVersion2}, unmatchedVersionInterfaces) + mapper.Add(expectedGroupVersion1.WithKind("InternalObject"), RESTScopeNamespace) + _, err := mapper.RESTMapping(internalObjectGK, expectedGroupVersion1.Version) + if err == nil { + t.Errorf("unexpected non-error") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/unstructured.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/unstructured.go new file mode 100644 index 00000000000..3ebf2481573 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/unstructured.go @@ -0,0 +1,31 @@ +/* +Copyright 2016 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 meta + +import ( + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// InterfacesForUnstructured returns VersionInterfaces suitable for +// dealing with unstructured.Unstructured objects. +func InterfacesForUnstructured(schema.GroupVersion) (*VersionInterfaces, error) { + return &VersionInterfaces{ + ObjectConvertor: &unstructured.UnstructuredObjectConverter{}, + MetadataAccessor: NewAccessor(), + }, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apimachinery/doc.go b/staging/src/k8s.io/apimachinery/pkg/apimachinery/doc.go new file mode 100644 index 00000000000..b238454b261 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apimachinery/doc.go @@ -0,0 +1,20 @@ +/* +Copyright 2014 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 apimachinery contains the generic API machinery code that +// is common to both server and clients. +// This package should never import specific API objects. +package apimachinery // import "k8s.io/apimachinery/pkg/apimachinery" diff --git a/staging/src/k8s.io/apimachinery/pkg/apimachinery/registered/registered.go b/staging/src/k8s.io/apimachinery/pkg/apimachinery/registered/registered.go new file mode 100644 index 00000000000..e56bfc0a188 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apimachinery/registered/registered.go @@ -0,0 +1,403 @@ +/* +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 to keep track of API Versions that can be registered and are enabled in api.Scheme. +package registered + +import ( + "fmt" + "os" + "sort" + "strings" + + "github.com/golang/glog" + + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" +) + +var ( + DefaultAPIRegistrationManager = NewOrDie(os.Getenv("KUBE_API_VERSIONS")) +) + +// APIRegistrationManager provides the concept of what API groups are enabled. +// +// TODO: currently, it also provides a "registered" concept. But it's wrong to +// have both concepts in the same object. Therefore the "announced" package is +// going to take over the registered concept. After all the install packages +// are switched to using the announce package instead of this package, then we +// can combine the registered/enabled concepts in this object. Simplifying this +// isn't easy right now because there are so many callers of this package. +type APIRegistrationManager struct { + // registeredGroupVersions stores all API group versions for which RegisterGroup is called. + registeredVersions map[schema.GroupVersion]struct{} + + // thirdPartyGroupVersions are API versions which are dynamically + // registered (and unregistered) via API calls to the apiserver + thirdPartyGroupVersions []schema.GroupVersion + + // enabledVersions represents all enabled API versions. It should be a + // subset of registeredVersions. Please call EnableVersions() to add + // enabled versions. + enabledVersions map[schema.GroupVersion]struct{} + + // map of group meta for all groups. + groupMetaMap map[string]*apimachinery.GroupMeta + + // envRequestedVersions represents the versions requested via the + // KUBE_API_VERSIONS environment variable. The install package of each group + // checks this list before add their versions to the latest package and + // Scheme. This list is small and order matters, so represent as a slice + envRequestedVersions []schema.GroupVersion +} + +// NewAPIRegistrationManager constructs a new manager. The argument ought to be +// the value of the KUBE_API_VERSIONS env var, or a value of this which you +// wish to test. +func NewAPIRegistrationManager(kubeAPIVersions string) (*APIRegistrationManager, error) { + m := &APIRegistrationManager{ + registeredVersions: map[schema.GroupVersion]struct{}{}, + thirdPartyGroupVersions: []schema.GroupVersion{}, + enabledVersions: map[schema.GroupVersion]struct{}{}, + groupMetaMap: map[string]*apimachinery.GroupMeta{}, + envRequestedVersions: []schema.GroupVersion{}, + } + + if len(kubeAPIVersions) != 0 { + for _, version := range strings.Split(kubeAPIVersions, ",") { + gv, err := schema.ParseGroupVersion(version) + if err != nil { + return nil, fmt.Errorf("invalid api version: %s in KUBE_API_VERSIONS: %s.", + version, kubeAPIVersions) + } + m.envRequestedVersions = append(m.envRequestedVersions, gv) + } + } + return m, nil +} + +func NewOrDie(kubeAPIVersions string) *APIRegistrationManager { + m, err := NewAPIRegistrationManager(kubeAPIVersions) + if err != nil { + glog.Fatalf("Could not construct version manager: %v (KUBE_API_VERSIONS=%q)", err, kubeAPIVersions) + } + return m +} + +// People are calling global functions. Let them continue to do that (for now). +var ( + ValidateEnvRequestedVersions = DefaultAPIRegistrationManager.ValidateEnvRequestedVersions + AllPreferredGroupVersions = DefaultAPIRegistrationManager.AllPreferredGroupVersions + RESTMapper = DefaultAPIRegistrationManager.RESTMapper + GroupOrDie = DefaultAPIRegistrationManager.GroupOrDie + AddThirdPartyAPIGroupVersions = DefaultAPIRegistrationManager.AddThirdPartyAPIGroupVersions + IsThirdPartyAPIGroupVersion = DefaultAPIRegistrationManager.IsThirdPartyAPIGroupVersion + RegisteredGroupVersions = DefaultAPIRegistrationManager.RegisteredGroupVersions + IsRegisteredVersion = DefaultAPIRegistrationManager.IsRegisteredVersion + IsRegistered = DefaultAPIRegistrationManager.IsRegistered + Group = DefaultAPIRegistrationManager.Group + EnabledVersionsForGroup = DefaultAPIRegistrationManager.EnabledVersionsForGroup + EnabledVersions = DefaultAPIRegistrationManager.EnabledVersions + IsEnabledVersion = DefaultAPIRegistrationManager.IsEnabledVersion + IsAllowedVersion = DefaultAPIRegistrationManager.IsAllowedVersion + EnableVersions = DefaultAPIRegistrationManager.EnableVersions + RegisterGroup = DefaultAPIRegistrationManager.RegisterGroup + RegisterVersions = DefaultAPIRegistrationManager.RegisterVersions + InterfacesFor = DefaultAPIRegistrationManager.InterfacesFor +) + +// RegisterVersions adds the given group versions to the list of registered group versions. +func (m *APIRegistrationManager) RegisterVersions(availableVersions []schema.GroupVersion) { + for _, v := range availableVersions { + m.registeredVersions[v] = struct{}{} + } +} + +// RegisterGroup adds the given group to the list of registered groups. +func (m *APIRegistrationManager) RegisterGroup(groupMeta apimachinery.GroupMeta) error { + groupName := groupMeta.GroupVersion.Group + if _, found := m.groupMetaMap[groupName]; found { + return fmt.Errorf("group %v is already registered", m.groupMetaMap) + } + m.groupMetaMap[groupName] = &groupMeta + return nil +} + +// EnableVersions adds the versions for the given group to the list of enabled versions. +// Note that the caller should call RegisterGroup before calling this method. +// The caller of this function is responsible to add the versions to scheme and RESTMapper. +func (m *APIRegistrationManager) EnableVersions(versions ...schema.GroupVersion) error { + var unregisteredVersions []schema.GroupVersion + for _, v := range versions { + if _, found := m.registeredVersions[v]; !found { + unregisteredVersions = append(unregisteredVersions, v) + } + m.enabledVersions[v] = struct{}{} + } + if len(unregisteredVersions) != 0 { + return fmt.Errorf("Please register versions before enabling them: %v", unregisteredVersions) + } + return nil +} + +// IsAllowedVersion returns if the version is allowed by the KUBE_API_VERSIONS +// environment variable. If the environment variable is empty, then it always +// returns true. +func (m *APIRegistrationManager) IsAllowedVersion(v schema.GroupVersion) bool { + if len(m.envRequestedVersions) == 0 { + return true + } + for _, envGV := range m.envRequestedVersions { + if v == envGV { + return true + } + } + return false +} + +// IsEnabledVersion returns if a version is enabled. +func (m *APIRegistrationManager) IsEnabledVersion(v schema.GroupVersion) bool { + _, found := m.enabledVersions[v] + return found +} + +// EnabledVersions returns all enabled versions. Groups are randomly ordered, but versions within groups +// are priority order from best to worst +func (m *APIRegistrationManager) EnabledVersions() []schema.GroupVersion { + ret := []schema.GroupVersion{} + for _, groupMeta := range m.groupMetaMap { + for _, version := range groupMeta.GroupVersions { + if m.IsEnabledVersion(version) { + ret = append(ret, version) + } + } + } + return ret +} + +// EnabledVersionsForGroup returns all enabled versions for a group in order of best to worst +func (m *APIRegistrationManager) EnabledVersionsForGroup(group string) []schema.GroupVersion { + groupMeta, ok := m.groupMetaMap[group] + if !ok { + return []schema.GroupVersion{} + } + + ret := []schema.GroupVersion{} + for _, version := range groupMeta.GroupVersions { + if m.IsEnabledVersion(version) { + ret = append(ret, version) + } + } + return ret +} + +// Group returns the metadata of a group if the group is registered, otherwise +// an error is returned. +func (m *APIRegistrationManager) Group(group string) (*apimachinery.GroupMeta, error) { + groupMeta, found := m.groupMetaMap[group] + if !found { + return nil, fmt.Errorf("group %v has not been registered", group) + } + groupMetaCopy := *groupMeta + return &groupMetaCopy, nil +} + +// IsRegistered takes a string and determines if it's one of the registered groups +func (m *APIRegistrationManager) IsRegistered(group string) bool { + _, found := m.groupMetaMap[group] + return found +} + +// IsRegisteredVersion returns if a version is registered. +func (m *APIRegistrationManager) IsRegisteredVersion(v schema.GroupVersion) bool { + _, found := m.registeredVersions[v] + return found +} + +// RegisteredGroupVersions returns all registered group versions. +func (m *APIRegistrationManager) RegisteredGroupVersions() []schema.GroupVersion { + ret := []schema.GroupVersion{} + for groupVersion := range m.registeredVersions { + ret = append(ret, groupVersion) + } + return ret +} + +// IsThirdPartyAPIGroupVersion returns true if the api version is a user-registered group/version. +func (m *APIRegistrationManager) IsThirdPartyAPIGroupVersion(gv schema.GroupVersion) bool { + for ix := range m.thirdPartyGroupVersions { + if m.thirdPartyGroupVersions[ix] == gv { + return true + } + } + return false +} + +// AddThirdPartyAPIGroupVersions sets the list of third party versions, +// registers them in the API machinery and enables them. +// Skips GroupVersions that are already registered. +// Returns the list of GroupVersions that were skipped. +func (m *APIRegistrationManager) AddThirdPartyAPIGroupVersions(gvs ...schema.GroupVersion) []schema.GroupVersion { + filteredGVs := []schema.GroupVersion{} + skippedGVs := []schema.GroupVersion{} + for ix := range gvs { + if !m.IsRegisteredVersion(gvs[ix]) { + filteredGVs = append(filteredGVs, gvs[ix]) + } else { + glog.V(3).Infof("Skipping %s, because its already registered", gvs[ix].String()) + skippedGVs = append(skippedGVs, gvs[ix]) + } + } + if len(filteredGVs) == 0 { + return skippedGVs + } + m.RegisterVersions(filteredGVs) + m.EnableVersions(filteredGVs...) + m.thirdPartyGroupVersions = append(m.thirdPartyGroupVersions, filteredGVs...) + + return skippedGVs +} + +// InterfacesFor is a union meta.VersionInterfacesFunc func for all registered types +func (m *APIRegistrationManager) InterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { + groupMeta, err := m.Group(version.Group) + if err != nil { + return nil, err + } + return groupMeta.InterfacesFor(version) +} + +// TODO: This is an expedient function, because we don't check if a Group is +// supported throughout the code base. We will abandon this function and +// checking the error returned by the Group() function. +func (m *APIRegistrationManager) GroupOrDie(group string) *apimachinery.GroupMeta { + groupMeta, found := m.groupMetaMap[group] + if !found { + if group == "" { + panic("The legacy v1 API is not registered.") + } else { + panic(fmt.Sprintf("Group %s is not registered.", group)) + } + } + groupMetaCopy := *groupMeta + return &groupMetaCopy +} + +// RESTMapper returns a union RESTMapper of all known types with priorities chosen in the following order: +// 1. if KUBE_API_VERSIONS is specified, then KUBE_API_VERSIONS in order, OR +// 1. legacy kube group preferred version, extensions preferred version, metrics perferred version, legacy +// kube any version, extensions any version, metrics any version, all other groups alphabetical preferred version, +// all other groups alphabetical. +func (m *APIRegistrationManager) RESTMapper(versionPatterns ...schema.GroupVersion) meta.RESTMapper { + unionMapper := meta.MultiRESTMapper{} + unionedGroups := sets.NewString() + for enabledVersion := range m.enabledVersions { + if !unionedGroups.Has(enabledVersion.Group) { + unionedGroups.Insert(enabledVersion.Group) + groupMeta := m.groupMetaMap[enabledVersion.Group] + unionMapper = append(unionMapper, groupMeta.RESTMapper) + } + } + + if len(versionPatterns) != 0 { + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} + for _, versionPriority := range versionPatterns { + resourcePriority = append(resourcePriority, versionPriority.WithResource(meta.AnyResource)) + kindPriority = append(kindPriority, versionPriority.WithKind(meta.AnyKind)) + } + + return meta.PriorityRESTMapper{Delegate: unionMapper, ResourcePriority: resourcePriority, KindPriority: kindPriority} + } + + if len(m.envRequestedVersions) != 0 { + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} + + for _, versionPriority := range m.envRequestedVersions { + resourcePriority = append(resourcePriority, versionPriority.WithResource(meta.AnyResource)) + kindPriority = append(kindPriority, versionPriority.WithKind(meta.AnyKind)) + } + + return meta.PriorityRESTMapper{Delegate: unionMapper, ResourcePriority: resourcePriority, KindPriority: kindPriority} + } + + prioritizedGroups := []string{"", "extensions", "metrics"} + resourcePriority, kindPriority := m.prioritiesForGroups(prioritizedGroups...) + + prioritizedGroupsSet := sets.NewString(prioritizedGroups...) + remainingGroups := sets.String{} + for enabledVersion := range m.enabledVersions { + if !prioritizedGroupsSet.Has(enabledVersion.Group) { + remainingGroups.Insert(enabledVersion.Group) + } + } + + remainingResourcePriority, remainingKindPriority := m.prioritiesForGroups(remainingGroups.List()...) + resourcePriority = append(resourcePriority, remainingResourcePriority...) + kindPriority = append(kindPriority, remainingKindPriority...) + + return meta.PriorityRESTMapper{Delegate: unionMapper, ResourcePriority: resourcePriority, KindPriority: kindPriority} +} + +// prioritiesForGroups returns the resource and kind priorities for a PriorityRESTMapper, preferring the preferred version of each group first, +// then any non-preferred version of the group second. +func (m *APIRegistrationManager) prioritiesForGroups(groups ...string) ([]schema.GroupVersionResource, []schema.GroupVersionKind) { + resourcePriority := []schema.GroupVersionResource{} + kindPriority := []schema.GroupVersionKind{} + + for _, group := range groups { + availableVersions := m.EnabledVersionsForGroup(group) + if len(availableVersions) > 0 { + resourcePriority = append(resourcePriority, availableVersions[0].WithResource(meta.AnyResource)) + kindPriority = append(kindPriority, availableVersions[0].WithKind(meta.AnyKind)) + } + } + for _, group := range groups { + resourcePriority = append(resourcePriority, schema.GroupVersionResource{Group: group, Version: meta.AnyVersion, Resource: meta.AnyResource}) + kindPriority = append(kindPriority, schema.GroupVersionKind{Group: group, Version: meta.AnyVersion, Kind: meta.AnyKind}) + } + + return resourcePriority, kindPriority +} + +// AllPreferredGroupVersions returns the preferred versions of all registered +// groups in the form of "group1/version1,group2/version2,..." +func (m *APIRegistrationManager) AllPreferredGroupVersions() string { + if len(m.groupMetaMap) == 0 { + return "" + } + var defaults []string + for _, groupMeta := range m.groupMetaMap { + defaults = append(defaults, groupMeta.GroupVersion.String()) + } + sort.Strings(defaults) + return strings.Join(defaults, ",") +} + +// ValidateEnvRequestedVersions returns a list of versions that are requested in +// the KUBE_API_VERSIONS environment variable, but not enabled. +func (m *APIRegistrationManager) ValidateEnvRequestedVersions() []schema.GroupVersion { + var missingVersions []schema.GroupVersion + for _, v := range m.envRequestedVersions { + if _, found := m.enabledVersions[v]; !found { + missingVersions = append(missingVersions, v) + } + } + return missingVersions +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apimachinery/registered/registered_test.go b/staging/src/k8s.io/apimachinery/pkg/apimachinery/registered/registered_test.go new file mode 100644 index 00000000000..37d54d27f79 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apimachinery/registered/registered_test.go @@ -0,0 +1,148 @@ +/* +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 registered + +import ( + "testing" + + "k8s.io/apimachinery/pkg/apimachinery" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func TestAddThirdPartyVersionsBasic(t *testing.T) { + m, err := NewAPIRegistrationManager("") + if err != nil { + t.Fatalf("Unexpected failure to make a manager: %v", err) + } + + registered := []schema.GroupVersion{ + { + Group: "", + Version: "v1", + }, + } + skipped := registered + thirdParty := []schema.GroupVersion{ + { + Group: "company.com", + Version: "v1", + }, + { + Group: "company.com", + Version: "v2", + }, + } + gvs := append(registered, thirdParty...) + + m.RegisterVersions(registered) + wasSkipped := m.AddThirdPartyAPIGroupVersions(gvs...) + if len(wasSkipped) != len(skipped) { + t.Errorf("Expected %v, found %v", skipped, wasSkipped) + } + for ix := range wasSkipped { + found := false + for _, gv := range skipped { + if gv.String() == wasSkipped[ix].String() { + found = true + break + } + } + if !found { + t.Errorf("Couldn't find %v in %v", wasSkipped[ix], skipped) + } + } + for _, gv := range thirdParty { + if !m.IsThirdPartyAPIGroupVersion(gv) { + t.Errorf("Expected %v to be third party.", gv) + } + } +} + +func TestAddThirdPartyVersionsMultiple(t *testing.T) { + thirdParty := []schema.GroupVersion{ + { + Group: "company.com", + Version: "v1", + }, + { + Group: "company.com", + Version: "v2", + }, + } + m, err := NewAPIRegistrationManager("") + if err != nil { + t.Fatalf("Unexpected failure to make a manager: %v", err) + } + for _, gv := range thirdParty { + wasSkipped := m.AddThirdPartyAPIGroupVersions(gv) + if len(wasSkipped) != 0 { + t.Errorf("Expected length 0, found %v", wasSkipped) + } + } + for _, gv := range thirdParty { + if !m.IsThirdPartyAPIGroupVersion(gv) { + t.Errorf("Expected %v to be third party.", gv) + } + } +} + +func TestAllPreferredGroupVersions(t *testing.T) { + testCases := []struct { + groupMetas []apimachinery.GroupMeta + expect string + }{ + { + groupMetas: []apimachinery.GroupMeta{ + { + GroupVersion: schema.GroupVersion{Group: "group1", Version: "v1"}, + }, + { + GroupVersion: schema.GroupVersion{Group: "group2", Version: "v2"}, + }, + { + GroupVersion: schema.GroupVersion{Group: "", Version: "v1"}, + }, + }, + expect: "group1/v1,group2/v2,v1", + }, + { + groupMetas: []apimachinery.GroupMeta{ + { + GroupVersion: schema.GroupVersion{Group: "", Version: "v1"}, + }, + }, + expect: "v1", + }, + { + groupMetas: []apimachinery.GroupMeta{}, + expect: "", + }, + } + for _, testCase := range testCases { + m, err := NewAPIRegistrationManager("") + if err != nil { + t.Fatalf("Unexpected failure to make a manager: %v", err) + } + for _, groupMeta := range testCase.groupMetas { + m.RegisterGroup(groupMeta) + } + output := m.AllPreferredGroupVersions() + if testCase.expect != output { + t.Errorf("Error. expect: %s, got: %s", testCase.expect, output) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apimachinery/types.go b/staging/src/k8s.io/apimachinery/pkg/apimachinery/types.go new file mode 100644 index 00000000000..213e34bc00e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apimachinery/types.go @@ -0,0 +1,87 @@ +/* +Copyright 2016 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 apimachinery + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupMeta stores the metadata of a group. +type GroupMeta struct { + // GroupVersion represents the preferred version of the group. + GroupVersion schema.GroupVersion + + // GroupVersions is Group + all versions in that group. + GroupVersions []schema.GroupVersion + + // SelfLinker can set or get the SelfLink field of all API types. + // TODO: when versioning changes, make this part of each API definition. + // TODO(lavalamp): Combine SelfLinker & ResourceVersioner interfaces, force all uses + // to go through the InterfacesFor method below. + SelfLinker runtime.SelfLinker + + // RESTMapper provides the default mapping between REST paths and the objects declared in api.Scheme and all known + // versions. + RESTMapper meta.RESTMapper + + // InterfacesFor returns the default Codec and ResourceVersioner for a given version + // string, or an error if the version is not known. + // TODO: make this stop being a func pointer and always use the default + // function provided below once every place that populates this field has been changed. + InterfacesFor func(version schema.GroupVersion) (*meta.VersionInterfaces, error) + + // InterfacesByVersion stores the per-version interfaces. + InterfacesByVersion map[schema.GroupVersion]*meta.VersionInterfaces +} + +// DefaultInterfacesFor returns the default Codec and ResourceVersioner for a given version +// string, or an error if the version is not known. +// TODO: Remove the "Default" prefix. +func (gm *GroupMeta) DefaultInterfacesFor(version schema.GroupVersion) (*meta.VersionInterfaces, error) { + if v, ok := gm.InterfacesByVersion[version]; ok { + return v, nil + } + return nil, fmt.Errorf("unsupported storage version: %s (valid: %v)", version, gm.GroupVersions) +} + +// AddVersionInterfaces adds the given version to the group. Only call during +// init, after that GroupMeta objects should be immutable. Not thread safe. +// (If you use this, be sure to set .InterfacesFor = .DefaultInterfacesFor) +// TODO: remove the "Interfaces" suffix and make this also maintain the +// .GroupVersions member. +func (gm *GroupMeta) AddVersionInterfaces(version schema.GroupVersion, interfaces *meta.VersionInterfaces) error { + if e, a := gm.GroupVersion.Group, version.Group; a != e { + return fmt.Errorf("got a version in group %v, but am in group %v", a, e) + } + if gm.InterfacesByVersion == nil { + gm.InterfacesByVersion = make(map[schema.GroupVersion]*meta.VersionInterfaces) + } + gm.InterfacesByVersion[version] = interfaces + + // TODO: refactor to make the below error not possible, this function + // should *set* GroupVersions rather than depend on it. + for _, v := range gm.GroupVersions { + if v == version { + return nil + } + } + return fmt.Errorf("added a version interface without the corresponding version %v being in the list %#v", version, gm.GroupVersions) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apimachinery/types_test.go b/staging/src/k8s.io/apimachinery/pkg/apimachinery/types_test.go new file mode 100644 index 00000000000..ca858788ef4 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apimachinery/types_test.go @@ -0,0 +1,43 @@ +/* +Copyright 2016 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 apimachinery + +import ( + "testing" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func TestAdd(t *testing.T) { + gm := GroupMeta{ + GroupVersion: schema.GroupVersion{ + Group: "test", + Version: "v1", + }, + GroupVersions: []schema.GroupVersion{{Group: "test", Version: "v1"}}, + } + + gm.AddVersionInterfaces(schema.GroupVersion{Group: "test", Version: "v1"}, nil) + if e, a := 1, len(gm.InterfacesByVersion); e != a { + t.Errorf("expected %v, got %v", e, a) + } + + // GroupVersions is unchanged + if e, a := 1, len(gm.GroupVersions); e != a { + t.Errorf("expected %v, got %v", e, a) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS new file mode 100755 index 00000000000..381a5250947 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS @@ -0,0 +1,33 @@ +reviewers: +- thockin +- smarterclayton +- wojtek-t +- deads2k +- brendandburns +- caesarxuchao +- liggitt +- nikhiljindal +- gmarek +- erictune +- davidopp +- sttts +- quinton-hoole +- kargakis +- luxas +- janetkuo +- justinsb +- ncdc +- timothysc +- soltysh +- dims +- madhusudancs +- hongchaodeng +- krousey +- mml +- mbohlool +- david-mcmahon +- therc +- mqliang +- kevin-wangzefeng +- jianhuiz +- feihujiang diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/doc.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/doc.go new file mode 100644 index 00000000000..52273240f0e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/doc.go @@ -0,0 +1,22 @@ +/* +Copyright 2016 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. +*/ + +// +k8s:deepcopy-gen=package +// +k8s:openapi-gen=true +// +k8s:defaulter-gen=TypeMeta + +// +groupName=meta.k8s.io +package v1 diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/duration.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/duration.go new file mode 100644 index 00000000000..fea458dfb3a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/duration.go @@ -0,0 +1,47 @@ +/* +Copyright 2014 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 v1 + +import ( + "encoding/json" + "time" +) + +// Duration is a wrapper around time.Duration which supports correct +// marshaling to YAML and JSON. In particular, it marshals into strings, which +// can be used as map keys in json. +type Duration struct { + time.Duration `protobuf:"varint,1,opt,name=duration,casttype=time.Duration"` +} + +// UnmarshalJSON implements the json.Unmarshaller interface. +func (d *Duration) UnmarshalJSON(b []byte) error { + var str string + json.Unmarshal(b, &str) + + pd, err := time.ParseDuration(str) + if err != nil { + return err + } + d.Duration = pd + return nil +} + +// MarshalJSON implements the json.Marshaler interface. +func (d Duration) MarshalJSON() ([]byte, error) { + return json.Marshal(d.Duration.String()) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/duration_test.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/duration_test.go new file mode 100644 index 00000000000..7230cb28ab4 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/duration_test.go @@ -0,0 +1,153 @@ +/* +Copyright 2014 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 v1 + +import ( + "encoding/json" + "testing" + "time" + + "github.com/ghodss/yaml" +) + +type DurationHolder struct { + D Duration `json:"d"` +} + +func TestDurationMarshalYAML(t *testing.T) { + cases := []struct { + input Duration + result string + }{ + {Duration{5 * time.Second}, "d: 5s\n"}, + {Duration{2 * time.Minute}, "d: 2m0s\n"}, + {Duration{time.Hour + 3*time.Millisecond}, "d: 1h0m0.003s\n"}, + } + + for _, c := range cases { + input := DurationHolder{c.input} + result, err := yaml.Marshal(&input) + if err != nil { + t.Errorf("Failed to marshal input: %q: %v", input, err) + } + if string(result) != c.result { + t.Errorf("Failed to marshal input: %q: expected %q, got %q", input, c.result, string(result)) + } + } +} + +func TestDurationUnmarshalYAML(t *testing.T) { + cases := []struct { + input string + result Duration + }{ + {"d: 0s\n", Duration{}}, + {"d: 5s\n", Duration{5 * time.Second}}, + {"d: 2m0s\n", Duration{2 * time.Minute}}, + {"d: 1h0m0.003s\n", Duration{time.Hour + 3*time.Millisecond}}, + + // Units with zero values can optionally be dropped + {"d: 2m\n", Duration{2 * time.Minute}}, + {"d: 1h0.003s\n", Duration{time.Hour + 3*time.Millisecond}}, + } + + for _, c := range cases { + var result DurationHolder + if err := yaml.Unmarshal([]byte(c.input), &result); err != nil { + t.Errorf("Failed to unmarshal input %q: %v", c.input, err) + } + if result.D != c.result { + t.Errorf("Failed to unmarshal input %q: expected %q, got %q", c.input, c.result, result) + } + } +} + +func TestDurationMarshalJSON(t *testing.T) { + cases := []struct { + input Duration + result string + }{ + {Duration{5 * time.Second}, `{"d":"5s"}`}, + {Duration{2 * time.Minute}, `{"d":"2m0s"}`}, + {Duration{time.Hour + 3*time.Millisecond}, `{"d":"1h0m0.003s"}`}, + } + + for _, c := range cases { + input := DurationHolder{c.input} + result, err := json.Marshal(&input) + if err != nil { + t.Errorf("Failed to marshal input: %q: %v", input, err) + } + if string(result) != c.result { + t.Errorf("Failed to marshal input: %q: expected %q, got %q", input, c.result, string(result)) + } + } +} + +func TestDurationUnmarshalJSON(t *testing.T) { + cases := []struct { + input string + result Duration + }{ + {`{"d":"0s"}`, Duration{}}, + {`{"d":"5s"}`, Duration{5 * time.Second}}, + {`{"d":"2m0s"}`, Duration{2 * time.Minute}}, + {`{"d":"1h0m0.003s"}`, Duration{time.Hour + 3*time.Millisecond}}, + + // Units with zero values can optionally be dropped + {`{"d":"2m"}`, Duration{2 * time.Minute}}, + {`{"d":"1h0.003s"}`, Duration{time.Hour + 3*time.Millisecond}}, + } + + for _, c := range cases { + var result DurationHolder + if err := json.Unmarshal([]byte(c.input), &result); err != nil { + t.Errorf("Failed to unmarshal input %q: %v", c.input, err) + } + if result.D != c.result { + t.Errorf("Failed to unmarshal input %q: expected %q, got %q", c.input, c.result, result) + } + } +} + +func TestDurationMarshalJSONUnmarshalYAML(t *testing.T) { + cases := []struct { + input Duration + }{ + {Duration{}}, + {Duration{5 * time.Second}}, + {Duration{2 * time.Minute}}, + {Duration{time.Hour + 3*time.Millisecond}}, + } + + for i, c := range cases { + input := DurationHolder{c.input} + jsonMarshalled, err := json.Marshal(&input) + if err != nil { + t.Errorf("%d-1: Failed to marshal input: '%v': %v", i, input, err) + } + + var result DurationHolder + if err := yaml.Unmarshal(jsonMarshalled, &result); err != nil { + t.Errorf("%d-2: Failed to unmarshal '%+v': %v", i, string(jsonMarshalled), err) + } + + if input.D != result.D { + t.Errorf("%d-4: Failed to marshal input '%#v': got %#v", i, input, result) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go new file mode 100644 index 00000000000..47d13e6329c --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go @@ -0,0 +1,5288 @@ +/* +Copyright 2017 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. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto + + It has these top-level messages: + APIGroup + APIGroupList + APIResource + APIResourceList + APIVersions + Duration + ExportOptions + GetOptions + GroupKind + GroupResource + GroupVersion + GroupVersionForDiscovery + GroupVersionKind + GroupVersionResource + LabelSelector + LabelSelectorRequirement + ListMeta + OwnerReference + RootPaths + ServerAddressByClientCIDR + Status + StatusCause + StatusDetails + Time + Timestamp + TypeMeta + Verbs + WatchEvent +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import time "time" +import k8s_io_kubernetes_pkg_types "k8s.io/apimachinery/pkg/types" + +import strings "strings" +import reflect "reflect" +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import io "io" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +const _ = proto.GoGoProtoPackageIsVersion1 + +func (m *APIGroup) Reset() { *m = APIGroup{} } +func (*APIGroup) ProtoMessage() {} +func (*APIGroup) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *APIGroupList) Reset() { *m = APIGroupList{} } +func (*APIGroupList) ProtoMessage() {} +func (*APIGroupList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *APIResource) Reset() { *m = APIResource{} } +func (*APIResource) ProtoMessage() {} +func (*APIResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *APIResourceList) Reset() { *m = APIResourceList{} } +func (*APIResourceList) ProtoMessage() {} +func (*APIResourceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *APIVersions) Reset() { *m = APIVersions{} } +func (*APIVersions) ProtoMessage() {} +func (*APIVersions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *Duration) Reset() { *m = Duration{} } +func (*Duration) ProtoMessage() {} +func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *ExportOptions) Reset() { *m = ExportOptions{} } +func (*ExportOptions) ProtoMessage() {} +func (*ExportOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *GetOptions) Reset() { *m = GetOptions{} } +func (*GetOptions) ProtoMessage() {} +func (*GetOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } + +func (m *GroupKind) Reset() { *m = GroupKind{} } +func (*GroupKind) ProtoMessage() {} +func (*GroupKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *GroupResource) Reset() { *m = GroupResource{} } +func (*GroupResource) ProtoMessage() {} +func (*GroupResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *GroupVersion) Reset() { *m = GroupVersion{} } +func (*GroupVersion) ProtoMessage() {} +func (*GroupVersion) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } + +func (m *GroupVersionForDiscovery) Reset() { *m = GroupVersionForDiscovery{} } +func (*GroupVersionForDiscovery) ProtoMessage() {} +func (*GroupVersionForDiscovery) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{11} +} + +func (m *GroupVersionKind) Reset() { *m = GroupVersionKind{} } +func (*GroupVersionKind) ProtoMessage() {} +func (*GroupVersionKind) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *GroupVersionResource) Reset() { *m = GroupVersionResource{} } +func (*GroupVersionResource) ProtoMessage() {} +func (*GroupVersionResource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func (m *LabelSelector) Reset() { *m = LabelSelector{} } +func (*LabelSelector) ProtoMessage() {} +func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } + +func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} } +func (*LabelSelectorRequirement) ProtoMessage() {} +func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{15} +} + +func (m *ListMeta) Reset() { *m = ListMeta{} } +func (*ListMeta) ProtoMessage() {} +func (*ListMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } + +func (m *OwnerReference) Reset() { *m = OwnerReference{} } +func (*OwnerReference) ProtoMessage() {} +func (*OwnerReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } + +func (m *RootPaths) Reset() { *m = RootPaths{} } +func (*RootPaths) ProtoMessage() {} +func (*RootPaths) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } + +func (m *ServerAddressByClientCIDR) Reset() { *m = ServerAddressByClientCIDR{} } +func (*ServerAddressByClientCIDR) ProtoMessage() {} +func (*ServerAddressByClientCIDR) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{19} +} + +func (m *Status) Reset() { *m = Status{} } +func (*Status) ProtoMessage() {} +func (*Status) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } + +func (m *StatusCause) Reset() { *m = StatusCause{} } +func (*StatusCause) ProtoMessage() {} +func (*StatusCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } + +func (m *StatusDetails) Reset() { *m = StatusDetails{} } +func (*StatusDetails) ProtoMessage() {} +func (*StatusDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } + +func (m *Time) Reset() { *m = Time{} } +func (*Time) ProtoMessage() {} +func (*Time) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} } + +func (m *Timestamp) Reset() { *m = Timestamp{} } +func (*Timestamp) ProtoMessage() {} +func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } + +func (m *TypeMeta) Reset() { *m = TypeMeta{} } +func (*TypeMeta) ProtoMessage() {} +func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } + +func (m *Verbs) Reset() { *m = Verbs{} } +func (*Verbs) ProtoMessage() {} +func (*Verbs) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } + +func (m *WatchEvent) Reset() { *m = WatchEvent{} } +func (*WatchEvent) ProtoMessage() {} +func (*WatchEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } + +func init() { + proto.RegisterType((*APIGroup)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.APIGroup") + proto.RegisterType((*APIGroupList)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.APIGroupList") + proto.RegisterType((*APIResource)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.APIResource") + proto.RegisterType((*APIResourceList)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.APIResourceList") + proto.RegisterType((*APIVersions)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.APIVersions") + proto.RegisterType((*Duration)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.Duration") + proto.RegisterType((*ExportOptions)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.ExportOptions") + proto.RegisterType((*GetOptions)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GetOptions") + proto.RegisterType((*GroupKind)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GroupKind") + proto.RegisterType((*GroupResource)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GroupResource") + proto.RegisterType((*GroupVersion)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GroupVersion") + proto.RegisterType((*GroupVersionForDiscovery)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GroupVersionForDiscovery") + proto.RegisterType((*GroupVersionKind)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GroupVersionKind") + proto.RegisterType((*GroupVersionResource)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.GroupVersionResource") + proto.RegisterType((*LabelSelector)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelector") + proto.RegisterType((*LabelSelectorRequirement)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.LabelSelectorRequirement") + proto.RegisterType((*ListMeta)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.ListMeta") + proto.RegisterType((*OwnerReference)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.OwnerReference") + proto.RegisterType((*RootPaths)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.RootPaths") + proto.RegisterType((*ServerAddressByClientCIDR)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.ServerAddressByClientCIDR") + proto.RegisterType((*Status)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.Status") + proto.RegisterType((*StatusCause)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.StatusCause") + proto.RegisterType((*StatusDetails)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.StatusDetails") + proto.RegisterType((*Time)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.Time") + proto.RegisterType((*Timestamp)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.Timestamp") + proto.RegisterType((*TypeMeta)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.TypeMeta") + proto.RegisterType((*Verbs)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.Verbs") + proto.RegisterType((*WatchEvent)(nil), "k8s.io.kubernetes.pkg.apis.meta.v1.WatchEvent") +} +func (m *APIGroup) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *APIGroup) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Name))) + i += copy(data[i:], m.Name) + if len(m.Versions) > 0 { + for _, msg := range m.Versions { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.PreferredVersion.Size())) + n1, err := m.PreferredVersion.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n1 + if len(m.ServerAddressByClientCIDRs) > 0 { + for _, msg := range m.ServerAddressByClientCIDRs { + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *APIGroupList) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *APIGroupList) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Groups) > 0 { + for _, msg := range m.Groups { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *APIResource) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *APIResource) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Name))) + i += copy(data[i:], m.Name) + data[i] = 0x10 + i++ + if m.Namespaced { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + if m.Verbs != nil { + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Verbs.Size())) + n2, err := m.Verbs.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n2 + } + return i, nil +} + +func (m *APIResourceList) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *APIResourceList) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.GroupVersion))) + i += copy(data[i:], m.GroupVersion) + if len(m.APIResources) > 0 { + for _, msg := range m.APIResources { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *APIVersions) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *APIVersions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Versions) > 0 { + for _, s := range m.Versions { + data[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + data[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + data[i] = uint8(l) + i++ + i += copy(data[i:], s) + } + } + if len(m.ServerAddressByClientCIDRs) > 0 { + for _, msg := range m.ServerAddressByClientCIDRs { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *Duration) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *Duration) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0x8 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Duration)) + return i, nil +} + +func (m *ExportOptions) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *ExportOptions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0x8 + i++ + if m.Export { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + data[i] = 0x10 + i++ + if m.Exact { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + return i, nil +} + +func (m *GetOptions) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GetOptions) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ResourceVersion))) + i += copy(data[i:], m.ResourceVersion) + return i, nil +} + +func (m *GroupKind) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GroupKind) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Group))) + i += copy(data[i:], m.Group) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + return i, nil +} + +func (m *GroupResource) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GroupResource) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Group))) + i += copy(data[i:], m.Group) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Resource))) + i += copy(data[i:], m.Resource) + return i, nil +} + +func (m *GroupVersion) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GroupVersion) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Group))) + i += copy(data[i:], m.Group) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Version))) + i += copy(data[i:], m.Version) + return i, nil +} + +func (m *GroupVersionForDiscovery) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GroupVersionForDiscovery) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.GroupVersion))) + i += copy(data[i:], m.GroupVersion) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Version))) + i += copy(data[i:], m.Version) + return i, nil +} + +func (m *GroupVersionKind) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GroupVersionKind) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Group))) + i += copy(data[i:], m.Group) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Version))) + i += copy(data[i:], m.Version) + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + return i, nil +} + +func (m *GroupVersionResource) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *GroupVersionResource) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Group))) + i += copy(data[i:], m.Group) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Version))) + i += copy(data[i:], m.Version) + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Resource))) + i += copy(data[i:], m.Resource) + return i, nil +} + +func (m *LabelSelector) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *LabelSelector) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.MatchLabels) > 0 { + for k := range m.MatchLabels { + data[i] = 0xa + i++ + v := m.MatchLabels[k] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(data, i, uint64(mapSize)) + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(k))) + i += copy(data[i:], k) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(v))) + i += copy(data[i:], v) + } + } + if len(m.MatchExpressions) > 0 { + for _, msg := range m.MatchExpressions { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *LabelSelectorRequirement) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *LabelSelectorRequirement) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Key))) + i += copy(data[i:], m.Key) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Operator))) + i += copy(data[i:], m.Operator) + if len(m.Values) > 0 { + for _, s := range m.Values { + data[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + data[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + data[i] = uint8(l) + i++ + i += copy(data[i:], s) + } + } + return i, nil +} + +func (m *ListMeta) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *ListMeta) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.SelfLink))) + i += copy(data[i:], m.SelfLink) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ResourceVersion))) + i += copy(data[i:], m.ResourceVersion) + return i, nil +} + +func (m *OwnerReference) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *OwnerReference) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Name))) + i += copy(data[i:], m.Name) + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.UID))) + i += copy(data[i:], m.UID) + data[i] = 0x2a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.APIVersion))) + i += copy(data[i:], m.APIVersion) + if m.Controller != nil { + data[i] = 0x30 + i++ + if *m.Controller { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } + return i, nil +} + +func (m *RootPaths) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *RootPaths) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Paths) > 0 { + for _, s := range m.Paths { + data[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + data[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + data[i] = uint8(l) + i++ + i += copy(data[i:], s) + } + } + return i, nil +} + +func (m *ServerAddressByClientCIDR) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *ServerAddressByClientCIDR) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ClientCIDR))) + i += copy(data[i:], m.ClientCIDR) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ServerAddress))) + i += copy(data[i:], m.ServerAddress) + return i, nil +} + +func (m *Status) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *Status) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) + n3, err := m.ListMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n3 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Status))) + i += copy(data[i:], m.Status) + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Message))) + i += copy(data[i:], m.Message) + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) + i += copy(data[i:], m.Reason) + if m.Details != nil { + data[i] = 0x2a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Details.Size())) + n4, err := m.Details.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n4 + } + data[i] = 0x30 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Code)) + return i, nil +} + +func (m *StatusCause) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *StatusCause) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Type))) + i += copy(data[i:], m.Type) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Message))) + i += copy(data[i:], m.Message) + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Field))) + i += copy(data[i:], m.Field) + return i, nil +} + +func (m *StatusDetails) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *StatusDetails) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Name))) + i += copy(data[i:], m.Name) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Group))) + i += copy(data[i:], m.Group) + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + if len(m.Causes) > 0 { + for _, msg := range m.Causes { + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + data[i] = 0x28 + i++ + i = encodeVarintGenerated(data, i, uint64(m.RetryAfterSeconds)) + return i, nil +} + +func (m *Timestamp) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *Timestamp) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0x8 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Seconds)) + data[i] = 0x10 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Nanos)) + return i, nil +} + +func (m *TypeMeta) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *TypeMeta) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.APIVersion))) + i += copy(data[i:], m.APIVersion) + return i, nil +} + +func (m Verbs) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m Verbs) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + data[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + data[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + data[i] = uint8(l) + i++ + i += copy(data[i:], s) + } + } + return i, nil +} + +func (m *WatchEvent) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *WatchEvent) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Type))) + i += copy(data[i:], m.Type) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Object.Size())) + n5, err := m.Object.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n5 + return i, nil +} + +func encodeFixed64Generated(data []byte, offset int, v uint64) int { + data[offset] = uint8(v) + data[offset+1] = uint8(v >> 8) + data[offset+2] = uint8(v >> 16) + data[offset+3] = uint8(v >> 24) + data[offset+4] = uint8(v >> 32) + data[offset+5] = uint8(v >> 40) + data[offset+6] = uint8(v >> 48) + data[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(data []byte, offset int, v uint32) int { + data[offset] = uint8(v) + data[offset+1] = uint8(v >> 8) + data[offset+2] = uint8(v >> 16) + data[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(data []byte, offset int, v uint64) int { + for v >= 1<<7 { + data[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + data[offset] = uint8(v) + return offset + 1 +} +func (m *APIGroup) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Versions) > 0 { + for _, e := range m.Versions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.PreferredVersion.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.ServerAddressByClientCIDRs) > 0 { + for _, e := range m.ServerAddressByClientCIDRs { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *APIGroupList) Size() (n int) { + var l int + _ = l + if len(m.Groups) > 0 { + for _, e := range m.Groups { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *APIResource) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + if m.Verbs != nil { + l = m.Verbs.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *APIResourceList) Size() (n int) { + var l int + _ = l + l = len(m.GroupVersion) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.APIResources) > 0 { + for _, e := range m.APIResources { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *APIVersions) Size() (n int) { + var l int + _ = l + if len(m.Versions) > 0 { + for _, s := range m.Versions { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.ServerAddressByClientCIDRs) > 0 { + for _, e := range m.ServerAddressByClientCIDRs { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *Duration) Size() (n int) { + var l int + _ = l + n += 1 + sovGenerated(uint64(m.Duration)) + return n +} + +func (m *ExportOptions) Size() (n int) { + var l int + _ = l + n += 2 + n += 2 + return n +} + +func (m *GetOptions) Size() (n int) { + var l int + _ = l + l = len(m.ResourceVersion) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GroupKind) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GroupResource) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Resource) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GroupVersion) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Version) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GroupVersionForDiscovery) Size() (n int) { + var l int + _ = l + l = len(m.GroupVersion) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Version) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GroupVersionKind) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Version) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GroupVersionResource) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Version) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Resource) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *LabelSelector) Size() (n int) { + var l int + _ = l + if len(m.MatchLabels) > 0 { + for k, v := range m.MatchLabels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if len(m.MatchExpressions) > 0 { + for _, e := range m.MatchExpressions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *LabelSelectorRequirement) Size() (n int) { + var l int + _ = l + l = len(m.Key) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Operator) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Values) > 0 { + for _, s := range m.Values { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ListMeta) Size() (n int) { + var l int + _ = l + l = len(m.SelfLink) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ResourceVersion) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *OwnerReference) Size() (n int) { + var l int + _ = l + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UID) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.APIVersion) + n += 1 + l + sovGenerated(uint64(l)) + if m.Controller != nil { + n += 2 + } + return n +} + +func (m *RootPaths) Size() (n int) { + var l int + _ = l + if len(m.Paths) > 0 { + for _, s := range m.Paths { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ServerAddressByClientCIDR) Size() (n int) { + var l int + _ = l + l = len(m.ClientCIDR) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ServerAddress) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *Status) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + if m.Details != nil { + l = m.Details.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 1 + sovGenerated(uint64(m.Code)) + return n +} + +func (m *StatusCause) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Field) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *StatusDetails) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Causes) > 0 { + for _, e := range m.Causes { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 1 + sovGenerated(uint64(m.RetryAfterSeconds)) + return n +} + +func (m *Timestamp) Size() (n int) { + var l int + _ = l + n += 1 + sovGenerated(uint64(m.Seconds)) + n += 1 + sovGenerated(uint64(m.Nanos)) + return n +} + +func (m *TypeMeta) Size() (n int) { + var l int + _ = l + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.APIVersion) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m Verbs) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *WatchEvent) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Object.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *APIGroup) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&APIGroup{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Versions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Versions), "GroupVersionForDiscovery", "GroupVersionForDiscovery", 1), `&`, ``, 1) + `,`, + `PreferredVersion:` + strings.Replace(strings.Replace(this.PreferredVersion.String(), "GroupVersionForDiscovery", "GroupVersionForDiscovery", 1), `&`, ``, 1) + `,`, + `ServerAddressByClientCIDRs:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ServerAddressByClientCIDRs), "ServerAddressByClientCIDR", "ServerAddressByClientCIDR", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *APIGroupList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&APIGroupList{`, + `Groups:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Groups), "APIGroup", "APIGroup", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *APIResource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&APIResource{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Namespaced:` + fmt.Sprintf("%v", this.Namespaced) + `,`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Verbs:` + strings.Replace(fmt.Sprintf("%v", this.Verbs), "Verbs", "Verbs", 1) + `,`, + `}`, + }, "") + return s +} +func (this *APIResourceList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&APIResourceList{`, + `GroupVersion:` + fmt.Sprintf("%v", this.GroupVersion) + `,`, + `APIResources:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.APIResources), "APIResource", "APIResource", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *Duration) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Duration{`, + `Duration:` + fmt.Sprintf("%v", this.Duration) + `,`, + `}`, + }, "") + return s +} +func (this *ExportOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExportOptions{`, + `Export:` + fmt.Sprintf("%v", this.Export) + `,`, + `Exact:` + fmt.Sprintf("%v", this.Exact) + `,`, + `}`, + }, "") + return s +} +func (this *GetOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GetOptions{`, + `ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`, + `}`, + }, "") + return s +} +func (this *GroupVersionForDiscovery) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GroupVersionForDiscovery{`, + `GroupVersion:` + fmt.Sprintf("%v", this.GroupVersion) + `,`, + `Version:` + fmt.Sprintf("%v", this.Version) + `,`, + `}`, + }, "") + return s +} +func (this *LabelSelector) String() string { + if this == nil { + return "nil" + } + keysForMatchLabels := make([]string, 0, len(this.MatchLabels)) + for k := range this.MatchLabels { + keysForMatchLabels = append(keysForMatchLabels, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForMatchLabels) + mapStringForMatchLabels := "map[string]string{" + for _, k := range keysForMatchLabels { + mapStringForMatchLabels += fmt.Sprintf("%v: %v,", k, this.MatchLabels[k]) + } + mapStringForMatchLabels += "}" + s := strings.Join([]string{`&LabelSelector{`, + `MatchLabels:` + mapStringForMatchLabels + `,`, + `MatchExpressions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.MatchExpressions), "LabelSelectorRequirement", "LabelSelectorRequirement", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *LabelSelectorRequirement) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&LabelSelectorRequirement{`, + `Key:` + fmt.Sprintf("%v", this.Key) + `,`, + `Operator:` + fmt.Sprintf("%v", this.Operator) + `,`, + `Values:` + fmt.Sprintf("%v", this.Values) + `,`, + `}`, + }, "") + return s +} +func (this *ListMeta) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ListMeta{`, + `SelfLink:` + fmt.Sprintf("%v", this.SelfLink) + `,`, + `ResourceVersion:` + fmt.Sprintf("%v", this.ResourceVersion) + `,`, + `}`, + }, "") + return s +} +func (this *OwnerReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OwnerReference{`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `UID:` + fmt.Sprintf("%v", this.UID) + `,`, + `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`, + `Controller:` + valueToStringGenerated(this.Controller) + `,`, + `}`, + }, "") + return s +} +func (this *RootPaths) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RootPaths{`, + `Paths:` + fmt.Sprintf("%v", this.Paths) + `,`, + `}`, + }, "") + return s +} +func (this *ServerAddressByClientCIDR) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ServerAddressByClientCIDR{`, + `ClientCIDR:` + fmt.Sprintf("%v", this.ClientCIDR) + `,`, + `ServerAddress:` + fmt.Sprintf("%v", this.ServerAddress) + `,`, + `}`, + }, "") + return s +} +func (this *Status) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Status{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "ListMeta", 1), `&`, ``, 1) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Details:` + strings.Replace(fmt.Sprintf("%v", this.Details), "StatusDetails", "StatusDetails", 1) + `,`, + `Code:` + fmt.Sprintf("%v", this.Code) + `,`, + `}`, + }, "") + return s +} +func (this *StatusCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&StatusCause{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `Field:` + fmt.Sprintf("%v", this.Field) + `,`, + `}`, + }, "") + return s +} +func (this *StatusDetails) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&StatusDetails{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Group:` + fmt.Sprintf("%v", this.Group) + `,`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Causes:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Causes), "StatusCause", "StatusCause", 1), `&`, ``, 1) + `,`, + `RetryAfterSeconds:` + fmt.Sprintf("%v", this.RetryAfterSeconds) + `,`, + `}`, + }, "") + return s +} +func (this *Timestamp) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Timestamp{`, + `Seconds:` + fmt.Sprintf("%v", this.Seconds) + `,`, + `Nanos:` + fmt.Sprintf("%v", this.Nanos) + `,`, + `}`, + }, "") + return s +} +func (this *TypeMeta) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TypeMeta{`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`, + `}`, + }, "") + return s +} +func (this *WatchEvent) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&WatchEvent{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Object:` + strings.Replace(strings.Replace(this.Object.String(), "RawExtension", "k8s_io_kubernetes_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *APIGroup) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: APIGroup: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: APIGroup: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Versions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Versions = append(m.Versions, GroupVersionForDiscovery{}) + if err := m.Versions[len(m.Versions)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PreferredVersion", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PreferredVersion.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerAddressByClientCIDRs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServerAddressByClientCIDRs = append(m.ServerAddressByClientCIDRs, ServerAddressByClientCIDR{}) + if err := m.ServerAddressByClientCIDRs[len(m.ServerAddressByClientCIDRs)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *APIGroupList) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: APIGroupList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: APIGroupList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, APIGroup{}) + if err := m.Groups[len(m.Groups)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *APIResource) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: APIResource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: APIResource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaced", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Namespaced = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Verbs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Verbs == nil { + m.Verbs = Verbs{} + } + if err := m.Verbs.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *APIResourceList) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: APIResourceList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: APIResourceList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field APIResources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.APIResources = append(m.APIResources, APIResource{}) + if err := m.APIResources[len(m.APIResources)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *APIVersions) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: APIVersions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: APIVersions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Versions", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Versions = append(m.Versions, string(data[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerAddressByClientCIDRs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServerAddressByClientCIDRs = append(m.ServerAddressByClientCIDRs, ServerAddressByClientCIDR{}) + if err := m.ServerAddressByClientCIDRs[len(m.ServerAddressByClientCIDRs)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Duration) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Duration: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Duration: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + m.Duration = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + m.Duration |= (time.Duration(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExportOptions) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExportOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExportOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Export", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Export = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Exact", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Exact = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetOptions) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResourceVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupKind) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GroupKind: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupKind: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupResource) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GroupResource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupResource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Resource = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupVersion) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GroupVersion: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupVersion: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupVersionForDiscovery) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GroupVersionForDiscovery: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupVersionForDiscovery: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupVersionKind) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GroupVersionKind: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupVersionKind: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupVersionResource) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GroupVersionResource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupVersionResource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Resource = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LabelSelector) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: LabelSelector: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LabelSelector: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchLabels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(data[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(data[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + if m.MatchLabels == nil { + m.MatchLabels = make(map[string]string) + } + m.MatchLabels[mapkey] = mapvalue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchExpressions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MatchExpressions = append(m.MatchExpressions, LabelSelectorRequirement{}) + if err := m.MatchExpressions[len(m.MatchExpressions)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LabelSelectorRequirement) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: LabelSelectorRequirement: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LabelSelectorRequirement: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Key = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Operator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Operator = LabelSelectorOperator(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Values = append(m.Values, string(data[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ListMeta) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ListMeta: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ListMeta: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SelfLink", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SelfLink = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResourceVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OwnerReference) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: OwnerReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OwnerReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UID = k8s_io_kubernetes_pkg_types.UID(data[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field APIVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.APIVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Controller = &b + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RootPaths) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RootPaths: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RootPaths: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Paths", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Paths = append(m.Paths, string(data[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServerAddressByClientCIDR) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServerAddressByClientCIDR: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServerAddressByClientCIDR: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientCIDR", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientCIDR = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServerAddress = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Status) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Status: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Status: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = StatusReason(data[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Details", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Details == nil { + m.Details = &StatusDetails{} + } + if err := m.Details.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + } + m.Code = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + m.Code |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StatusCause) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StatusCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StatusCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = CauseType(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Field", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Field = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StatusDetails) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StatusDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StatusDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Causes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Causes = append(m.Causes, StatusCause{}) + if err := m.Causes[len(m.Causes)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RetryAfterSeconds", wireType) + } + m.RetryAfterSeconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + m.RetryAfterSeconds |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Timestamp) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Timestamp: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Timestamp: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Seconds", wireType) + } + m.Seconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + m.Seconds |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nanos", wireType) + } + m.Nanos = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + m.Nanos |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TypeMeta) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TypeMeta: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TypeMeta: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field APIVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.APIVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Verbs) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Verbs: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Verbs: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + *m = append(*m, string(data[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *WatchEvent) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: WatchEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WatchEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Object.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(data []byte) (n int, err error) { + l := len(data) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if data[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(data[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +var fileDescriptorGenerated = []byte{ + // 1598 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0xda, 0xb1, 0x6b, 0x3f, 0xc7, 0x4d, 0xba, 0xa4, 0xc2, 0x8d, 0x84, 0x1d, 0xb6, 0x08, + 0xa5, 0xa2, 0x5d, 0x2b, 0x11, 0x42, 0x55, 0xa1, 0x88, 0x6c, 0x92, 0x56, 0xa1, 0x4d, 0x13, 0x4d, + 0xfa, 0x07, 0x95, 0x1e, 0xd8, 0x78, 0x27, 0xce, 0x36, 0xf6, 0xee, 0x32, 0x33, 0x76, 0x63, 0x71, + 0xa0, 0x82, 0x0b, 0x07, 0x84, 0x7a, 0x44, 0x1c, 0x50, 0x23, 0xf1, 0x01, 0xf8, 0x0a, 0xdc, 0x7a, + 0xa3, 0xdc, 0x38, 0x20, 0x8b, 0x06, 0x71, 0xe2, 0x1b, 0xe4, 0x84, 0x66, 0x76, 0x66, 0xbd, 0x76, + 0xe2, 0x66, 0xa3, 0x72, 0xe0, 0x14, 0xcf, 0xfb, 0xf3, 0x7b, 0x6f, 0xde, 0xfc, 0xe6, 0xcd, 0xdb, + 0xc0, 0xfc, 0xce, 0x65, 0x6a, 0xba, 0x7e, 0x6d, 0xa7, 0xbd, 0x89, 0x89, 0x87, 0x19, 0xa6, 0xb5, + 0x60, 0xa7, 0x51, 0xb3, 0x03, 0x97, 0xd6, 0x5a, 0x98, 0xd9, 0xb5, 0xce, 0x5c, 0xad, 0x81, 0x3d, + 0x4c, 0x6c, 0x86, 0x1d, 0x33, 0x20, 0x3e, 0xf3, 0x75, 0x23, 0xf4, 0x31, 0xfb, 0x3e, 0x66, 0xb0, + 0xd3, 0x30, 0xb9, 0x8f, 0xc9, 0x7d, 0xcc, 0xce, 0xdc, 0xf4, 0xa5, 0x86, 0xcb, 0xb6, 0xdb, 0x9b, + 0x66, 0xdd, 0x6f, 0xd5, 0x1a, 0x7e, 0xc3, 0xaf, 0x09, 0xd7, 0xcd, 0xf6, 0x96, 0x58, 0x89, 0x85, + 0xf8, 0x15, 0x42, 0x4e, 0x5f, 0x3a, 0x3a, 0x0d, 0xd2, 0xf6, 0x98, 0xdb, 0xc2, 0xc3, 0x19, 0x4c, + 0xbf, 0xfb, 0x72, 0x73, 0x5a, 0xdf, 0xc6, 0x2d, 0xfb, 0x90, 0xd7, 0xdc, 0xd1, 0x5e, 0x6d, 0xe6, + 0x36, 0x6b, 0xae, 0xc7, 0x28, 0x23, 0xc3, 0x2e, 0xc6, 0x2f, 0x19, 0xc8, 0x2f, 0xac, 0xaf, 0x5c, + 0x27, 0x7e, 0x3b, 0xd0, 0x67, 0x60, 0xcc, 0xb3, 0x5b, 0xb8, 0xac, 0xcd, 0x68, 0xb3, 0x05, 0x6b, + 0xfc, 0x59, 0xaf, 0x9a, 0xda, 0xef, 0x55, 0xc7, 0x6e, 0xd9, 0x2d, 0x8c, 0x84, 0x46, 0x7f, 0x08, + 0xf9, 0x0e, 0x26, 0xd4, 0xf5, 0x3d, 0x5a, 0x4e, 0xcf, 0x64, 0x66, 0x8b, 0xf3, 0x1f, 0x98, 0xc7, + 0x17, 0xcb, 0x14, 0xf0, 0x77, 0x43, 0xc7, 0x6b, 0x3e, 0x59, 0x72, 0x69, 0xdd, 0xef, 0x60, 0xd2, + 0xb5, 0x26, 0x65, 0x8c, 0xbc, 0x54, 0x52, 0x14, 0xe1, 0xeb, 0x5f, 0x69, 0x30, 0x19, 0x10, 0xbc, + 0x85, 0x09, 0xc1, 0x8e, 0xd4, 0x97, 0x33, 0x33, 0xda, 0x2b, 0x07, 0x2d, 0xcb, 0xa0, 0x93, 0xeb, + 0x43, 0xe8, 0xe8, 0x50, 0x3c, 0x7d, 0x4f, 0x83, 0x69, 0x8a, 0x49, 0x07, 0x93, 0x05, 0xc7, 0x21, + 0x98, 0x52, 0xab, 0xbb, 0xd8, 0x74, 0xb1, 0xc7, 0x16, 0x57, 0x96, 0x10, 0x2d, 0x8f, 0x89, 0x1a, + 0x5c, 0x4d, 0x92, 0xce, 0xc6, 0x28, 0x14, 0xcb, 0x90, 0xf9, 0x4c, 0x8f, 0x34, 0xa1, 0xe8, 0x25, + 0x49, 0x18, 0x0e, 0x8c, 0xab, 0x23, 0xbc, 0xe9, 0x52, 0xa6, 0xdf, 0x86, 0x5c, 0x83, 0x2f, 0x68, + 0x59, 0x13, 0xe9, 0x5d, 0x4c, 0x92, 0x9e, 0x42, 0xb0, 0x4e, 0xcb, 0x6c, 0x72, 0x62, 0x49, 0x91, + 0xc4, 0x32, 0x7e, 0xd3, 0xa0, 0xb8, 0xb0, 0xbe, 0x82, 0x30, 0xf5, 0xdb, 0xa4, 0x8e, 0x13, 0x90, + 0x65, 0x1e, 0x80, 0xff, 0xa5, 0x81, 0x5d, 0xc7, 0x4e, 0x39, 0x3d, 0xa3, 0xcd, 0xe6, 0x2d, 0x5d, + 0xda, 0xc1, 0xad, 0x48, 0x83, 0x62, 0x56, 0x1c, 0x75, 0xc7, 0xf5, 0x1c, 0x71, 0xce, 0x31, 0xd4, + 0x1b, 0xae, 0xe7, 0x20, 0xa1, 0xd1, 0x3f, 0x86, 0x6c, 0x07, 0x93, 0x4d, 0x5e, 0x7b, 0x4e, 0x85, + 0x0b, 0x49, 0x36, 0x77, 0x97, 0x3b, 0x58, 0x85, 0xfd, 0x5e, 0x35, 0x2b, 0x7e, 0xa2, 0x10, 0xc2, + 0xf8, 0x59, 0x83, 0x89, 0xd8, 0x9e, 0x44, 0xf5, 0x2e, 0xc3, 0x78, 0x23, 0xc6, 0x1c, 0xb9, 0xbf, + 0x29, 0x99, 0xc9, 0x78, 0x9c, 0x55, 0x68, 0xc0, 0x52, 0xaf, 0x43, 0x81, 0x48, 0x24, 0x75, 0x3b, + 0x6a, 0x09, 0x4b, 0xaf, 0x32, 0xe8, 0xc7, 0x89, 0x09, 0x29, 0xea, 0xe3, 0x1a, 0x7f, 0x87, 0xc7, + 0xa0, 0xee, 0x8b, 0x3e, 0x1b, 0xbb, 0x91, 0xfc, 0xb8, 0x0b, 0xd6, 0xf8, 0x88, 0xfb, 0x74, 0x0c, + 0x95, 0xd3, 0xff, 0x03, 0x2a, 0x5f, 0xc9, 0x7f, 0xff, 0xb4, 0x9a, 0x7a, 0xfc, 0xc7, 0x4c, 0xca, + 0x58, 0x81, 0xfc, 0x52, 0x9b, 0xd8, 0x8c, 0x17, 0xf6, 0x2a, 0xe4, 0x1d, 0xf9, 0x5b, 0x1c, 0x47, + 0xc6, 0x7a, 0x53, 0xf5, 0x0d, 0x65, 0x73, 0xd0, 0xab, 0x96, 0x78, 0x6b, 0x34, 0x95, 0x00, 0x45, + 0x2e, 0xc6, 0x03, 0x28, 0x2d, 0xef, 0x06, 0x3e, 0x61, 0x6b, 0x01, 0x13, 0x95, 0x78, 0x1b, 0x72, + 0x58, 0x08, 0x04, 0x5a, 0xbe, 0x4f, 0xf9, 0xd0, 0x0c, 0x49, 0xad, 0x7e, 0x1e, 0xb2, 0x78, 0xd7, + 0xae, 0x33, 0xc9, 0xdd, 0x92, 0x34, 0xcb, 0x2e, 0x73, 0x21, 0x0a, 0x75, 0xc6, 0x1a, 0xc0, 0x75, + 0x1c, 0x41, 0x2f, 0xc0, 0x84, 0x3a, 0xab, 0x41, 0x02, 0xbd, 0x2e, 0x9d, 0x27, 0xd0, 0xa0, 0x1a, + 0x0d, 0xdb, 0x1b, 0x0f, 0xa0, 0x20, 0x48, 0xc6, 0x39, 0xcf, 0x53, 0x10, 0x1c, 0x93, 0x28, 0x51, + 0x0a, 0xc2, 0x02, 0x85, 0xba, 0xe8, 0xd2, 0xa4, 0x47, 0x5d, 0x9a, 0x58, 0x5d, 0x9b, 0x50, 0x0a, + 0x7d, 0xd5, 0x3d, 0x4e, 0x14, 0xe1, 0x22, 0xe4, 0x55, 0x9a, 0x32, 0x4a, 0xd4, 0xb9, 0x15, 0x10, + 0x8a, 0x2c, 0x62, 0xd1, 0xb6, 0x61, 0xe0, 0xc2, 0x24, 0x0b, 0x76, 0x01, 0x4e, 0x49, 0xd2, 0xca, + 0x58, 0x13, 0xd2, 0xec, 0x94, 0xaa, 0x99, 0xd2, 0xc7, 0x22, 0x7d, 0x09, 0xe5, 0x51, 0x0d, 0xff, + 0x15, 0xae, 0x74, 0xf2, 0x54, 0x8c, 0xef, 0x34, 0x98, 0x8c, 0x23, 0x25, 0x3f, 0xbe, 0xe4, 0x41, + 0x8e, 0x6f, 0x8f, 0xb1, 0x8a, 0xfc, 0xa8, 0xc1, 0xd4, 0xc0, 0xd6, 0x4e, 0x74, 0xe2, 0x27, 0x48, + 0x2a, 0x4e, 0x8e, 0xcc, 0x09, 0xc8, 0xf1, 0x6b, 0x1a, 0x4a, 0x37, 0xed, 0x4d, 0xdc, 0xdc, 0xc0, + 0x4d, 0x5c, 0x67, 0x3e, 0xd1, 0xbb, 0x50, 0x6c, 0xd9, 0xac, 0xbe, 0x2d, 0xa4, 0xea, 0xf9, 0xb2, + 0x92, 0xb4, 0xa4, 0x01, 0x1c, 0x73, 0xb5, 0x0f, 0xb2, 0xec, 0x31, 0xd2, 0xb5, 0x5e, 0x93, 0x09, + 0x15, 0x63, 0x1a, 0x14, 0x8f, 0x25, 0xa6, 0x0d, 0xb1, 0x5e, 0xde, 0x0d, 0x78, 0x5f, 0x3a, 0xe9, + 0x88, 0x33, 0x90, 0x00, 0xc2, 0x9f, 0xb7, 0x5d, 0x82, 0x5b, 0xd8, 0x63, 0xfd, 0x69, 0x63, 0x75, + 0x08, 0x1d, 0x1d, 0x8a, 0x37, 0xfd, 0x21, 0x4c, 0x0e, 0xa7, 0xae, 0x4f, 0x42, 0x66, 0x07, 0x77, + 0xc3, 0xb3, 0x42, 0xfc, 0xa7, 0x3e, 0x05, 0xd9, 0x8e, 0xdd, 0x6c, 0xcb, 0x9b, 0x88, 0xc2, 0xc5, + 0x95, 0xf4, 0x65, 0xcd, 0xf8, 0x49, 0x83, 0xf2, 0xa8, 0x44, 0xf4, 0x37, 0x62, 0x40, 0x56, 0x51, + 0x66, 0x95, 0xb9, 0x81, 0xbb, 0x21, 0xea, 0x32, 0xe4, 0xfd, 0x80, 0xcf, 0x86, 0x3e, 0x91, 0x27, + 0x7e, 0x41, 0x9d, 0xe2, 0x9a, 0x94, 0x1f, 0xf4, 0xaa, 0x67, 0x07, 0xe0, 0x95, 0x02, 0x45, 0xae, + 0xba, 0x01, 0x39, 0x91, 0x0f, 0x2d, 0x67, 0xc4, 0x6b, 0x04, 0xbc, 0xaf, 0xde, 0x15, 0x12, 0x24, + 0x35, 0xc6, 0x17, 0x90, 0xe7, 0x4f, 0xed, 0x2a, 0x66, 0x36, 0x27, 0x0f, 0xc5, 0xcd, 0xad, 0x9b, + 0xae, 0xb7, 0x23, 0x53, 0x8b, 0xc8, 0xb3, 0x21, 0xe5, 0x28, 0xb2, 0x38, 0xaa, 0xbd, 0xa6, 0x4f, + 0xd8, 0x5e, 0x0f, 0x34, 0x38, 0xbd, 0xf6, 0xc8, 0xc3, 0x04, 0xf1, 0x51, 0x0f, 0x7b, 0xe1, 0x28, + 0x23, 0x6e, 0x95, 0x36, 0x72, 0xe8, 0x50, 0xc3, 0x4e, 0x66, 0xe4, 0xb0, 0xf3, 0x11, 0x64, 0xda, + 0xae, 0x23, 0x86, 0x92, 0x82, 0x65, 0xaa, 0xea, 0xde, 0x59, 0x59, 0x3a, 0xe8, 0x55, 0xab, 0x47, + 0xcf, 0xe5, 0xac, 0x1b, 0x60, 0x6a, 0xde, 0x59, 0x59, 0x42, 0xdc, 0x95, 0x8f, 0x4b, 0x76, 0xe0, + 0xaa, 0x6d, 0x65, 0x05, 0x50, 0x34, 0x2e, 0xf5, 0x9f, 0x7c, 0x14, 0xb3, 0xd2, 0x4d, 0x80, 0xba, + 0xef, 0x31, 0xe2, 0x37, 0x9b, 0x98, 0x94, 0x73, 0xe1, 0x6b, 0xc6, 0xed, 0x17, 0x23, 0x29, 0x8a, + 0x59, 0x18, 0x17, 0xa1, 0x80, 0x7c, 0x9f, 0xad, 0xdb, 0x6c, 0x9b, 0xea, 0x55, 0xc8, 0x06, 0xfc, + 0x87, 0x9c, 0x1b, 0xc4, 0x78, 0x24, 0x34, 0x28, 0x94, 0x1b, 0xdf, 0x6a, 0x70, 0x6e, 0xe4, 0x43, + 0xce, 0xf3, 0xad, 0x47, 0x2b, 0x59, 0xbb, 0x28, 0xdf, 0xbe, 0x1d, 0x8a, 0x59, 0xe9, 0xef, 0x43, + 0x69, 0xe0, 0xf5, 0x97, 0xa7, 0x77, 0x56, 0xba, 0x95, 0x06, 0xa2, 0xa1, 0x41, 0x5b, 0xe3, 0x9f, + 0x34, 0xe4, 0x36, 0x98, 0xcd, 0xda, 0x54, 0xbf, 0x0f, 0x79, 0x7e, 0xf1, 0x1c, 0x9b, 0xd9, 0x22, + 0x72, 0xc2, 0x21, 0x57, 0xb1, 0xae, 0xcf, 0x31, 0x25, 0x41, 0x11, 0x1e, 0x9f, 0x0e, 0xa8, 0x88, + 0x22, 0x93, 0x8b, 0xa6, 0x83, 0x30, 0x36, 0x92, 0x5a, 0xde, 0x21, 0x5b, 0x98, 0x52, 0xbb, 0xa1, + 0x68, 0x11, 0x75, 0xc8, 0xd5, 0x50, 0x8c, 0x94, 0x5e, 0x7f, 0x0f, 0x72, 0x04, 0xdb, 0xd4, 0xf7, + 0x24, 0x3f, 0x2a, 0x0a, 0x12, 0x09, 0xe9, 0x41, 0xaf, 0x3a, 0x2e, 0xc1, 0xc5, 0x1a, 0x49, 0x6b, + 0xfd, 0x13, 0x38, 0xe5, 0x60, 0x66, 0xbb, 0x4d, 0x2a, 0xf8, 0x50, 0x9c, 0x9f, 0x4b, 0x34, 0x9e, + 0x09, 0xa8, 0xa5, 0xd0, 0xd1, 0x2a, 0xf2, 0x8c, 0xe4, 0x02, 0x29, 0x38, 0x4e, 0xe8, 0xba, 0xef, + 0x60, 0x41, 0x99, 0x6c, 0x9f, 0xd0, 0x8b, 0xbe, 0x83, 0x91, 0xd0, 0x18, 0x4f, 0x34, 0x28, 0x86, + 0x48, 0x8b, 0x76, 0x9b, 0x62, 0x7d, 0x2e, 0xda, 0x43, 0x78, 0xd4, 0xe7, 0x94, 0xcf, 0xed, 0x6e, + 0x80, 0x0f, 0x7a, 0xd5, 0x82, 0x30, 0xe3, 0x8b, 0x28, 0xfd, 0x58, 0x85, 0xd2, 0xc7, 0x54, 0xe8, + 0x3c, 0x64, 0xb7, 0x5c, 0xdc, 0x54, 0x2f, 0x5b, 0xf4, 0x26, 0x5d, 0xe3, 0x42, 0x14, 0xea, 0x8c, + 0x1f, 0xd2, 0x50, 0x1a, 0xd8, 0x5c, 0x82, 0x8f, 0x90, 0xe8, 0xb1, 0x4b, 0x27, 0x18, 0xa0, 0x46, + 0x7f, 0x75, 0xdc, 0x83, 0x5c, 0x9d, 0xef, 0x4f, 0x7d, 0xf2, 0xd5, 0x92, 0x1f, 0x84, 0xa8, 0x4b, + 0x9f, 0x45, 0x62, 0x49, 0x91, 0x84, 0xd3, 0xaf, 0xc3, 0x19, 0x82, 0x19, 0xe9, 0x2e, 0x6c, 0x31, + 0x4c, 0x36, 0x70, 0xdd, 0xf7, 0x9c, 0xf0, 0xb0, 0xb3, 0x51, 0x85, 0xcf, 0xa0, 0x61, 0x03, 0x74, + 0xd8, 0xc7, 0x68, 0xc2, 0xd8, 0x6d, 0xb7, 0x85, 0x79, 0xd1, 0xa9, 0x84, 0x09, 0x67, 0xe5, 0xa8, + 0xe8, 0xca, 0x59, 0xe9, 0x79, 0x6d, 0x3c, 0xdb, 0xf3, 0x43, 0xa2, 0x67, 0xfb, 0xb5, 0xb9, 0xc5, + 0x85, 0x28, 0xd4, 0x5d, 0x99, 0xe2, 0xef, 0xf5, 0x37, 0x7b, 0xd5, 0xd4, 0x93, 0xbd, 0x6a, 0xea, + 0xe9, 0x9e, 0x7c, 0xbb, 0x3f, 0x85, 0x02, 0x8f, 0x46, 0x99, 0xdd, 0x0a, 0xfe, 0xeb, 0x90, 0xc6, + 0x67, 0x90, 0xe7, 0x3c, 0x12, 0xef, 0xc3, 0xf1, 0xbd, 0x79, 0xb0, 0x6f, 0xa6, 0x93, 0xf4, 0x4d, + 0x63, 0x1e, 0xc2, 0x0f, 0x41, 0xde, 0x03, 0x5d, 0x86, 0x5b, 0x03, 0x3d, 0x70, 0x85, 0x0b, 0x50, + 0x28, 0x8f, 0x8d, 0x2b, 0x5f, 0x6b, 0x00, 0xf7, 0xc4, 0x8b, 0xdd, 0xe1, 0xcf, 0xe9, 0x0c, 0x8c, + 0xf1, 0x06, 0x3e, 0x9c, 0x98, 0xb8, 0x00, 0x42, 0xa3, 0x6f, 0x40, 0xce, 0xdf, 0x7c, 0x88, 0xe5, + 0xf7, 0x43, 0x71, 0xfe, 0x9d, 0x11, 0x9c, 0x91, 0xff, 0xd5, 0x31, 0x91, 0xfd, 0x68, 0x79, 0x97, + 0x61, 0x8f, 0x67, 0xd8, 0xe7, 0xcb, 0x9a, 0x80, 0x40, 0x12, 0xca, 0x7a, 0xeb, 0xd9, 0x8b, 0x4a, + 0xea, 0xf9, 0x8b, 0x4a, 0xea, 0xf7, 0x17, 0x95, 0xd4, 0xe3, 0xfd, 0x8a, 0xf6, 0x6c, 0xbf, 0xa2, + 0x3d, 0xdf, 0xaf, 0x68, 0x7f, 0xee, 0x57, 0xb4, 0x27, 0x7f, 0x55, 0x52, 0xf7, 0xd3, 0x9d, 0xb9, + 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x94, 0x53, 0x56, 0x06, 0xf6, 0x12, 0x00, 0x00, +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto new file mode 100644 index 00000000000..cad0bf7e9e1 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -0,0 +1,462 @@ +/* +Copyright 2017 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. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package k8s.io.kubernetes.pkg.apis.meta.v1; + +import "k8s.io/kubernetes/pkg/runtime/generated.proto"; +import "k8s.io/kubernetes/pkg/runtime/schema/generated.proto"; +import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// APIGroup contains the name, the supported versions, and the preferred version +// of a group. +message APIGroup { + // name is the name of the group. + optional string name = 1; + + // versions are the versions supported in this group. + repeated GroupVersionForDiscovery versions = 2; + + // preferredVersion is the version preferred by the API server, which + // probably is the storage version. + // +optional + optional GroupVersionForDiscovery preferredVersion = 3; + + // a map of client CIDR to server address that is serving this group. + // This is to help clients reach servers in the most network-efficient way possible. + // Clients can use the appropriate server address as per the CIDR that they match. + // In case of multiple matches, clients should use the longest matching CIDR. + // The server returns only those CIDRs that it thinks that the client can match. + // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. + // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP. + repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 4; +} + +// APIGroupList is a list of APIGroup, to allow clients to discover the API at +// /apis. +message APIGroupList { + // groups is a list of APIGroup. + repeated APIGroup groups = 1; +} + +// APIResource specifies the name of a resource and whether it is namespaced. +message APIResource { + // name is the name of the resource. + optional string name = 1; + + // namespaced indicates if a resource is namespaced or not. + optional bool namespaced = 2; + + // kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo') + optional string kind = 3; + + // verbs is a list of supported kube verbs (this includes get, list, watch, create, + // update, patch, delete, deletecollection, and proxy) + optional Verbs verbs = 4; +} + +// APIResourceList is a list of APIResource, it is used to expose the name of the +// resources supported in a specific group and version, and if the resource +// is namespaced. +message APIResourceList { + // groupVersion is the group and version this APIResourceList is for. + optional string groupVersion = 1; + + // resources contains the name of the resources and if they are namespaced. + repeated APIResource resources = 2; +} + +// APIVersions lists the versions that are available, to allow clients to +// discover the API at /api, which is the root path of the legacy v1 API. +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +message APIVersions { + // versions are the api versions that are available. + repeated string versions = 1; + + // a map of client CIDR to server address that is serving this group. + // This is to help clients reach servers in the most network-efficient way possible. + // Clients can use the appropriate server address as per the CIDR that they match. + // In case of multiple matches, clients should use the longest matching CIDR. + // The server returns only those CIDRs that it thinks that the client can match. + // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. + // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP. + repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 2; +} + +// Duration is a wrapper around time.Duration which supports correct +// marshaling to YAML and JSON. In particular, it marshals into strings, which +// can be used as map keys in json. +message Duration { + optional int64 duration = 1; +} + +// ExportOptions is the query options to the standard REST get call. +message ExportOptions { + // Should this value be exported. Export strips fields that a user can not specify. + optional bool export = 1; + + // Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'. + optional bool exact = 2; +} + +// GetOptions is the standard query options to the standard REST get call. +message GetOptions { + // When specified: + // - if unset, then the result is returned from remote storage based on quorum-read flag; + // - if it's 0, then we simply return what we currently have in cache, no guarantee; + // - if set to non zero, then the result is at least as fresh as given rv. + optional string resourceVersion = 1; +} + +// GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +message GroupKind { + optional string group = 1; + + optional string kind = 2; +} + +// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +message GroupResource { + optional string group = 1; + + optional string resource = 2; +} + +// GroupVersion contains the "group" and the "version", which uniquely identifies the API. +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +message GroupVersion { + optional string group = 1; + + optional string version = 2; +} + +// GroupVersion contains the "group/version" and "version" string of a version. +// It is made a struct to keep extensibility. +message GroupVersionForDiscovery { + // groupVersion specifies the API group and version in the form "group/version" + optional string groupVersion = 1; + + // version specifies the version in the form of "version". This is to save + // the clients the trouble of splitting the GroupVersion. + optional string version = 2; +} + +// GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion +// to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +message GroupVersionKind { + optional string group = 1; + + optional string version = 2; + + optional string kind = 3; +} + +// GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion +// to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +message GroupVersionResource { + optional string group = 1; + + optional string version = 2; + + optional string resource = 3; +} + +// A label selector is a label query over a set of resources. The result of matchLabels and +// matchExpressions are ANDed. An empty label selector matches all objects. A null +// label selector matches no objects. +message LabelSelector { + // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + // map is equivalent to an element of matchExpressions, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + // +optional + map matchLabels = 1; + + // matchExpressions is a list of label selector requirements. The requirements are ANDed. + // +optional + repeated LabelSelectorRequirement matchExpressions = 2; +} + +// A label selector requirement is a selector that contains values, a key, and an operator that +// relates the key and values. +message LabelSelectorRequirement { + // key is the label key that the selector applies to. + optional string key = 1; + + // operator represents a key's relationship to a set of values. + // Valid operators ard In, NotIn, Exists and DoesNotExist. + optional string operator = 2; + + // values is an array of string values. If the operator is In or NotIn, + // the values array must be non-empty. If the operator is Exists or DoesNotExist, + // the values array must be empty. This array is replaced during a strategic + // merge patch. + // +optional + repeated string values = 3; +} + +// ListMeta describes metadata that synthetic resources must have, including lists and +// various status objects. A resource may have only one of {ObjectMeta, ListMeta}. +message ListMeta { + // SelfLink is a URL representing this object. + // Populated by the system. + // Read-only. + // +optional + optional string selfLink = 1; + + // String that identifies the server's internal version of this object that + // can be used by clients to determine when objects have changed. + // Value must be treated as opaque by clients and passed unmodified back to the server. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency + // +optional + optional string resourceVersion = 2; +} + +// OwnerReference contains enough information to let you identify an owning +// object. Currently, an owning object must be in the same namespace, so there +// is no namespace field. +message OwnerReference { + // API version of the referent. + optional string apiVersion = 5; + + // Kind of the referent. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + optional string kind = 1; + + // Name of the referent. + // More info: http://kubernetes.io/docs/user-guide/identifiers#names + optional string name = 3; + + // UID of the referent. + // More info: http://kubernetes.io/docs/user-guide/identifiers#uids + optional string uid = 4; + + // If true, this reference points to the managing controller. + // +optional + optional bool controller = 6; +} + +// RootPaths lists the paths available at root. +// For example: "/healthz", "/apis". +message RootPaths { + // paths are the paths available at root. + repeated string paths = 1; +} + +// ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. +message ServerAddressByClientCIDR { + // The CIDR with which clients can match their IP to figure out the server address that they should use. + optional string clientCIDR = 1; + + // Address of this server, suitable for a client that matches the above CIDR. + // This can be a hostname, hostname:port, IP or IP:port. + optional string serverAddress = 2; +} + +// Status is a return value for calls that don't return other objects. +message Status { + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + // +optional + optional ListMeta metadata = 1; + + // Status of the operation. + // One of: "Success" or "Failure". + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + // +optional + optional string status = 2; + + // A human-readable description of the status of this operation. + // +optional + optional string message = 3; + + // A machine-readable description of why this operation is in the + // "Failure" status. If this value is empty there + // is no information available. A Reason clarifies an HTTP status + // code but does not override it. + // +optional + optional string reason = 4; + + // Extended data associated with the reason. Each reason may define its + // own extended details. This field is optional and the data returned + // is not guaranteed to conform to any schema except that defined by + // the reason type. + // +optional + optional StatusDetails details = 5; + + // Suggested HTTP return code for this status, 0 if not set. + // +optional + optional int32 code = 6; +} + +// StatusCause provides more information about an api.Status failure, including +// cases when multiple errors are encountered. +message StatusCause { + // A machine-readable description of the cause of the error. If this value is + // empty there is no information available. + // +optional + optional string reason = 1; + + // A human-readable description of the cause of the error. This field may be + // presented as-is to a reader. + // +optional + optional string message = 2; + + // The field of the resource that has caused this error, as named by its JSON + // serialization. May include dot and postfix notation for nested attributes. + // Arrays are zero-indexed. Fields may appear more than once in an array of + // causes due to fields having multiple errors. + // Optional. + // + // Examples: + // "name" - the field "name" on the current resource + // "items[0].name" - the field "name" on the first array entry in "items" + // +optional + optional string field = 3; +} + +// StatusDetails is a set of additional properties that MAY be set by the +// server to provide additional information about a response. The Reason +// field of a Status object defines what attributes will be set. Clients +// must ignore fields that do not match the defined type of each attribute, +// and should assume that any attribute may be empty, invalid, or under +// defined. +message StatusDetails { + // The name attribute of the resource associated with the status StatusReason + // (when there is a single name which can be described). + // +optional + optional string name = 1; + + // The group attribute of the resource associated with the status StatusReason. + // +optional + optional string group = 2; + + // The kind attribute of the resource associated with the status StatusReason. + // On some operations may differ from the requested resource Kind. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + // +optional + optional string kind = 3; + + // The Causes array includes more details associated with the StatusReason + // failure. Not all StatusReasons may provide detailed causes. + // +optional + repeated StatusCause causes = 4; + + // If specified, the time in seconds before the operation should be retried. + // +optional + optional int32 retryAfterSeconds = 5; +} + +// Time is a wrapper around time.Time which supports correct +// marshaling to YAML and JSON. Wrappers are provided for many +// of the factory methods that the time package offers. +// +// +protobuf.options.marshal=false +// +protobuf.as=Timestamp +// +protobuf.options.(gogoproto.goproto_stringer)=false +message Time { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + optional int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. This field may be limited in precision depending on context. + optional int32 nanos = 2; +} + +// Timestamp is a struct that is equivalent to Time, but intended for +// protobuf marshalling/unmarshalling. It is generated into a serialization +// that matches Time. Do not use in Go structs. +message Timestamp { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + optional int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. This field may be limited in precision depending on context. + optional int32 nanos = 2; +} + +// TypeMeta describes an individual object in an API response or request +// with strings representing the type of the object and its API schema version. +// Structures that are versioned or persisted should inline TypeMeta. +message TypeMeta { + // Kind is a string value representing the REST resource this object represents. + // Servers may infer this from the endpoint the client submits requests to. + // Cannot be updated. + // In CamelCase. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + // +optional + optional string kind = 1; + + // APIVersion defines the versioned schema of this representation of an object. + // Servers should convert recognized schemas to the latest internal value, and + // may reject unrecognized values. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources + // +optional + optional string apiVersion = 2; +} + +// Verbs masks the value so protobuf can generate +// +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message Verbs { + // items, if empty, will result in an empty slice + + repeated string items = 1; +} + +// Event represents a single event to a watched resource. +// +// +protobuf=true +message WatchEvent { + optional string type = 1; + + // Object is: + // * If Type is Added or Modified: the new state of the object. + // * If Type is Deleted: the state of the object immediately before deletion. + // * If Type is Error: *Status is recommended; other types may make sense + // depending on context. + optional k8s.io.kubernetes.pkg.runtime.RawExtension object = 2; +} + diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/group_version.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/group_version.go new file mode 100644 index 00000000000..8b6fdef5a40 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/group_version.go @@ -0,0 +1,148 @@ +/* +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 v1 + +import ( + "encoding/json" + "fmt" + "strings" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +type GroupResource struct { + Group string `protobuf:"bytes,1,opt,name=group"` + Resource string `protobuf:"bytes,2,opt,name=resource"` +} + +func (gr *GroupResource) String() string { + if len(gr.Group) == 0 { + return gr.Resource + } + return gr.Resource + "." + gr.Group +} + +// GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion +// to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +type GroupVersionResource struct { + Group string `protobuf:"bytes,1,opt,name=group"` + Version string `protobuf:"bytes,2,opt,name=version"` + Resource string `protobuf:"bytes,3,opt,name=resource"` +} + +func (gvr *GroupVersionResource) String() string { + return strings.Join([]string{gvr.Group, "/", gvr.Version, ", Resource=", gvr.Resource}, "") +} + +// GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +type GroupKind struct { + Group string `protobuf:"bytes,1,opt,name=group"` + Kind string `protobuf:"bytes,2,opt,name=kind"` +} + +func (gk *GroupKind) String() string { + if len(gk.Group) == 0 { + return gk.Kind + } + return gk.Kind + "." + gk.Group +} + +// GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion +// to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +type GroupVersionKind struct { + Group string `protobuf:"bytes,1,opt,name=group"` + Version string `protobuf:"bytes,2,opt,name=version"` + Kind string `protobuf:"bytes,3,opt,name=kind"` +} + +func (gvk GroupVersionKind) String() string { + return gvk.Group + "/" + gvk.Version + ", Kind=" + gvk.Kind +} + +// GroupVersion contains the "group" and the "version", which uniquely identifies the API. +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +type GroupVersion struct { + Group string `protobuf:"bytes,1,opt,name=group"` + Version string `protobuf:"bytes,2,opt,name=version"` +} + +// Empty returns true if group and version are empty +func (gv GroupVersion) Empty() bool { + return len(gv.Group) == 0 && len(gv.Version) == 0 +} + +// String puts "group" and "version" into a single "group/version" string. For the legacy v1 +// it returns "v1". +func (gv GroupVersion) String() string { + // special case the internal apiVersion for the legacy kube types + if gv.Empty() { + return "" + } + + // special case of "v1" for backward compatibility + if len(gv.Group) == 0 && gv.Version == "v1" { + return gv.Version + } + if len(gv.Group) > 0 { + return gv.Group + "/" + gv.Version + } + return gv.Version +} + +// MarshalJSON implements the json.Marshaller interface. +func (gv GroupVersion) MarshalJSON() ([]byte, error) { + s := gv.String() + if strings.Count(s, "/") > 1 { + return []byte{}, fmt.Errorf("illegal GroupVersion %v: contains more than one /", s) + } + return json.Marshal(s) +} + +func (gv *GroupVersion) unmarshal(value []byte) error { + var s string + if err := json.Unmarshal(value, &s); err != nil { + return err + } + parsed, err := schema.ParseGroupVersion(s) + if err != nil { + return err + } + gv.Group, gv.Version = parsed.Group, parsed.Version + return nil +} + +// UnmarshalJSON implements the json.Unmarshaller interface. +func (gv *GroupVersion) UnmarshalJSON(value []byte) error { + return gv.unmarshal(value) +} + +// UnmarshalTEXT implements the Ugorji's encoding.TextUnmarshaler interface. +func (gv *GroupVersion) UnmarshalText(value []byte) error { + return gv.unmarshal(value) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_test.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_test.go new file mode 100644 index 00000000000..5daf9010f66 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_test.go @@ -0,0 +1,78 @@ +/* +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 v1 + +import ( + "encoding/json" + "reflect" + "testing" + + "github.com/ugorji/go/codec" +) + +type GroupVersionHolder struct { + GV GroupVersion `json:"val"` +} + +func TestGroupVersionUnmarshalJSON(t *testing.T) { + cases := []struct { + input []byte + expect GroupVersion + }{ + {[]byte(`{"val": "v1"}`), GroupVersion{"", "v1"}}, + {[]byte(`{"val": "extensions/v1beta1"}`), GroupVersion{"extensions", "v1beta1"}}, + } + + for _, c := range cases { + var result GroupVersionHolder + // test golang lib's JSON codec + if err := json.Unmarshal([]byte(c.input), &result); err != nil { + t.Errorf("JSON codec failed to unmarshal input '%v': %v", c.input, err) + } + if !reflect.DeepEqual(result.GV, c.expect) { + t.Errorf("JSON codec failed to unmarshal input '%s': expected %+v, got %+v", c.input, c.expect, result.GV) + } + // test the Ugorji codec + if err := codec.NewDecoderBytes(c.input, new(codec.JsonHandle)).Decode(&result); err != nil { + t.Errorf("Ugorji codec failed to unmarshal input '%v': %v", c.input, err) + } + if !reflect.DeepEqual(result.GV, c.expect) { + t.Errorf("Ugorji codec failed to unmarshal input '%s': expected %+v, got %+v", c.input, c.expect, result.GV) + } + } +} + +func TestGroupVersionMarshalJSON(t *testing.T) { + cases := []struct { + input GroupVersion + expect []byte + }{ + {GroupVersion{"", "v1"}, []byte(`{"val":"v1"}`)}, + {GroupVersion{"extensions", "v1beta1"}, []byte(`{"val":"extensions/v1beta1"}`)}, + } + + for _, c := range cases { + input := GroupVersionHolder{c.input} + result, err := json.Marshal(&input) + if err != nil { + t.Errorf("Failed to marshal input '%v': %v", input, err) + } + if !reflect.DeepEqual(result, c.expect) { + t.Errorf("Failed to marshal input '%+v': expected: %s, got: %s", input, c.expect, result) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go new file mode 100644 index 00000000000..10eb5f2f9a8 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go @@ -0,0 +1,183 @@ +/* +Copyright 2016 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 v1 + +import ( + "fmt" + + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/selection" +) + +// LabelSelectorAsSelector converts the LabelSelector api type into a struct that implements +// labels.Selector +// Note: This function should be kept in sync with the selector methods in pkg/labels/selector.go +func LabelSelectorAsSelector(ps *LabelSelector) (labels.Selector, error) { + if ps == nil { + return labels.Nothing(), nil + } + if len(ps.MatchLabels)+len(ps.MatchExpressions) == 0 { + return labels.Everything(), nil + } + selector := labels.NewSelector() + for k, v := range ps.MatchLabels { + r, err := labels.NewRequirement(k, selection.Equals, []string{v}) + if err != nil { + return nil, err + } + selector = selector.Add(*r) + } + for _, expr := range ps.MatchExpressions { + var op selection.Operator + switch expr.Operator { + case LabelSelectorOpIn: + op = selection.In + case LabelSelectorOpNotIn: + op = selection.NotIn + case LabelSelectorOpExists: + op = selection.Exists + case LabelSelectorOpDoesNotExist: + op = selection.DoesNotExist + default: + return nil, fmt.Errorf("%q is not a valid pod selector operator", expr.Operator) + } + r, err := labels.NewRequirement(expr.Key, op, append([]string(nil), expr.Values...)) + if err != nil { + return nil, err + } + selector = selector.Add(*r) + } + return selector, nil +} + +// LabelSelectorAsMap converts the LabelSelector api type into a map of strings, ie. the +// original structure of a label selector. Operators that cannot be converted into plain +// labels (Exists, DoesNotExist, NotIn, and In with more than one value) will result in +// an error. +func LabelSelectorAsMap(ps *LabelSelector) (map[string]string, error) { + if ps == nil { + return nil, nil + } + selector := map[string]string{} + for k, v := range ps.MatchLabels { + selector[k] = v + } + for _, expr := range ps.MatchExpressions { + switch expr.Operator { + case LabelSelectorOpIn: + if len(expr.Values) != 1 { + return selector, fmt.Errorf("operator %q without a single value cannot be converted into the old label selector format", expr.Operator) + } + // Should we do anything in case this will override a previous key-value pair? + selector[expr.Key] = expr.Values[0] + case LabelSelectorOpNotIn, LabelSelectorOpExists, LabelSelectorOpDoesNotExist: + return selector, fmt.Errorf("operator %q cannot be converted into the old label selector format", expr.Operator) + default: + return selector, fmt.Errorf("%q is not a valid selector operator", expr.Operator) + } + } + return selector, nil +} + +// ParseToLabelSelector parses a string representing a selector into a LabelSelector object. +// Note: This function should be kept in sync with the parser in pkg/labels/selector.go +func ParseToLabelSelector(selector string) (*LabelSelector, error) { + reqs, err := labels.ParseToRequirements(selector) + if err != nil { + return nil, fmt.Errorf("couldn't parse the selector string \"%s\": %v", selector, err) + } + + labelSelector := &LabelSelector{ + MatchLabels: map[string]string{}, + MatchExpressions: []LabelSelectorRequirement{}, + } + for _, req := range reqs { + var op LabelSelectorOperator + switch req.Operator() { + case selection.Equals, selection.DoubleEquals: + vals := req.Values() + if vals.Len() != 1 { + return nil, fmt.Errorf("equals operator must have exactly one value") + } + val, ok := vals.PopAny() + if !ok { + return nil, fmt.Errorf("equals operator has exactly one value but it cannot be retrieved") + } + labelSelector.MatchLabels[req.Key()] = val + continue + case selection.In: + op = LabelSelectorOpIn + case selection.NotIn: + op = LabelSelectorOpNotIn + case selection.Exists: + op = LabelSelectorOpExists + case selection.DoesNotExist: + op = LabelSelectorOpDoesNotExist + case selection.GreaterThan, selection.LessThan: + // Adding a separate case for these operators to indicate that this is deliberate + return nil, fmt.Errorf("%q isn't supported in label selectors", req.Operator()) + default: + return nil, fmt.Errorf("%q is not a valid label selector operator", req.Operator()) + } + labelSelector.MatchExpressions = append(labelSelector.MatchExpressions, LabelSelectorRequirement{ + Key: req.Key(), + Operator: op, + Values: req.Values().List(), + }) + } + return labelSelector, nil +} + +// SetAsLabelSelector converts the labels.Set object into a LabelSelector api object. +func SetAsLabelSelector(ls labels.Set) *LabelSelector { + if ls == nil { + return nil + } + + selector := &LabelSelector{ + MatchLabels: make(map[string]string), + } + for label, value := range ls { + selector.MatchLabels[label] = value + } + + return selector +} + +// FormatLabelSelector convert labelSelector into plain string +func FormatLabelSelector(labelSelector *LabelSelector) string { + selector, err := LabelSelectorAsSelector(labelSelector) + if err != nil { + return "" + } + + l := selector.String() + if len(l) == 0 { + l = "" + } + return l +} + +func ExtractGroupVersions(l *APIGroupList) []string { + var groupVersions []string + for _, g := range l.Groups { + for _, gv := range g.Versions { + groupVersions = append(groupVersions, gv.GroupVersion) + } + } + return groupVersions +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers_test.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers_test.go new file mode 100644 index 00000000000..fba6b158ed0 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/helpers_test.go @@ -0,0 +1,154 @@ +/* +Copyright 2016 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 v1 + +import ( + "reflect" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/labels" +) + +func TestLabelSelectorAsSelector(t *testing.T) { + matchLabels := map[string]string{"foo": "bar"} + matchExpressions := []LabelSelectorRequirement{{ + Key: "baz", + Operator: LabelSelectorOpIn, + Values: []string{"qux", "norf"}, + }} + mustParse := func(s string) labels.Selector { + out, e := labels.Parse(s) + if e != nil { + panic(e) + } + return out + } + tc := []struct { + in *LabelSelector + out labels.Selector + expectErr bool + }{ + {in: nil, out: labels.Nothing()}, + {in: &LabelSelector{}, out: labels.Everything()}, + { + in: &LabelSelector{MatchLabels: matchLabels}, + out: mustParse("foo=bar"), + }, + { + in: &LabelSelector{MatchExpressions: matchExpressions}, + out: mustParse("baz in (norf,qux)"), + }, + { + in: &LabelSelector{MatchLabels: matchLabels, MatchExpressions: matchExpressions}, + out: mustParse("baz in (norf,qux),foo=bar"), + }, + { + in: &LabelSelector{ + MatchExpressions: []LabelSelectorRequirement{{ + Key: "baz", + Operator: LabelSelectorOpExists, + Values: []string{"qux", "norf"}, + }}, + }, + expectErr: true, + }, + } + + for i, tc := range tc { + out, err := LabelSelectorAsSelector(tc.in) + if err == nil && tc.expectErr { + t.Errorf("[%v]expected error but got none.", i) + } + if err != nil && !tc.expectErr { + t.Errorf("[%v]did not expect error but got: %v", i, err) + } + if !reflect.DeepEqual(out, tc.out) { + t.Errorf("[%v]expected:\n\t%+v\nbut got:\n\t%+v", i, tc.out, out) + } + } +} + +func TestLabelSelectorAsMap(t *testing.T) { + matchLabels := map[string]string{"foo": "bar"} + matchExpressions := func(operator LabelSelectorOperator, values []string) []LabelSelectorRequirement { + return []LabelSelectorRequirement{{ + Key: "baz", + Operator: operator, + Values: values, + }} + } + + tests := []struct { + in *LabelSelector + out map[string]string + errString string + }{ + {in: nil, out: nil}, + { + in: &LabelSelector{MatchLabels: matchLabels}, + out: map[string]string{"foo": "bar"}, + }, + { + in: &LabelSelector{MatchLabels: matchLabels, MatchExpressions: matchExpressions(LabelSelectorOpIn, []string{"norf"})}, + out: map[string]string{"foo": "bar", "baz": "norf"}, + }, + { + in: &LabelSelector{MatchExpressions: matchExpressions(LabelSelectorOpIn, []string{"norf"})}, + out: map[string]string{"baz": "norf"}, + }, + { + in: &LabelSelector{MatchLabels: matchLabels, MatchExpressions: matchExpressions(LabelSelectorOpIn, []string{"norf", "qux"})}, + out: map[string]string{"foo": "bar"}, + errString: "without a single value cannot be converted", + }, + { + in: &LabelSelector{MatchExpressions: matchExpressions(LabelSelectorOpNotIn, []string{"norf", "qux"})}, + out: map[string]string{}, + errString: "cannot be converted", + }, + { + in: &LabelSelector{MatchLabels: matchLabels, MatchExpressions: matchExpressions(LabelSelectorOpExists, []string{})}, + out: map[string]string{"foo": "bar"}, + errString: "cannot be converted", + }, + { + in: &LabelSelector{MatchExpressions: matchExpressions(LabelSelectorOpDoesNotExist, []string{})}, + out: map[string]string{}, + errString: "cannot be converted", + }, + } + + for i, tc := range tests { + out, err := LabelSelectorAsMap(tc.in) + if err == nil && len(tc.errString) > 0 { + t.Errorf("[%v]expected error but got none.", i) + continue + } + if err != nil && len(tc.errString) == 0 { + t.Errorf("[%v]did not expect error but got: %v", i, err) + continue + } + if err != nil && len(tc.errString) > 0 && !strings.Contains(err.Error(), tc.errString) { + t.Errorf("[%v]expected error with %q but got: %v", i, tc.errString, err) + continue + } + if !reflect.DeepEqual(out, tc.out) { + t.Errorf("[%v]expected:\n\t%+v\nbut got:\n\t%+v", i, tc.out, out) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go new file mode 100644 index 00000000000..d7dcea1adaf --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/meta.go @@ -0,0 +1,66 @@ +/* +Copyright 2016 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 v1 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// ListMetaAccessor retrieves the list interface from an object +// TODO: move this, and TypeMeta and ListMeta, to a different package +type ListMetaAccessor interface { + GetListMeta() List +} + +// List lets you work with list metadata from any of the versioned or +// internal API objects. Attempting to set or retrieve a field on an object that does +// not support that field will be a no-op and return a default value. +// TODO: move this, and TypeMeta and ListMeta, to a different package +type List interface { + GetResourceVersion() string + SetResourceVersion(version string) + GetSelfLink() string + SetSelfLink(selfLink string) +} + +// Type exposes the type and APIVersion of versioned or internal API objects. +// TODO: move this, and TypeMeta and ListMeta, to a different package +type Type interface { + GetAPIVersion() string + SetAPIVersion(version string) + GetKind() string + SetKind(kind string) +} + +func (meta *ListMeta) GetResourceVersion() string { return meta.ResourceVersion } +func (meta *ListMeta) SetResourceVersion(version string) { meta.ResourceVersion = version } +func (meta *ListMeta) GetSelfLink() string { return meta.SelfLink } +func (meta *ListMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink } + +func (obj *TypeMeta) GetObjectKind() schema.ObjectKind { return obj } + +// SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta +func (obj *TypeMeta) SetGroupVersionKind(gvk schema.GroupVersionKind) { + obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() +} + +// GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta +func (obj *TypeMeta) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +} + +func (obj *ListMeta) GetListMeta() List { return obj } diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go new file mode 100644 index 00000000000..c20c35b68b9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go @@ -0,0 +1,51 @@ +/* +Copyright 2014 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 v1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName is the group name for this API. +const GroupName = "meta.k8s.io" + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: "", Version: ""} + +// WatchEventKind is name reserved for serializing watch events. +const WatchEventKind = "WatchEvent" + +// Kind takes an unqualified kind and returns a Group qualified GroupKind +func Kind(kind string) schema.GroupKind { + return SchemeGroupVersion.WithKind(kind).GroupKind() +} + +// AddToGroupVersion registers common meta types into schemas. +func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) { + scheme.AddKnownTypeWithName(groupVersion.WithKind(WatchEventKind), &WatchEvent{}) + scheme.AddKnownTypeWithName( + schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind), + &InternalEvent{}, + ) + scheme.AddConversionFuncs( + Convert_versioned_Event_to_watch_Event, + Convert_versioned_InternalEvent_to_versioned_Event, + Convert_watch_Event_to_versioned_Event, + Convert_versioned_Event_to_versioned_InternalEvent, + ) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time.go new file mode 100644 index 00000000000..e32e0867122 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time.go @@ -0,0 +1,180 @@ +/* +Copyright 2014 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 v1 + +import ( + "encoding/json" + "time" + + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common" + + "github.com/go-openapi/spec" + "github.com/google/gofuzz" +) + +// Time is a wrapper around time.Time which supports correct +// marshaling to YAML and JSON. Wrappers are provided for many +// of the factory methods that the time package offers. +// +// +protobuf.options.marshal=false +// +protobuf.as=Timestamp +// +protobuf.options.(gogoproto.goproto_stringer)=false +type Time struct { + time.Time `protobuf:"-"` +} + +// DeepCopy returns a deep-copy of the Time value. The underlying time.Time +// type is effectively immutable in the time API, so it is safe to +// copy-by-assign, despite the presence of (unexported) Pointer fields. +func (t Time) DeepCopy() Time { + return t +} + +// String returns the representation of the time. +func (t Time) String() string { + return t.Time.String() +} + +// NewTime returns a wrapped instance of the provided time +func NewTime(time time.Time) Time { + return Time{time} +} + +// Date returns the Time corresponding to the supplied parameters +// by wrapping time.Date. +func Date(year int, month time.Month, day, hour, min, sec, nsec int, loc *time.Location) Time { + return Time{time.Date(year, month, day, hour, min, sec, nsec, loc)} +} + +// Now returns the current local time. +func Now() Time { + return Time{time.Now()} +} + +// IsZero returns true if the value is nil or time is zero. +func (t *Time) IsZero() bool { + if t == nil { + return true + } + return t.Time.IsZero() +} + +// Before reports whether the time instant t is before u. +func (t Time) Before(u Time) bool { + return t.Time.Before(u.Time) +} + +// Equal reports whether the time instant t is equal to u. +func (t Time) Equal(u Time) bool { + return t.Time.Equal(u.Time) +} + +// Unix returns the local time corresponding to the given Unix time +// by wrapping time.Unix. +func Unix(sec int64, nsec int64) Time { + return Time{time.Unix(sec, nsec)} +} + +// Rfc3339Copy returns a copy of the Time at second-level precision. +func (t Time) Rfc3339Copy() Time { + copied, _ := time.Parse(time.RFC3339, t.Format(time.RFC3339)) + return Time{copied} +} + +// UnmarshalJSON implements the json.Unmarshaller interface. +func (t *Time) UnmarshalJSON(b []byte) error { + if len(b) == 4 && string(b) == "null" { + t.Time = time.Time{} + return nil + } + + var str string + json.Unmarshal(b, &str) + + pt, err := time.Parse(time.RFC3339, str) + if err != nil { + return err + } + + t.Time = pt.Local() + return nil +} + +// UnmarshalQueryParameter converts from a URL query parameter value to an object +func (t *Time) UnmarshalQueryParameter(str string) error { + if len(str) == 0 { + t.Time = time.Time{} + return nil + } + // Tolerate requests from older clients that used JSON serialization to build query params + if len(str) == 4 && str == "null" { + t.Time = time.Time{} + return nil + } + + pt, err := time.Parse(time.RFC3339, str) + if err != nil { + return err + } + + t.Time = pt.Local() + return nil +} + +// MarshalJSON implements the json.Marshaler interface. +func (t Time) MarshalJSON() ([]byte, error) { + if t.IsZero() { + // Encode unset/nil objects as JSON's "null". + return []byte("null"), nil + } + + return json.Marshal(t.UTC().Format(time.RFC3339)) +} + +func (_ Time) OpenAPIDefinition() common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "date-time", + }, + }, + } +} + +// MarshalQueryParameter converts to a URL query parameter value +func (t Time) MarshalQueryParameter() (string, error) { + if t.IsZero() { + // Encode unset/nil objects as an empty string + return "", nil + } + + return t.UTC().Format(time.RFC3339), nil +} + +// Fuzz satisfies fuzz.Interface. +func (t *Time) Fuzz(c fuzz.Continue) { + if t == nil { + return + } + // Allow for about 1000 years of randomness. Leave off nanoseconds + // because JSON doesn't represent them so they can't round-trip + // properly. + t.Time = time.Unix(c.Rand.Int63n(1000*365*24*60*60), 0) +} + +var _ fuzz.Interface = &Time{} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto.go new file mode 100644 index 00000000000..aea28e410ba --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto.go @@ -0,0 +1,85 @@ +/* +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 v1 + +import ( + "time" +) + +// Timestamp is a struct that is equivalent to Time, but intended for +// protobuf marshalling/unmarshalling. It is generated into a serialization +// that matches Time. Do not use in Go structs. +type Timestamp struct { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + Seconds int64 `json:"seconds" protobuf:"varint,1,opt,name=seconds"` + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. This field may be limited in precision depending on context. + Nanos int32 `json:"nanos" protobuf:"varint,2,opt,name=nanos"` +} + +// Timestamp returns the Time as a new Timestamp value. +func (m *Time) ProtoTime() *Timestamp { + if m == nil { + return &Timestamp{} + } + return &Timestamp{ + Seconds: m.Time.Unix(), + Nanos: int32(m.Time.Nanosecond()), + } +} + +// Size implements the protobuf marshalling interface. +func (m *Time) Size() (n int) { + if m == nil || m.Time.IsZero() { + return 0 + } + return m.ProtoTime().Size() +} + +// Reset implements the protobuf marshalling interface. +func (m *Time) Unmarshal(data []byte) error { + if len(data) == 0 { + m.Time = time.Time{} + return nil + } + p := Timestamp{} + if err := p.Unmarshal(data); err != nil { + return err + } + m.Time = time.Unix(p.Seconds, int64(p.Nanos)).Local() + return nil +} + +// Marshal implements the protobuf marshalling interface. +func (m *Time) Marshal() (data []byte, err error) { + if m == nil || m.Time.IsZero() { + return nil, nil + } + return m.ProtoTime().Marshal() +} + +// MarshalTo implements the protobuf marshalling interface. +func (m *Time) MarshalTo(data []byte) (int, error) { + if m == nil || m.Time.IsZero() { + return 0, nil + } + return m.ProtoTime().MarshalTo(data) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time_test.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time_test.go new file mode 100644 index 00000000000..3ab1d5fd1ae --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/time_test.go @@ -0,0 +1,173 @@ +/* +Copyright 2014 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 v1 + +import ( + "encoding/json" + "reflect" + "testing" + "time" + + "github.com/ghodss/yaml" +) + +type TimeHolder struct { + T Time `json:"t"` +} + +func TestTimeMarshalYAML(t *testing.T) { + cases := []struct { + input Time + result string + }{ + {Time{}, "t: null\n"}, + {Date(1998, time.May, 5, 1, 5, 5, 50, time.FixedZone("test", -4*60*60)), "t: 1998-05-05T05:05:05Z\n"}, + {Date(1998, time.May, 5, 5, 5, 5, 0, time.UTC), "t: 1998-05-05T05:05:05Z\n"}, + } + + for _, c := range cases { + input := TimeHolder{c.input} + result, err := yaml.Marshal(&input) + if err != nil { + t.Errorf("Failed to marshal input: '%v': %v", input, err) + } + if string(result) != c.result { + t.Errorf("Failed to marshal input: '%v': expected %+v, got %q", input, c.result, string(result)) + } + } +} + +func TestTimeUnmarshalYAML(t *testing.T) { + cases := []struct { + input string + result Time + }{ + {"t: null\n", Time{}}, + {"t: 1998-05-05T05:05:05Z\n", Time{Date(1998, time.May, 5, 5, 5, 5, 0, time.UTC).Local()}}, + } + + for _, c := range cases { + var result TimeHolder + if err := yaml.Unmarshal([]byte(c.input), &result); err != nil { + t.Errorf("Failed to unmarshal input '%v': %v", c.input, err) + } + if result.T != c.result { + t.Errorf("Failed to unmarshal input '%v': expected %+v, got %+v", c.input, c.result, result) + } + } +} + +func TestTimeMarshalJSON(t *testing.T) { + cases := []struct { + input Time + result string + }{ + {Time{}, "{\"t\":null}"}, + {Date(1998, time.May, 5, 5, 5, 5, 50, time.UTC), "{\"t\":\"1998-05-05T05:05:05Z\"}"}, + {Date(1998, time.May, 5, 5, 5, 5, 0, time.UTC), "{\"t\":\"1998-05-05T05:05:05Z\"}"}, + } + + for _, c := range cases { + input := TimeHolder{c.input} + result, err := json.Marshal(&input) + if err != nil { + t.Errorf("Failed to marshal input: '%v': %v", input, err) + } + if string(result) != c.result { + t.Errorf("Failed to marshal input: '%v': expected %+v, got %q", input, c.result, string(result)) + } + } +} + +func TestTimeUnmarshalJSON(t *testing.T) { + cases := []struct { + input string + result Time + }{ + {"{\"t\":null}", Time{}}, + {"{\"t\":\"1998-05-05T05:05:05Z\"}", Time{Date(1998, time.May, 5, 5, 5, 5, 0, time.UTC).Local()}}, + } + + for _, c := range cases { + var result TimeHolder + if err := json.Unmarshal([]byte(c.input), &result); err != nil { + t.Errorf("Failed to unmarshal input '%v': %v", c.input, err) + } + if result.T != c.result { + t.Errorf("Failed to unmarshal input '%v': expected %+v, got %+v", c.input, c.result, result) + } + } +} + +func TestTimeMarshalJSONUnmarshalYAML(t *testing.T) { + cases := []struct { + input Time + }{ + {Time{}}, + {Date(1998, time.May, 5, 5, 5, 5, 50, time.Local).Rfc3339Copy()}, + {Date(1998, time.May, 5, 5, 5, 5, 0, time.Local).Rfc3339Copy()}, + } + + for i, c := range cases { + input := TimeHolder{c.input} + jsonMarshalled, err := json.Marshal(&input) + if err != nil { + t.Errorf("%d-1: Failed to marshal input: '%v': %v", i, input, err) + } + + var result TimeHolder + err = yaml.Unmarshal(jsonMarshalled, &result) + if err != nil { + t.Errorf("%d-2: Failed to unmarshal '%+v': %v", i, string(jsonMarshalled), err) + } + + iN, iO := input.T.Zone() + oN, oO := result.T.Zone() + if iN != oN || iO != oO { + t.Errorf("%d-3: Time zones differ before and after serialization %s:%d %s:%d", i, iN, iO, oN, oO) + } + + if input.T.UnixNano() != result.T.UnixNano() { + t.Errorf("%d-4: Failed to marshal input '%#v': got %#v", i, input, result) + } + } +} + +func TestTimeProto(t *testing.T) { + cases := []struct { + input Time + }{ + {Time{}}, + {Date(1998, time.May, 5, 1, 5, 5, 50, time.Local)}, + {Date(1998, time.May, 5, 5, 5, 5, 0, time.Local)}, + } + + for _, c := range cases { + input := c.input + data, err := input.Marshal() + if err != nil { + t.Fatalf("Failed to marshal input: '%v': %v", input, err) + } + time := Time{} + if err := time.Unmarshal(data); err != nil { + t.Fatalf("Failed to unmarshal output: '%v': %v", input, err) + } + if !reflect.DeepEqual(input, time) { + t.Errorf("Marshal->Unmarshal is not idempotent: '%v' vs '%v'", input, time) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go new file mode 100644 index 00000000000..6df9ca2575e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -0,0 +1,553 @@ +/* +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 unversioned contains API types that are common to all versions. +// +// The package contains two categories of types: +// - external (serialized) types that lack their own version (e.g TypeMeta) +// - internal (never-serialized) types that are needed by several different +// api groups, and so live here, to avoid duplication and/or import loops +// (e.g. LabelSelector). +// In the future, we will probably move these categories of objects into +// separate packages. +package v1 + +import ( + "fmt" + "strings" + + "github.com/ugorji/go/codec" + + "k8s.io/apimachinery/pkg/types" +) + +// TypeMeta describes an individual object in an API response or request +// with strings representing the type of the object and its API schema version. +// Structures that are versioned or persisted should inline TypeMeta. +type TypeMeta struct { + // Kind is a string value representing the REST resource this object represents. + // Servers may infer this from the endpoint the client submits requests to. + // Cannot be updated. + // In CamelCase. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + // +optional + Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"` + + // APIVersion defines the versioned schema of this representation of an object. + // Servers should convert recognized schemas to the latest internal value, and + // may reject unrecognized values. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources + // +optional + APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,2,opt,name=apiVersion"` +} + +// ListMeta describes metadata that synthetic resources must have, including lists and +// various status objects. A resource may have only one of {ObjectMeta, ListMeta}. +type ListMeta struct { + // SelfLink is a URL representing this object. + // Populated by the system. + // Read-only. + // +optional + SelfLink string `json:"selfLink,omitempty" protobuf:"bytes,1,opt,name=selfLink"` + + // String that identifies the server's internal version of this object that + // can be used by clients to determine when objects have changed. + // Value must be treated as opaque by clients and passed unmodified back to the server. + // Populated by the system. + // Read-only. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency + // +optional + ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,2,opt,name=resourceVersion"` +} + +// OwnerReference contains enough information to let you identify an owning +// object. Currently, an owning object must be in the same namespace, so there +// is no namespace field. +type OwnerReference struct { + // API version of the referent. + APIVersion string `json:"apiVersion" protobuf:"bytes,5,opt,name=apiVersion"` + // Kind of the referent. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` + // Name of the referent. + // More info: http://kubernetes.io/docs/user-guide/identifiers#names + Name string `json:"name" protobuf:"bytes,3,opt,name=name"` + // UID of the referent. + // More info: http://kubernetes.io/docs/user-guide/identifiers#uids + UID types.UID `json:"uid" protobuf:"bytes,4,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"` + // If true, this reference points to the managing controller. + // +optional + Controller *bool `json:"controller,omitempty" protobuf:"varint,6,opt,name=controller"` +} + +// ExportOptions is the query options to the standard REST get call. +type ExportOptions struct { + TypeMeta `json:",inline"` + // Should this value be exported. Export strips fields that a user can not specify. + Export bool `json:"export" protobuf:"varint,1,opt,name=export"` + // Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'. + Exact bool `json:"exact" protobuf:"varint,2,opt,name=exact"` +} + +// GetOptions is the standard query options to the standard REST get call. +type GetOptions struct { + TypeMeta `json:",inline"` + // When specified: + // - if unset, then the result is returned from remote storage based on quorum-read flag; + // - if it's 0, then we simply return what we currently have in cache, no guarantee; + // - if set to non zero, then the result is at least as fresh as given rv. + ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,1,opt,name=resourceVersion"` +} + +// Status is a return value for calls that don't return other objects. +type Status struct { + TypeMeta `json:",inline"` + // Standard list metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + // +optional + ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Status of the operation. + // One of: "Success" or "Failure". + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status + // +optional + Status string `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` + // A human-readable description of the status of this operation. + // +optional + Message string `json:"message,omitempty" protobuf:"bytes,3,opt,name=message"` + // A machine-readable description of why this operation is in the + // "Failure" status. If this value is empty there + // is no information available. A Reason clarifies an HTTP status + // code but does not override it. + // +optional + Reason StatusReason `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason,casttype=StatusReason"` + // Extended data associated with the reason. Each reason may define its + // own extended details. This field is optional and the data returned + // is not guaranteed to conform to any schema except that defined by + // the reason type. + // +optional + Details *StatusDetails `json:"details,omitempty" protobuf:"bytes,5,opt,name=details"` + // Suggested HTTP return code for this status, 0 if not set. + // +optional + Code int32 `json:"code,omitempty" protobuf:"varint,6,opt,name=code"` +} + +// StatusDetails is a set of additional properties that MAY be set by the +// server to provide additional information about a response. The Reason +// field of a Status object defines what attributes will be set. Clients +// must ignore fields that do not match the defined type of each attribute, +// and should assume that any attribute may be empty, invalid, or under +// defined. +type StatusDetails struct { + // The name attribute of the resource associated with the status StatusReason + // (when there is a single name which can be described). + // +optional + Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + // The group attribute of the resource associated with the status StatusReason. + // +optional + Group string `json:"group,omitempty" protobuf:"bytes,2,opt,name=group"` + // The kind attribute of the resource associated with the status StatusReason. + // On some operations may differ from the requested resource Kind. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds + // +optional + Kind string `json:"kind,omitempty" protobuf:"bytes,3,opt,name=kind"` + // The Causes array includes more details associated with the StatusReason + // failure. Not all StatusReasons may provide detailed causes. + // +optional + Causes []StatusCause `json:"causes,omitempty" protobuf:"bytes,4,rep,name=causes"` + // If specified, the time in seconds before the operation should be retried. + // +optional + RetryAfterSeconds int32 `json:"retryAfterSeconds,omitempty" protobuf:"varint,5,opt,name=retryAfterSeconds"` +} + +// Values of Status.Status +const ( + StatusSuccess = "Success" + StatusFailure = "Failure" +) + +// StatusReason is an enumeration of possible failure causes. Each StatusReason +// must map to a single HTTP status code, but multiple reasons may map +// to the same HTTP status code. +// TODO: move to apiserver +type StatusReason string + +const ( + // StatusReasonUnknown means the server has declined to indicate a specific reason. + // The details field may contain other information about this error. + // Status code 500. + StatusReasonUnknown StatusReason = "" + + // StatusReasonUnauthorized means the server can be reached and understood the request, but requires + // the user to present appropriate authorization credentials (identified by the WWW-Authenticate header) + // in order for the action to be completed. If the user has specified credentials on the request, the + // server considers them insufficient. + // Status code 401 + StatusReasonUnauthorized StatusReason = "Unauthorized" + + // StatusReasonForbidden means the server can be reached and understood the request, but refuses + // to take any further action. It is the result of the server being configured to deny access for some reason + // to the requested resource by the client. + // Details (optional): + // "kind" string - the kind attribute of the forbidden resource + // on some operations may differ from the requested + // resource. + // "id" string - the identifier of the forbidden resource + // Status code 403 + StatusReasonForbidden StatusReason = "Forbidden" + + // StatusReasonNotFound means one or more resources required for this operation + // could not be found. + // Details (optional): + // "kind" string - the kind attribute of the missing resource + // on some operations may differ from the requested + // resource. + // "id" string - the identifier of the missing resource + // Status code 404 + StatusReasonNotFound StatusReason = "NotFound" + + // StatusReasonAlreadyExists means the resource you are creating already exists. + // Details (optional): + // "kind" string - the kind attribute of the conflicting resource + // "id" string - the identifier of the conflicting resource + // Status code 409 + StatusReasonAlreadyExists StatusReason = "AlreadyExists" + + // StatusReasonConflict means the requested operation cannot be completed + // due to a conflict in the operation. The client may need to alter the + // request. Each resource may define custom details that indicate the + // nature of the conflict. + // Status code 409 + StatusReasonConflict StatusReason = "Conflict" + + // StatusReasonGone means the item is no longer available at the server and no + // forwarding address is known. + // Status code 410 + StatusReasonGone StatusReason = "Gone" + + // StatusReasonInvalid means the requested create or update operation cannot be + // completed due to invalid data provided as part of the request. The client may + // need to alter the request. When set, the client may use the StatusDetails + // message field as a summary of the issues encountered. + // Details (optional): + // "kind" string - the kind attribute of the invalid resource + // "id" string - the identifier of the invalid resource + // "causes" - one or more StatusCause entries indicating the data in the + // provided resource that was invalid. The code, message, and + // field attributes will be set. + // Status code 422 + StatusReasonInvalid StatusReason = "Invalid" + + // StatusReasonServerTimeout means the server can be reached and understood the request, + // but cannot complete the action in a reasonable time. The client should retry the request. + // This is may be due to temporary server load or a transient communication issue with + // another server. Status code 500 is used because the HTTP spec provides no suitable + // server-requested client retry and the 5xx class represents actionable errors. + // Details (optional): + // "kind" string - the kind attribute of the resource being acted on. + // "id" string - the operation that is being attempted. + // "retryAfterSeconds" int32 - the number of seconds before the operation should be retried + // Status code 500 + StatusReasonServerTimeout StatusReason = "ServerTimeout" + + // StatusReasonTimeout means that the request could not be completed within the given time. + // Clients can get this response only when they specified a timeout param in the request, + // or if the server cannot complete the operation within a reasonable amount of time. + // The request might succeed with an increased value of timeout param. The client *should* + // wait at least the number of seconds specified by the retryAfterSeconds field. + // Details (optional): + // "retryAfterSeconds" int32 - the number of seconds before the operation should be retried + // Status code 504 + StatusReasonTimeout StatusReason = "Timeout" + + // StatusReasonBadRequest means that the request itself was invalid, because the request + // doesn't make any sense, for example deleting a read-only object. This is different than + // StatusReasonInvalid above which indicates that the API call could possibly succeed, but the + // data was invalid. API calls that return BadRequest can never succeed. + StatusReasonBadRequest StatusReason = "BadRequest" + + // StatusReasonMethodNotAllowed means that the action the client attempted to perform on the + // resource was not supported by the code - for instance, attempting to delete a resource that + // can only be created. API calls that return MethodNotAllowed can never succeed. + StatusReasonMethodNotAllowed StatusReason = "MethodNotAllowed" + + // StatusReasonInternalError indicates that an internal error occurred, it is unexpected + // and the outcome of the call is unknown. + // Details (optional): + // "causes" - The original error + // Status code 500 + StatusReasonInternalError StatusReason = "InternalError" + + // StatusReasonExpired indicates that the request is invalid because the content you are requesting + // has expired and is no longer available. It is typically associated with watches that can't be + // serviced. + // Status code 410 (gone) + StatusReasonExpired StatusReason = "Expired" + + // StatusReasonServiceUnavailable means that the request itself was valid, + // but the requested service is unavailable at this time. + // Retrying the request after some time might succeed. + // Status code 503 + StatusReasonServiceUnavailable StatusReason = "ServiceUnavailable" +) + +// StatusCause provides more information about an api.Status failure, including +// cases when multiple errors are encountered. +type StatusCause struct { + // A machine-readable description of the cause of the error. If this value is + // empty there is no information available. + // +optional + Type CauseType `json:"reason,omitempty" protobuf:"bytes,1,opt,name=reason,casttype=CauseType"` + // A human-readable description of the cause of the error. This field may be + // presented as-is to a reader. + // +optional + Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"` + // The field of the resource that has caused this error, as named by its JSON + // serialization. May include dot and postfix notation for nested attributes. + // Arrays are zero-indexed. Fields may appear more than once in an array of + // causes due to fields having multiple errors. + // Optional. + // + // Examples: + // "name" - the field "name" on the current resource + // "items[0].name" - the field "name" on the first array entry in "items" + // +optional + Field string `json:"field,omitempty" protobuf:"bytes,3,opt,name=field"` +} + +// CauseType is a machine readable value providing more detail about what +// occurred in a status response. An operation may have multiple causes for a +// status (whether Failure or Success). +type CauseType string + +const ( + // CauseTypeFieldValueNotFound is used to report failure to find a requested value + // (e.g. looking up an ID). + CauseTypeFieldValueNotFound CauseType = "FieldValueNotFound" + // CauseTypeFieldValueRequired is used to report required values that are not + // provided (e.g. empty strings, null values, or empty arrays). + CauseTypeFieldValueRequired CauseType = "FieldValueRequired" + // CauseTypeFieldValueDuplicate is used to report collisions of values that must be + // unique (e.g. unique IDs). + CauseTypeFieldValueDuplicate CauseType = "FieldValueDuplicate" + // CauseTypeFieldValueInvalid is used to report malformed values (e.g. failed regex + // match). + CauseTypeFieldValueInvalid CauseType = "FieldValueInvalid" + // CauseTypeFieldValueNotSupported is used to report valid (as per formatting rules) + // values that can not be handled (e.g. an enumerated string). + CauseTypeFieldValueNotSupported CauseType = "FieldValueNotSupported" + // CauseTypeUnexpectedServerResponse is used to report when the server responded to the client + // without the expected return type. The presence of this cause indicates the error may be + // due to an intervening proxy or the server software malfunctioning. + CauseTypeUnexpectedServerResponse CauseType = "UnexpectedServerResponse" +) + +// APIVersions lists the versions that are available, to allow clients to +// discover the API at /api, which is the root path of the legacy v1 API. +// +// +protobuf.options.(gogoproto.goproto_stringer)=false +type APIVersions struct { + TypeMeta `json:",inline"` + // versions are the api versions that are available. + Versions []string `json:"versions" protobuf:"bytes,1,rep,name=versions"` + // a map of client CIDR to server address that is serving this group. + // This is to help clients reach servers in the most network-efficient way possible. + // Clients can use the appropriate server address as per the CIDR that they match. + // In case of multiple matches, clients should use the longest matching CIDR. + // The server returns only those CIDRs that it thinks that the client can match. + // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. + // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP. + ServerAddressByClientCIDRs []ServerAddressByClientCIDR `json:"serverAddressByClientCIDRs" protobuf:"bytes,2,rep,name=serverAddressByClientCIDRs"` +} + +// APIGroupList is a list of APIGroup, to allow clients to discover the API at +// /apis. +type APIGroupList struct { + TypeMeta `json:",inline"` + // groups is a list of APIGroup. + Groups []APIGroup `json:"groups" protobuf:"bytes,1,rep,name=groups"` +} + +// APIGroup contains the name, the supported versions, and the preferred version +// of a group. +type APIGroup struct { + TypeMeta `json:",inline"` + // name is the name of the group. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // versions are the versions supported in this group. + Versions []GroupVersionForDiscovery `json:"versions" protobuf:"bytes,2,rep,name=versions"` + // preferredVersion is the version preferred by the API server, which + // probably is the storage version. + // +optional + PreferredVersion GroupVersionForDiscovery `json:"preferredVersion,omitempty" protobuf:"bytes,3,opt,name=preferredVersion"` + // a map of client CIDR to server address that is serving this group. + // This is to help clients reach servers in the most network-efficient way possible. + // Clients can use the appropriate server address as per the CIDR that they match. + // In case of multiple matches, clients should use the longest matching CIDR. + // The server returns only those CIDRs that it thinks that the client can match. + // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. + // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP. + ServerAddressByClientCIDRs []ServerAddressByClientCIDR `json:"serverAddressByClientCIDRs" protobuf:"bytes,4,rep,name=serverAddressByClientCIDRs"` +} + +// ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. +type ServerAddressByClientCIDR struct { + // The CIDR with which clients can match their IP to figure out the server address that they should use. + ClientCIDR string `json:"clientCIDR" protobuf:"bytes,1,opt,name=clientCIDR"` + // Address of this server, suitable for a client that matches the above CIDR. + // This can be a hostname, hostname:port, IP or IP:port. + ServerAddress string `json:"serverAddress" protobuf:"bytes,2,opt,name=serverAddress"` +} + +// GroupVersion contains the "group/version" and "version" string of a version. +// It is made a struct to keep extensibility. +type GroupVersionForDiscovery struct { + // groupVersion specifies the API group and version in the form "group/version" + GroupVersion string `json:"groupVersion" protobuf:"bytes,1,opt,name=groupVersion"` + // version specifies the version in the form of "version". This is to save + // the clients the trouble of splitting the GroupVersion. + Version string `json:"version" protobuf:"bytes,2,opt,name=version"` +} + +// APIResource specifies the name of a resource and whether it is namespaced. +type APIResource struct { + // name is the name of the resource. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // namespaced indicates if a resource is namespaced or not. + Namespaced bool `json:"namespaced" protobuf:"varint,2,opt,name=namespaced"` + // kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo') + Kind string `json:"kind" protobuf:"bytes,3,opt,name=kind"` + // verbs is a list of supported kube verbs (this includes get, list, watch, create, + // update, patch, delete, deletecollection, and proxy) + Verbs Verbs `json:"verbs" protobuf:"bytes,4,opt,name=verbs"` +} + +// Verbs masks the value so protobuf can generate +// +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type Verbs []string + +func (vs Verbs) String() string { + return fmt.Sprintf("%v", []string(vs)) +} + +// CodecEncodeSelf is part of the codec.Selfer interface. +func (vs *Verbs) CodecEncodeSelf(encoder *codec.Encoder) { + encoder.Encode(vs) +} + +// CodecDecodeSelf is part of the codec.Selfer interface. It is overwritten here to make sure +// that an empty verbs list is not decoded as nil. On the other hand, an undefined verbs list +// will lead to nil because this decoding for Verbs is not invoked. +// +// TODO(sttts): this is due to a ugorji regression: https://github.com/ugorji/go/issues/119. Remove the +// workaround when the regression is fixed. +func (vs *Verbs) CodecDecodeSelf(decoder *codec.Decoder) { + m := []string{} + decoder.Decode(&m) + if len(m) == 0 { + *vs = []string{} + } else { + *vs = m + } +} + +// APIResourceList is a list of APIResource, it is used to expose the name of the +// resources supported in a specific group and version, and if the resource +// is namespaced. +type APIResourceList struct { + TypeMeta `json:",inline"` + // groupVersion is the group and version this APIResourceList is for. + GroupVersion string `json:"groupVersion" protobuf:"bytes,1,opt,name=groupVersion"` + // resources contains the name of the resources and if they are namespaced. + APIResources []APIResource `json:"resources" protobuf:"bytes,2,rep,name=resources"` +} + +// RootPaths lists the paths available at root. +// For example: "/healthz", "/apis". +type RootPaths struct { + // paths are the paths available at root. + Paths []string `json:"paths" protobuf:"bytes,1,rep,name=paths"` +} + +// TODO: remove me when watch is refactored +func LabelSelectorQueryParam(version string) string { + return "labelSelector" +} + +// TODO: remove me when watch is refactored +func FieldSelectorQueryParam(version string) string { + return "fieldSelector" +} + +// String returns available api versions as a human-friendly version string. +func (apiVersions APIVersions) String() string { + return strings.Join(apiVersions.Versions, ",") +} + +func (apiVersions APIVersions) GoString() string { + return apiVersions.String() +} + +// Patch is provided to give a concrete name and type to the Kubernetes PATCH request body. +type Patch struct{} + +// Note: +// There are two different styles of label selectors used in versioned types: +// an older style which is represented as just a string in versioned types, and a +// newer style that is structured. LabelSelector is an internal representation for the +// latter style. + +// A label selector is a label query over a set of resources. The result of matchLabels and +// matchExpressions are ANDed. An empty label selector matches all objects. A null +// label selector matches no objects. +type LabelSelector struct { + // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + // map is equivalent to an element of matchExpressions, whose key field is "key", the + // operator is "In", and the values array contains only "value". The requirements are ANDed. + // +optional + MatchLabels map[string]string `json:"matchLabels,omitempty" protobuf:"bytes,1,rep,name=matchLabels"` + // matchExpressions is a list of label selector requirements. The requirements are ANDed. + // +optional + MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,2,rep,name=matchExpressions"` +} + +// A label selector requirement is a selector that contains values, a key, and an operator that +// relates the key and values. +type LabelSelectorRequirement struct { + // key is the label key that the selector applies to. + Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"` + // operator represents a key's relationship to a set of values. + // Valid operators ard In, NotIn, Exists and DoesNotExist. + Operator LabelSelectorOperator `json:"operator" protobuf:"bytes,2,opt,name=operator,casttype=LabelSelectorOperator"` + // values is an array of string values. If the operator is In or NotIn, + // the values array must be non-empty. If the operator is Exists or DoesNotExist, + // the values array must be empty. This array is replaced during a strategic + // merge patch. + // +optional + Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"` +} + +// A label selector operator is the set of operators that can be used in a selector requirement. +type LabelSelectorOperator string + +const ( + LabelSelectorOpIn LabelSelectorOperator = "In" + LabelSelectorOpNotIn LabelSelectorOperator = "NotIn" + LabelSelectorOpExists LabelSelectorOperator = "Exists" + LabelSelectorOpDoesNotExist LabelSelectorOperator = "DoesNotExist" +) diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go new file mode 100644 index 00000000000..0cc65f1b4e6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go @@ -0,0 +1,231 @@ +/* +Copyright 2016 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 v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-generated-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_APIGroup = map[string]string{ + "": "APIGroup contains the name, the supported versions, and the preferred version of a group.", + "name": "name is the name of the group.", + "versions": "versions are the versions supported in this group.", + "preferredVersion": "preferredVersion is the version preferred by the API server, which probably is the storage version.", + "serverAddressByClientCIDRs": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", +} + +func (APIGroup) SwaggerDoc() map[string]string { + return map_APIGroup +} + +var map_APIGroupList = map[string]string{ + "": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.", + "groups": "groups is a list of APIGroup.", +} + +func (APIGroupList) SwaggerDoc() map[string]string { + return map_APIGroupList +} + +var map_APIResource = map[string]string{ + "": "APIResource specifies the name of a resource and whether it is namespaced.", + "name": "name is the name of the resource.", + "namespaced": "namespaced indicates if a resource is namespaced or not.", + "kind": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')", + "verbs": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)", +} + +func (APIResource) SwaggerDoc() map[string]string { + return map_APIResource +} + +var map_APIResourceList = map[string]string{ + "": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "groupVersion": "groupVersion is the group and version this APIResourceList is for.", + "resources": "resources contains the name of the resources and if they are namespaced.", +} + +func (APIResourceList) SwaggerDoc() map[string]string { + return map_APIResourceList +} + +var map_APIVersions = map[string]string{ + "": "APIVersions lists the versions that are available, to allow clients to discover the API at /api, which is the root path of the legacy v1 API.", + "versions": "versions are the api versions that are available.", + "serverAddressByClientCIDRs": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", +} + +func (APIVersions) SwaggerDoc() map[string]string { + return map_APIVersions +} + +var map_ExportOptions = map[string]string{ + "": "ExportOptions is the query options to the standard REST get call.", + "export": "Should this value be exported. Export strips fields that a user can not specify.", + "exact": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", +} + +func (ExportOptions) SwaggerDoc() map[string]string { + return map_ExportOptions +} + +var map_GetOptions = map[string]string{ + "": "GetOptions is the standard query options to the standard REST get call.", + "resourceVersion": "When specified: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", +} + +func (GetOptions) SwaggerDoc() map[string]string { + return map_GetOptions +} + +var map_GroupVersionForDiscovery = map[string]string{ + "": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "groupVersion": "groupVersion specifies the API group and version in the form \"group/version\"", + "version": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", +} + +func (GroupVersionForDiscovery) SwaggerDoc() map[string]string { + return map_GroupVersionForDiscovery +} + +var map_LabelSelector = map[string]string{ + "": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", + "matchLabels": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", + "matchExpressions": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", +} + +func (LabelSelector) SwaggerDoc() map[string]string { + return map_LabelSelector +} + +var map_LabelSelectorRequirement = map[string]string{ + "": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "key": "key is the label key that the selector applies to.", + "operator": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.", + "values": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.", +} + +func (LabelSelectorRequirement) SwaggerDoc() map[string]string { + return map_LabelSelectorRequirement +} + +var map_ListMeta = map[string]string{ + "": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "selfLink": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "resourceVersion": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#concurrency-control-and-consistency", +} + +func (ListMeta) SwaggerDoc() map[string]string { + return map_ListMeta +} + +var map_OwnerReference = map[string]string{ + "": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "apiVersion": "API version of the referent.", + "kind": "Kind of the referent. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "name": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "uid": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "controller": "If true, this reference points to the managing controller.", +} + +func (OwnerReference) SwaggerDoc() map[string]string { + return map_OwnerReference +} + +var map_Patch = map[string]string{ + "": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", +} + +func (Patch) SwaggerDoc() map[string]string { + return map_Patch +} + +var map_RootPaths = map[string]string{ + "": "RootPaths lists the paths available at root. For example: \"/healthz\", \"/apis\".", + "paths": "paths are the paths available at root.", +} + +func (RootPaths) SwaggerDoc() map[string]string { + return map_RootPaths +} + +var map_ServerAddressByClientCIDR = map[string]string{ + "": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", + "clientCIDR": "The CIDR with which clients can match their IP to figure out the server address that they should use.", + "serverAddress": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", +} + +func (ServerAddressByClientCIDR) SwaggerDoc() map[string]string { + return map_ServerAddressByClientCIDR +} + +var map_Status = map[string]string{ + "": "Status is a return value for calls that don't return other objects.", + "metadata": "Standard list metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "status": "Status of the operation. One of: \"Success\" or \"Failure\". More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status", + "message": "A human-readable description of the status of this operation.", + "reason": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", + "details": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", + "code": "Suggested HTTP return code for this status, 0 if not set.", +} + +func (Status) SwaggerDoc() map[string]string { + return map_Status +} + +var map_StatusCause = map[string]string{ + "": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "reason": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "message": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "field": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", +} + +func (StatusCause) SwaggerDoc() map[string]string { + return map_StatusCause +} + +var map_StatusDetails = map[string]string{ + "": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "name": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "group": "The group attribute of the resource associated with the status StatusReason.", + "kind": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "causes": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "retryAfterSeconds": "If specified, the time in seconds before the operation should be retried.", +} + +func (StatusDetails) SwaggerDoc() map[string]string { + return map_StatusDetails +} + +var map_TypeMeta = map[string]string{ + "": "TypeMeta describes an individual object in an API response or request with strings representing the type of the object and its API schema version. Structures that are versioned or persisted should inline TypeMeta.", + "kind": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds", + "apiVersion": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources", +} + +func (TypeMeta) SwaggerDoc() map[string]string { + return map_TypeMeta +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types_test.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types_test.go new file mode 100644 index 00000000000..540ba7131e5 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types_test.go @@ -0,0 +1,112 @@ +/* +Copyright 2016 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 v1 + +import ( + "encoding/json" + "reflect" + "testing" + + "github.com/ugorji/go/codec" +) + +func TestVerbsMarshalJSON(t *testing.T) { + cases := []struct { + input APIResource + result string + }{ + {APIResource{}, `{"name":"","namespaced":false,"kind":"","verbs":null}`}, + {APIResource{Verbs: Verbs([]string{})}, `{"name":"","namespaced":false,"kind":"","verbs":[]}`}, + {APIResource{Verbs: Verbs([]string{"delete"})}, `{"name":"","namespaced":false,"kind":"","verbs":["delete"]}`}, + } + + for i, c := range cases { + result, err := json.Marshal(&c.input) + if err != nil { + t.Errorf("[%d] Failed to marshal input: '%v': %v", i, c.input, err) + } + if string(result) != c.result { + t.Errorf("[%d] Failed to marshal input: '%v': expected %+v, got %q", i, c.input, c.result, string(result)) + } + } +} + +func TestVerbsUnmarshalJSON(t *testing.T) { + cases := []struct { + input string + result APIResource + }{ + {`{}`, APIResource{}}, + {`{"verbs":null}`, APIResource{}}, + {`{"verbs":[]}`, APIResource{Verbs: Verbs([]string{})}}, + {`{"verbs":["delete"]}`, APIResource{Verbs: Verbs([]string{"delete"})}}, + } + + for i, c := range cases { + var result APIResource + if err := codec.NewDecoderBytes([]byte(c.input), new(codec.JsonHandle)).Decode(&result); err != nil { + t.Errorf("[%d] Failed to unmarshal input '%v': %v", i, c.input, err) + } + if !reflect.DeepEqual(result, c.result) { + t.Errorf("[%d] Failed to unmarshal input '%v': expected %+v, got %+v", i, c.input, c.result, result) + } + } +} + +func TestVerbsUgorjiUnmarshalJSON(t *testing.T) { + cases := []struct { + input string + result APIResource + }{ + {`{}`, APIResource{}}, + {`{"verbs":null}`, APIResource{}}, + {`{"verbs":[]}`, APIResource{Verbs: Verbs([]string{})}}, + {`{"verbs":["delete"]}`, APIResource{Verbs: Verbs([]string{"delete"})}}, + } + + for i, c := range cases { + var result APIResource + if err := json.Unmarshal([]byte(c.input), &result); err != nil { + t.Errorf("[%d] Failed to unmarshal input '%v': %v", i, c.input, err) + } + if !reflect.DeepEqual(result, c.result) { + t.Errorf("[%d] Failed to unmarshal input '%v': expected %+v, got %+v", i, c.input, c.result, result) + } + } +} + +func TestVerbsProto(t *testing.T) { + cases := []APIResource{ + {}, + {Verbs: Verbs([]string{})}, + {Verbs: Verbs([]string{"delete"})}, + } + + for _, input := range cases { + data, err := input.Marshal() + if err != nil { + t.Fatalf("Failed to marshal input: '%v': %v", input, err) + } + resource := APIResource{} + if err := resource.Unmarshal(data); err != nil { + t.Fatalf("Failed to unmarshal output: '%v': %v", input, err) + } + if !reflect.DeepEqual(input, resource) { + t.Errorf("Marshal->Unmarshal is not idempotent: '%v' vs '%v'", input, resource) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go new file mode 100644 index 00000000000..92530758904 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go @@ -0,0 +1,659 @@ +/* +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 unstructured + +import ( + "bytes" + gojson "encoding/json" + "errors" + "fmt" + "io" + "strings" + + "github.com/golang/glog" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/json" +) + +// Unstructured allows objects that do not have Golang structs registered to be manipulated +// generically. This can be used to deal with the API objects from a plug-in. Unstructured +// objects still have functioning TypeMeta features-- kind, version, etc. +// +// WARNING: This object has accessors for the v1 standard metadata. You *MUST NOT* use this +// type if you are dealing with objects that are not in the server meta v1 schema. +// +// TODO: make the serialization part of this type distinct from the field accessors. +type Unstructured struct { + // Object is a JSON compatible map with string, float, int, bool, []interface{}, or + // map[string]interface{} + // children. + Object map[string]interface{} +} + +var _ runtime.Unstructured = &Unstructured{} +var _ runtime.Unstructured = &UnstructuredList{} + +func (obj *Unstructured) GetObjectKind() schema.ObjectKind { return obj } +func (obj *UnstructuredList) GetObjectKind() schema.ObjectKind { return obj } + +func (obj *Unstructured) IsUnstructuredObject() {} +func (obj *UnstructuredList) IsUnstructuredObject() {} + +func (obj *Unstructured) IsList() bool { + if obj.Object != nil { + _, ok := obj.Object["items"] + return ok + } + return false +} +func (obj *UnstructuredList) IsList() bool { return true } + +func (obj *Unstructured) UnstructuredContent() map[string]interface{} { + if obj.Object == nil { + obj.Object = make(map[string]interface{}) + } + return obj.Object +} +func (obj *UnstructuredList) UnstructuredContent() map[string]interface{} { + if obj.Object == nil { + obj.Object = make(map[string]interface{}) + } + return obj.Object +} + +// MarshalJSON ensures that the unstructured object produces proper +// JSON when passed to Go's standard JSON library. +func (u *Unstructured) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + err := UnstructuredJSONScheme.Encode(u, &buf) + return buf.Bytes(), err +} + +// UnmarshalJSON ensures that the unstructured object properly decodes +// JSON when passed to Go's standard JSON library. +func (u *Unstructured) UnmarshalJSON(b []byte) error { + _, _, err := UnstructuredJSONScheme.Decode(b, nil, u) + return err +} + +func getNestedField(obj map[string]interface{}, fields ...string) interface{} { + var val interface{} = obj + for _, field := range fields { + if _, ok := val.(map[string]interface{}); !ok { + return nil + } + val = val.(map[string]interface{})[field] + } + return val +} + +func getNestedString(obj map[string]interface{}, fields ...string) string { + if str, ok := getNestedField(obj, fields...).(string); ok { + return str + } + return "" +} + +func getNestedSlice(obj map[string]interface{}, fields ...string) []string { + if m, ok := getNestedField(obj, fields...).([]interface{}); ok { + strSlice := make([]string, 0, len(m)) + for _, v := range m { + if str, ok := v.(string); ok { + strSlice = append(strSlice, str) + } + } + return strSlice + } + return nil +} + +func getNestedMap(obj map[string]interface{}, fields ...string) map[string]string { + if m, ok := getNestedField(obj, fields...).(map[string]interface{}); ok { + strMap := make(map[string]string, len(m)) + for k, v := range m { + if str, ok := v.(string); ok { + strMap[k] = str + } + } + return strMap + } + return nil +} + +func setNestedField(obj map[string]interface{}, value interface{}, fields ...string) { + m := obj + if len(fields) > 1 { + for _, field := range fields[0 : len(fields)-1] { + if _, ok := m[field].(map[string]interface{}); !ok { + m[field] = make(map[string]interface{}) + } + m = m[field].(map[string]interface{}) + } + } + m[fields[len(fields)-1]] = value +} + +func setNestedSlice(obj map[string]interface{}, value []string, fields ...string) { + m := make([]interface{}, 0, len(value)) + for _, v := range value { + m = append(m, v) + } + setNestedField(obj, m, fields...) +} + +func setNestedMap(obj map[string]interface{}, value map[string]string, fields ...string) { + m := make(map[string]interface{}, len(value)) + for k, v := range value { + m[k] = v + } + setNestedField(obj, m, fields...) +} + +func (u *Unstructured) setNestedField(value interface{}, fields ...string) { + if u.Object == nil { + u.Object = make(map[string]interface{}) + } + setNestedField(u.Object, value, fields...) +} + +func (u *Unstructured) setNestedSlice(value []string, fields ...string) { + if u.Object == nil { + u.Object = make(map[string]interface{}) + } + setNestedSlice(u.Object, value, fields...) +} + +func (u *Unstructured) setNestedMap(value map[string]string, fields ...string) { + if u.Object == nil { + u.Object = make(map[string]interface{}) + } + setNestedMap(u.Object, value, fields...) +} + +func extractOwnerReference(src interface{}) metav1.OwnerReference { + v := src.(map[string]interface{}) + controllerPtr, ok := (getNestedField(v, "controller")).(*bool) + if !ok { + controllerPtr = nil + } else { + if controllerPtr != nil { + controller := *controllerPtr + controllerPtr = &controller + } + } + return metav1.OwnerReference{ + Kind: getNestedString(v, "kind"), + Name: getNestedString(v, "name"), + APIVersion: getNestedString(v, "apiVersion"), + UID: (types.UID)(getNestedString(v, "uid")), + Controller: controllerPtr, + } +} + +func setOwnerReference(src metav1.OwnerReference) map[string]interface{} { + ret := make(map[string]interface{}) + controllerPtr := src.Controller + if controllerPtr != nil { + controller := *controllerPtr + controllerPtr = &controller + } + setNestedField(ret, src.Kind, "kind") + setNestedField(ret, src.Name, "name") + setNestedField(ret, src.APIVersion, "apiVersion") + setNestedField(ret, string(src.UID), "uid") + setNestedField(ret, controllerPtr, "controller") + return ret +} + +func getOwnerReferences(object map[string]interface{}) ([]map[string]interface{}, error) { + field := getNestedField(object, "metadata", "ownerReferences") + if field == nil { + return nil, fmt.Errorf("cannot find field metadata.ownerReferences in %v", object) + } + ownerReferences, ok := field.([]map[string]interface{}) + if ok { + return ownerReferences, nil + } + // TODO: This is hacky... + interfaces, ok := field.([]interface{}) + if !ok { + return nil, fmt.Errorf("expect metadata.ownerReferences to be a slice in %#v", object) + } + ownerReferences = make([]map[string]interface{}, 0, len(interfaces)) + for i := 0; i < len(interfaces); i++ { + r, ok := interfaces[i].(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("expect element metadata.ownerReferences to be a map[string]interface{} in %#v", object) + } + ownerReferences = append(ownerReferences, r) + } + return ownerReferences, nil +} + +func (u *Unstructured) GetOwnerReferences() []metav1.OwnerReference { + original, err := getOwnerReferences(u.Object) + if err != nil { + glog.V(6).Info(err) + return nil + } + ret := make([]metav1.OwnerReference, 0, len(original)) + for i := 0; i < len(original); i++ { + ret = append(ret, extractOwnerReference(original[i])) + } + return ret +} + +func (u *Unstructured) SetOwnerReferences(references []metav1.OwnerReference) { + var newReferences = make([]map[string]interface{}, 0, len(references)) + for i := 0; i < len(references); i++ { + newReferences = append(newReferences, setOwnerReference(references[i])) + } + u.setNestedField(newReferences, "metadata", "ownerReferences") +} + +func (u *Unstructured) GetAPIVersion() string { + return getNestedString(u.Object, "apiVersion") +} + +func (u *Unstructured) SetAPIVersion(version string) { + u.setNestedField(version, "apiVersion") +} + +func (u *Unstructured) GetKind() string { + return getNestedString(u.Object, "kind") +} + +func (u *Unstructured) SetKind(kind string) { + u.setNestedField(kind, "kind") +} + +func (u *Unstructured) GetNamespace() string { + return getNestedString(u.Object, "metadata", "namespace") +} + +func (u *Unstructured) SetNamespace(namespace string) { + u.setNestedField(namespace, "metadata", "namespace") +} + +func (u *Unstructured) GetName() string { + return getNestedString(u.Object, "metadata", "name") +} + +func (u *Unstructured) SetName(name string) { + u.setNestedField(name, "metadata", "name") +} + +func (u *Unstructured) GetGenerateName() string { + return getNestedString(u.Object, "metadata", "generateName") +} + +func (u *Unstructured) SetGenerateName(name string) { + u.setNestedField(name, "metadata", "generateName") +} + +func (u *Unstructured) GetUID() types.UID { + return types.UID(getNestedString(u.Object, "metadata", "uid")) +} + +func (u *Unstructured) SetUID(uid types.UID) { + u.setNestedField(string(uid), "metadata", "uid") +} + +func (u *Unstructured) GetResourceVersion() string { + return getNestedString(u.Object, "metadata", "resourceVersion") +} + +func (u *Unstructured) SetResourceVersion(version string) { + u.setNestedField(version, "metadata", "resourceVersion") +} + +func (u *Unstructured) GetSelfLink() string { + return getNestedString(u.Object, "metadata", "selfLink") +} + +func (u *Unstructured) SetSelfLink(selfLink string) { + u.setNestedField(selfLink, "metadata", "selfLink") +} + +func (u *Unstructured) GetCreationTimestamp() metav1.Time { + var timestamp metav1.Time + timestamp.UnmarshalQueryParameter(getNestedString(u.Object, "metadata", "creationTimestamp")) + return timestamp +} + +func (u *Unstructured) SetCreationTimestamp(timestamp metav1.Time) { + ts, _ := timestamp.MarshalQueryParameter() + u.setNestedField(ts, "metadata", "creationTimestamp") +} + +func (u *Unstructured) GetDeletionTimestamp() *metav1.Time { + var timestamp metav1.Time + timestamp.UnmarshalQueryParameter(getNestedString(u.Object, "metadata", "deletionTimestamp")) + if timestamp.IsZero() { + return nil + } + return ×tamp +} + +func (u *Unstructured) SetDeletionTimestamp(timestamp *metav1.Time) { + ts, _ := timestamp.MarshalQueryParameter() + u.setNestedField(ts, "metadata", "deletionTimestamp") +} + +func (u *Unstructured) GetLabels() map[string]string { + return getNestedMap(u.Object, "metadata", "labels") +} + +func (u *Unstructured) SetLabels(labels map[string]string) { + u.setNestedMap(labels, "metadata", "labels") +} + +func (u *Unstructured) GetAnnotations() map[string]string { + return getNestedMap(u.Object, "metadata", "annotations") +} + +func (u *Unstructured) SetAnnotations(annotations map[string]string) { + u.setNestedMap(annotations, "metadata", "annotations") +} + +func (u *Unstructured) SetGroupVersionKind(gvk schema.GroupVersionKind) { + u.SetAPIVersion(gvk.GroupVersion().String()) + u.SetKind(gvk.Kind) +} + +func (u *Unstructured) GroupVersionKind() schema.GroupVersionKind { + gv, err := schema.ParseGroupVersion(u.GetAPIVersion()) + if err != nil { + return schema.GroupVersionKind{} + } + gvk := gv.WithKind(u.GetKind()) + return gvk +} + +func (u *Unstructured) GetFinalizers() []string { + return getNestedSlice(u.Object, "metadata", "finalizers") +} + +func (u *Unstructured) SetFinalizers(finalizers []string) { + u.setNestedSlice(finalizers, "metadata", "finalizers") +} + +func (u *Unstructured) GetClusterName() string { + return getNestedString(u.Object, "metadata", "clusterName") +} + +func (u *Unstructured) SetClusterName(clusterName string) { + u.setNestedField(clusterName, "metadata", "clusterName") +} + +// UnstructuredList allows lists that do not have Golang structs +// registered to be manipulated generically. This can be used to deal +// with the API lists from a plug-in. +type UnstructuredList struct { + Object map[string]interface{} + + // Items is a list of unstructured objects. + Items []*Unstructured `json:"items"` +} + +// MarshalJSON ensures that the unstructured list object produces proper +// JSON when passed to Go's standard JSON library. +func (u *UnstructuredList) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + err := UnstructuredJSONScheme.Encode(u, &buf) + return buf.Bytes(), err +} + +// UnmarshalJSON ensures that the unstructured list object properly +// decodes JSON when passed to Go's standard JSON library. +func (u *UnstructuredList) UnmarshalJSON(b []byte) error { + _, _, err := UnstructuredJSONScheme.Decode(b, nil, u) + return err +} + +func (u *UnstructuredList) setNestedField(value interface{}, fields ...string) { + if u.Object == nil { + u.Object = make(map[string]interface{}) + } + setNestedField(u.Object, value, fields...) +} + +func (u *UnstructuredList) GetAPIVersion() string { + return getNestedString(u.Object, "apiVersion") +} + +func (u *UnstructuredList) SetAPIVersion(version string) { + u.setNestedField(version, "apiVersion") +} + +func (u *UnstructuredList) GetKind() string { + return getNestedString(u.Object, "kind") +} + +func (u *UnstructuredList) SetKind(kind string) { + u.setNestedField(kind, "kind") +} + +func (u *UnstructuredList) GetResourceVersion() string { + return getNestedString(u.Object, "metadata", "resourceVersion") +} + +func (u *UnstructuredList) SetResourceVersion(version string) { + u.setNestedField(version, "metadata", "resourceVersion") +} + +func (u *UnstructuredList) GetSelfLink() string { + return getNestedString(u.Object, "metadata", "selfLink") +} + +func (u *UnstructuredList) SetSelfLink(selfLink string) { + u.setNestedField(selfLink, "metadata", "selfLink") +} + +func (u *UnstructuredList) SetGroupVersionKind(gvk schema.GroupVersionKind) { + u.SetAPIVersion(gvk.GroupVersion().String()) + u.SetKind(gvk.Kind) +} + +func (u *UnstructuredList) GroupVersionKind() schema.GroupVersionKind { + gv, err := schema.ParseGroupVersion(u.GetAPIVersion()) + if err != nil { + return schema.GroupVersionKind{} + } + gvk := gv.WithKind(u.GetKind()) + return gvk +} + +// UnstructuredJSONScheme is capable of converting JSON data into the Unstructured +// type, which can be used for generic access to objects without a predefined scheme. +// TODO: move into serializer/json. +var UnstructuredJSONScheme runtime.Codec = unstructuredJSONScheme{} + +type unstructuredJSONScheme struct{} + +func (s unstructuredJSONScheme) Decode(data []byte, _ *schema.GroupVersionKind, obj runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + var err error + if obj != nil { + err = s.decodeInto(data, obj) + } else { + obj, err = s.decode(data) + } + + if err != nil { + return nil, nil, err + } + + gvk := obj.GetObjectKind().GroupVersionKind() + if len(gvk.Kind) == 0 { + return nil, &gvk, runtime.NewMissingKindErr(string(data)) + } + + return obj, &gvk, nil +} + +func (unstructuredJSONScheme) Encode(obj runtime.Object, w io.Writer) error { + switch t := obj.(type) { + case *Unstructured: + return json.NewEncoder(w).Encode(t.Object) + case *UnstructuredList: + items := make([]map[string]interface{}, 0, len(t.Items)) + for _, i := range t.Items { + items = append(items, i.Object) + } + t.Object["items"] = items + defer func() { delete(t.Object, "items") }() + return json.NewEncoder(w).Encode(t.Object) + case *runtime.Unknown: + // TODO: Unstructured needs to deal with ContentType. + _, err := w.Write(t.Raw) + return err + default: + return json.NewEncoder(w).Encode(t) + } +} + +func (s unstructuredJSONScheme) decode(data []byte) (runtime.Object, error) { + type detector struct { + Items gojson.RawMessage + } + var det detector + if err := json.Unmarshal(data, &det); err != nil { + return nil, err + } + + if det.Items != nil { + list := &UnstructuredList{} + err := s.decodeToList(data, list) + return list, err + } + + // No Items field, so it wasn't a list. + unstruct := &Unstructured{} + err := s.decodeToUnstructured(data, unstruct) + return unstruct, err +} + +func (s unstructuredJSONScheme) decodeInto(data []byte, obj runtime.Object) error { + switch x := obj.(type) { + case *Unstructured: + return s.decodeToUnstructured(data, x) + case *UnstructuredList: + return s.decodeToList(data, x) + case *runtime.VersionedObjects: + o, err := s.decode(data) + if err == nil { + x.Objects = []runtime.Object{o} + } + return err + default: + return json.Unmarshal(data, x) + } +} + +func (unstructuredJSONScheme) decodeToUnstructured(data []byte, unstruct *Unstructured) error { + m := make(map[string]interface{}) + if err := json.Unmarshal(data, &m); err != nil { + return err + } + + unstruct.Object = m + + return nil +} + +func (s unstructuredJSONScheme) decodeToList(data []byte, list *UnstructuredList) error { + type decodeList struct { + Items []gojson.RawMessage + } + + var dList decodeList + if err := json.Unmarshal(data, &dList); err != nil { + return err + } + + if err := json.Unmarshal(data, &list.Object); err != nil { + return err + } + + // For typed lists, e.g., a PodList, API server doesn't set each item's + // APIVersion and Kind. We need to set it. + listAPIVersion := list.GetAPIVersion() + listKind := list.GetKind() + itemKind := strings.TrimSuffix(listKind, "List") + + delete(list.Object, "items") + list.Items = nil + for _, i := range dList.Items { + unstruct := &Unstructured{} + if err := s.decodeToUnstructured([]byte(i), unstruct); err != nil { + return err + } + // This is hacky. Set the item's Kind and APIVersion to those inferred + // from the List. + if len(unstruct.GetKind()) == 0 && len(unstruct.GetAPIVersion()) == 0 { + unstruct.SetKind(itemKind) + unstruct.SetAPIVersion(listAPIVersion) + } + list.Items = append(list.Items, unstruct) + } + return nil +} + +// UnstructuredObjectConverter is an ObjectConverter for use with +// Unstructured objects. Since it has no schema or type information, +// it will only succeed for no-op conversions. This is provided as a +// sane implementation for APIs that require an object converter. +type UnstructuredObjectConverter struct{} + +func (UnstructuredObjectConverter) Convert(in, out, context interface{}) error { + unstructIn, ok := in.(*Unstructured) + if !ok { + return fmt.Errorf("input type %T in not valid for unstructured conversion", in) + } + + unstructOut, ok := out.(*Unstructured) + if !ok { + return fmt.Errorf("output type %T in not valid for unstructured conversion", out) + } + + // maybe deep copy the map? It is documented in the + // ObjectConverter interface that this function is not + // guaranteeed to not mutate the input. Or maybe set the input + // object to nil. + unstructOut.Object = unstructIn.Object + return nil +} + +func (UnstructuredObjectConverter) ConvertToVersion(in runtime.Object, target runtime.GroupVersioner) (runtime.Object, error) { + if kind := in.GetObjectKind().GroupVersionKind(); !kind.Empty() { + gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{kind}) + if !ok { + // TODO: should this be a typed error? + return nil, fmt.Errorf("%v is unstructured and is not suitable for converting to %q", kind, target) + } + in.GetObjectKind().SetGroupVersionKind(gvk) + } + return in, nil +} + +func (UnstructuredObjectConverter) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + return "", "", errors.New("unstructured cannot convert field labels") +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/watch.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/watch.go new file mode 100644 index 00000000000..a645501a1a0 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/watch.go @@ -0,0 +1,80 @@ +/* +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 v1 + +import ( + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" +) + +// Event represents a single event to a watched resource. +// +// +protobuf=true +type WatchEvent struct { + Type string `json:"type" protobuf:"bytes,1,opt,name=type"` + + // Object is: + // * If Type is Added or Modified: the new state of the object. + // * If Type is Deleted: the state of the object immediately before deletion. + // * If Type is Error: *Status is recommended; other types may make sense + // depending on context. + Object runtime.RawExtension `json:"object" protobuf:"bytes,2,opt,name=object"` +} + +func Convert_watch_Event_to_versioned_Event(in *watch.Event, out *WatchEvent, s conversion.Scope) error { + out.Type = string(in.Type) + switch t := in.Object.(type) { + case *runtime.Unknown: + // TODO: handle other fields on Unknown and detect type + out.Object.Raw = t.Raw + case nil: + default: + out.Object.Object = in.Object + } + return nil +} + +func Convert_versioned_InternalEvent_to_versioned_Event(in *InternalEvent, out *WatchEvent, s conversion.Scope) error { + return Convert_watch_Event_to_versioned_Event((*watch.Event)(in), out, s) +} + +func Convert_versioned_Event_to_watch_Event(in *WatchEvent, out *watch.Event, s conversion.Scope) error { + out.Type = watch.EventType(in.Type) + if in.Object.Object != nil { + out.Object = in.Object.Object + } else if in.Object.Raw != nil { + // TODO: handle other fields on Unknown and detect type + out.Object = &runtime.Unknown{ + Raw: in.Object.Raw, + ContentType: runtime.ContentTypeJSON, + } + } + return nil +} + +func Convert_versioned_Event_to_versioned_InternalEvent(in *WatchEvent, out *InternalEvent, s conversion.Scope) error { + return Convert_versioned_Event_to_watch_Event(in, (*watch.Event)(out), s) +} + +// InternalEvent makes watch.Event versioned +// +protobuf=false +type InternalEvent watch.Event + +func (e *InternalEvent) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (e *WatchEvent) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/well_known_labels.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/well_known_labels.go new file mode 100644 index 00000000000..da003cd6568 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/well_known_labels.go @@ -0,0 +1,73 @@ +/* +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 v1 + +const ( + // If you add a new topology domain here, also consider adding it to the set of default values + // for the scheduler's --failure-domain command-line argument. + LabelHostname = "kubernetes.io/hostname" + LabelZoneFailureDomain = "failure-domain.beta.kubernetes.io/zone" + LabelZoneRegion = "failure-domain.beta.kubernetes.io/region" + + LabelInstanceType = "beta.kubernetes.io/instance-type" + + LabelOS = "beta.kubernetes.io/os" + LabelArch = "beta.kubernetes.io/arch" + + // Historically fluentd was a manifest pod the was migrated to DaemonSet. + // To avoid situation during cluster upgrade when there are two instances + // of fluentd running on a node, kubelet need to mark node on which + // fluentd in not running as a manifest pod with LabelFluentdDsReady. + LabelFluentdDsReady = "alpha.kubernetes.io/fluentd-ds-ready" +) + +// Role labels are applied to Nodes to mark their purpose. In particular, we +// usually want to distinguish the master, so that we can isolate privileged +// pods and operations. +// +// Originally we relied on not registering the master, on the fact that the +// master was Unschedulable, and on static manifests for master components. +// But we now do register masters in many environments, are generally moving +// away from static manifests (for better manageability), and working towards +// deprecating the unschedulable field (replacing it with taints & tolerations +// instead). +// +// Even with tainting, a label remains the easiest way of making a positive +// selection, so that pods can schedule only to master nodes for example, and +// thus installations will likely define a label for their master nodes. +// +// So that we can recognize master nodes in consequent places though (such as +// kubectl get nodes), we encourage installations to use the well-known labels. +// We define NodeLabelRole, which is the preferred form, but we will also recognize +// other forms that are known to be in widespread use (NodeLabelKubeadmAlphaRole). + +const ( + // NodeLabelRole is the preferred label applied to a Node as a hint that it has a particular purpose (defined by the value). + NodeLabelRole = "kubernetes.io/role" + + // NodeLabelKubeadmAlphaRole is a label that kubeadm applies to a Node as a hint that it has a particular purpose. + // Use of NodeLabelRole is preferred. + NodeLabelKubeadmAlphaRole = "kubeadm.alpha.kubernetes.io/role" + + // NodeLabelRoleMaster is the value of a NodeLabelRole or NodeLabelKubeadmAlphaRole label, indicating a master node. + // A master node typically runs kubernetes system components and will not typically run user workloads. + NodeLabelRoleMaster = "master" + + // NodeLabelRoleNode is the value of a NodeLabelRole or NodeLabelKubeadmAlphaRole label, indicating a "normal" node, + // as opposed to a RoleMaster node. + NodeLabelRoleNode = "node" +) diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go new file mode 100644 index 00000000000..82545002399 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go @@ -0,0 +1,428 @@ +// +build !ignore_autogenerated + +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by deepcopy-gen. Do not edit it manually! + +package v1 + +import ( + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" + reflect "reflect" +) + +// GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them. +func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { + return []conversion.GeneratedDeepCopyFunc{ + {Fn: DeepCopy_v1_APIGroup, InType: reflect.TypeOf(&APIGroup{})}, + {Fn: DeepCopy_v1_APIGroupList, InType: reflect.TypeOf(&APIGroupList{})}, + {Fn: DeepCopy_v1_APIResource, InType: reflect.TypeOf(&APIResource{})}, + {Fn: DeepCopy_v1_APIResourceList, InType: reflect.TypeOf(&APIResourceList{})}, + {Fn: DeepCopy_v1_APIVersions, InType: reflect.TypeOf(&APIVersions{})}, + {Fn: DeepCopy_v1_Duration, InType: reflect.TypeOf(&Duration{})}, + {Fn: DeepCopy_v1_ExportOptions, InType: reflect.TypeOf(&ExportOptions{})}, + {Fn: DeepCopy_v1_GetOptions, InType: reflect.TypeOf(&GetOptions{})}, + {Fn: DeepCopy_v1_GroupKind, InType: reflect.TypeOf(&GroupKind{})}, + {Fn: DeepCopy_v1_GroupResource, InType: reflect.TypeOf(&GroupResource{})}, + {Fn: DeepCopy_v1_GroupVersion, InType: reflect.TypeOf(&GroupVersion{})}, + {Fn: DeepCopy_v1_GroupVersionForDiscovery, InType: reflect.TypeOf(&GroupVersionForDiscovery{})}, + {Fn: DeepCopy_v1_GroupVersionKind, InType: reflect.TypeOf(&GroupVersionKind{})}, + {Fn: DeepCopy_v1_GroupVersionResource, InType: reflect.TypeOf(&GroupVersionResource{})}, + {Fn: DeepCopy_v1_InternalEvent, InType: reflect.TypeOf(&InternalEvent{})}, + {Fn: DeepCopy_v1_LabelSelector, InType: reflect.TypeOf(&LabelSelector{})}, + {Fn: DeepCopy_v1_LabelSelectorRequirement, InType: reflect.TypeOf(&LabelSelectorRequirement{})}, + {Fn: DeepCopy_v1_ListMeta, InType: reflect.TypeOf(&ListMeta{})}, + {Fn: DeepCopy_v1_OwnerReference, InType: reflect.TypeOf(&OwnerReference{})}, + {Fn: DeepCopy_v1_Patch, InType: reflect.TypeOf(&Patch{})}, + {Fn: DeepCopy_v1_RootPaths, InType: reflect.TypeOf(&RootPaths{})}, + {Fn: DeepCopy_v1_ServerAddressByClientCIDR, InType: reflect.TypeOf(&ServerAddressByClientCIDR{})}, + {Fn: DeepCopy_v1_Status, InType: reflect.TypeOf(&Status{})}, + {Fn: DeepCopy_v1_StatusCause, InType: reflect.TypeOf(&StatusCause{})}, + {Fn: DeepCopy_v1_StatusDetails, InType: reflect.TypeOf(&StatusDetails{})}, + {Fn: DeepCopy_v1_Time, InType: reflect.TypeOf(&Time{})}, + {Fn: DeepCopy_v1_Timestamp, InType: reflect.TypeOf(&Timestamp{})}, + {Fn: DeepCopy_v1_TypeMeta, InType: reflect.TypeOf(&TypeMeta{})}, + {Fn: DeepCopy_v1_WatchEvent, InType: reflect.TypeOf(&WatchEvent{})}, + } +} + +func DeepCopy_v1_APIGroup(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*APIGroup) + out := out.(*APIGroup) + *out = *in + if in.Versions != nil { + in, out := &in.Versions, &out.Versions + *out = make([]GroupVersionForDiscovery, len(*in)) + for i := range *in { + (*out)[i] = (*in)[i] + } + } + if in.ServerAddressByClientCIDRs != nil { + in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs + *out = make([]ServerAddressByClientCIDR, len(*in)) + for i := range *in { + (*out)[i] = (*in)[i] + } + } + return nil + } +} + +func DeepCopy_v1_APIGroupList(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*APIGroupList) + out := out.(*APIGroupList) + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]APIGroup, len(*in)) + for i := range *in { + if err := DeepCopy_v1_APIGroup(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + return nil + } +} + +func DeepCopy_v1_APIResource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*APIResource) + out := out.(*APIResource) + *out = *in + if in.Verbs != nil { + in, out := &in.Verbs, &out.Verbs + *out = make(Verbs, len(*in)) + copy(*out, *in) + } + return nil + } +} + +func DeepCopy_v1_APIResourceList(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*APIResourceList) + out := out.(*APIResourceList) + *out = *in + if in.APIResources != nil { + in, out := &in.APIResources, &out.APIResources + *out = make([]APIResource, len(*in)) + for i := range *in { + if err := DeepCopy_v1_APIResource(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + return nil + } +} + +func DeepCopy_v1_APIVersions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*APIVersions) + out := out.(*APIVersions) + *out = *in + if in.Versions != nil { + in, out := &in.Versions, &out.Versions + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ServerAddressByClientCIDRs != nil { + in, out := &in.ServerAddressByClientCIDRs, &out.ServerAddressByClientCIDRs + *out = make([]ServerAddressByClientCIDR, len(*in)) + for i := range *in { + (*out)[i] = (*in)[i] + } + } + return nil + } +} + +func DeepCopy_v1_Duration(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Duration) + out := out.(*Duration) + *out = *in + return nil + } +} + +func DeepCopy_v1_ExportOptions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ExportOptions) + out := out.(*ExportOptions) + *out = *in + return nil + } +} + +func DeepCopy_v1_GetOptions(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GetOptions) + out := out.(*GetOptions) + *out = *in + return nil + } +} + +func DeepCopy_v1_GroupKind(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GroupKind) + out := out.(*GroupKind) + *out = *in + return nil + } +} + +func DeepCopy_v1_GroupResource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GroupResource) + out := out.(*GroupResource) + *out = *in + return nil + } +} + +func DeepCopy_v1_GroupVersion(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GroupVersion) + out := out.(*GroupVersion) + *out = *in + return nil + } +} + +func DeepCopy_v1_GroupVersionForDiscovery(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GroupVersionForDiscovery) + out := out.(*GroupVersionForDiscovery) + *out = *in + return nil + } +} + +func DeepCopy_v1_GroupVersionKind(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GroupVersionKind) + out := out.(*GroupVersionKind) + *out = *in + return nil + } +} + +func DeepCopy_v1_GroupVersionResource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*GroupVersionResource) + out := out.(*GroupVersionResource) + *out = *in + return nil + } +} + +func DeepCopy_v1_InternalEvent(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*InternalEvent) + out := out.(*InternalEvent) + *out = *in + // in.Object is kind 'Interface' + if in.Object != nil { + if newVal, err := c.DeepCopy(&in.Object); err != nil { + return err + } else { + out.Object = *newVal.(*runtime.Object) + } + } + return nil + } +} + +func DeepCopy_v1_LabelSelector(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*LabelSelector) + out := out.(*LabelSelector) + *out = *in + if in.MatchLabels != nil { + in, out := &in.MatchLabels, &out.MatchLabels + *out = make(map[string]string) + for key, val := range *in { + (*out)[key] = val + } + } + if in.MatchExpressions != nil { + in, out := &in.MatchExpressions, &out.MatchExpressions + *out = make([]LabelSelectorRequirement, len(*in)) + for i := range *in { + if err := DeepCopy_v1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + return nil + } +} + +func DeepCopy_v1_LabelSelectorRequirement(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*LabelSelectorRequirement) + out := out.(*LabelSelectorRequirement) + *out = *in + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]string, len(*in)) + copy(*out, *in) + } + return nil + } +} + +func DeepCopy_v1_ListMeta(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ListMeta) + out := out.(*ListMeta) + *out = *in + return nil + } +} + +func DeepCopy_v1_OwnerReference(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*OwnerReference) + out := out.(*OwnerReference) + *out = *in + if in.Controller != nil { + in, out := &in.Controller, &out.Controller + *out = new(bool) + **out = **in + } + return nil + } +} + +func DeepCopy_v1_Patch(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Patch) + out := out.(*Patch) + *out = *in + return nil + } +} + +func DeepCopy_v1_RootPaths(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*RootPaths) + out := out.(*RootPaths) + *out = *in + if in.Paths != nil { + in, out := &in.Paths, &out.Paths + *out = make([]string, len(*in)) + copy(*out, *in) + } + return nil + } +} + +func DeepCopy_v1_ServerAddressByClientCIDR(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ServerAddressByClientCIDR) + out := out.(*ServerAddressByClientCIDR) + *out = *in + return nil + } +} + +func DeepCopy_v1_Status(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Status) + out := out.(*Status) + *out = *in + if in.Details != nil { + in, out := &in.Details, &out.Details + *out = new(StatusDetails) + if err := DeepCopy_v1_StatusDetails(*in, *out, c); err != nil { + return err + } + } + return nil + } +} + +func DeepCopy_v1_StatusCause(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*StatusCause) + out := out.(*StatusCause) + *out = *in + return nil + } +} + +func DeepCopy_v1_StatusDetails(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*StatusDetails) + out := out.(*StatusDetails) + *out = *in + if in.Causes != nil { + in, out := &in.Causes, &out.Causes + *out = make([]StatusCause, len(*in)) + for i := range *in { + (*out)[i] = (*in)[i] + } + } + return nil + } +} + +func DeepCopy_v1_Time(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Time) + out := out.(*Time) + *out = in.DeepCopy() + return nil + } +} + +func DeepCopy_v1_Timestamp(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Timestamp) + out := out.(*Timestamp) + *out = *in + return nil + } +} + +func DeepCopy_v1_TypeMeta(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*TypeMeta) + out := out.(*TypeMeta) + *out = *in + return nil + } +} + +func DeepCopy_v1_WatchEvent(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*WatchEvent) + out := out.(*WatchEvent) + *out = *in + if err := runtime.DeepCopy_runtime_RawExtension(&in.Object, &out.Object, c); err != nil { + return err + } + return nil + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.defaults.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.defaults.go new file mode 100644 index 00000000000..6df448eb9fd --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.defaults.go @@ -0,0 +1,32 @@ +// +build !ignore_autogenerated + +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by defaulter-gen. Do not edit it manually! + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// RegisterDefaults adds defaulters functions to the given scheme. +// Public to allow building arbitrary schemes. +// All generated defaulters are covering - they call all nested defaulters. +func RegisterDefaults(scheme *runtime.Scheme) error { + return nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/OWNERS b/staging/src/k8s.io/apimachinery/pkg/conversion/OWNERS new file mode 100644 index 00000000000..a046efc0c22 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/OWNERS @@ -0,0 +1,5 @@ +assignees: + - derekwaynecarr + - lavalamp + - smarterclayton + - wojtek-t diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/cloner.go b/staging/src/k8s.io/apimachinery/pkg/conversion/cloner.go new file mode 100644 index 00000000000..c5dec1f31e4 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/cloner.go @@ -0,0 +1,249 @@ +/* +Copyright 2014 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 conversion + +import ( + "fmt" + "reflect" +) + +// Cloner knows how to copy one type to another. +type Cloner struct { + // Map from the type to a function which can do the deep copy. + deepCopyFuncs map[reflect.Type]reflect.Value + generatedDeepCopyFuncs map[reflect.Type]func(in interface{}, out interface{}, c *Cloner) error +} + +// NewCloner creates a new Cloner object. +func NewCloner() *Cloner { + c := &Cloner{ + deepCopyFuncs: map[reflect.Type]reflect.Value{}, + generatedDeepCopyFuncs: map[reflect.Type]func(in interface{}, out interface{}, c *Cloner) error{}, + } + if err := c.RegisterDeepCopyFunc(byteSliceDeepCopy); err != nil { + // If one of the deep-copy functions is malformed, detect it immediately. + panic(err) + } + return c +} + +// Prevent recursing into every byte... +func byteSliceDeepCopy(in *[]byte, out *[]byte, c *Cloner) error { + if *in != nil { + *out = make([]byte, len(*in)) + copy(*out, *in) + } else { + *out = nil + } + return nil +} + +// Verifies whether a deep-copy function has a correct signature. +func verifyDeepCopyFunctionSignature(ft reflect.Type) error { + if ft.Kind() != reflect.Func { + return fmt.Errorf("expected func, got: %v", ft) + } + if ft.NumIn() != 3 { + return fmt.Errorf("expected three 'in' params, got %v", ft) + } + if ft.NumOut() != 1 { + return fmt.Errorf("expected one 'out' param, got %v", ft) + } + if ft.In(0).Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer arg for 'in' param 0, got: %v", ft) + } + if ft.In(1) != ft.In(0) { + return fmt.Errorf("expected 'in' param 0 the same as param 1, got: %v", ft) + } + var forClonerType Cloner + if expected := reflect.TypeOf(&forClonerType); ft.In(2) != expected { + return fmt.Errorf("expected '%v' arg for 'in' param 2, got: '%v'", expected, ft.In(2)) + } + var forErrorType error + // This convolution is necessary, otherwise TypeOf picks up on the fact + // that forErrorType is nil + errorType := reflect.TypeOf(&forErrorType).Elem() + if ft.Out(0) != errorType { + return fmt.Errorf("expected error return, got: %v", ft) + } + return nil +} + +// RegisterGeneratedDeepCopyFunc registers a copying func with the Cloner. +// deepCopyFunc must take three parameters: a type input, a pointer to a +// type output, and a pointer to Cloner. It should return an error. +// +// Example: +// c.RegisterGeneratedDeepCopyFunc( +// func(in Pod, out *Pod, c *Cloner) error { +// // deep copy logic... +// return nil +// }) +func (c *Cloner) RegisterDeepCopyFunc(deepCopyFunc interface{}) error { + fv := reflect.ValueOf(deepCopyFunc) + ft := fv.Type() + if err := verifyDeepCopyFunctionSignature(ft); err != nil { + return err + } + c.deepCopyFuncs[ft.In(0)] = fv + return nil +} + +// GeneratedDeepCopyFunc bundles an untyped generated deep-copy function of a type +// with a reflection type object used as a key to lookup the deep-copy function. +type GeneratedDeepCopyFunc struct { + Fn func(in interface{}, out interface{}, c *Cloner) error + InType reflect.Type +} + +// Similar to RegisterDeepCopyFunc, but registers deep copy function that were +// automatically generated. +func (c *Cloner) RegisterGeneratedDeepCopyFunc(fn GeneratedDeepCopyFunc) error { + c.generatedDeepCopyFuncs[fn.InType] = fn.Fn + return nil +} + +// DeepCopy will perform a deep copy of a given object. +func (c *Cloner) DeepCopy(in interface{}) (interface{}, error) { + // Can be invalid if we run DeepCopy(X) where X is a nil interface type. + // For example, we get an invalid value when someone tries to deep-copy + // a nil labels.Selector. + // This does not occur if X is nil and is a pointer to a concrete type. + if in == nil { + return nil, nil + } + inValue := reflect.ValueOf(in) + outValue, err := c.deepCopy(inValue) + if err != nil { + return nil, err + } + return outValue.Interface(), nil +} + +func (c *Cloner) deepCopy(src reflect.Value) (reflect.Value, error) { + inType := src.Type() + + switch src.Kind() { + case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice: + if src.IsNil() { + return src, nil + } + } + + if fv, ok := c.deepCopyFuncs[inType]; ok { + return c.customDeepCopy(src, fv) + } + if fv, ok := c.generatedDeepCopyFuncs[inType]; ok { + var outValue reflect.Value + outValue = reflect.New(inType.Elem()) + err := fv(src.Interface(), outValue.Interface(), c) + return outValue, err + } + return c.defaultDeepCopy(src) +} + +func (c *Cloner) customDeepCopy(src, fv reflect.Value) (reflect.Value, error) { + outValue := reflect.New(src.Type().Elem()) + args := []reflect.Value{src, outValue, reflect.ValueOf(c)} + result := fv.Call(args)[0].Interface() + // This convolution is necessary because nil interfaces won't convert + // to error. + if result == nil { + return outValue, nil + } + return outValue, result.(error) +} + +func (c *Cloner) defaultDeepCopy(src reflect.Value) (reflect.Value, error) { + switch src.Kind() { + case reflect.Chan, reflect.Func, reflect.UnsafePointer, reflect.Uintptr: + return src, fmt.Errorf("cannot deep copy kind: %s", src.Kind()) + case reflect.Array: + dst := reflect.New(src.Type()) + for i := 0; i < src.Len(); i++ { + copyVal, err := c.deepCopy(src.Index(i)) + if err != nil { + return src, err + } + dst.Elem().Index(i).Set(copyVal) + } + return dst.Elem(), nil + case reflect.Interface: + if src.IsNil() { + return src, nil + } + return c.deepCopy(src.Elem()) + case reflect.Map: + if src.IsNil() { + return src, nil + } + dst := reflect.MakeMap(src.Type()) + for _, k := range src.MapKeys() { + copyVal, err := c.deepCopy(src.MapIndex(k)) + if err != nil { + return src, err + } + dst.SetMapIndex(k, copyVal) + } + return dst, nil + case reflect.Ptr: + if src.IsNil() { + return src, nil + } + dst := reflect.New(src.Type().Elem()) + copyVal, err := c.deepCopy(src.Elem()) + if err != nil { + return src, err + } + dst.Elem().Set(copyVal) + return dst, nil + case reflect.Slice: + if src.IsNil() { + return src, nil + } + dst := reflect.MakeSlice(src.Type(), 0, src.Len()) + for i := 0; i < src.Len(); i++ { + copyVal, err := c.deepCopy(src.Index(i)) + if err != nil { + return src, err + } + dst = reflect.Append(dst, copyVal) + } + return dst, nil + case reflect.Struct: + dst := reflect.New(src.Type()) + for i := 0; i < src.NumField(); i++ { + if !dst.Elem().Field(i).CanSet() { + // Can't set private fields. At this point, the + // best we can do is a shallow copy. For + // example, time.Time is a value type with + // private members that can be shallow copied. + return src, nil + } + copyVal, err := c.deepCopy(src.Field(i)) + if err != nil { + return src, err + } + dst.Elem().Field(i).Set(copyVal) + } + return dst.Elem(), nil + + default: + // Value types like numbers, booleans, and strings. + return src, nil + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/converter.go b/staging/src/k8s.io/apimachinery/pkg/conversion/converter.go new file mode 100644 index 00000000000..9ab468ebe2b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/converter.go @@ -0,0 +1,953 @@ +/* +Copyright 2014 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 conversion + +import ( + "fmt" + "reflect" +) + +type typePair struct { + source reflect.Type + dest reflect.Type +} + +type typeNamePair struct { + fieldType reflect.Type + fieldName string +} + +// DebugLogger allows you to get debugging messages if necessary. +type DebugLogger interface { + Logf(format string, args ...interface{}) +} + +type NameFunc func(t reflect.Type) string + +var DefaultNameFunc = func(t reflect.Type) string { return t.Name() } + +type GenericConversionFunc func(a, b interface{}, scope Scope) (bool, error) + +// Converter knows how to convert one type to another. +type Converter struct { + // Map from the conversion pair to a function which can + // do the conversion. + conversionFuncs ConversionFuncs + generatedConversionFuncs ConversionFuncs + + // genericConversions are called during normal conversion to offer a "fast-path" + // that avoids all reflection. These methods are not called outside of the .Convert() + // method. + genericConversions []GenericConversionFunc + + // Set of conversions that should be treated as a no-op + ignoredConversions map[typePair]struct{} + + // This is a map from a source field type and name, to a list of destination + // field type and name. + structFieldDests map[typeNamePair][]typeNamePair + + // Allows for the opposite lookup of structFieldDests. So that SourceFromDest + // copy flag also works. So this is a map of destination field name, to potential + // source field name and type to look for. + structFieldSources map[typeNamePair][]typeNamePair + + // Map from a type to a function which applies defaults. + defaultingFuncs map[reflect.Type]reflect.Value + + // Similar to above, but function is stored as interface{}. + defaultingInterfaces map[reflect.Type]interface{} + + // Map from an input type to a function which can apply a key name mapping + inputFieldMappingFuncs map[reflect.Type]FieldMappingFunc + + // Map from an input type to a set of default conversion flags. + inputDefaultFlags map[reflect.Type]FieldMatchingFlags + + // If non-nil, will be called to print helpful debugging info. Quite verbose. + Debug DebugLogger + + // nameFunc is called to retrieve the name of a type; this name is used for the + // purpose of deciding whether two types match or not (i.e., will we attempt to + // do a conversion). The default returns the go type name. + nameFunc func(t reflect.Type) string +} + +// NewConverter creates a new Converter object. +func NewConverter(nameFn NameFunc) *Converter { + c := &Converter{ + conversionFuncs: NewConversionFuncs(), + generatedConversionFuncs: NewConversionFuncs(), + ignoredConversions: make(map[typePair]struct{}), + defaultingFuncs: make(map[reflect.Type]reflect.Value), + defaultingInterfaces: make(map[reflect.Type]interface{}), + nameFunc: nameFn, + structFieldDests: make(map[typeNamePair][]typeNamePair), + structFieldSources: make(map[typeNamePair][]typeNamePair), + + inputFieldMappingFuncs: make(map[reflect.Type]FieldMappingFunc), + inputDefaultFlags: make(map[reflect.Type]FieldMatchingFlags), + } + c.RegisterConversionFunc(Convert_Slice_byte_To_Slice_byte) + return c +} + +// AddGenericConversionFunc adds a function that accepts the ConversionFunc call pattern +// (for two conversion types) to the converter. These functions are checked first during +// a normal conversion, but are otherwise not called. Use AddConversionFuncs when registering +// typed conversions. +func (c *Converter) AddGenericConversionFunc(fn GenericConversionFunc) { + c.genericConversions = append(c.genericConversions, fn) +} + +// WithConversions returns a Converter that is a copy of c but with the additional +// fns merged on top. +func (c *Converter) WithConversions(fns ConversionFuncs) *Converter { + copied := *c + copied.conversionFuncs = c.conversionFuncs.Merge(fns) + return &copied +} + +// DefaultMeta returns the conversion FieldMappingFunc and meta for a given type. +func (c *Converter) DefaultMeta(t reflect.Type) (FieldMatchingFlags, *Meta) { + return c.inputDefaultFlags[t], &Meta{ + KeyNameMapping: c.inputFieldMappingFuncs[t], + } +} + +// Convert_Slice_byte_To_Slice_byte prevents recursing into every byte +func Convert_Slice_byte_To_Slice_byte(in *[]byte, out *[]byte, s Scope) error { + if *in == nil { + *out = nil + return nil + } + *out = make([]byte, len(*in)) + copy(*out, *in) + return nil +} + +// Scope is passed to conversion funcs to allow them to continue an ongoing conversion. +// If multiple converters exist in the system, Scope will allow you to use the correct one +// from a conversion function--that is, the one your conversion function was called by. +type Scope interface { + // Call Convert to convert sub-objects. Note that if you call it with your own exact + // parameters, you'll run out of stack space before anything useful happens. + Convert(src, dest interface{}, flags FieldMatchingFlags) error + + // DefaultConvert performs the default conversion, without calling a conversion func + // on the current stack frame. This makes it safe to call from a conversion func. + DefaultConvert(src, dest interface{}, flags FieldMatchingFlags) error + + // If registered, returns a function applying defaults for objects of a given type. + // Used for automatically generating conversion functions. + DefaultingInterface(inType reflect.Type) (interface{}, bool) + + // SrcTags and DestTags contain the struct tags that src and dest had, respectively. + // If the enclosing object was not a struct, then these will contain no tags, of course. + SrcTag() reflect.StructTag + DestTag() reflect.StructTag + + // Flags returns the flags with which the conversion was started. + Flags() FieldMatchingFlags + + // Meta returns any information originally passed to Convert. + Meta() *Meta +} + +// FieldMappingFunc can convert an input field value into different values, depending on +// the value of the source or destination struct tags. +type FieldMappingFunc func(key string, sourceTag, destTag reflect.StructTag) (source string, dest string) + +func NewConversionFuncs() ConversionFuncs { + return ConversionFuncs{fns: make(map[typePair]reflect.Value)} +} + +type ConversionFuncs struct { + fns map[typePair]reflect.Value +} + +// Add adds the provided conversion functions to the lookup table - they must have the signature +// `func(type1, type2, Scope) error`. Functions are added in the order passed and will override +// previously registered pairs. +func (c ConversionFuncs) Add(fns ...interface{}) error { + for _, fn := range fns { + fv := reflect.ValueOf(fn) + ft := fv.Type() + if err := verifyConversionFunctionSignature(ft); err != nil { + return err + } + c.fns[typePair{ft.In(0).Elem(), ft.In(1).Elem()}] = fv + } + return nil +} + +// Merge returns a new ConversionFuncs that contains all conversions from +// both other and c, with other conversions taking precedence. +func (c ConversionFuncs) Merge(other ConversionFuncs) ConversionFuncs { + merged := NewConversionFuncs() + for k, v := range c.fns { + merged.fns[k] = v + } + for k, v := range other.fns { + merged.fns[k] = v + } + return merged +} + +// Meta is supplied by Scheme, when it calls Convert. +type Meta struct { + // KeyNameMapping is an optional function which may map the listed key (field name) + // into a source and destination value. + KeyNameMapping FieldMappingFunc + // Context is an optional field that callers may use to pass info to conversion functions. + Context interface{} +} + +// scope contains information about an ongoing conversion. +type scope struct { + converter *Converter + meta *Meta + flags FieldMatchingFlags + + // srcStack & destStack are separate because they may not have a 1:1 + // relationship. + srcStack scopeStack + destStack scopeStack +} + +type scopeStackElem struct { + tag reflect.StructTag + value reflect.Value + key string +} + +type scopeStack []scopeStackElem + +func (s *scopeStack) pop() { + n := len(*s) + *s = (*s)[:n-1] +} + +func (s *scopeStack) push(e scopeStackElem) { + *s = append(*s, e) +} + +func (s *scopeStack) top() *scopeStackElem { + return &(*s)[len(*s)-1] +} + +func (s scopeStack) describe() string { + desc := "" + if len(s) > 1 { + desc = "(" + s[1].value.Type().String() + ")" + } + for i, v := range s { + if i < 2 { + // First layer on stack is not real; second is handled specially above. + continue + } + if v.key == "" { + desc += fmt.Sprintf(".%v", v.value.Type()) + } else { + desc += fmt.Sprintf(".%v", v.key) + } + } + return desc +} + +func (s *scope) DefaultingInterface(inType reflect.Type) (interface{}, bool) { + value, found := s.converter.defaultingInterfaces[inType] + return value, found +} + +// Formats src & dest as indices for printing. +func (s *scope) setIndices(src, dest int) { + s.srcStack.top().key = fmt.Sprintf("[%v]", src) + s.destStack.top().key = fmt.Sprintf("[%v]", dest) +} + +// Formats src & dest as map keys for printing. +func (s *scope) setKeys(src, dest interface{}) { + s.srcStack.top().key = fmt.Sprintf(`["%v"]`, src) + s.destStack.top().key = fmt.Sprintf(`["%v"]`, dest) +} + +// Convert continues a conversion. +func (s *scope) Convert(src, dest interface{}, flags FieldMatchingFlags) error { + return s.converter.Convert(src, dest, flags, s.meta) +} + +// DefaultConvert continues a conversion, performing a default conversion (no conversion func) +// for the current stack frame. +func (s *scope) DefaultConvert(src, dest interface{}, flags FieldMatchingFlags) error { + return s.converter.DefaultConvert(src, dest, flags, s.meta) +} + +// SrcTag returns the tag of the struct containing the current source item, if any. +func (s *scope) SrcTag() reflect.StructTag { + return s.srcStack.top().tag +} + +// DestTag returns the tag of the struct containing the current dest item, if any. +func (s *scope) DestTag() reflect.StructTag { + return s.destStack.top().tag +} + +// Flags returns the flags with which the current conversion was started. +func (s *scope) Flags() FieldMatchingFlags { + return s.flags +} + +// Meta returns the meta object that was originally passed to Convert. +func (s *scope) Meta() *Meta { + return s.meta +} + +// describe prints the path to get to the current (source, dest) values. +func (s *scope) describe() (src, dest string) { + return s.srcStack.describe(), s.destStack.describe() +} + +// error makes an error that includes information about where we were in the objects +// we were asked to convert. +func (s *scope) errorf(message string, args ...interface{}) error { + srcPath, destPath := s.describe() + where := fmt.Sprintf("converting %v to %v: ", srcPath, destPath) + return fmt.Errorf(where+message, args...) +} + +// Verifies whether a conversion function has a correct signature. +func verifyConversionFunctionSignature(ft reflect.Type) error { + if ft.Kind() != reflect.Func { + return fmt.Errorf("expected func, got: %v", ft) + } + if ft.NumIn() != 3 { + return fmt.Errorf("expected three 'in' params, got: %v", ft) + } + if ft.NumOut() != 1 { + return fmt.Errorf("expected one 'out' param, got: %v", ft) + } + if ft.In(0).Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer arg for 'in' param 0, got: %v", ft) + } + if ft.In(1).Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer arg for 'in' param 1, got: %v", ft) + } + scopeType := Scope(nil) + if e, a := reflect.TypeOf(&scopeType).Elem(), ft.In(2); e != a { + return fmt.Errorf("expected '%v' arg for 'in' param 2, got '%v' (%v)", e, a, ft) + } + var forErrorType error + // This convolution is necessary, otherwise TypeOf picks up on the fact + // that forErrorType is nil. + errorType := reflect.TypeOf(&forErrorType).Elem() + if ft.Out(0) != errorType { + return fmt.Errorf("expected error return, got: %v", ft) + } + return nil +} + +// RegisterConversionFunc registers a conversion func with the +// Converter. conversionFunc must take three parameters: a pointer to the input +// type, a pointer to the output type, and a conversion.Scope (which should be +// used if recursive conversion calls are desired). It must return an error. +// +// Example: +// c.RegisterConversionFunc( +// func(in *Pod, out *v1.Pod, s Scope) error { +// // conversion logic... +// return nil +// }) +func (c *Converter) RegisterConversionFunc(conversionFunc interface{}) error { + return c.conversionFuncs.Add(conversionFunc) +} + +// Similar to RegisterConversionFunc, but registers conversion function that were +// automatically generated. +func (c *Converter) RegisterGeneratedConversionFunc(conversionFunc interface{}) error { + return c.generatedConversionFuncs.Add(conversionFunc) +} + +// RegisterIgnoredConversion registers a "no-op" for conversion, where any requested +// conversion between from and to is ignored. +func (c *Converter) RegisterIgnoredConversion(from, to interface{}) error { + typeFrom := reflect.TypeOf(from) + typeTo := reflect.TypeOf(to) + if reflect.TypeOf(from).Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer arg for 'from' param 0, got: %v", typeFrom) + } + if typeTo.Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer arg for 'to' param 1, got: %v", typeTo) + } + c.ignoredConversions[typePair{typeFrom.Elem(), typeTo.Elem()}] = struct{}{} + return nil +} + +// IsConversionIgnored returns true if the specified objects should be dropped during +// conversion. +func (c *Converter) IsConversionIgnored(inType, outType reflect.Type) bool { + _, found := c.ignoredConversions[typePair{inType, outType}] + return found +} + +func (c *Converter) HasConversionFunc(inType, outType reflect.Type) bool { + _, found := c.conversionFuncs.fns[typePair{inType, outType}] + return found +} + +func (c *Converter) ConversionFuncValue(inType, outType reflect.Type) (reflect.Value, bool) { + value, found := c.conversionFuncs.fns[typePair{inType, outType}] + return value, found +} + +// SetStructFieldCopy registers a correspondence. Whenever a struct field is encountered +// which has a type and name matching srcFieldType and srcFieldName, it wil be copied +// into the field in the destination struct matching destFieldType & Name, if such a +// field exists. +// May be called multiple times, even for the same source field & type--all applicable +// copies will be performed. +func (c *Converter) SetStructFieldCopy(srcFieldType interface{}, srcFieldName string, destFieldType interface{}, destFieldName string) error { + st := reflect.TypeOf(srcFieldType) + dt := reflect.TypeOf(destFieldType) + srcKey := typeNamePair{st, srcFieldName} + destKey := typeNamePair{dt, destFieldName} + c.structFieldDests[srcKey] = append(c.structFieldDests[srcKey], destKey) + c.structFieldSources[destKey] = append(c.structFieldSources[destKey], srcKey) + return nil +} + +// RegisterDefaultingFunc registers a value-defaulting func with the Converter. +// defaultingFunc must take one parameter: a pointer to the input type. +// +// Example: +// c.RegisterDefaultingFunc( +// func(in *v1.Pod) { +// // defaulting logic... +// }) +func (c *Converter) RegisterDefaultingFunc(defaultingFunc interface{}) error { + fv := reflect.ValueOf(defaultingFunc) + ft := fv.Type() + if ft.Kind() != reflect.Func { + return fmt.Errorf("expected func, got: %v", ft) + } + if ft.NumIn() != 1 { + return fmt.Errorf("expected one 'in' param, got: %v", ft) + } + if ft.NumOut() != 0 { + return fmt.Errorf("expected zero 'out' params, got: %v", ft) + } + if ft.In(0).Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer arg for 'in' param 0, got: %v", ft) + } + inType := ft.In(0).Elem() + c.defaultingFuncs[inType] = fv + c.defaultingInterfaces[inType] = defaultingFunc + return nil +} + +// RegisterInputDefaults registers a field name mapping function, used when converting +// from maps to structs. Inputs to the conversion methods are checked for this type and a mapping +// applied automatically if the input matches in. A set of default flags for the input conversion +// may also be provided, which will be used when no explicit flags are requested. +func (c *Converter) RegisterInputDefaults(in interface{}, fn FieldMappingFunc, defaultFlags FieldMatchingFlags) error { + fv := reflect.ValueOf(in) + ft := fv.Type() + if ft.Kind() != reflect.Ptr { + return fmt.Errorf("expected pointer 'in' argument, got: %v", ft) + } + c.inputFieldMappingFuncs[ft] = fn + c.inputDefaultFlags[ft] = defaultFlags + return nil +} + +// FieldMatchingFlags contains a list of ways in which struct fields could be +// copied. These constants may be | combined. +type FieldMatchingFlags int + +const ( + // Loop through destination fields, search for matching source + // field to copy it from. Source fields with no corresponding + // destination field will be ignored. If SourceToDest is + // specified, this flag is ignored. If neither is specified, + // or no flags are passed, this flag is the default. + DestFromSource FieldMatchingFlags = 0 + // Loop through source fields, search for matching dest field + // to copy it into. Destination fields with no corresponding + // source field will be ignored. + SourceToDest FieldMatchingFlags = 1 << iota + // Don't treat it as an error if the corresponding source or + // dest field can't be found. + IgnoreMissingFields + // Don't require type names to match. + AllowDifferentFieldTypeNames +) + +// IsSet returns true if the given flag or combination of flags is set. +func (f FieldMatchingFlags) IsSet(flag FieldMatchingFlags) bool { + if flag == DestFromSource { + // The bit logic doesn't work on the default value. + return f&SourceToDest != SourceToDest + } + return f&flag == flag +} + +// Convert will translate src to dest if it knows how. Both must be pointers. +// If no conversion func is registered and the default copying mechanism +// doesn't work on this type pair, an error will be returned. +// Read the comments on the various FieldMatchingFlags constants to understand +// what the 'flags' parameter does. +// 'meta' is given to allow you to pass information to conversion functions, +// it is not used by Convert() other than storing it in the scope. +// Not safe for objects with cyclic references! +func (c *Converter) Convert(src, dest interface{}, flags FieldMatchingFlags, meta *Meta) error { + if len(c.genericConversions) > 0 { + // TODO: avoid scope allocation + s := &scope{converter: c, flags: flags, meta: meta} + for _, fn := range c.genericConversions { + if ok, err := fn(src, dest, s); ok { + return err + } + } + } + return c.doConversion(src, dest, flags, meta, c.convert) +} + +// DefaultConvert will translate src to dest if it knows how. Both must be pointers. +// No conversion func is used. If the default copying mechanism +// doesn't work on this type pair, an error will be returned. +// Read the comments on the various FieldMatchingFlags constants to understand +// what the 'flags' parameter does. +// 'meta' is given to allow you to pass information to conversion functions, +// it is not used by DefaultConvert() other than storing it in the scope. +// Not safe for objects with cyclic references! +func (c *Converter) DefaultConvert(src, dest interface{}, flags FieldMatchingFlags, meta *Meta) error { + return c.doConversion(src, dest, flags, meta, c.defaultConvert) +} + +type conversionFunc func(sv, dv reflect.Value, scope *scope) error + +func (c *Converter) doConversion(src, dest interface{}, flags FieldMatchingFlags, meta *Meta, f conversionFunc) error { + dv, err := EnforcePtr(dest) + if err != nil { + return err + } + if !dv.CanAddr() && !dv.CanSet() { + return fmt.Errorf("can't write to dest") + } + sv, err := EnforcePtr(src) + if err != nil { + return err + } + s := &scope{ + converter: c, + flags: flags, + meta: meta, + } + // Leave something on the stack, so that calls to struct tag getters never fail. + s.srcStack.push(scopeStackElem{}) + s.destStack.push(scopeStackElem{}) + return f(sv, dv, s) +} + +// callCustom calls 'custom' with sv & dv. custom must be a conversion function. +func (c *Converter) callCustom(sv, dv, custom reflect.Value, scope *scope) error { + if !sv.CanAddr() { + sv2 := reflect.New(sv.Type()) + sv2.Elem().Set(sv) + sv = sv2 + } else { + sv = sv.Addr() + } + if !dv.CanAddr() { + if !dv.CanSet() { + return scope.errorf("can't addr or set dest.") + } + dvOrig := dv + dv := reflect.New(dvOrig.Type()) + defer func() { dvOrig.Set(dv) }() + } else { + dv = dv.Addr() + } + args := []reflect.Value{sv, dv, reflect.ValueOf(scope)} + ret := custom.Call(args)[0].Interface() + // This convolution is necessary because nil interfaces won't convert + // to errors. + if ret == nil { + return nil + } + return ret.(error) +} + +// convert recursively copies sv into dv, calling an appropriate conversion function if +// one is registered. +func (c *Converter) convert(sv, dv reflect.Value, scope *scope) error { + dt, st := dv.Type(), sv.Type() + // Apply default values. + if fv, ok := c.defaultingFuncs[st]; ok { + if c.Debug != nil { + c.Debug.Logf("Applying defaults for '%v'", st) + } + args := []reflect.Value{sv.Addr()} + fv.Call(args) + } + + pair := typePair{st, dt} + + // ignore conversions of this type + if _, ok := c.ignoredConversions[pair]; ok { + if c.Debug != nil { + c.Debug.Logf("Ignoring conversion of '%v' to '%v'", st, dt) + } + return nil + } + + // Convert sv to dv. + if fv, ok := c.conversionFuncs.fns[pair]; ok { + if c.Debug != nil { + c.Debug.Logf("Calling custom conversion of '%v' to '%v'", st, dt) + } + return c.callCustom(sv, dv, fv, scope) + } + if fv, ok := c.generatedConversionFuncs.fns[pair]; ok { + if c.Debug != nil { + c.Debug.Logf("Calling generated conversion of '%v' to '%v'", st, dt) + } + return c.callCustom(sv, dv, fv, scope) + } + + return c.defaultConvert(sv, dv, scope) +} + +// defaultConvert recursively copies sv into dv. no conversion function is called +// for the current stack frame (but conversion functions may be called for nested objects) +func (c *Converter) defaultConvert(sv, dv reflect.Value, scope *scope) error { + dt, st := dv.Type(), sv.Type() + + if !dv.CanSet() { + return scope.errorf("Cannot set dest. (Tried to deep copy something with unexported fields?)") + } + + if !scope.flags.IsSet(AllowDifferentFieldTypeNames) && c.nameFunc(dt) != c.nameFunc(st) { + return scope.errorf( + "type names don't match (%v, %v), and no conversion 'func (%v, %v) error' registered.", + c.nameFunc(st), c.nameFunc(dt), st, dt) + } + + switch st.Kind() { + case reflect.Map, reflect.Ptr, reflect.Slice, reflect.Interface, reflect.Struct: + // Don't copy these via assignment/conversion! + default: + // This should handle all simple types. + if st.AssignableTo(dt) { + dv.Set(sv) + return nil + } + if st.ConvertibleTo(dt) { + dv.Set(sv.Convert(dt)) + return nil + } + } + + if c.Debug != nil { + c.Debug.Logf("Trying to convert '%v' to '%v'", st, dt) + } + + scope.srcStack.push(scopeStackElem{value: sv}) + scope.destStack.push(scopeStackElem{value: dv}) + defer scope.srcStack.pop() + defer scope.destStack.pop() + + switch dv.Kind() { + case reflect.Struct: + return c.convertKV(toKVValue(sv), toKVValue(dv), scope) + case reflect.Slice: + if sv.IsNil() { + // Don't make a zero-length slice. + dv.Set(reflect.Zero(dt)) + return nil + } + dv.Set(reflect.MakeSlice(dt, sv.Len(), sv.Cap())) + for i := 0; i < sv.Len(); i++ { + scope.setIndices(i, i) + if err := c.convert(sv.Index(i), dv.Index(i), scope); err != nil { + return err + } + } + case reflect.Ptr: + if sv.IsNil() { + // Don't copy a nil ptr! + dv.Set(reflect.Zero(dt)) + return nil + } + dv.Set(reflect.New(dt.Elem())) + switch st.Kind() { + case reflect.Ptr, reflect.Interface: + return c.convert(sv.Elem(), dv.Elem(), scope) + default: + return c.convert(sv, dv.Elem(), scope) + } + case reflect.Map: + if sv.IsNil() { + // Don't copy a nil ptr! + dv.Set(reflect.Zero(dt)) + return nil + } + dv.Set(reflect.MakeMap(dt)) + for _, sk := range sv.MapKeys() { + dk := reflect.New(dt.Key()).Elem() + if err := c.convert(sk, dk, scope); err != nil { + return err + } + dkv := reflect.New(dt.Elem()).Elem() + scope.setKeys(sk.Interface(), dk.Interface()) + // TODO: sv.MapIndex(sk) may return a value with CanAddr() == false, + // because a map[string]struct{} does not allow a pointer reference. + // Calling a custom conversion function defined for the map value + // will panic. Example is PodInfo map[string]ContainerStatus. + if err := c.convert(sv.MapIndex(sk), dkv, scope); err != nil { + return err + } + dv.SetMapIndex(dk, dkv) + } + case reflect.Interface: + if sv.IsNil() { + // Don't copy a nil interface! + dv.Set(reflect.Zero(dt)) + return nil + } + tmpdv := reflect.New(sv.Elem().Type()).Elem() + if err := c.convert(sv.Elem(), tmpdv, scope); err != nil { + return err + } + dv.Set(reflect.ValueOf(tmpdv.Interface())) + return nil + default: + return scope.errorf("couldn't copy '%v' into '%v'; didn't understand types", st, dt) + } + return nil +} + +var stringType = reflect.TypeOf("") + +func toKVValue(v reflect.Value) kvValue { + switch v.Kind() { + case reflect.Struct: + return structAdaptor(v) + case reflect.Map: + if v.Type().Key().AssignableTo(stringType) { + return stringMapAdaptor(v) + } + } + + return nil +} + +// kvValue lets us write the same conversion logic to work with both maps +// and structs. Only maps with string keys make sense for this. +type kvValue interface { + // returns all keys, as a []string. + keys() []string + // Will just return "" for maps. + tagOf(key string) reflect.StructTag + // Will return the zero Value if the key doesn't exist. + value(key string) reflect.Value + // Maps require explicit setting-- will do nothing for structs. + // Returns false on failure. + confirmSet(key string, v reflect.Value) bool +} + +type stringMapAdaptor reflect.Value + +func (a stringMapAdaptor) len() int { + return reflect.Value(a).Len() +} + +func (a stringMapAdaptor) keys() []string { + v := reflect.Value(a) + keys := make([]string, v.Len()) + for i, v := range v.MapKeys() { + if v.IsNil() { + continue + } + switch t := v.Interface().(type) { + case string: + keys[i] = t + } + } + return keys +} + +func (a stringMapAdaptor) tagOf(key string) reflect.StructTag { + return "" +} + +func (a stringMapAdaptor) value(key string) reflect.Value { + return reflect.Value(a).MapIndex(reflect.ValueOf(key)) +} + +func (a stringMapAdaptor) confirmSet(key string, v reflect.Value) bool { + return true +} + +type structAdaptor reflect.Value + +func (a structAdaptor) len() int { + v := reflect.Value(a) + return v.Type().NumField() +} + +func (a structAdaptor) keys() []string { + v := reflect.Value(a) + t := v.Type() + keys := make([]string, t.NumField()) + for i := range keys { + keys[i] = t.Field(i).Name + } + return keys +} + +func (a structAdaptor) tagOf(key string) reflect.StructTag { + v := reflect.Value(a) + field, ok := v.Type().FieldByName(key) + if ok { + return field.Tag + } + return "" +} + +func (a structAdaptor) value(key string) reflect.Value { + v := reflect.Value(a) + return v.FieldByName(key) +} + +func (a structAdaptor) confirmSet(key string, v reflect.Value) bool { + return true +} + +// convertKV can convert things that consist of key/value pairs, like structs +// and some maps. +func (c *Converter) convertKV(skv, dkv kvValue, scope *scope) error { + if skv == nil || dkv == nil { + // TODO: add keys to stack to support really understandable error messages. + return fmt.Errorf("Unable to convert %#v to %#v", skv, dkv) + } + + lister := dkv + if scope.flags.IsSet(SourceToDest) { + lister = skv + } + + var mapping FieldMappingFunc + if scope.meta != nil && scope.meta.KeyNameMapping != nil { + mapping = scope.meta.KeyNameMapping + } + + for _, key := range lister.keys() { + if found, err := c.checkField(key, skv, dkv, scope); found { + if err != nil { + return err + } + continue + } + stag := skv.tagOf(key) + dtag := dkv.tagOf(key) + skey := key + dkey := key + if mapping != nil { + skey, dkey = scope.meta.KeyNameMapping(key, stag, dtag) + } + + df := dkv.value(dkey) + sf := skv.value(skey) + if !df.IsValid() || !sf.IsValid() { + switch { + case scope.flags.IsSet(IgnoreMissingFields): + // No error. + case scope.flags.IsSet(SourceToDest): + return scope.errorf("%v not present in dest", dkey) + default: + return scope.errorf("%v not present in src", skey) + } + continue + } + scope.srcStack.top().key = skey + scope.srcStack.top().tag = stag + scope.destStack.top().key = dkey + scope.destStack.top().tag = dtag + if err := c.convert(sf, df, scope); err != nil { + return err + } + } + return nil +} + +// checkField returns true if the field name matches any of the struct +// field copying rules. The error should be ignored if it returns false. +func (c *Converter) checkField(fieldName string, skv, dkv kvValue, scope *scope) (bool, error) { + replacementMade := false + if scope.flags.IsSet(DestFromSource) { + df := dkv.value(fieldName) + if !df.IsValid() { + return false, nil + } + destKey := typeNamePair{df.Type(), fieldName} + // Check each of the potential source (type, name) pairs to see if they're + // present in sv. + for _, potentialSourceKey := range c.structFieldSources[destKey] { + sf := skv.value(potentialSourceKey.fieldName) + if !sf.IsValid() { + continue + } + if sf.Type() == potentialSourceKey.fieldType { + // Both the source's name and type matched, so copy. + scope.srcStack.top().key = potentialSourceKey.fieldName + scope.destStack.top().key = fieldName + if err := c.convert(sf, df, scope); err != nil { + return true, err + } + dkv.confirmSet(fieldName, df) + replacementMade = true + } + } + return replacementMade, nil + } + + sf := skv.value(fieldName) + if !sf.IsValid() { + return false, nil + } + srcKey := typeNamePair{sf.Type(), fieldName} + // Check each of the potential dest (type, name) pairs to see if they're + // present in dv. + for _, potentialDestKey := range c.structFieldDests[srcKey] { + df := dkv.value(potentialDestKey.fieldName) + if !df.IsValid() { + continue + } + if df.Type() == potentialDestKey.fieldType { + // Both the dest's name and type matched, so copy. + scope.srcStack.top().key = fieldName + scope.destStack.top().key = potentialDestKey.fieldName + if err := c.convert(sf, df, scope); err != nil { + return true, err + } + dkv.confirmSet(potentialDestKey.fieldName, df) + replacementMade = true + } + } + return replacementMade, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/converter_test.go b/staging/src/k8s.io/apimachinery/pkg/conversion/converter_test.go new file mode 100644 index 00000000000..57f51c253c8 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/converter_test.go @@ -0,0 +1,826 @@ +/* +Copyright 2014 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 conversion + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "testing" + + "github.com/google/gofuzz" + flag "github.com/spf13/pflag" + + "k8s.io/apimachinery/pkg/util/diff" +) + +var fuzzIters = flag.Int("fuzz-iters", 50, "How many fuzzing iterations to do.") + +// Test a weird version/kind embedding format. +type MyWeirdCustomEmbeddedVersionKindField struct { + ID string `json:"ID,omitempty"` + APIVersion string `json:"myVersionKey,omitempty"` + ObjectKind string `json:"myKindKey,omitempty"` + Z string `json:"Z,omitempty"` + Y uint64 `json:"Y,omitempty"` +} + +type TestType1 struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` + C int8 `json:"C,omitempty"` + D int16 `json:"D,omitempty"` + E int32 `json:"E,omitempty"` + F int64 `json:"F,omitempty"` + G uint `json:"G,omitempty"` + H uint8 `json:"H,omitempty"` + I uint16 `json:"I,omitempty"` + J uint32 `json:"J,omitempty"` + K uint64 `json:"K,omitempty"` + L bool `json:"L,omitempty"` + M map[string]int `json:"M,omitempty"` + N map[string]TestType2 `json:"N,omitempty"` + O *TestType2 `json:"O,omitempty"` + P []TestType2 `json:"Q,omitempty"` +} + +type TestType2 struct { + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` +} + +type ExternalTestType2 struct { + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` +} +type ExternalTestType1 struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` + C int8 `json:"C,omitempty"` + D int16 `json:"D,omitempty"` + E int32 `json:"E,omitempty"` + F int64 `json:"F,omitempty"` + G uint `json:"G,omitempty"` + H uint8 `json:"H,omitempty"` + I uint16 `json:"I,omitempty"` + J uint32 `json:"J,omitempty"` + K uint64 `json:"K,omitempty"` + L bool `json:"L,omitempty"` + M map[string]int `json:"M,omitempty"` + N map[string]ExternalTestType2 `json:"N,omitempty"` + O *ExternalTestType2 `json:"O,omitempty"` + P []ExternalTestType2 `json:"Q,omitempty"` +} + +func testLogger(t *testing.T) DebugLogger { + // We don't set logger to eliminate rubbish logs in tests. + // If you want to switch it, simply switch it to: "return t" + return nil +} + +func TestConverter_byteSlice(t *testing.T) { + c := NewConverter(DefaultNameFunc) + src := []byte{1, 2, 3} + dest := []byte{} + err := c.Convert(&src, &dest, 0, nil) + if err != nil { + t.Fatalf("expected no error") + } + if e, a := src, dest; !reflect.DeepEqual(e, a) { + t.Errorf("expected %#v, got %#v", e, a) + } +} + +func TestConverter_MismatchedTypes(t *testing.T) { + c := NewConverter(DefaultNameFunc) + + err := c.RegisterConversionFunc( + func(in *[]string, out *int, s Scope) error { + if str, err := strconv.Atoi((*in)[0]); err != nil { + return err + } else { + *out = str + return nil + } + }, + ) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + + src := []string{"5"} + var dest *int + err = c.Convert(&src, &dest, 0, nil) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if e, a := 5, *dest; e != a { + t.Errorf("expected %#v, got %#v", e, a) + } +} + +func TestConverter_DefaultConvert(t *testing.T) { + type A struct { + Foo string + Baz int + } + type B struct { + Bar string + Baz int + } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + c.nameFunc = func(t reflect.Type) string { return "MyType" } + + // Ensure conversion funcs can call DefaultConvert to get default behavior, + // then fixup remaining fields manually + err := c.RegisterConversionFunc(func(in *A, out *B, s Scope) error { + if err := s.DefaultConvert(in, out, IgnoreMissingFields); err != nil { + return err + } + out.Bar = in.Foo + return nil + }) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + + x := A{"hello, intrepid test reader!", 3} + y := B{} + + err = c.Convert(&x, &y, 0, nil) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + if e, a := x.Foo, y.Bar; e != a { + t.Errorf("expected %v, got %v", e, a) + } + if e, a := x.Baz, y.Baz; e != a { + t.Errorf("expected %v, got %v", e, a) + } +} + +func TestConverter_DeepCopy(t *testing.T) { + type A struct { + Foo *string + Bar []string + Baz interface{} + Qux map[string]string + } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + + foo, baz := "foo", "baz" + x := A{ + Foo: &foo, + Bar: []string{"bar"}, + Baz: &baz, + Qux: map[string]string{"qux": "qux"}, + } + y := A{} + + if err := c.Convert(&x, &y, 0, nil); err != nil { + t.Fatalf("unexpected error %v", err) + } + *x.Foo = "foo2" + x.Bar[0] = "bar2" + *x.Baz.(*string) = "baz2" + x.Qux["qux"] = "qux2" + if e, a := *x.Foo, *y.Foo; e == a { + t.Errorf("expected difference between %v and %v", e, a) + } + if e, a := x.Bar, y.Bar; reflect.DeepEqual(e, a) { + t.Errorf("expected difference between %v and %v", e, a) + } + if e, a := *x.Baz.(*string), *y.Baz.(*string); e == a { + t.Errorf("expected difference between %v and %v", e, a) + } + if e, a := x.Qux, y.Qux; reflect.DeepEqual(e, a) { + t.Errorf("expected difference between %v and %v", e, a) + } +} + +func TestConverter_CallsRegisteredFunctions(t *testing.T) { + type A struct { + Foo string + Baz int + } + type B struct { + Bar string + Baz int + } + type C struct{} + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + err := c.RegisterConversionFunc(func(in *A, out *B, s Scope) error { + out.Bar = in.Foo + return s.Convert(&in.Baz, &out.Baz, 0) + }) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + err = c.RegisterConversionFunc(func(in *B, out *A, s Scope) error { + out.Foo = in.Bar + return s.Convert(&in.Baz, &out.Baz, 0) + }) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + + x := A{"hello, intrepid test reader!", 3} + y := B{} + + err = c.Convert(&x, &y, 0, nil) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + if e, a := x.Foo, y.Bar; e != a { + t.Errorf("expected %v, got %v", e, a) + } + if e, a := x.Baz, y.Baz; e != a { + t.Errorf("expected %v, got %v", e, a) + } + + z := B{"all your test are belong to us", 42} + w := A{} + + err = c.Convert(&z, &w, 0, nil) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + if e, a := z.Bar, w.Foo; e != a { + t.Errorf("expected %v, got %v", e, a) + } + if e, a := z.Baz, w.Baz; e != a { + t.Errorf("expected %v, got %v", e, a) + } + + err = c.RegisterConversionFunc(func(in *A, out *C, s Scope) error { + return fmt.Errorf("C can't store an A, silly") + }) + if err != nil { + t.Fatalf("unexpected error %v", err) + } + err = c.Convert(&A{}, &C{}, 0, nil) + if err == nil { + t.Errorf("unexpected non-error") + } +} + +func TestConverter_IgnoredConversion(t *testing.T) { + type A struct{} + type B struct{} + + count := 0 + c := NewConverter(DefaultNameFunc) + if err := c.RegisterConversionFunc(func(in *A, out *B, s Scope) error { + count++ + return nil + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + if err := c.RegisterIgnoredConversion(&A{}, &B{}); err != nil { + t.Fatal(err) + } + a := A{} + b := B{} + if err := c.Convert(&a, &b, 0, nil); err != nil { + t.Errorf("%v", err) + } + if count != 0 { + t.Errorf("unexpected number of conversion invocations") + } +} + +func TestConverter_IgnoredConversionNested(t *testing.T) { + type C string + type A struct { + C C + } + type B struct { + C C + } + + c := NewConverter(DefaultNameFunc) + typed := C("") + if err := c.RegisterIgnoredConversion(&typed, &typed); err != nil { + t.Fatal(err) + } + a := A{C: C("test")} + b := B{C: C("other")} + if err := c.Convert(&a, &b, AllowDifferentFieldTypeNames, nil); err != nil { + t.Errorf("%v", err) + } + if b.C != C("other") { + t.Errorf("expected no conversion of field C: %#v", b) + } +} + +func TestConverter_GeneratedConversionOverriden(t *testing.T) { + type A struct{} + type B struct{} + c := NewConverter(DefaultNameFunc) + if err := c.RegisterConversionFunc(func(in *A, out *B, s Scope) error { + return nil + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + if err := c.RegisterGeneratedConversionFunc(func(in *A, out *B, s Scope) error { + return fmt.Errorf("generated function should be overriden") + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + + a := A{} + b := B{} + if err := c.Convert(&a, &b, 0, nil); err != nil { + t.Errorf("%v", err) + } +} + +func TestConverter_WithConversionOverriden(t *testing.T) { + type A struct{} + type B struct{} + c := NewConverter(DefaultNameFunc) + if err := c.RegisterConversionFunc(func(in *A, out *B, s Scope) error { + return fmt.Errorf("conversion function should be overriden") + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + if err := c.RegisterGeneratedConversionFunc(func(in *A, out *B, s Scope) error { + return fmt.Errorf("generated function should be overriden") + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + + ext := NewConversionFuncs() + ext.Add(func(in *A, out *B, s Scope) error { + return nil + }) + newc := c.WithConversions(ext) + + a := A{} + b := B{} + if err := c.Convert(&a, &b, 0, nil); err == nil || err.Error() != "conversion function should be overriden" { + t.Errorf("unexpected error: %v", err) + } + if err := newc.Convert(&a, &b, 0, nil); err != nil { + t.Errorf("%v", err) + } +} + +func TestConverter_MapsStringArrays(t *testing.T) { + type A struct { + Foo string + Baz int + Other string + } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + if err := c.RegisterConversionFunc(func(input *[]string, out *string, s Scope) error { + if len(*input) == 0 { + *out = "" + } + *out = (*input)[0] + return nil + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + + x := map[string][]string{ + "Foo": {"bar"}, + "Baz": {"1"}, + "Other": {"", "test"}, + "other": {"wrong"}, + } + y := A{"test", 2, "something"} + + if err := c.Convert(&x, &y, AllowDifferentFieldTypeNames, nil); err == nil { + t.Error("unexpected non-error") + } + + if err := c.RegisterConversionFunc(func(input *[]string, out *int, s Scope) error { + if len(*input) == 0 { + *out = 0 + } + str := (*input)[0] + i, err := strconv.Atoi(str) + if err != nil { + return err + } + *out = i + return nil + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + + if err := c.Convert(&x, &y, AllowDifferentFieldTypeNames, nil); err != nil { + t.Fatalf("unexpected error %v", err) + } + if !reflect.DeepEqual(y, A{"bar", 1, ""}) { + t.Errorf("unexpected result: %#v", y) + } +} + +func TestConverter_MapsStringArraysWithMappingKey(t *testing.T) { + type A struct { + Foo string `json:"test"` + Baz int + Other string + } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + if err := c.RegisterConversionFunc(func(input *[]string, out *string, s Scope) error { + if len(*input) == 0 { + *out = "" + } + *out = (*input)[0] + return nil + }); err != nil { + t.Fatalf("unexpected error %v", err) + } + + x := map[string][]string{ + "Foo": {"bar"}, + "test": {"baz"}, + } + y := A{"", 0, ""} + + if err := c.Convert(&x, &y, AllowDifferentFieldTypeNames|IgnoreMissingFields, &Meta{}); err != nil { + t.Fatalf("unexpected error %v", err) + } + if !reflect.DeepEqual(y, A{"bar", 0, ""}) { + t.Errorf("unexpected result: %#v", y) + } + + mapping := func(key string, sourceTag, destTag reflect.StructTag) (source string, dest string) { + if s := destTag.Get("json"); len(s) > 0 { + return strings.SplitN(s, ",", 2)[0], key + } + return key, key + } + + if err := c.Convert(&x, &y, AllowDifferentFieldTypeNames|IgnoreMissingFields, &Meta{KeyNameMapping: mapping}); err != nil { + t.Fatalf("unexpected error %v", err) + } + if !reflect.DeepEqual(y, A{"baz", 0, ""}) { + t.Errorf("unexpected result: %#v", y) + } +} + +func TestConverter_fuzz(t *testing.T) { + // Use the same types from the scheme test. + table := []struct { + from, to, check interface{} + }{ + {&TestType1{}, &ExternalTestType1{}, &TestType1{}}, + {&ExternalTestType1{}, &TestType1{}, &ExternalTestType1{}}, + } + + f := fuzz.New().NilChance(.5).NumElements(0, 100) + c := NewConverter(DefaultNameFunc) + c.nameFunc = func(t reflect.Type) string { + // Hide the fact that we don't have separate packages for these things. + return map[reflect.Type]string{ + reflect.TypeOf(TestType1{}): "TestType1", + reflect.TypeOf(ExternalTestType1{}): "TestType1", + reflect.TypeOf(TestType2{}): "TestType2", + reflect.TypeOf(ExternalTestType2{}): "TestType2", + }[t] + } + c.Debug = testLogger(t) + + for i, item := range table { + for j := 0; j < *fuzzIters; j++ { + f.Fuzz(item.from) + err := c.Convert(item.from, item.to, 0, nil) + if err != nil { + t.Errorf("(%v, %v): unexpected error: %v", i, j, err) + continue + } + err = c.Convert(item.to, item.check, 0, nil) + if err != nil { + t.Errorf("(%v, %v): unexpected error: %v", i, j, err) + continue + } + if e, a := item.from, item.check; !reflect.DeepEqual(e, a) { + t.Errorf("(%v, %v): unexpected diff: %v", i, j, diff.ObjectDiff(e, a)) + } + } + } +} + +func TestConverter_MapElemAddr(t *testing.T) { + type Foo struct { + A map[int]int + } + type Bar struct { + A map[string]string + } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + err := c.RegisterConversionFunc( + func(in *int, out *string, s Scope) error { + *out = fmt.Sprintf("%v", *in) + return nil + }, + ) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + err = c.RegisterConversionFunc( + func(in *string, out *int, s Scope) error { + if str, err := strconv.Atoi(*in); err != nil { + return err + } else { + *out = str + return nil + } + }, + ) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + f := fuzz.New().NilChance(0).NumElements(3, 3) + first := Foo{} + second := Bar{} + f.Fuzz(&first) + err = c.Convert(&first, &second, AllowDifferentFieldTypeNames, nil) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + third := Foo{} + err = c.Convert(&second, &third, AllowDifferentFieldTypeNames, nil) + if e, a := first, third; !reflect.DeepEqual(e, a) { + t.Errorf("Unexpected diff: %v", diff.ObjectDiff(e, a)) + } +} + +func TestConverter_tags(t *testing.T) { + type Foo struct { + A string `test:"foo"` + } + type Bar struct { + A string `test:"bar"` + } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + err := c.RegisterConversionFunc( + func(in *string, out *string, s Scope) error { + if e, a := "foo", s.SrcTag().Get("test"); e != a { + t.Errorf("expected %v, got %v", e, a) + } + if e, a := "bar", s.DestTag().Get("test"); e != a { + t.Errorf("expected %v, got %v", e, a) + } + return nil + }, + ) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + err = c.Convert(&Foo{}, &Bar{}, AllowDifferentFieldTypeNames, nil) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } +} + +func TestConverter_meta(t *testing.T) { + type Foo struct{ A string } + type Bar struct{ A string } + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + checks := 0 + err := c.RegisterConversionFunc( + func(in *Foo, out *Bar, s Scope) error { + if s.Meta() == nil { + t.Errorf("Meta did not get passed!") + } + checks++ + s.Convert(&in.A, &out.A, 0) + return nil + }, + ) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + err = c.RegisterConversionFunc( + func(in *string, out *string, s Scope) error { + if s.Meta() == nil { + t.Errorf("Meta did not get passed a second time!") + } + checks++ + return nil + }, + ) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + err = c.Convert(&Foo{}, &Bar{}, 0, &Meta{}) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + if checks != 2 { + t.Errorf("Registered functions did not get called.") + } +} + +func TestConverter_flags(t *testing.T) { + type Foo struct{ A string } + type Bar struct{ A string } + table := []struct { + from, to interface{} + flags FieldMatchingFlags + shouldSucceed bool + }{ + // Check that DestFromSource allows extra fields only in source. + { + from: &struct{ A string }{}, + to: &struct{ A, B string }{}, + flags: DestFromSource, + shouldSucceed: false, + }, { + from: &struct{ A, B string }{}, + to: &struct{ A string }{}, + flags: DestFromSource, + shouldSucceed: true, + }, + + // Check that SourceToDest allows for extra fields only in dest. + { + from: &struct{ A string }{}, + to: &struct{ A, B string }{}, + flags: SourceToDest, + shouldSucceed: true, + }, { + from: &struct{ A, B string }{}, + to: &struct{ A string }{}, + flags: SourceToDest, + shouldSucceed: false, + }, + + // Check that IgnoreMissingFields makes the above failure cases pass. + { + from: &struct{ A string }{}, + to: &struct{ A, B string }{}, + flags: DestFromSource | IgnoreMissingFields, + shouldSucceed: true, + }, { + from: &struct{ A, B string }{}, + to: &struct{ A string }{}, + flags: SourceToDest | IgnoreMissingFields, + shouldSucceed: true, + }, + + // Check that the field type name must match unless + // AllowDifferentFieldTypeNames is specified. + { + from: &struct{ A, B Foo }{}, + to: &struct{ A Bar }{}, + flags: DestFromSource, + shouldSucceed: false, + }, { + from: &struct{ A Foo }{}, + to: &struct{ A, B Bar }{}, + flags: SourceToDest, + shouldSucceed: false, + }, { + from: &struct{ A, B Foo }{}, + to: &struct{ A Bar }{}, + flags: DestFromSource | AllowDifferentFieldTypeNames, + shouldSucceed: true, + }, { + from: &struct{ A Foo }{}, + to: &struct{ A, B Bar }{}, + flags: SourceToDest | AllowDifferentFieldTypeNames, + shouldSucceed: true, + }, + } + f := fuzz.New().NilChance(.5).NumElements(0, 100) + c := NewConverter(DefaultNameFunc) + c.Debug = testLogger(t) + + for i, item := range table { + for j := 0; j < *fuzzIters; j++ { + f.Fuzz(item.from) + err := c.Convert(item.from, item.to, item.flags, nil) + if item.shouldSucceed && err != nil { + t.Errorf("(%v, %v): unexpected error: %v", i, j, err) + continue + } + if !item.shouldSucceed && err == nil { + t.Errorf("(%v, %v): unexpected non-error", i, j) + continue + } + } + } +} + +func TestConverter_FieldRename(t *testing.T) { + type WeirdMeta struct { + Name string + Type string + } + type NameMeta struct { + Name string + } + type TypeMeta struct { + Type string + } + type A struct { + WeirdMeta + } + type B struct { + TypeMeta + NameMeta + } + + c := NewConverter(DefaultNameFunc) + err := c.SetStructFieldCopy(WeirdMeta{}, "WeirdMeta", TypeMeta{}, "TypeMeta") + if err != nil { + t.Fatalf("unexpected error %v", err) + } + err = c.SetStructFieldCopy(WeirdMeta{}, "WeirdMeta", NameMeta{}, "NameMeta") + if err != nil { + t.Fatalf("unexpected error %v", err) + } + err = c.SetStructFieldCopy(TypeMeta{}, "TypeMeta", WeirdMeta{}, "WeirdMeta") + if err != nil { + t.Fatalf("unexpected error %v", err) + } + err = c.SetStructFieldCopy(NameMeta{}, "NameMeta", WeirdMeta{}, "WeirdMeta") + if err != nil { + t.Fatalf("unexpected error %v", err) + } + c.Debug = testLogger(t) + + aVal := &A{ + WeirdMeta: WeirdMeta{ + Name: "Foo", + Type: "Bar", + }, + } + + bVal := &B{ + TypeMeta: TypeMeta{"Bar"}, + NameMeta: NameMeta{"Foo"}, + } + + table := map[string]struct { + from, to, expect interface{} + flags FieldMatchingFlags + }{ + "to": { + aVal, + &B{}, + bVal, + AllowDifferentFieldTypeNames | SourceToDest | IgnoreMissingFields, + }, + "from": { + bVal, + &A{}, + aVal, + AllowDifferentFieldTypeNames | SourceToDest, + }, + "toDestFirst": { + aVal, + &B{}, + bVal, + AllowDifferentFieldTypeNames, + }, + "fromDestFirst": { + bVal, + &A{}, + aVal, + AllowDifferentFieldTypeNames | IgnoreMissingFields, + }, + } + + for name, item := range table { + err := c.Convert(item.from, item.to, item.flags, nil) + if err != nil { + t.Errorf("%v: unexpected error: %v", name, err) + continue + } + if e, a := item.expect, item.to; !reflect.DeepEqual(e, a) { + t.Errorf("%v: unexpected diff: %v", name, diff.ObjectDiff(e, a)) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/deep_copy_test.go b/staging/src/k8s.io/apimachinery/pkg/conversion/deep_copy_test.go new file mode 100644 index 00000000000..fdef856f291 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/deep_copy_test.go @@ -0,0 +1,161 @@ +/* +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 conversion + +import ( + "math/rand" + "reflect" + "testing" + + "github.com/google/gofuzz" +) + +func TestDeepCopy(t *testing.T) { + semantic := EqualitiesOrDie() + f := fuzz.New().NilChance(.5).NumElements(0, 100) + table := []interface{}{ + map[string]string{}, + int(5), + "hello world", + struct { + A, B, C struct { + D map[string]int + } + X []int + Y []byte + }{}, + } + for _, obj := range table { + obj2, err := NewCloner().DeepCopy(obj) + if err != nil { + t.Errorf("Error: couldn't copy %#v", obj) + continue + } + if e, a := obj, obj2; !semantic.DeepEqual(e, a) { + t.Errorf("expected %#v\ngot %#v", e, a) + } + + obj3 := reflect.New(reflect.TypeOf(obj)).Interface() + f.Fuzz(obj3) + obj4, err := NewCloner().DeepCopy(obj3) + if err != nil { + t.Errorf("Error: couldn't copy %#v", obj) + continue + } + if e, a := obj3, obj4; !semantic.DeepEqual(e, a) { + t.Errorf("expected %#v\ngot %#v", e, a) + } + f.Fuzz(obj3) + } +} + +func copyOrDie(t *testing.T, in interface{}) interface{} { + out, err := NewCloner().DeepCopy(in) + if err != nil { + t.Fatalf("DeepCopy failed: %#q: %v", in, err) + } + return out +} + +func TestDeepCopySliceSeparate(t *testing.T) { + x := []int{5} + y := copyOrDie(t, x).([]int) + x[0] = 3 + if y[0] == 3 { + t.Errorf("deep copy wasn't deep: %#q %#q", x, y) + } +} + +func TestDeepCopyArraySeparate(t *testing.T) { + x := [1]int{5} + y := copyOrDie(t, x).([1]int) + x[0] = 3 + if y[0] == 3 { + t.Errorf("deep copy wasn't deep: %#q %#q", x, y) + } +} + +func TestDeepCopyMapSeparate(t *testing.T) { + x := map[string]int{"foo": 5} + y := copyOrDie(t, x).(map[string]int) + x["foo"] = 3 + if y["foo"] == 3 { + t.Errorf("deep copy wasn't deep: %#q %#q", x, y) + } +} + +func TestDeepCopyPointerSeparate(t *testing.T) { + z := 5 + x := &z + y := copyOrDie(t, x).(*int) + *x = 3 + if *y == 3 { + t.Errorf("deep copy wasn't deep: %#q %#q", x, y) + } +} + +func TestDeepCopyStruct(t *testing.T) { + type Foo struct { + A int + } + type Bar struct { + Foo + F *Foo + } + a := &Bar{Foo{1}, &Foo{2}} + b := copyOrDie(t, a).(*Bar) + a.A = 3 + a.F.A = 4 + + if b.A != 1 || b.F.A != 2 { + t.Errorf("deep copy wasn't deep: %#v, %#v", a, b) + } +} + +var result interface{} + +func BenchmarkDeepCopy(b *testing.B) { + table := []interface{}{ + map[string]string{}, + int(5), + "hello world", + struct { + A, B, C struct { + D map[string]int + } + X []int + Y []byte + }{}, + } + + f := fuzz.New().RandSource(rand.NewSource(1)).NilChance(.5).NumElements(0, 100) + for i := range table { + out := table[i] + obj := reflect.New(reflect.TypeOf(out)).Interface() + f.Fuzz(obj) + table[i] = obj + } + + b.ResetTimer() + var r interface{} + for i := 0; i < b.N; i++ { + for j := range table { + r, _ = NewCloner().DeepCopy(table[j]) + } + } + result = r +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/deep_equal.go b/staging/src/k8s.io/apimachinery/pkg/conversion/deep_equal.go new file mode 100644 index 00000000000..f21abe1e53a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/deep_equal.go @@ -0,0 +1,36 @@ +/* +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 conversion + +import ( + "k8s.io/apimachinery/third_party/forked/golang/reflect" +) + +// The code for this type must be located in third_party, since it forks from +// go std lib. But for convenience, we expose the type here, too. +type Equalities struct { + reflect.Equalities +} + +// For convenience, panics on errors +func EqualitiesOrDie(funcs ...interface{}) Equalities { + e := Equalities{reflect.Equalities{}} + if err := e.AddFuncs(funcs...); err != nil { + panic(err) + } + return e +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/doc.go b/staging/src/k8s.io/apimachinery/pkg/conversion/doc.go new file mode 100644 index 00000000000..7415d81646b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/doc.go @@ -0,0 +1,24 @@ +/* +Copyright 2014 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 conversion provides go object versioning. +// +// Specifically, conversion provides a way for you to define multiple versions +// of the same object. You may write functions which implement conversion logic, +// but for the fields which did not change, copying is automated. This makes it +// easy to modify the structures you use in memory without affecting the format +// you store on disk or respond to in your external API calls. +package conversion // import "k8s.io/apimachinery/pkg/conversion" diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/helper.go b/staging/src/k8s.io/apimachinery/pkg/conversion/helper.go new file mode 100644 index 00000000000..4ebc1ebc511 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/helper.go @@ -0,0 +1,39 @@ +/* +Copyright 2014 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 conversion + +import ( + "fmt" + "reflect" +) + +// EnforcePtr ensures that obj is a pointer of some sort. Returns a reflect.Value +// of the dereferenced pointer, ensuring that it is settable/addressable. +// Returns an error if this is not possible. +func EnforcePtr(obj interface{}) (reflect.Value, error) { + v := reflect.ValueOf(obj) + if v.Kind() != reflect.Ptr { + if v.Kind() == reflect.Invalid { + return reflect.Value{}, fmt.Errorf("expected pointer, but got invalid kind") + } + return reflect.Value{}, fmt.Errorf("expected pointer, but got %v type", v.Type()) + } + if v.IsNil() { + return reflect.Value{}, fmt.Errorf("expected pointer, but got nil") + } + return v.Elem(), nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/helper_test.go b/staging/src/k8s.io/apimachinery/pkg/conversion/helper_test.go new file mode 100644 index 00000000000..8c61a30a889 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/helper_test.go @@ -0,0 +1,38 @@ +/* +Copyright 2014 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 conversion + +import "testing" + +func TestInvalidPtrValueKind(t *testing.T) { + var simple interface{} + switch obj := simple.(type) { + default: + _, err := EnforcePtr(obj) + if err == nil { + t.Errorf("Expected error on invalid kind") + } + } +} + +func TestEnforceNilPtr(t *testing.T) { + var nilPtr *struct{} + _, err := EnforcePtr(nilPtr) + if err == nil { + t.Errorf("Expected error on nil pointer") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/convert.go b/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/convert.go new file mode 100644 index 00000000000..30f717b2cec --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/convert.go @@ -0,0 +1,188 @@ +/* +Copyright 2014 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 queryparams + +import ( + "fmt" + "net/url" + "reflect" + "strings" +) + +// Marshaler converts an object to a query parameter string representation +type Marshaler interface { + MarshalQueryParameter() (string, error) +} + +// Unmarshaler converts a string representation to an object +type Unmarshaler interface { + UnmarshalQueryParameter(string) error +} + +func jsonTag(field reflect.StructField) (string, bool) { + structTag := field.Tag.Get("json") + if len(structTag) == 0 { + return "", false + } + parts := strings.Split(structTag, ",") + tag := parts[0] + if tag == "-" { + tag = "" + } + omitempty := false + parts = parts[1:] + for _, part := range parts { + if part == "omitempty" { + omitempty = true + break + } + } + return tag, omitempty +} + +func formatValue(value interface{}) string { + return fmt.Sprintf("%v", value) +} + +func isPointerKind(kind reflect.Kind) bool { + return kind == reflect.Ptr +} + +func isStructKind(kind reflect.Kind) bool { + return kind == reflect.Struct +} + +func isValueKind(kind reflect.Kind) bool { + switch kind { + case reflect.String, reflect.Bool, reflect.Int, reflect.Int8, reflect.Int16, + reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, + reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Float32, + reflect.Float64, reflect.Complex64, reflect.Complex128: + return true + default: + return false + } +} + +func zeroValue(value reflect.Value) bool { + return reflect.DeepEqual(reflect.Zero(value.Type()).Interface(), value.Interface()) +} + +func customMarshalValue(value reflect.Value) (reflect.Value, bool) { + // Return unless we implement a custom query marshaler + if !value.CanInterface() { + return reflect.Value{}, false + } + + marshaler, ok := value.Interface().(Marshaler) + if !ok { + return reflect.Value{}, false + } + + // Don't invoke functions on nil pointers + // If the type implements MarshalQueryParameter, AND the tag is not omitempty, AND the value is a nil pointer, "" seems like a reasonable response + if isPointerKind(value.Kind()) && zeroValue(value) { + return reflect.ValueOf(""), true + } + + // Get the custom marshalled value + v, err := marshaler.MarshalQueryParameter() + if err != nil { + return reflect.Value{}, false + } + return reflect.ValueOf(v), true +} + +func addParam(values url.Values, tag string, omitempty bool, value reflect.Value) { + if omitempty && zeroValue(value) { + return + } + val := "" + iValue := fmt.Sprintf("%v", value.Interface()) + + if iValue != "" { + val = iValue + } + values.Add(tag, val) +} + +func addListOfParams(values url.Values, tag string, omitempty bool, list reflect.Value) { + for i := 0; i < list.Len(); i++ { + addParam(values, tag, omitempty, list.Index(i)) + } +} + +// Convert takes an object and converts it to a url.Values object using JSON tags as +// parameter names. Only top-level simple values, arrays, and slices are serialized. +// Embedded structs, maps, etc. will not be serialized. +func Convert(obj interface{}) (url.Values, error) { + result := url.Values{} + if obj == nil { + return result, nil + } + var sv reflect.Value + switch reflect.TypeOf(obj).Kind() { + case reflect.Ptr, reflect.Interface: + sv = reflect.ValueOf(obj).Elem() + default: + return nil, fmt.Errorf("expecting a pointer or interface") + } + st := sv.Type() + if !isStructKind(st.Kind()) { + return nil, fmt.Errorf("expecting a pointer to a struct") + } + + // Check all object fields + convertStruct(result, st, sv) + + return result, nil +} + +func convertStruct(result url.Values, st reflect.Type, sv reflect.Value) { + for i := 0; i < st.NumField(); i++ { + field := sv.Field(i) + tag, omitempty := jsonTag(st.Field(i)) + if len(tag) == 0 { + continue + } + ft := field.Type() + + kind := ft.Kind() + if isPointerKind(kind) { + ft = ft.Elem() + kind = ft.Kind() + if !field.IsNil() { + field = reflect.Indirect(field) + } + } + + switch { + case isValueKind(kind): + addParam(result, tag, omitempty, field) + case kind == reflect.Array || kind == reflect.Slice: + if isValueKind(ft.Elem().Kind()) { + addListOfParams(result, tag, omitempty, field) + } + case isStructKind(kind) && !(zeroValue(field) && omitempty): + if marshalValue, ok := customMarshalValue(field); ok { + addParam(result, tag, omitempty, marshalValue) + } else { + convertStruct(result, ft, field) + } + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/convert_test.go b/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/convert_test.go new file mode 100644 index 00000000000..21dc0000ef8 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/convert_test.go @@ -0,0 +1,212 @@ +/* +Copyright 2014 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 queryparams_test + +import ( + "net/url" + "reflect" + "testing" + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion/queryparams" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +type namedString string +type namedBool bool + +type bar struct { + Float1 float32 `json:"float1"` + Float2 float64 `json:"float2"` + Int1 int64 `json:"int1,omitempty"` + Int2 int32 `json:"int2,omitempty"` + Int3 int16 `json:"int3,omitempty"` + Str1 string `json:"str1,omitempty"` + Ignored int + Ignored2 string +} + +func (obj *bar) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +type foo struct { + Str string `json:"str"` + Integer int `json:"integer,omitempty"` + Slice []string `json:"slice,omitempty"` + Boolean bool `json:"boolean,omitempty"` + NamedStr namedString `json:"namedStr,omitempty"` + NamedBool namedBool `json:"namedBool,omitempty"` + Foobar bar `json:"foobar,omitempty"` + Testmap map[string]string `json:"testmap,omitempty"` +} + +func (obj *foo) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +type baz struct { + Ptr *int `json:"ptr"` + Bptr *bool `json:"bptr,omitempty"` +} + +func (obj *baz) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +// childStructs tests some of the types we serialize to query params for log API calls +// notably, the nested time struct +type childStructs struct { + Container string `json:"container,omitempty"` + Follow bool `json:"follow,omitempty"` + Previous bool `json:"previous,omitempty"` + SinceSeconds *int64 `json:"sinceSeconds,omitempty"` + SinceTime *metav1.Time `json:"sinceTime,omitempty"` + EmptyTime *metav1.Time `json:"emptyTime"` +} + +func (obj *childStructs) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +func validateResult(t *testing.T, input interface{}, actual, expected url.Values) { + local := url.Values{} + for k, v := range expected { + local[k] = v + } + for k, v := range actual { + if ev, ok := local[k]; !ok || !reflect.DeepEqual(ev, v) { + if !ok { + t.Errorf("%#v: actual value key %s not found in expected map", input, k) + } else { + t.Errorf("%#v: values don't match: actual: %#v, expected: %#v", input, v, ev) + } + } + delete(local, k) + } + if len(local) > 0 { + t.Errorf("%#v: expected map has keys that were not found in actual map: %#v", input, local) + } +} + +func TestConvert(t *testing.T) { + sinceSeconds := int64(123) + sinceTime := metav1.Date(2000, 1, 1, 12, 34, 56, 0, time.UTC) + + tests := []struct { + input interface{} + expected url.Values + }{ + { + input: &foo{ + Str: "hello", + }, + expected: url.Values{"str": {"hello"}}, + }, + { + input: &foo{ + Str: "test string", + Slice: []string{"one", "two", "three"}, + Integer: 234, + Boolean: true, + }, + expected: url.Values{"str": {"test string"}, "slice": {"one", "two", "three"}, "integer": {"234"}, "boolean": {"true"}}, + }, + { + input: &foo{ + Str: "named types", + NamedStr: "value1", + NamedBool: true, + }, + expected: url.Values{"str": {"named types"}, "namedStr": {"value1"}, "namedBool": {"true"}}, + }, + { + input: &foo{ + Str: "don't ignore embedded struct", + Foobar: bar{ + Float1: 5.0, + }, + }, + expected: url.Values{"str": {"don't ignore embedded struct"}, "float1": {"5"}, "float2": {"0"}}, + }, + { + // Ignore untagged fields + input: &bar{ + Float1: 23.5, + Float2: 100.7, + Int1: 1, + Int2: 2, + Int3: 3, + Ignored: 1, + Ignored2: "ignored", + }, + expected: url.Values{"float1": {"23.5"}, "float2": {"100.7"}, "int1": {"1"}, "int2": {"2"}, "int3": {"3"}}, + }, + { + // include fields that are not tagged omitempty + input: &foo{ + NamedStr: "named str", + }, + expected: url.Values{"str": {""}, "namedStr": {"named str"}}, + }, + { + input: &baz{ + Ptr: intp(5), + Bptr: boolp(true), + }, + expected: url.Values{"ptr": {"5"}, "bptr": {"true"}}, + }, + { + input: &baz{ + Bptr: boolp(true), + }, + expected: url.Values{"ptr": {""}, "bptr": {"true"}}, + }, + { + input: &baz{ + Ptr: intp(5), + }, + expected: url.Values{"ptr": {"5"}}, + }, + { + input: &childStructs{ + Container: "mycontainer", + Follow: true, + Previous: true, + SinceSeconds: &sinceSeconds, + SinceTime: &sinceTime, // test a custom marshaller + EmptyTime: nil, // test a nil custom marshaller without omitempty + }, + expected: url.Values{"container": {"mycontainer"}, "follow": {"true"}, "previous": {"true"}, "sinceSeconds": {"123"}, "sinceTime": {"2000-01-01T12:34:56Z"}, "emptyTime": {""}}, + }, + { + input: &childStructs{ + Container: "mycontainer", + Follow: true, + Previous: true, + SinceSeconds: &sinceSeconds, + SinceTime: nil, // test a nil custom marshaller with omitempty + }, + expected: url.Values{"container": {"mycontainer"}, "follow": {"true"}, "previous": {"true"}, "sinceSeconds": {"123"}, "emptyTime": {""}}, + }, + } + + for _, test := range tests { + result, err := queryparams.Convert(test.input) + if err != nil { + t.Errorf("Unexpected error while converting %#v: %v", test.input, err) + } + validateResult(t, test.input, result, test.expected) + } +} + +func intp(n int) *int { return &n } + +func boolp(b bool) *bool { return &b } diff --git a/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/doc.go b/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/doc.go new file mode 100644 index 00000000000..7b763de6f01 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/conversion/queryparams/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2014 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 queryparams provides conversion from versioned +// runtime objects to URL query values +package queryparams // import "k8s.io/apimachinery/pkg/conversion/queryparams" diff --git a/staging/src/k8s.io/apimachinery/pkg/genericapiserver/openapi/common/common.go b/staging/src/k8s.io/apimachinery/pkg/genericapiserver/openapi/common/common.go new file mode 100644 index 00000000000..d2a80f2e90f --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/genericapiserver/openapi/common/common.go @@ -0,0 +1,143 @@ +/* +Copyright 2016 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 common + +import ( + "github.com/emicklei/go-restful" + "github.com/go-openapi/spec" +) + +// OpenAPIDefinition describes single type. Normally these definitions are auto-generated using gen-openapi. +type OpenAPIDefinition struct { + Schema spec.Schema + Dependencies []string +} + +// OpenAPIDefinitions is collection of all definitions. +type OpenAPIDefinitions map[string]OpenAPIDefinition + +// OpenAPIDefinitionGetter gets openAPI definitions for a given type. If a type implements this interface, +// the definition returned by it will be used, otherwise the auto-generated definitions will be used. See +// GetOpenAPITypeFormat for more information about trade-offs of using this interface or GetOpenAPITypeFormat method when +// possible. +type OpenAPIDefinitionGetter interface { + OpenAPIDefinition() *OpenAPIDefinition +} + +// Config is set of configuration for openAPI spec generation. +type Config struct { + // List of supported protocols such as https, http, etc. + ProtocolList []string + + // Info is general information about the API. + Info *spec.Info + + // DefaultResponse will be used if an operation does not have any responses listed. It + // will show up as ... "responses" : {"default" : $DefaultResponse} in the spec. + DefaultResponse *spec.Response + + // CommonResponses will be added as a response to all operation specs. This is a good place to add common + // responses such as authorization failed. + CommonResponses map[int]spec.Response + + // List of webservice's path prefixes to ignore + IgnorePrefixes []string + + // OpenAPIDefinitions should provide definition for all models used by routes. Failure to provide this map + // or any of the models will result in spec generation failure. + Definitions *OpenAPIDefinitions + + // GetOperationIDAndTags returns operation id and tags for a restful route. It is an optional function to customize operation IDs. + GetOperationIDAndTags func(servePath string, r *restful.Route) (string, []string, error) + + // SecurityDefinitions is list of all security definitions for OpenAPI service. If this is not nil, the user of config + // is responsible to provide DefaultSecurity and (maybe) add unauthorized response to CommonResponses. + SecurityDefinitions *spec.SecurityDefinitions + + // DefaultSecurity for all operations. This will pass as spec.SwaggerProps.Security to OpenAPI. + // For most cases, this will be list of acceptable definitions in SecurityDefinitions. + DefaultSecurity []map[string][]string +} + +// This function is a reference for converting go (or any custom type) to a simple open API type,format pair. There are +// two ways to customize spec for a type. If you add it here, a type will be converted to a simple type and the type +// comment (the comment that is added before type definition) will be lost. The spec will still have the property +// comment. The second way is to implement OpenAPIDefinitionGetter interface. That function can customize the spec (so +// the spec does not need to be simple type,format) or can even return a simple type,format (e.g. IntOrString). For simple +// type formats, the benefit of adding OpenAPIDefinitionGetter interface is to keep both type and property documentation. +// Example: +// type Sample struct { +// ... +// // port of the server +// port IntOrString +// ... +// } +// // IntOrString documentation... +// type IntOrString { ... } +// +// Adding IntOrString to this function: +// "port" : { +// format: "string", +// type: "int-or-string", +// Description: "port of the server" +// } +// +// Implement OpenAPIDefinitionGetter for IntOrString: +// +// "port" : { +// $Ref: "#/definitions/IntOrString" +// Description: "port of the server" +// } +// ... +// definitions: +// { +// "IntOrString": { +// format: "string", +// type: "int-or-string", +// Description: "IntOrString documentation..." // new +// } +// } +// +func GetOpenAPITypeFormat(typeName string) (string, string) { + schemaTypeFormatMap := map[string][]string{ + "uint": {"integer", "int32"}, + "uint8": {"integer", "byte"}, + "uint16": {"integer", "int32"}, + "uint32": {"integer", "int64"}, + "uint64": {"integer", "int64"}, + "int": {"integer", "int32"}, + "int8": {"integer", "byte"}, + "int16": {"integer", "int32"}, + "int32": {"integer", "int32"}, + "int64": {"integer", "int64"}, + "byte": {"integer", "byte"}, + "float64": {"number", "double"}, + "float32": {"number", "float"}, + "bool": {"boolean", ""}, + "time.Time": {"string", "date-time"}, + "string": {"string", ""}, + "integer": {"integer", ""}, + "number": {"number", ""}, + "boolean": {"boolean", ""}, + "[]byte": {"string", "byte"}, // base64 encoded characters + } + mapped, ok := schemaTypeFormatMap[typeName] + if !ok { + return "", "" + } + return mapped[0], mapped[1] +} diff --git a/staging/src/k8s.io/apimachinery/pkg/genericapiserver/openapi/common/doc.go b/staging/src/k8s.io/apimachinery/pkg/genericapiserver/openapi/common/doc.go new file mode 100644 index 00000000000..0308d58b4db --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/genericapiserver/openapi/common/doc.go @@ -0,0 +1,18 @@ +/* +Copyright 2016 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 common holds shared codes and types between open API code generator and spec generator. +package common diff --git a/staging/src/k8s.io/apimachinery/pkg/labels/doc.go b/staging/src/k8s.io/apimachinery/pkg/labels/doc.go new file mode 100644 index 00000000000..82de0051bd6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/labels/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2014 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 labels implements a simple label system, parsing and matching +// selectors with sets of labels. +package labels // import "k8s.io/apimachinery/pkg/labels" diff --git a/staging/src/k8s.io/apimachinery/pkg/labels/labels.go b/staging/src/k8s.io/apimachinery/pkg/labels/labels.go new file mode 100644 index 00000000000..0d0caa77dcb --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/labels/labels.go @@ -0,0 +1,181 @@ +/* +Copyright 2014 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 labels + +import ( + "fmt" + "sort" + "strings" +) + +// Labels allows you to present labels independently from their storage. +type Labels interface { + // Has returns whether the provided label exists. + Has(label string) (exists bool) + + // Get returns the value for the provided label. + Get(label string) (value string) +} + +// Set is a map of label:value. It implements Labels. +type Set map[string]string + +// String returns all labels listed as a human readable string. +// Conveniently, exactly the format that ParseSelector takes. +func (ls Set) String() string { + selector := make([]string, 0, len(ls)) + for key, value := range ls { + selector = append(selector, key+"="+value) + } + // Sort for determinism. + sort.StringSlice(selector).Sort() + return strings.Join(selector, ",") +} + +// Has returns whether the provided label exists in the map. +func (ls Set) Has(label string) bool { + _, exists := ls[label] + return exists +} + +// Get returns the value in the map for the provided label. +func (ls Set) Get(label string) string { + return ls[label] +} + +// AsSelector converts labels into a selectors. +func (ls Set) AsSelector() Selector { + return SelectorFromSet(ls) +} + +// AsSelectorPreValidated converts labels into a selector, but +// assumes that labels are already validated and thus don't +// preform any validation. +// According to our measurements this is significantly faster +// in codepaths that matter at high sccale. +func (ls Set) AsSelectorPreValidated() Selector { + return SelectorFromValidatedSet(ls) +} + +// FormatLables convert label map into plain string +func FormatLabels(labelMap map[string]string) string { + l := Set(labelMap).String() + if l == "" { + l = "" + } + return l +} + +// Conflicts takes 2 maps and returns true if there a key match between +// the maps but the value doesn't match, and returns false in other cases +func Conflicts(labels1, labels2 Set) bool { + small := labels1 + big := labels2 + if len(labels2) < len(labels1) { + small = labels2 + big = labels1 + } + + for k, v := range small { + if val, match := big[k]; match { + if val != v { + return true + } + } + } + + return false +} + +// Merge combines given maps, and does not check for any conflicts +// between the maps. In case of conflicts, second map (labels2) wins +func Merge(labels1, labels2 Set) Set { + mergedMap := Set{} + + for k, v := range labels1 { + mergedMap[k] = v + } + for k, v := range labels2 { + mergedMap[k] = v + } + return mergedMap +} + +// Equals returns true if the given maps are equal +func Equals(labels1, labels2 Set) bool { + if len(labels1) != len(labels2) { + return false + } + + for k, v := range labels1 { + value, ok := labels2[k] + if !ok { + return false + } + if value != v { + return false + } + } + return true +} + +// AreLabelsInWhiteList verifies if the provided label list +// is in the provided whitelist and returns true, otherwise false. +func AreLabelsInWhiteList(labels, whitelist Set) bool { + if len(whitelist) == 0 { + return true + } + + for k, v := range labels { + value, ok := whitelist[k] + if !ok { + return false + } + if value != v { + return false + } + } + return true +} + +// ConvertSelectorToLabelsMap converts selector string to labels map +// and validates keys and values +func ConvertSelectorToLabelsMap(selector string) (Set, error) { + labelsMap := Set{} + + if len(selector) == 0 { + return labelsMap, nil + } + + labels := strings.Split(selector, ",") + for _, label := range labels { + l := strings.Split(label, "=") + if len(l) != 2 { + return labelsMap, fmt.Errorf("invalid selector: %s", l) + } + key := strings.TrimSpace(l[0]) + if err := validateLabelKey(key); err != nil { + return labelsMap, err + } + value := strings.TrimSpace(l[1]) + if err := validateLabelValue(value); err != nil { + return labelsMap, err + } + labelsMap[key] = value + } + return labelsMap, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/labels/labels_test.go b/staging/src/k8s.io/apimachinery/pkg/labels/labels_test.go new file mode 100644 index 00000000000..2d4d761bc2b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/labels/labels_test.go @@ -0,0 +1,231 @@ +/* +Copyright 2014 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 labels + +import ( + "testing" +) + +func matches(t *testing.T, ls Set, want string) { + if ls.String() != want { + t.Errorf("Expected '%s', but got '%s'", want, ls.String()) + } +} + +func TestSetString(t *testing.T) { + matches(t, Set{"x": "y"}, "x=y") + matches(t, Set{"foo": "bar"}, "foo=bar") + matches(t, Set{"foo": "bar", "baz": "qup"}, "baz=qup,foo=bar") + + // TODO: Make our label representation robust enough to handle labels + // with ",=!" characters in their names. +} + +func TestLabelHas(t *testing.T) { + labelHasTests := []struct { + Ls Labels + Key string + Has bool + }{ + {Set{"x": "y"}, "x", true}, + {Set{"x": ""}, "x", true}, + {Set{"x": "y"}, "foo", false}, + } + for _, lh := range labelHasTests { + if has := lh.Ls.Has(lh.Key); has != lh.Has { + t.Errorf("%#v.Has(%#v) => %v, expected %v", lh.Ls, lh.Key, has, lh.Has) + } + } +} + +func TestLabelGet(t *testing.T) { + ls := Set{"x": "y"} + if ls.Get("x") != "y" { + t.Errorf("Set.Get is broken") + } +} + +func TestLabelConflict(t *testing.T) { + tests := []struct { + labels1 map[string]string + labels2 map[string]string + conflict bool + }{ + { + labels1: map[string]string{}, + labels2: map[string]string{}, + conflict: false, + }, + { + labels1: map[string]string{"env": "test"}, + labels2: map[string]string{"infra": "true"}, + conflict: false, + }, + { + labels1: map[string]string{"env": "test"}, + labels2: map[string]string{"infra": "true", "env": "test"}, + conflict: false, + }, + { + labels1: map[string]string{"env": "test"}, + labels2: map[string]string{"env": "dev"}, + conflict: true, + }, + { + labels1: map[string]string{"env": "test", "infra": "false"}, + labels2: map[string]string{"infra": "true", "color": "blue"}, + conflict: true, + }, + } + for _, test := range tests { + conflict := Conflicts(Set(test.labels1), Set(test.labels2)) + if conflict != test.conflict { + t.Errorf("expected: %v but got: %v", test.conflict, conflict) + } + } +} + +func TestLabelMerge(t *testing.T) { + tests := []struct { + labels1 map[string]string + labels2 map[string]string + mergedLabels map[string]string + }{ + { + labels1: map[string]string{}, + labels2: map[string]string{}, + mergedLabels: map[string]string{}, + }, + { + labels1: map[string]string{"infra": "true"}, + labels2: map[string]string{}, + mergedLabels: map[string]string{"infra": "true"}, + }, + { + labels1: map[string]string{"infra": "true"}, + labels2: map[string]string{"env": "test", "color": "blue"}, + mergedLabels: map[string]string{"infra": "true", "env": "test", "color": "blue"}, + }, + } + for _, test := range tests { + mergedLabels := Merge(Set(test.labels1), Set(test.labels2)) + if !Equals(mergedLabels, test.mergedLabels) { + t.Errorf("expected: %v but got: %v", test.mergedLabels, mergedLabels) + } + } +} + +func TestLabelSelectorParse(t *testing.T) { + tests := []struct { + selector string + labels map[string]string + valid bool + }{ + { + selector: "", + labels: map[string]string{}, + valid: true, + }, + { + selector: "x=a", + labels: map[string]string{"x": "a"}, + valid: true, + }, + { + selector: "x=a,y=b,z=c", + labels: map[string]string{"x": "a", "y": "b", "z": "c"}, + valid: true, + }, + { + selector: " x = a , y = b , z = c ", + labels: map[string]string{"x": "a", "y": "b", "z": "c"}, + valid: true, + }, + { + selector: "color=green,env=test,service=front", + labels: map[string]string{"color": "green", "env": "test", "service": "front"}, + valid: true, + }, + { + selector: "color=green, env=test, service=front", + labels: map[string]string{"color": "green", "env": "test", "service": "front"}, + valid: true, + }, + { + selector: ",", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x,y", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x=$y", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x!=y", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x==y", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x=a||y=b", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x in (y)", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x notin (y)", + labels: map[string]string{}, + valid: false, + }, + { + selector: "x y", + labels: map[string]string{}, + valid: false, + }, + } + for _, test := range tests { + labels, err := ConvertSelectorToLabelsMap(test.selector) + if test.valid && err != nil { + t.Errorf("selector: %s, expected no error but got: %s", test.selector, err) + } else if !test.valid && err == nil { + t.Errorf("selector: %s, expected an error", test.selector) + } + + if !Equals(Set(labels), test.labels) { + t.Errorf("expected: %s but got: %s", test.labels, labels) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/labels/selector.go b/staging/src/k8s.io/apimachinery/pkg/labels/selector.go new file mode 100644 index 00000000000..501d018707c --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/labels/selector.go @@ -0,0 +1,836 @@ +/* +Copyright 2014 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 labels + +import ( + "bytes" + "fmt" + "sort" + "strconv" + "strings" + + "github.com/golang/glog" + "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/validation" +) + +// Requirements is AND of all requirements. +type Requirements []Requirement + +// Selector represents a label selector. +type Selector interface { + // Matches returns true if this selector matches the given set of labels. + Matches(Labels) bool + + // Empty returns true if this selector does not restrict the selection space. + Empty() bool + + // String returns a human readable string that represents this selector. + String() string + + // Add adds requirements to the Selector + Add(r ...Requirement) Selector + + // Requirements converts this interface into Requirements to expose + // more detailed selection information. + // If there are querying parameters, it will return converted requirements and selectable=true. + // If this selector doesn't want to select anything, it will return selectable=false. + Requirements() (requirements Requirements, selectable bool) +} + +// Everything returns a selector that matches all labels. +func Everything() Selector { + return internalSelector{} +} + +type nothingSelector struct{} + +func (n nothingSelector) Matches(_ Labels) bool { return false } +func (n nothingSelector) Empty() bool { return false } +func (n nothingSelector) String() string { return "" } +func (n nothingSelector) Add(_ ...Requirement) Selector { return n } +func (n nothingSelector) Requirements() (Requirements, bool) { return nil, false } + +// Nothing returns a selector that matches no labels +func Nothing() Selector { + return nothingSelector{} +} + +func NewSelector() Selector { + return internalSelector(nil) +} + +type internalSelector []Requirement + +// Sort by key to obtain determisitic parser +type ByKey []Requirement + +func (a ByKey) Len() int { return len(a) } + +func (a ByKey) Swap(i, j int) { a[i], a[j] = a[j], a[i] } + +func (a ByKey) Less(i, j int) bool { return a[i].key < a[j].key } + +// Requirement contains values, a key, and an operator that relates the key and values. +// The zero value of Requirement is invalid. +// Requirement implements both set based match and exact match +// Requirement should be initialized via NewRequirement constructor for creating a valid Requirement. +type Requirement struct { + key string + operator selection.Operator + // In huge majority of cases we have at most one value here. + // It is generally faster to operate on a single-element slice + // than on a single-element map, so we have a slice here. + strValues []string +} + +// NewRequirement is the constructor for a Requirement. +// If any of these rules is violated, an error is returned: +// (1) The operator can only be In, NotIn, Equals, DoubleEquals, NotEquals, Exists, or DoesNotExist. +// (2) If the operator is In or NotIn, the values set must be non-empty. +// (3) If the operator is Equals, DoubleEquals, or NotEquals, the values set must contain one value. +// (4) If the operator is Exists or DoesNotExist, the value set must be empty. +// (5) If the operator is Gt or Lt, the values set must contain only one value, which will be interpreted as an integer. +// (6) The key is invalid due to its length, or sequence +// of characters. See validateLabelKey for more details. +// +// The empty string is a valid value in the input values set. +func NewRequirement(key string, op selection.Operator, vals []string) (*Requirement, error) { + if err := validateLabelKey(key); err != nil { + return nil, err + } + switch op { + case selection.In, selection.NotIn: + if len(vals) == 0 { + return nil, fmt.Errorf("for 'in', 'notin' operators, values set can't be empty") + } + case selection.Equals, selection.DoubleEquals, selection.NotEquals: + if len(vals) != 1 { + return nil, fmt.Errorf("exact-match compatibility requires one single value") + } + case selection.Exists, selection.DoesNotExist: + if len(vals) != 0 { + return nil, fmt.Errorf("values set must be empty for exists and does not exist") + } + case selection.GreaterThan, selection.LessThan: + if len(vals) != 1 { + return nil, fmt.Errorf("for 'Gt', 'Lt' operators, exactly one value is required") + } + for i := range vals { + if _, err := strconv.ParseInt(vals[i], 10, 64); err != nil { + return nil, fmt.Errorf("for 'Gt', 'Lt' operators, the value must be an integer") + } + } + default: + return nil, fmt.Errorf("operator '%v' is not recognized", op) + } + + for i := range vals { + if err := validateLabelValue(vals[i]); err != nil { + return nil, err + } + } + sort.Strings(vals) + return &Requirement{key: key, operator: op, strValues: vals}, nil +} + +func (r *Requirement) hasValue(value string) bool { + for i := range r.strValues { + if r.strValues[i] == value { + return true + } + } + return false +} + +// Matches returns true if the Requirement matches the input Labels. +// There is a match in the following cases: +// (1) The operator is Exists and Labels has the Requirement's key. +// (2) The operator is In, Labels has the Requirement's key and Labels' +// value for that key is in Requirement's value set. +// (3) The operator is NotIn, Labels has the Requirement's key and +// Labels' value for that key is not in Requirement's value set. +// (4) The operator is DoesNotExist or NotIn and Labels does not have the +// Requirement's key. +// (5) The operator is GreaterThanOperator or LessThanOperator, and Labels has +// the Requirement's key and the corresponding value satisfies mathematical inequality. +func (r *Requirement) Matches(ls Labels) bool { + switch r.operator { + case selection.In, selection.Equals, selection.DoubleEquals: + if !ls.Has(r.key) { + return false + } + return r.hasValue(ls.Get(r.key)) + case selection.NotIn, selection.NotEquals: + if !ls.Has(r.key) { + return true + } + return !r.hasValue(ls.Get(r.key)) + case selection.Exists: + return ls.Has(r.key) + case selection.DoesNotExist: + return !ls.Has(r.key) + case selection.GreaterThan, selection.LessThan: + if !ls.Has(r.key) { + return false + } + lsValue, err := strconv.ParseInt(ls.Get(r.key), 10, 64) + if err != nil { + glog.V(10).Infof("ParseInt failed for value %+v in label %+v, %+v", ls.Get(r.key), ls, err) + return false + } + + // There should be only one strValue in r.strValues, and can be converted to a integer. + if len(r.strValues) != 1 { + glog.V(10).Infof("Invalid values count %+v of requirement %#v, for 'Gt', 'Lt' operators, exactly one value is required", len(r.strValues), r) + return false + } + + var rValue int64 + for i := range r.strValues { + rValue, err = strconv.ParseInt(r.strValues[i], 10, 64) + if err != nil { + glog.V(10).Infof("ParseInt failed for value %+v in requirement %#v, for 'Gt', 'Lt' operators, the value must be an integer", r.strValues[i], r) + return false + } + } + return (r.operator == selection.GreaterThan && lsValue > rValue) || (r.operator == selection.LessThan && lsValue < rValue) + default: + return false + } +} + +func (r *Requirement) Key() string { + return r.key +} +func (r *Requirement) Operator() selection.Operator { + return r.operator +} +func (r *Requirement) Values() sets.String { + ret := sets.String{} + for i := range r.strValues { + ret.Insert(r.strValues[i]) + } + return ret +} + +// Return true if the internalSelector doesn't restrict selection space +func (lsel internalSelector) Empty() bool { + if lsel == nil { + return true + } + return len(lsel) == 0 +} + +// String returns a human-readable string that represents this +// Requirement. If called on an invalid Requirement, an error is +// returned. See NewRequirement for creating a valid Requirement. +func (r *Requirement) String() string { + var buffer bytes.Buffer + if r.operator == selection.DoesNotExist { + buffer.WriteString("!") + } + buffer.WriteString(r.key) + + switch r.operator { + case selection.Equals: + buffer.WriteString("=") + case selection.DoubleEquals: + buffer.WriteString("==") + case selection.NotEquals: + buffer.WriteString("!=") + case selection.In: + buffer.WriteString(" in ") + case selection.NotIn: + buffer.WriteString(" notin ") + case selection.GreaterThan: + buffer.WriteString(">") + case selection.LessThan: + buffer.WriteString("<") + case selection.Exists, selection.DoesNotExist: + return buffer.String() + } + + switch r.operator { + case selection.In, selection.NotIn: + buffer.WriteString("(") + } + if len(r.strValues) == 1 { + buffer.WriteString(r.strValues[0]) + } else { // only > 1 since == 0 prohibited by NewRequirement + buffer.WriteString(strings.Join(r.strValues, ",")) + } + + switch r.operator { + case selection.In, selection.NotIn: + buffer.WriteString(")") + } + return buffer.String() +} + +// Add adds requirements to the selector. It copies the current selector returning a new one +func (lsel internalSelector) Add(reqs ...Requirement) Selector { + var sel internalSelector + for ix := range lsel { + sel = append(sel, lsel[ix]) + } + for _, r := range reqs { + sel = append(sel, r) + } + sort.Sort(ByKey(sel)) + return sel +} + +// Matches for a internalSelector returns true if all +// its Requirements match the input Labels. If any +// Requirement does not match, false is returned. +func (lsel internalSelector) Matches(l Labels) bool { + for ix := range lsel { + if matches := lsel[ix].Matches(l); !matches { + return false + } + } + return true +} + +func (lsel internalSelector) Requirements() (Requirements, bool) { return Requirements(lsel), true } + +// String returns a comma-separated string of all +// the internalSelector Requirements' human-readable strings. +func (lsel internalSelector) String() string { + var reqs []string + for ix := range lsel { + reqs = append(reqs, lsel[ix].String()) + } + return strings.Join(reqs, ",") +} + +// constants definition for lexer token +type Token int + +const ( + ErrorToken Token = iota + EndOfStringToken + ClosedParToken + CommaToken + DoesNotExistToken + DoubleEqualsToken + EqualsToken + GreaterThanToken + IdentifierToken // to represent keys and values + InToken + LessThanToken + NotEqualsToken + NotInToken + OpenParToken +) + +// string2token contains the mapping between lexer Token and token literal +// (except IdentifierToken, EndOfStringToken and ErrorToken since it makes no sense) +var string2token = map[string]Token{ + ")": ClosedParToken, + ",": CommaToken, + "!": DoesNotExistToken, + "==": DoubleEqualsToken, + "=": EqualsToken, + ">": GreaterThanToken, + "in": InToken, + "<": LessThanToken, + "!=": NotEqualsToken, + "notin": NotInToken, + "(": OpenParToken, +} + +// The item produced by the lexer. It contains the Token and the literal. +type ScannedItem struct { + tok Token + literal string +} + +// isWhitespace returns true if the rune is a space, tab, or newline. +func isWhitespace(ch byte) bool { + return ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n' +} + +// isSpecialSymbol detect if the character ch can be an operator +func isSpecialSymbol(ch byte) bool { + switch ch { + case '=', '!', '(', ')', ',', '>', '<': + return true + } + return false +} + +// Lexer represents the Lexer struct for label selector. +// It contains necessary informationt to tokenize the input string +type Lexer struct { + // s stores the string to be tokenized + s string + // pos is the position currently tokenized + pos int +} + +// read return the character currently lexed +// increment the position and check the buffer overflow +func (l *Lexer) read() (b byte) { + b = 0 + if l.pos < len(l.s) { + b = l.s[l.pos] + l.pos++ + } + return b +} + +// unread 'undoes' the last read character +func (l *Lexer) unread() { + l.pos-- +} + +// scanIdOrKeyword scans string to recognize literal token (for example 'in') or an identifier. +func (l *Lexer) scanIdOrKeyword() (tok Token, lit string) { + var buffer []byte +IdentifierLoop: + for { + switch ch := l.read(); { + case ch == 0: + break IdentifierLoop + case isSpecialSymbol(ch) || isWhitespace(ch): + l.unread() + break IdentifierLoop + default: + buffer = append(buffer, ch) + } + } + s := string(buffer) + if val, ok := string2token[s]; ok { // is a literal token? + return val, s + } + return IdentifierToken, s // otherwise is an identifier +} + +// scanSpecialSymbol scans string starting with special symbol. +// special symbol identify non literal operators. "!=", "==", "=" +func (l *Lexer) scanSpecialSymbol() (Token, string) { + lastScannedItem := ScannedItem{} + var buffer []byte +SpecialSymbolLoop: + for { + switch ch := l.read(); { + case ch == 0: + break SpecialSymbolLoop + case isSpecialSymbol(ch): + buffer = append(buffer, ch) + if token, ok := string2token[string(buffer)]; ok { + lastScannedItem = ScannedItem{tok: token, literal: string(buffer)} + } else if lastScannedItem.tok != 0 { + l.unread() + break SpecialSymbolLoop + } + default: + l.unread() + break SpecialSymbolLoop + } + } + if lastScannedItem.tok == 0 { + return ErrorToken, fmt.Sprintf("error expected: keyword found '%s'", buffer) + } + return lastScannedItem.tok, lastScannedItem.literal +} + +// skipWhiteSpaces consumes all blank characters +// returning the first non blank character +func (l *Lexer) skipWhiteSpaces(ch byte) byte { + for { + if !isWhitespace(ch) { + return ch + } + ch = l.read() + } +} + +// Lex returns a pair of Token and the literal +// literal is meaningfull only for IdentifierToken token +func (l *Lexer) Lex() (tok Token, lit string) { + switch ch := l.skipWhiteSpaces(l.read()); { + case ch == 0: + return EndOfStringToken, "" + case isSpecialSymbol(ch): + l.unread() + return l.scanSpecialSymbol() + default: + l.unread() + return l.scanIdOrKeyword() + } +} + +// Parser data structure contains the label selector parser data structure +type Parser struct { + l *Lexer + scannedItems []ScannedItem + position int +} + +// Parser context represents context during parsing: +// some literal for example 'in' and 'notin' can be +// recognized as operator for example 'x in (a)' but +// it can be recognized as value for example 'value in (in)' +type ParserContext int + +const ( + KeyAndOperator ParserContext = iota + Values +) + +// lookahead func returns the current token and string. No increment of current position +func (p *Parser) lookahead(context ParserContext) (Token, string) { + tok, lit := p.scannedItems[p.position].tok, p.scannedItems[p.position].literal + if context == Values { + switch tok { + case InToken, NotInToken: + tok = IdentifierToken + } + } + return tok, lit +} + +// consume returns current token and string. Increments the the position +func (p *Parser) consume(context ParserContext) (Token, string) { + p.position++ + tok, lit := p.scannedItems[p.position-1].tok, p.scannedItems[p.position-1].literal + if context == Values { + switch tok { + case InToken, NotInToken: + tok = IdentifierToken + } + } + return tok, lit +} + +// scan runs through the input string and stores the ScannedItem in an array +// Parser can now lookahead and consume the tokens +func (p *Parser) scan() { + for { + token, literal := p.l.Lex() + p.scannedItems = append(p.scannedItems, ScannedItem{token, literal}) + if token == EndOfStringToken { + break + } + } +} + +// parse runs the left recursive descending algorithm +// on input string. It returns a list of Requirement objects. +func (p *Parser) parse() (internalSelector, error) { + p.scan() // init scannedItems + + var requirements internalSelector + for { + tok, lit := p.lookahead(Values) + switch tok { + case IdentifierToken, DoesNotExistToken: + r, err := p.parseRequirement() + if err != nil { + return nil, fmt.Errorf("unable to parse requirement: %v", err) + } + requirements = append(requirements, *r) + t, l := p.consume(Values) + switch t { + case EndOfStringToken: + return requirements, nil + case CommaToken: + t2, l2 := p.lookahead(Values) + if t2 != IdentifierToken && t2 != DoesNotExistToken { + return nil, fmt.Errorf("found '%s', expected: identifier after ','", l2) + } + default: + return nil, fmt.Errorf("found '%s', expected: ',' or 'end of string'", l) + } + case EndOfStringToken: + return requirements, nil + default: + return nil, fmt.Errorf("found '%s', expected: !, identifier, or 'end of string'", lit) + } + } +} + +func (p *Parser) parseRequirement() (*Requirement, error) { + key, operator, err := p.parseKeyAndInferOperator() + if err != nil { + return nil, err + } + if operator == selection.Exists || operator == selection.DoesNotExist { // operator found lookahead set checked + return NewRequirement(key, operator, []string{}) + } + operator, err = p.parseOperator() + if err != nil { + return nil, err + } + var values sets.String + switch operator { + case selection.In, selection.NotIn: + values, err = p.parseValues() + case selection.Equals, selection.DoubleEquals, selection.NotEquals, selection.GreaterThan, selection.LessThan: + values, err = p.parseExactValue() + } + if err != nil { + return nil, err + } + return NewRequirement(key, operator, values.List()) + +} + +// parseKeyAndInferOperator parse literals. +// in case of no operator '!, in, notin, ==, =, !=' are found +// the 'exists' operator is inferred +func (p *Parser) parseKeyAndInferOperator() (string, selection.Operator, error) { + var operator selection.Operator + tok, literal := p.consume(Values) + if tok == DoesNotExistToken { + operator = selection.DoesNotExist + tok, literal = p.consume(Values) + } + if tok != IdentifierToken { + err := fmt.Errorf("found '%s', expected: identifier", literal) + return "", "", err + } + if err := validateLabelKey(literal); err != nil { + return "", "", err + } + if t, _ := p.lookahead(Values); t == EndOfStringToken || t == CommaToken { + if operator != selection.DoesNotExist { + operator = selection.Exists + } + } + return literal, operator, nil +} + +// parseOperator return operator and eventually matchType +// matchType can be exact +func (p *Parser) parseOperator() (op selection.Operator, err error) { + tok, lit := p.consume(KeyAndOperator) + switch tok { + // DoesNotExistToken shouldn't be here because it's a unary operator, not a binary operator + case InToken: + op = selection.In + case EqualsToken: + op = selection.Equals + case DoubleEqualsToken: + op = selection.DoubleEquals + case GreaterThanToken: + op = selection.GreaterThan + case LessThanToken: + op = selection.LessThan + case NotInToken: + op = selection.NotIn + case NotEqualsToken: + op = selection.NotEquals + default: + return "", fmt.Errorf("found '%s', expected: '=', '!=', '==', 'in', notin'", lit) + } + return op, nil +} + +// parseValues parses the values for set based matching (x,y,z) +func (p *Parser) parseValues() (sets.String, error) { + tok, lit := p.consume(Values) + if tok != OpenParToken { + return nil, fmt.Errorf("found '%s' expected: '('", lit) + } + tok, lit = p.lookahead(Values) + switch tok { + case IdentifierToken, CommaToken: + s, err := p.parseIdentifiersList() // handles general cases + if err != nil { + return s, err + } + if tok, _ = p.consume(Values); tok != ClosedParToken { + return nil, fmt.Errorf("found '%s', expected: ')'", lit) + } + return s, nil + case ClosedParToken: // handles "()" + p.consume(Values) + return sets.NewString(""), nil + default: + return nil, fmt.Errorf("found '%s', expected: ',', ')' or identifier", lit) + } +} + +// parseIdentifiersList parses a (possibly empty) list of +// of comma separated (possibly empty) identifiers +func (p *Parser) parseIdentifiersList() (sets.String, error) { + s := sets.NewString() + for { + tok, lit := p.consume(Values) + switch tok { + case IdentifierToken: + s.Insert(lit) + tok2, lit2 := p.lookahead(Values) + switch tok2 { + case CommaToken: + continue + case ClosedParToken: + return s, nil + default: + return nil, fmt.Errorf("found '%s', expected: ',' or ')'", lit2) + } + case CommaToken: // handled here since we can have "(," + if s.Len() == 0 { + s.Insert("") // to handle (, + } + tok2, _ := p.lookahead(Values) + if tok2 == ClosedParToken { + s.Insert("") // to handle ,) Double "" removed by StringSet + return s, nil + } + if tok2 == CommaToken { + p.consume(Values) + s.Insert("") // to handle ,, Double "" removed by StringSet + } + default: // it can be operator + return s, fmt.Errorf("found '%s', expected: ',', or identifier", lit) + } + } +} + +// parseExactValue parses the only value for exact match style +func (p *Parser) parseExactValue() (sets.String, error) { + s := sets.NewString() + tok, lit := p.lookahead(Values) + if tok == EndOfStringToken || tok == CommaToken { + s.Insert("") + return s, nil + } + tok, lit = p.consume(Values) + if tok == IdentifierToken { + s.Insert(lit) + return s, nil + } + return nil, fmt.Errorf("found '%s', expected: identifier", lit) +} + +// Parse takes a string representing a selector and returns a selector +// object, or an error. This parsing function differs from ParseSelector +// as they parse different selectors with different syntaxes. +// The input will cause an error if it does not follow this form: +// +// ::= | "," +// ::= [!] KEY [ | ] +// ::= "" | +// ::= | +// ::= "notin" +// ::= "in" +// ::= "(" ")" +// ::= VALUE | VALUE "," +// ::= ["="|"=="|"!="] VALUE +// +// KEY is a sequence of one or more characters following [ DNS_SUBDOMAIN "/" ] DNS_LABEL. Max length is 63 characters. +// VALUE is a sequence of zero or more characters "([A-Za-z0-9_-\.])". Max length is 63 characters. +// Delimiter is white space: (' ', '\t') +// Example of valid syntax: +// "x in (foo,,baz),y,z notin ()" +// +// Note: +// (1) Inclusion - " in " - denotes that the KEY exists and is equal to any of the +// VALUEs in its requirement +// (2) Exclusion - " notin " - denotes that the KEY is not equal to any +// of the VALUEs in its requirement or does not exist +// (3) The empty string is a valid VALUE +// (4) A requirement with just a KEY - as in "y" above - denotes that +// the KEY exists and can be any VALUE. +// (5) A requirement with just !KEY requires that the KEY not exist. +// +func Parse(selector string) (Selector, error) { + parsedSelector, err := parse(selector) + if err == nil { + return parsedSelector, nil + } + return nil, err +} + +// parse parses the string representation of the selector and returns the internalSelector struct. +// The callers of this method can then decide how to return the internalSelector struct to their +// callers. This function has two callers now, one returns a Selector interface and the other +// returns a list of requirements. +func parse(selector string) (internalSelector, error) { + p := &Parser{l: &Lexer{s: selector, pos: 0}} + items, err := p.parse() + if err != nil { + return nil, err + } + sort.Sort(ByKey(items)) // sort to grant determistic parsing + return internalSelector(items), err +} + +func validateLabelKey(k string) error { + if errs := validation.IsQualifiedName(k); len(errs) != 0 { + return fmt.Errorf("invalid label key %q: %s", k, strings.Join(errs, "; ")) + } + return nil +} + +func validateLabelValue(v string) error { + if errs := validation.IsValidLabelValue(v); len(errs) != 0 { + return fmt.Errorf("invalid label value: %q: %s", v, strings.Join(errs, "; ")) + } + return nil +} + +// SelectorFromSet returns a Selector which will match exactly the given Set. A +// nil and empty Sets are considered equivalent to Everything(). +func SelectorFromSet(ls Set) Selector { + if ls == nil { + return internalSelector{} + } + var requirements internalSelector + for label, value := range ls { + if r, err := NewRequirement(label, selection.Equals, []string{value}); err != nil { + //TODO: double check errors when input comes from serialization? + return internalSelector{} + } else { + requirements = append(requirements, *r) + } + } + // sort to have deterministic string representation + sort.Sort(ByKey(requirements)) + return internalSelector(requirements) +} + +// SelectorFromValidatedSet returns a Selector which will match exactly the given Set. +// A nil and empty Sets are considered equivalent to Everything(). +// It assumes that Set is already validated and doesn't do any validation. +func SelectorFromValidatedSet(ls Set) Selector { + if ls == nil { + return internalSelector{} + } + var requirements internalSelector + for label, value := range ls { + requirements = append(requirements, Requirement{key: label, operator: selection.Equals, strValues: []string{value}}) + } + // sort to have deterministic string representation + sort.Sort(ByKey(requirements)) + return internalSelector(requirements) +} + +// ParseToRequirements takes a string representing a selector and returns a list of +// requirements. This function is suitable for those callers that perform additional +// processing on selector requirements. +// See the documentation for Parse() function for more details. +// TODO: Consider exporting the internalSelector type instead. +func ParseToRequirements(selector string) ([]Requirement, error) { + return parse(selector) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/labels/selector_test.go b/staging/src/k8s.io/apimachinery/pkg/labels/selector_test.go new file mode 100644 index 00000000000..995317bd177 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/labels/selector_test.go @@ -0,0 +1,575 @@ +/* +Copyright 2014 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 labels + +import ( + "reflect" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/selection" + "k8s.io/apimachinery/pkg/util/sets" +) + +func TestSelectorParse(t *testing.T) { + testGoodStrings := []string{ + "x=a,y=b,z=c", + "", + "x!=a,y=b", + "x=", + "x= ", + "x=,z= ", + "x= ,z= ", + "!x", + "x>1", + "x>1,z<5", + } + testBadStrings := []string{ + "x=a||y=b", + "x==a==b", + "!x=a", + "x1", Set{"x": "2"}) + expectMatch(t, "x<1", Set{"x": "0"}) + expectNoMatch(t, "x=z", Set{}) + expectNoMatch(t, "x=y", Set{"x": "z"}) + expectNoMatch(t, "x=y,z=w", Set{"x": "w", "z": "w"}) + expectNoMatch(t, "x!=y,z!=w", Set{"x": "z", "z": "w"}) + expectNoMatch(t, "x", Set{"y": "z"}) + expectNoMatch(t, "!x", Set{"x": "z"}) + expectNoMatch(t, "x>1", Set{"x": "0"}) + expectNoMatch(t, "x<1", Set{"x": "2"}) + + labelset := Set{ + "foo": "bar", + "baz": "blah", + } + expectMatch(t, "foo=bar", labelset) + expectMatch(t, "baz=blah", labelset) + expectMatch(t, "foo=bar,baz=blah", labelset) + expectNoMatch(t, "foo=blah", labelset) + expectNoMatch(t, "baz=bar", labelset) + expectNoMatch(t, "foo=bar,foobar=bar,baz=blah", labelset) +} + +func expectMatchDirect(t *testing.T, selector, ls Set) { + if !SelectorFromSet(selector).Matches(ls) { + t.Errorf("Wanted %s to match '%s', but it did not.\n", selector, ls) + } +} + +func expectNoMatchDirect(t *testing.T, selector, ls Set) { + if SelectorFromSet(selector).Matches(ls) { + t.Errorf("Wanted '%s' to not match '%s', but it did.", selector, ls) + } +} + +func TestSetMatches(t *testing.T) { + labelset := Set{ + "foo": "bar", + "baz": "blah", + } + expectMatchDirect(t, Set{}, labelset) + expectMatchDirect(t, Set{"foo": "bar"}, labelset) + expectMatchDirect(t, Set{"baz": "blah"}, labelset) + expectMatchDirect(t, Set{"foo": "bar", "baz": "blah"}, labelset) + + //TODO: bad values not handled for the moment in SelectorFromSet + //expectNoMatchDirect(t, Set{"foo": "=blah"}, labelset) + //expectNoMatchDirect(t, Set{"baz": "=bar"}, labelset) + //expectNoMatchDirect(t, Set{"foo": "=bar", "foobar": "bar", "baz": "blah"}, labelset) +} + +func TestNilMapIsValid(t *testing.T) { + selector := Set(nil).AsSelector() + if selector == nil { + t.Errorf("Selector for nil set should be Everything") + } + if !selector.Empty() { + t.Errorf("Selector for nil set should be Empty") + } +} + +func TestSetIsEmpty(t *testing.T) { + if !(Set{}).AsSelector().Empty() { + t.Errorf("Empty set should be empty") + } + if !(NewSelector()).Empty() { + t.Errorf("Nil Selector should be empty") + } +} + +func TestLexer(t *testing.T) { + testcases := []struct { + s string + t Token + }{ + {"", EndOfStringToken}, + {",", CommaToken}, + {"notin", NotInToken}, + {"in", InToken}, + {"=", EqualsToken}, + {"==", DoubleEqualsToken}, + {">", GreaterThanToken}, + {"<", LessThanToken}, + //Note that Lex returns the longest valid token found + {"!", DoesNotExistToken}, + {"!=", NotEqualsToken}, + {"(", OpenParToken}, + {")", ClosedParToken}, + //Non-"special" characters are considered part of an identifier + {"~", IdentifierToken}, + {"||", IdentifierToken}, + } + for _, v := range testcases { + l := &Lexer{s: v.s, pos: 0} + token, lit := l.Lex() + if token != v.t { + t.Errorf("Got %d it should be %d for '%s'", token, v.t, v.s) + } + if v.t != ErrorToken && lit != v.s { + t.Errorf("Got '%s' it should be '%s'", lit, v.s) + } + } +} + +func min(l, r int) (m int) { + m = r + if l < r { + m = l + } + return m +} + +func TestLexerSequence(t *testing.T) { + testcases := []struct { + s string + t []Token + }{ + {"key in ( value )", []Token{IdentifierToken, InToken, OpenParToken, IdentifierToken, ClosedParToken}}, + {"key notin ( value )", []Token{IdentifierToken, NotInToken, OpenParToken, IdentifierToken, ClosedParToken}}, + {"key in ( value1, value2 )", []Token{IdentifierToken, InToken, OpenParToken, IdentifierToken, CommaToken, IdentifierToken, ClosedParToken}}, + {"key", []Token{IdentifierToken}}, + {"!key", []Token{DoesNotExistToken, IdentifierToken}}, + {"()", []Token{OpenParToken, ClosedParToken}}, + {"x in (),y", []Token{IdentifierToken, InToken, OpenParToken, ClosedParToken, CommaToken, IdentifierToken}}, + {"== != (), = notin", []Token{DoubleEqualsToken, NotEqualsToken, OpenParToken, ClosedParToken, CommaToken, EqualsToken, NotInToken}}, + {"key>2", []Token{IdentifierToken, GreaterThanToken, IdentifierToken}}, + {"key<1", []Token{IdentifierToken, LessThanToken, IdentifierToken}}, + } + for _, v := range testcases { + var literals []string + var tokens []Token + l := &Lexer{s: v.s, pos: 0} + for { + token, lit := l.Lex() + if token == EndOfStringToken { + break + } + tokens = append(tokens, token) + literals = append(literals, lit) + } + if len(tokens) != len(v.t) { + t.Errorf("Bad number of tokens for '%s %d, %d", v.s, len(tokens), len(v.t)) + } + for i := 0; i < min(len(tokens), len(v.t)); i++ { + if tokens[i] != v.t[i] { + t.Errorf("Test '%s': Mismatching in token type found '%v' it should be '%v'", v.s, tokens[i], v.t[i]) + } + } + } +} +func TestParserLookahead(t *testing.T) { + testcases := []struct { + s string + t []Token + }{ + {"key in ( value )", []Token{IdentifierToken, InToken, OpenParToken, IdentifierToken, ClosedParToken, EndOfStringToken}}, + {"key notin ( value )", []Token{IdentifierToken, NotInToken, OpenParToken, IdentifierToken, ClosedParToken, EndOfStringToken}}, + {"key in ( value1, value2 )", []Token{IdentifierToken, InToken, OpenParToken, IdentifierToken, CommaToken, IdentifierToken, ClosedParToken, EndOfStringToken}}, + {"key", []Token{IdentifierToken, EndOfStringToken}}, + {"!key", []Token{DoesNotExistToken, IdentifierToken, EndOfStringToken}}, + {"()", []Token{OpenParToken, ClosedParToken, EndOfStringToken}}, + {"", []Token{EndOfStringToken}}, + {"x in (),y", []Token{IdentifierToken, InToken, OpenParToken, ClosedParToken, CommaToken, IdentifierToken, EndOfStringToken}}, + {"== != (), = notin", []Token{DoubleEqualsToken, NotEqualsToken, OpenParToken, ClosedParToken, CommaToken, EqualsToken, NotInToken, EndOfStringToken}}, + {"key>2", []Token{IdentifierToken, GreaterThanToken, IdentifierToken, EndOfStringToken}}, + {"key<1", []Token{IdentifierToken, LessThanToken, IdentifierToken, EndOfStringToken}}, + } + for _, v := range testcases { + p := &Parser{l: &Lexer{s: v.s, pos: 0}, position: 0} + p.scan() + if len(p.scannedItems) != len(v.t) { + t.Errorf("Expected %d items found %d", len(v.t), len(p.scannedItems)) + } + for { + token, lit := p.lookahead(KeyAndOperator) + + token2, lit2 := p.consume(KeyAndOperator) + if token == EndOfStringToken { + break + } + if token != token2 || lit != lit2 { + t.Errorf("Bad values") + } + } + } +} + +func TestRequirementConstructor(t *testing.T) { + requirementConstructorTests := []struct { + Key string + Op selection.Operator + Vals sets.String + Success bool + }{ + {"x", selection.In, nil, false}, + {"x", selection.NotIn, sets.NewString(), false}, + {"x", selection.In, sets.NewString("foo"), true}, + {"x", selection.NotIn, sets.NewString("foo"), true}, + {"x", selection.Exists, nil, true}, + {"x", selection.DoesNotExist, nil, true}, + {"1foo", selection.In, sets.NewString("bar"), true}, + {"1234", selection.In, sets.NewString("bar"), true}, + {"y", selection.GreaterThan, sets.NewString("1"), true}, + {"z", selection.LessThan, sets.NewString("6"), true}, + {"foo", selection.GreaterThan, sets.NewString("bar"), false}, + {"barz", selection.LessThan, sets.NewString("blah"), false}, + {strings.Repeat("a", 254), selection.Exists, nil, false}, //breaks DNS rule that len(key) <= 253 + } + for _, rc := range requirementConstructorTests { + if _, err := NewRequirement(rc.Key, rc.Op, rc.Vals.List()); err == nil && !rc.Success { + t.Errorf("expected error with key:%#v op:%v vals:%v, got no error", rc.Key, rc.Op, rc.Vals) + } else if err != nil && rc.Success { + t.Errorf("expected no error with key:%#v op:%v vals:%v, got:%v", rc.Key, rc.Op, rc.Vals, err) + } + } +} + +func TestToString(t *testing.T) { + var req Requirement + toStringTests := []struct { + In *internalSelector + Out string + Valid bool + }{ + + {&internalSelector{ + getRequirement("x", selection.In, sets.NewString("abc", "def"), t), + getRequirement("y", selection.NotIn, sets.NewString("jkl"), t), + getRequirement("z", selection.Exists, nil, t)}, + "x in (abc,def),y notin (jkl),z", true}, + {&internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString("abc", "def"), t), + getRequirement("y", selection.NotEquals, sets.NewString("jkl"), t), + getRequirement("z", selection.DoesNotExist, nil, t)}, + "x notin (abc,def),y!=jkl,!z", true}, + {&internalSelector{ + getRequirement("x", selection.In, sets.NewString("abc", "def"), t), + req}, // adding empty req for the trailing ',' + "x in (abc,def),", false}, + {&internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString("abc"), t), + getRequirement("y", selection.In, sets.NewString("jkl", "mno"), t), + getRequirement("z", selection.NotIn, sets.NewString(""), t)}, + "x notin (abc),y in (jkl,mno),z notin ()", true}, + {&internalSelector{ + getRequirement("x", selection.Equals, sets.NewString("abc"), t), + getRequirement("y", selection.DoubleEquals, sets.NewString("jkl"), t), + getRequirement("z", selection.NotEquals, sets.NewString("a"), t), + getRequirement("z", selection.Exists, nil, t)}, + "x=abc,y==jkl,z!=a,z", true}, + {&internalSelector{ + getRequirement("x", selection.GreaterThan, sets.NewString("2"), t), + getRequirement("y", selection.LessThan, sets.NewString("8"), t), + getRequirement("z", selection.Exists, nil, t)}, + "x>2,y<8,z", true}, + } + for _, ts := range toStringTests { + if out := ts.In.String(); out == "" && ts.Valid { + t.Errorf("%#v.String() => '%v' expected no error", ts.In, out) + } else if out != ts.Out { + t.Errorf("%#v.String() => '%v' want '%v'", ts.In, out, ts.Out) + } + } +} + +func TestRequirementSelectorMatching(t *testing.T) { + var req Requirement + labelSelectorMatchingTests := []struct { + Set Set + Sel Selector + Match bool + }{ + {Set{"x": "foo", "y": "baz"}, &internalSelector{ + req, + }, false}, + {Set{"x": "foo", "y": "baz"}, &internalSelector{ + getRequirement("x", selection.In, sets.NewString("foo"), t), + getRequirement("y", selection.NotIn, sets.NewString("alpha"), t), + }, true}, + {Set{"x": "foo", "y": "baz"}, &internalSelector{ + getRequirement("x", selection.In, sets.NewString("foo"), t), + getRequirement("y", selection.In, sets.NewString("alpha"), t), + }, false}, + {Set{"y": ""}, &internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString(""), t), + getRequirement("y", selection.Exists, nil, t), + }, true}, + {Set{"y": ""}, &internalSelector{ + getRequirement("x", selection.DoesNotExist, nil, t), + getRequirement("y", selection.Exists, nil, t), + }, true}, + {Set{"y": ""}, &internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString(""), t), + getRequirement("y", selection.DoesNotExist, nil, t), + }, false}, + {Set{"y": "baz"}, &internalSelector{ + getRequirement("x", selection.In, sets.NewString(""), t), + }, false}, + {Set{"z": "2"}, &internalSelector{ + getRequirement("z", selection.GreaterThan, sets.NewString("1"), t), + }, true}, + {Set{"z": "v2"}, &internalSelector{ + getRequirement("z", selection.GreaterThan, sets.NewString("1"), t), + }, false}, + } + for _, lsm := range labelSelectorMatchingTests { + if match := lsm.Sel.Matches(lsm.Set); match != lsm.Match { + t.Errorf("%+v.Matches(%#v) => %v, want %v", lsm.Sel, lsm.Set, match, lsm.Match) + } + } +} + +func TestSetSelectorParser(t *testing.T) { + setSelectorParserTests := []struct { + In string + Out Selector + Match bool + Valid bool + }{ + {"", NewSelector(), true, true}, + {"\rx", internalSelector{ + getRequirement("x", selection.Exists, nil, t), + }, true, true}, + {"this-is-a-dns.domain.com/key-with-dash", internalSelector{ + getRequirement("this-is-a-dns.domain.com/key-with-dash", selection.Exists, nil, t), + }, true, true}, + {"this-is-another-dns.domain.com/key-with-dash in (so,what)", internalSelector{ + getRequirement("this-is-another-dns.domain.com/key-with-dash", selection.In, sets.NewString("so", "what"), t), + }, true, true}, + {"0.1.2.domain/99 notin (10.10.100.1, tick.tack.clock)", internalSelector{ + getRequirement("0.1.2.domain/99", selection.NotIn, sets.NewString("10.10.100.1", "tick.tack.clock"), t), + }, true, true}, + {"foo in (abc)", internalSelector{ + getRequirement("foo", selection.In, sets.NewString("abc"), t), + }, true, true}, + {"x notin\n (abc)", internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString("abc"), t), + }, true, true}, + {"x notin \t (abc,def)", internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString("abc", "def"), t), + }, true, true}, + {"x in (abc,def)", internalSelector{ + getRequirement("x", selection.In, sets.NewString("abc", "def"), t), + }, true, true}, + {"x in (abc,)", internalSelector{ + getRequirement("x", selection.In, sets.NewString("abc", ""), t), + }, true, true}, + {"x in ()", internalSelector{ + getRequirement("x", selection.In, sets.NewString(""), t), + }, true, true}, + {"x notin (abc,,def),bar,z in (),w", internalSelector{ + getRequirement("bar", selection.Exists, nil, t), + getRequirement("w", selection.Exists, nil, t), + getRequirement("x", selection.NotIn, sets.NewString("abc", "", "def"), t), + getRequirement("z", selection.In, sets.NewString(""), t), + }, true, true}, + {"x,y in (a)", internalSelector{ + getRequirement("y", selection.In, sets.NewString("a"), t), + getRequirement("x", selection.Exists, nil, t), + }, false, true}, + {"x=a", internalSelector{ + getRequirement("x", selection.Equals, sets.NewString("a"), t), + }, true, true}, + {"x>1", internalSelector{ + getRequirement("x", selection.GreaterThan, sets.NewString("1"), t), + }, true, true}, + {"x<7", internalSelector{ + getRequirement("x", selection.LessThan, sets.NewString("7"), t), + }, true, true}, + {"x=a,y!=b", internalSelector{ + getRequirement("x", selection.Equals, sets.NewString("a"), t), + getRequirement("y", selection.NotEquals, sets.NewString("b"), t), + }, true, true}, + {"x=a,y!=b,z in (h,i,j)", internalSelector{ + getRequirement("x", selection.Equals, sets.NewString("a"), t), + getRequirement("y", selection.NotEquals, sets.NewString("b"), t), + getRequirement("z", selection.In, sets.NewString("h", "i", "j"), t), + }, true, true}, + {"x=a||y=b", internalSelector{}, false, false}, + {"x,,y", nil, true, false}, + {",x,y", nil, true, false}, + {"x nott in (y)", nil, true, false}, + {"x notin ( )", internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString(""), t), + }, true, true}, + {"x notin (, a)", internalSelector{ + getRequirement("x", selection.NotIn, sets.NewString("", "a"), t), + }, true, true}, + {"a in (xyz),", nil, true, false}, + {"a in (xyz)b notin ()", nil, true, false}, + {"a ", internalSelector{ + getRequirement("a", selection.Exists, nil, t), + }, true, true}, + {"a in (x,y,notin, z,in)", internalSelector{ + getRequirement("a", selection.In, sets.NewString("in", "notin", "x", "y", "z"), t), + }, true, true}, // operator 'in' inside list of identifiers + {"a in (xyz abc)", nil, false, false}, // no comma + {"a notin(", nil, true, false}, // bad formed + {"a (", nil, false, false}, // cpar + {"(", nil, false, false}, // opar + } + + for _, ssp := range setSelectorParserTests { + if sel, err := Parse(ssp.In); err != nil && ssp.Valid { + t.Errorf("Parse(%s) => %v expected no error", ssp.In, err) + } else if err == nil && !ssp.Valid { + t.Errorf("Parse(%s) => %+v expected error", ssp.In, sel) + } else if ssp.Match && !reflect.DeepEqual(sel, ssp.Out) { + t.Errorf("Parse(%s) => parse output '%#v' doesn't match '%#v' expected match", ssp.In, sel, ssp.Out) + } + } +} + +func getRequirement(key string, op selection.Operator, vals sets.String, t *testing.T) Requirement { + req, err := NewRequirement(key, op, vals.List()) + if err != nil { + t.Errorf("NewRequirement(%v, %v, %v) resulted in error:%v", key, op, vals, err) + return Requirement{} + } + return *req +} + +func TestAdd(t *testing.T) { + testCases := []struct { + name string + sel Selector + key string + operator selection.Operator + values []string + refSelector Selector + }{ + { + "keyInOperator", + internalSelector{}, + "key", + selection.In, + []string{"value"}, + internalSelector{Requirement{"key", selection.In, []string{"value"}}}, + }, + { + "keyEqualsOperator", + internalSelector{Requirement{"key", selection.In, []string{"value"}}}, + "key2", + selection.Equals, + []string{"value2"}, + internalSelector{ + Requirement{"key", selection.In, []string{"value"}}, + Requirement{"key2", selection.Equals, []string{"value2"}}, + }, + }, + } + for _, ts := range testCases { + req, err := NewRequirement(ts.key, ts.operator, ts.values) + if err != nil { + t.Errorf("%s - Unable to create labels.Requirement", ts.name) + } + ts.sel = ts.sel.Add(*req) + if !reflect.DeepEqual(ts.sel, ts.refSelector) { + t.Errorf("%s - Expected %v found %v", ts.name, ts.refSelector, ts.sel) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/OWNERS b/staging/src/k8s.io/apimachinery/pkg/runtime/OWNERS new file mode 100644 index 00000000000..a49419f7090 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/OWNERS @@ -0,0 +1,19 @@ +approvers: +- caesarxuchao +- deads2k +- lavalamp +- smarterclayton +reviewers: +- lavalamp +- smarterclayton +- wojtek-t +- deads2k +- derekwaynecarr +- caesarxuchao +- mikedanese +- nikhiljindal +- gmarek +- krousey +- timothysc +- piosz +- mbohlool diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/codec.go b/staging/src/k8s.io/apimachinery/pkg/runtime/codec.go new file mode 100644 index 00000000000..21fd50199f8 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/codec.go @@ -0,0 +1,314 @@ +/* +Copyright 2014 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 runtime + +import ( + "bytes" + "encoding/base64" + "fmt" + "io" + "net/url" + "reflect" + + "k8s.io/apimachinery/pkg/conversion/queryparams" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// codec binds an encoder and decoder. +type codec struct { + Encoder + Decoder +} + +// NewCodec creates a Codec from an Encoder and Decoder. +func NewCodec(e Encoder, d Decoder) Codec { + return codec{e, d} +} + +// Encode is a convenience wrapper for encoding to a []byte from an Encoder +func Encode(e Encoder, obj Object) ([]byte, error) { + // TODO: reuse buffer + buf := &bytes.Buffer{} + if err := e.Encode(obj, buf); err != nil { + return nil, err + } + return buf.Bytes(), nil +} + +// Decode is a convenience wrapper for decoding data into an Object. +func Decode(d Decoder, data []byte) (Object, error) { + obj, _, err := d.Decode(data, nil, nil) + return obj, err +} + +// DecodeInto performs a Decode into the provided object. +func DecodeInto(d Decoder, data []byte, into Object) error { + out, gvk, err := d.Decode(data, nil, into) + if err != nil { + return err + } + if out != into { + return fmt.Errorf("unable to decode %s into %v", gvk, reflect.TypeOf(into)) + } + return nil +} + +// EncodeOrDie is a version of Encode which will panic instead of returning an error. For tests. +func EncodeOrDie(e Encoder, obj Object) string { + bytes, err := Encode(e, obj) + if err != nil { + panic(err) + } + return string(bytes) +} + +// DefaultingSerializer invokes defaulting after decoding. +type DefaultingSerializer struct { + Defaulter ObjectDefaulter + Decoder Decoder + // Encoder is optional to allow this type to be used as both a Decoder and an Encoder + Encoder +} + +// Decode performs a decode and then allows the defaulter to act on the provided object. +func (d DefaultingSerializer) Decode(data []byte, defaultGVK *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { + obj, gvk, err := d.Decoder.Decode(data, defaultGVK, into) + if err != nil { + return obj, gvk, err + } + d.Defaulter.Default(obj) + return obj, gvk, nil +} + +// UseOrCreateObject returns obj if the canonical ObjectKind returned by the provided typer matches gvk, or +// invokes the ObjectCreator to instantiate a new gvk. Returns an error if the typer cannot find the object. +func UseOrCreateObject(t ObjectTyper, c ObjectCreater, gvk schema.GroupVersionKind, obj Object) (Object, error) { + if obj != nil { + kinds, _, err := t.ObjectKinds(obj) + if err != nil { + return nil, err + } + for _, kind := range kinds { + if gvk == kind { + return obj, nil + } + } + } + return c.New(gvk) +} + +// NoopEncoder converts an Decoder to a Serializer or Codec for code that expects them but only uses decoding. +type NoopEncoder struct { + Decoder +} + +var _ Serializer = NoopEncoder{} + +func (n NoopEncoder) Encode(obj Object, w io.Writer) error { + return fmt.Errorf("encoding is not allowed for this codec: %v", reflect.TypeOf(n.Decoder)) +} + +// NoopDecoder converts an Encoder to a Serializer or Codec for code that expects them but only uses encoding. +type NoopDecoder struct { + Encoder +} + +var _ Serializer = NoopDecoder{} + +func (n NoopDecoder) Decode(data []byte, gvk *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { + return nil, nil, fmt.Errorf("decoding is not allowed for this codec: %v", reflect.TypeOf(n.Encoder)) +} + +// NewParameterCodec creates a ParameterCodec capable of transforming url values into versioned objects and back. +func NewParameterCodec(scheme *Scheme) ParameterCodec { + return ¶meterCodec{ + typer: scheme, + convertor: scheme, + creator: scheme, + } +} + +// parameterCodec implements conversion to and from query parameters and objects. +type parameterCodec struct { + typer ObjectTyper + convertor ObjectConvertor + creator ObjectCreater +} + +var _ ParameterCodec = ¶meterCodec{} + +// DecodeParameters converts the provided url.Values into an object of type From with the kind of into, and then +// converts that object to into (if necessary). Returns an error if the operation cannot be completed. +func (c *parameterCodec) DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error { + if len(parameters) == 0 { + return nil + } + targetGVKs, _, err := c.typer.ObjectKinds(into) + if err != nil { + return err + } + targetGVK := targetGVKs[0] + if targetGVK.GroupVersion() == from { + return c.convertor.Convert(¶meters, into, nil) + } + input, err := c.creator.New(from.WithKind(targetGVK.Kind)) + if err != nil { + return err + } + if err := c.convertor.Convert(¶meters, input, nil); err != nil { + return err + } + return c.convertor.Convert(input, into, nil) +} + +// EncodeParameters converts the provided object into the to version, then converts that object to url.Values. +// Returns an error if conversion is not possible. +func (c *parameterCodec) EncodeParameters(obj Object, to schema.GroupVersion) (url.Values, error) { + gvks, _, err := c.typer.ObjectKinds(obj) + if err != nil { + return nil, err + } + gvk := gvks[0] + if to != gvk.GroupVersion() { + out, err := c.convertor.ConvertToVersion(obj, to) + if err != nil { + return nil, err + } + obj = out + } + return queryparams.Convert(obj) +} + +type base64Serializer struct { + Serializer +} + +func NewBase64Serializer(s Serializer) Serializer { + return &base64Serializer{s} +} + +func (s base64Serializer) Encode(obj Object, stream io.Writer) error { + e := base64.NewEncoder(base64.StdEncoding, stream) + err := s.Serializer.Encode(obj, e) + e.Close() + return err +} + +func (s base64Serializer) Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) { + out := make([]byte, base64.StdEncoding.DecodedLen(len(data))) + n, err := base64.StdEncoding.Decode(out, data) + if err != nil { + return nil, nil, err + } + return s.Serializer.Decode(out[:n], defaults, into) +} + +// SerializerInfoForMediaType returns the first info in types that has a matching media type (which cannot +// include media-type parameters), or the first info with an empty media type, or false if no type matches. +func SerializerInfoForMediaType(types []SerializerInfo, mediaType string) (SerializerInfo, bool) { + for _, info := range types { + if info.MediaType == mediaType { + return info, true + } + } + for _, info := range types { + if len(info.MediaType) == 0 { + return info, true + } + } + return SerializerInfo{}, false +} + +var ( + // InternalGroupVersioner will always prefer the internal version for a given group version kind. + InternalGroupVersioner GroupVersioner = internalGroupVersioner{} + // DisabledGroupVersioner will reject all kinds passed to it. + DisabledGroupVersioner GroupVersioner = disabledGroupVersioner{} +) + +type internalGroupVersioner struct{} + +// KindForGroupVersionKinds returns an internal Kind if one is found, or converts the first provided kind to the internal version. +func (internalGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + for _, kind := range kinds { + if kind.Version == APIVersionInternal { + return kind, true + } + } + for _, kind := range kinds { + return schema.GroupVersionKind{Group: kind.Group, Version: APIVersionInternal, Kind: kind.Kind}, true + } + return schema.GroupVersionKind{}, false +} + +type disabledGroupVersioner struct{} + +// KindForGroupVersionKinds returns false for any input. +func (disabledGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + return schema.GroupVersionKind{}, false +} + +// GroupVersioners implements GroupVersioner and resolves to the first exact match for any kind. +type GroupVersioners []GroupVersioner + +// KindForGroupVersionKinds returns the first match of any of the group versioners, or false if no match occured. +func (gvs GroupVersioners) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + for _, gv := range gvs { + target, ok := gv.KindForGroupVersionKinds(kinds) + if !ok { + continue + } + return target, true + } + return schema.GroupVersionKind{}, false +} + +// Assert that schema.GroupVersion and GroupVersions implement GroupVersioner +var _ GroupVersioner = schema.GroupVersion{} +var _ GroupVersioner = schema.GroupVersions{} +var _ GroupVersioner = multiGroupVersioner{} + +type multiGroupVersioner struct { + target schema.GroupVersion + acceptedGroupKinds []schema.GroupKind +} + +// NewMultiGroupVersioner returns the provided group version for any kind that matches one of the provided group kinds. +// Kind may be empty in the provided group kind, in which case any kind will match. +func NewMultiGroupVersioner(gv schema.GroupVersion, groupKinds ...schema.GroupKind) GroupVersioner { + if len(groupKinds) == 0 || (len(groupKinds) == 1 && groupKinds[0].Group == gv.Group) { + return gv + } + return multiGroupVersioner{target: gv, acceptedGroupKinds: groupKinds} +} + +// KindForGroupVersionKinds returns the target group version if any kind matches any of the original group kinds. It will +// use the originating kind where possible. +func (v multiGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + for _, src := range kinds { + for _, kind := range v.acceptedGroupKinds { + if kind.Group != src.Group { + continue + } + if len(kind.Kind) > 0 && kind.Kind != src.Kind { + continue + } + return v.target.WithKind(src.Kind), true + } + } + return schema.GroupVersionKind{}, false +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/codec_check.go b/staging/src/k8s.io/apimachinery/pkg/runtime/codec_check.go new file mode 100644 index 00000000000..1d34ec1a856 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/codec_check.go @@ -0,0 +1,50 @@ +/* +Copyright 2016 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 runtime + +import ( + "fmt" + "reflect" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// CheckCodec makes sure that the codec can encode objects like internalType, +// decode all of the external types listed, and also decode them into the given +// object. (Will modify internalObject.) (Assumes JSON serialization.) +// TODO: verify that the correct external version is chosen on encode... +func CheckCodec(c Codec, internalType Object, externalTypes ...schema.GroupVersionKind) error { + _, err := Encode(c, internalType) + if err != nil { + return fmt.Errorf("Internal type not encodable: %v", err) + } + for _, et := range externalTypes { + exBytes := []byte(fmt.Sprintf(`{"kind":"%v","apiVersion":"%v"}`, et.Kind, et.GroupVersion().String())) + obj, err := Decode(c, exBytes) + if err != nil { + return fmt.Errorf("external type %s not interpretable: %v", et, err) + } + if reflect.TypeOf(obj) != reflect.TypeOf(internalType) { + return fmt.Errorf("decode of external type %s produced: %#v", et, obj) + } + err = DecodeInto(c, exBytes, internalType) + if err != nil { + return fmt.Errorf("external type %s not convertable to internal type: %v", et, err) + } + } + return nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/conversion.go b/staging/src/k8s.io/apimachinery/pkg/runtime/conversion.go new file mode 100644 index 00000000000..8eedffc9c34 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/conversion.go @@ -0,0 +1,98 @@ +/* +Copyright 2014 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. +*/ + +// Defines conversions between generic types and structs to map query strings +// to struct objects. +package runtime + +import ( + "reflect" + "strconv" + "strings" + + "k8s.io/apimachinery/pkg/conversion" +) + +// JSONKeyMapper uses the struct tags on a conversion to determine the key value for +// the other side. Use when mapping from a map[string]* to a struct or vice versa. +func JSONKeyMapper(key string, sourceTag, destTag reflect.StructTag) (string, string) { + if s := destTag.Get("json"); len(s) > 0 { + return strings.SplitN(s, ",", 2)[0], key + } + if s := sourceTag.Get("json"); len(s) > 0 { + return key, strings.SplitN(s, ",", 2)[0] + } + return key, key +} + +// DefaultStringConversions are helpers for converting []string and string to real values. +var DefaultStringConversions = []interface{}{ + Convert_Slice_string_To_string, + Convert_Slice_string_To_int, + Convert_Slice_string_To_bool, + Convert_Slice_string_To_int64, +} + +func Convert_Slice_string_To_string(input *[]string, out *string, s conversion.Scope) error { + if len(*input) == 0 { + *out = "" + } + *out = (*input)[0] + return nil +} + +func Convert_Slice_string_To_int(input *[]string, out *int, s conversion.Scope) error { + if len(*input) == 0 { + *out = 0 + } + str := (*input)[0] + i, err := strconv.Atoi(str) + if err != nil { + return err + } + *out = i + return nil +} + +// Conver_Slice_string_To_bool will convert a string parameter to boolean. +// Only the absence of a value, a value of "false", or a value of "0" resolve to false. +// Any other value (including empty string) resolves to true. +func Convert_Slice_string_To_bool(input *[]string, out *bool, s conversion.Scope) error { + if len(*input) == 0 { + *out = false + return nil + } + switch strings.ToLower((*input)[0]) { + case "false", "0": + *out = false + default: + *out = true + } + return nil +} + +func Convert_Slice_string_To_int64(input *[]string, out *int64, s conversion.Scope) error { + if len(*input) == 0 { + *out = 0 + } + str := (*input)[0] + i, err := strconv.ParseInt(str, 10, 64) + if err != nil { + return err + } + *out = i + return nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/conversion_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/conversion_test.go new file mode 100644 index 00000000000..692a5bfbb39 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/conversion_test.go @@ -0,0 +1,135 @@ +/* +Copyright 2014 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 runtime_test + +import ( + "reflect" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +type InternalComplex struct { + runtime.TypeMeta + String string + Integer int + Integer64 int64 + Int64 int64 + Bool bool +} + +type ExternalComplex struct { + runtime.TypeMeta `json:",inline"` + String string `json:"string" description:"testing"` + Integer int `json:"int"` + Integer64 int64 `json:",omitempty"` + Int64 int64 + Bool bool `json:"bool"` +} + +func (obj *InternalComplex) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalComplex) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } + +func TestStringMapConversion(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "external"} + + scheme := runtime.NewScheme() + scheme.Log(t) + scheme.AddKnownTypeWithName(internalGV.WithKind("Complex"), &InternalComplex{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("Complex"), &ExternalComplex{}) + + testCases := map[string]struct { + input map[string][]string + errFn func(error) bool + expected runtime.Object + }{ + "ignores omitempty": { + input: map[string][]string{ + "String": {"not_used"}, + "string": {"value"}, + "int": {"1"}, + "Integer64": {"2"}, + }, + expected: &ExternalComplex{String: "value", Integer: 1}, + }, + "returns error on bad int": { + input: map[string][]string{ + "int": {"a"}, + }, + errFn: func(err error) bool { return err != nil }, + expected: &ExternalComplex{}, + }, + "parses int64": { + input: map[string][]string{ + "Int64": {"-1"}, + }, + expected: &ExternalComplex{Int64: -1}, + }, + "returns error on bad int64": { + input: map[string][]string{ + "Int64": {"a"}, + }, + errFn: func(err error) bool { return err != nil }, + expected: &ExternalComplex{}, + }, + "parses boolean true": { + input: map[string][]string{ + "bool": {"true"}, + }, + expected: &ExternalComplex{Bool: true}, + }, + "parses boolean any value": { + input: map[string][]string{ + "bool": {"foo"}, + }, + expected: &ExternalComplex{Bool: true}, + }, + "parses boolean false": { + input: map[string][]string{ + "bool": {"false"}, + }, + expected: &ExternalComplex{Bool: false}, + }, + "parses boolean empty value": { + input: map[string][]string{ + "bool": {""}, + }, + expected: &ExternalComplex{Bool: true}, + }, + "parses boolean no value": { + input: map[string][]string{ + "bool": {}, + }, + expected: &ExternalComplex{Bool: false}, + }, + } + + for k, tc := range testCases { + out := &ExternalComplex{} + if err := scheme.Convert(&tc.input, out, nil); (tc.errFn == nil && err != nil) || (tc.errFn != nil && !tc.errFn(err)) { + t.Errorf("%s: unexpected error: %v", k, err) + continue + } else if err != nil { + continue + } + if !reflect.DeepEqual(out, tc.expected) { + t.Errorf("%s: unexpected output: %#v", k, out) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/doc.go b/staging/src/k8s.io/apimachinery/pkg/runtime/doc.go new file mode 100644 index 00000000000..06b45df66b5 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/doc.go @@ -0,0 +1,45 @@ +/* +Copyright 2014 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 runtime includes helper functions for working with API objects +// that follow the kubernetes API object conventions, which are: +// +// 0. Your API objects have a common metadata struct member, TypeMeta. +// 1. Your code refers to an internal set of API objects. +// 2. In a separate package, you have an external set of API objects. +// 3. The external set is considered to be versioned, and no breaking +// changes are ever made to it (fields may be added but not changed +// or removed). +// 4. As your api evolves, you'll make an additional versioned package +// with every major change. +// 5. Versioned packages have conversion functions which convert to +// and from the internal version. +// 6. You'll continue to support older versions according to your +// deprecation policy, and you can easily provide a program/library +// to update old versions into new versions because of 5. +// 7. All of your serializations and deserializations are handled in a +// centralized place. +// +// Package runtime provides a conversion helper to make 5 easy, and the +// Encode/Decode/DecodeInto trio to accomplish 7. You can also register +// additional "codecs" which use a version of your choice. It's +// recommended that you register your types with runtime in your +// package's init function. +// +// As a bonus, a few common types useful from all api objects and versions +// are provided in types.go. + +package runtime // import "k8s.io/apimachinery/pkg/runtime" diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/embedded.go b/staging/src/k8s.io/apimachinery/pkg/runtime/embedded.go new file mode 100644 index 00000000000..e8825a787a3 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/embedded.go @@ -0,0 +1,136 @@ +/* +Copyright 2014 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 runtime + +import ( + "errors" + + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +type encodable struct { + E Encoder `json:"-"` + obj Object + versions []schema.GroupVersion +} + +func (e encodable) GetObjectKind() schema.ObjectKind { return e.obj.GetObjectKind() } + +// NewEncodable creates an object that will be encoded with the provided codec on demand. +// Provided as a convenience for test cases dealing with internal objects. +func NewEncodable(e Encoder, obj Object, versions ...schema.GroupVersion) Object { + if _, ok := obj.(*Unknown); ok { + return obj + } + return encodable{e, obj, versions} +} + +func (re encodable) UnmarshalJSON(in []byte) error { + return errors.New("runtime.encodable cannot be unmarshalled from JSON") +} + +// Marshal may get called on pointers or values, so implement MarshalJSON on value. +// http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go +func (re encodable) MarshalJSON() ([]byte, error) { + return Encode(re.E, re.obj) +} + +// NewEncodableList creates an object that will be encoded with the provided codec on demand. +// Provided as a convenience for test cases dealing with internal objects. +func NewEncodableList(e Encoder, objects []Object, versions ...schema.GroupVersion) []Object { + out := make([]Object, len(objects)) + for i := range objects { + if _, ok := objects[i].(*Unknown); ok { + out[i] = objects[i] + continue + } + out[i] = NewEncodable(e, objects[i], versions...) + } + return out +} + +func (re *Unknown) UnmarshalJSON(in []byte) error { + if re == nil { + return errors.New("runtime.Unknown: UnmarshalJSON on nil pointer") + } + re.TypeMeta = TypeMeta{} + re.Raw = append(re.Raw[0:0], in...) + re.ContentEncoding = "" + re.ContentType = ContentTypeJSON + return nil +} + +// Marshal may get called on pointers or values, so implement MarshalJSON on value. +// http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go +func (re Unknown) MarshalJSON() ([]byte, error) { + // If ContentType is unset, we assume this is JSON. + if re.ContentType != "" && re.ContentType != ContentTypeJSON { + return nil, errors.New("runtime.Unknown: MarshalJSON on non-json data") + } + if re.Raw == nil { + return []byte("null"), nil + } + return re.Raw, nil +} + +func Convert_runtime_Object_To_runtime_RawExtension(in *Object, out *RawExtension, s conversion.Scope) error { + if in == nil { + out.Raw = []byte("null") + return nil + } + obj := *in + if unk, ok := obj.(*Unknown); ok { + if unk.Raw != nil { + out.Raw = unk.Raw + return nil + } + obj = out.Object + } + if obj == nil { + out.Raw = nil + return nil + } + out.Object = obj + return nil +} + +func Convert_runtime_RawExtension_To_runtime_Object(in *RawExtension, out *Object, s conversion.Scope) error { + if in.Object != nil { + *out = in.Object + return nil + } + data := in.Raw + if len(data) == 0 || (len(data) == 4 && string(data) == "null") { + *out = nil + return nil + } + *out = &Unknown{ + Raw: data, + // TODO: Set ContentEncoding and ContentType appropriately. + // Currently we set ContentTypeJSON to make tests passing. + ContentType: ContentTypeJSON, + } + return nil +} + +func DefaultEmbeddedConversions() []interface{} { + return []interface{}{ + Convert_runtime_Object_To_runtime_RawExtension, + Convert_runtime_RawExtension_To_runtime_Object, + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/embedded_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/embedded_test.go new file mode 100644 index 00000000000..90d09f9edc9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/embedded_test.go @@ -0,0 +1,290 @@ +/* +Copyright 2014 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 runtime_test + +import ( + "encoding/json" + "reflect" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/util/diff" +) + +type EmbeddedTest struct { + runtime.TypeMeta + ID string + Object runtime.Object + EmptyObject runtime.Object +} + +type EmbeddedTestExternal struct { + runtime.TypeMeta `json:",inline"` + ID string `json:"id,omitempty"` + Object runtime.RawExtension `json:"object,omitempty"` + EmptyObject runtime.RawExtension `json:"emptyObject,omitempty"` +} + +type ObjectTest struct { + runtime.TypeMeta + + ID string + Items []runtime.Object +} + +type ObjectTestExternal struct { + runtime.TypeMeta `yaml:",inline" json:",inline"` + + ID string `json:"id,omitempty"` + Items []runtime.RawExtension `json:"items,omitempty"` +} + +func (obj *ObjectTest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ObjectTestExternal) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *EmbeddedTest) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *EmbeddedTestExternal) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } + +func TestDecodeEmptyRawExtensionAsObject(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} + externalGVK := externalGV.WithKind("ObjectTest") + + s := runtime.NewScheme() + s.AddKnownTypes(internalGV, &ObjectTest{}) + s.AddKnownTypeWithName(externalGVK, &ObjectTestExternal{}) + + codec := serializer.NewCodecFactory(s).LegacyCodec(externalGV) + + obj, gvk, err := codec.Decode([]byte(`{"kind":"`+externalGVK.Kind+`","apiVersion":"`+externalGV.String()+`","items":[{}]}`), nil, nil) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + test := obj.(*ObjectTest) + if unk, ok := test.Items[0].(*runtime.Unknown); !ok || unk.Kind != "" || unk.APIVersion != "" || string(unk.Raw) != "{}" || unk.ContentType != runtime.ContentTypeJSON { + t.Fatalf("unexpected object: %#v", test.Items[0]) + } + if *gvk != externalGVK { + t.Fatalf("unexpected kind: %#v", gvk) + } + + obj, gvk, err = codec.Decode([]byte(`{"kind":"`+externalGVK.Kind+`","apiVersion":"`+externalGV.String()+`","items":[{"kind":"Other","apiVersion":"v1"}]}`), nil, nil) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + test = obj.(*ObjectTest) + if unk, ok := test.Items[0].(*runtime.Unknown); !ok || unk.Kind != "" || unk.APIVersion != "" || string(unk.Raw) != `{"kind":"Other","apiVersion":"v1"}` || unk.ContentType != runtime.ContentTypeJSON { + t.Fatalf("unexpected object: %#v", test.Items[0]) + } + if *gvk != externalGVK { + t.Fatalf("unexpected kind: %#v", gvk) + } +} + +func TestArrayOfRuntimeObject(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} + + s := runtime.NewScheme() + s.AddKnownTypes(internalGV, &EmbeddedTest{}) + s.AddKnownTypeWithName(externalGV.WithKind("EmbeddedTest"), &EmbeddedTestExternal{}) + s.AddKnownTypes(internalGV, &ObjectTest{}) + s.AddKnownTypeWithName(externalGV.WithKind("ObjectTest"), &ObjectTestExternal{}) + + codec := serializer.NewCodecFactory(s).LegacyCodec(externalGV) + + innerItems := []runtime.Object{ + &EmbeddedTest{ID: "baz"}, + } + items := []runtime.Object{ + &EmbeddedTest{ID: "foo"}, + &EmbeddedTest{ID: "bar"}, + // TODO: until YAML is removed, this JSON must be in ascending key order to ensure consistent roundtrip serialization + &runtime.Unknown{ + Raw: []byte(`{"apiVersion":"unknown.group/unknown","foo":"bar","kind":"OtherTest"}`), + ContentType: runtime.ContentTypeJSON, + }, + &ObjectTest{ + Items: runtime.NewEncodableList(codec, innerItems), + }, + } + internal := &ObjectTest{ + Items: runtime.NewEncodableList(codec, items), + } + wire, err := runtime.Encode(codec, internal) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + t.Logf("Wire format is:\n%s\n", string(wire)) + + obj := &ObjectTestExternal{} + if err := json.Unmarshal(wire, obj); err != nil { + t.Fatalf("unexpected error: %v", err) + } + t.Logf("exact wire is: %s", string(obj.Items[0].Raw)) + + items[3] = &ObjectTest{Items: innerItems} + internal.Items = items + + decoded, err := runtime.Decode(codec, wire) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + list, err := meta.ExtractList(decoded) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if errs := runtime.DecodeList(list, codec); len(errs) > 0 { + t.Fatalf("unexpected error: %v", errs) + } + + list2, err := meta.ExtractList(list[3]) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if errs := runtime.DecodeList(list2, codec); len(errs) > 0 { + t.Fatalf("unexpected error: %v", errs) + } + if err := meta.SetList(list[3], list2); err != nil { + t.Fatalf("unexpected error: %v", err) + } + + // we want DecodeList to set type meta if possible, even on runtime.Unknown objects + internal.Items[2].(*runtime.Unknown).TypeMeta = runtime.TypeMeta{Kind: "OtherTest", APIVersion: "unknown.group/unknown"} + if e, a := internal.Items, list; !reflect.DeepEqual(e, a) { + t.Errorf("mismatched decoded: %s", diff.ObjectGoPrintSideBySide(e, a)) + } +} + +func TestNestedObject(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} + embeddedTestExternalGVK := externalGV.WithKind("EmbeddedTest") + + s := runtime.NewScheme() + s.AddKnownTypes(internalGV, &EmbeddedTest{}) + s.AddKnownTypeWithName(embeddedTestExternalGVK, &EmbeddedTestExternal{}) + + codec := serializer.NewCodecFactory(s).LegacyCodec(externalGV) + + inner := &EmbeddedTest{ + ID: "inner", + } + outer := &EmbeddedTest{ + ID: "outer", + Object: runtime.NewEncodable(codec, inner), + } + + wire, err := runtime.Encode(codec, outer) + if err != nil { + t.Fatalf("Unexpected encode error '%v'", err) + } + + t.Logf("Wire format is:\n%v\n", string(wire)) + + decoded, err := runtime.Decode(codec, wire) + if err != nil { + t.Fatalf("Unexpected decode error %v", err) + } + + // for later tests + outer.Object = inner + + if e, a := outer, decoded; reflect.DeepEqual(e, a) { + t.Errorf("Expected unequal %#v %#v", e, a) + } + + obj, err := runtime.Decode(codec, decoded.(*EmbeddedTest).Object.(*runtime.Unknown).Raw) + if err != nil { + t.Fatal(err) + } + decoded.(*EmbeddedTest).Object = obj + if e, a := outer, decoded; !reflect.DeepEqual(e, a) { + t.Errorf("Expected equal %#v %#v", e, a) + } + + // test JSON decoding of the external object, which should preserve + // raw bytes + var externalViaJSON EmbeddedTestExternal + err = json.Unmarshal(wire, &externalViaJSON) + if err != nil { + t.Fatalf("Unexpected decode error %v", err) + } + if externalViaJSON.Kind == "" || externalViaJSON.APIVersion == "" || externalViaJSON.ID != "outer" { + t.Errorf("Expected objects to have type info set, got %#v", externalViaJSON) + } + if !reflect.DeepEqual(externalViaJSON.EmptyObject.Raw, []byte("null")) || len(externalViaJSON.Object.Raw) == 0 { + t.Errorf("Expected deserialization of nested objects into bytes, got %#v", externalViaJSON) + } + + // test JSON decoding, too, since Decode uses yaml unmarshalling. + // Generic Unmarshalling of JSON cannot load the nested objects because there is + // no default schema set. Consumers wishing to get direct JSON decoding must use + // the external representation + var decodedViaJSON EmbeddedTest + err = json.Unmarshal(wire, &decodedViaJSON) + if err == nil || !strings.Contains(err.Error(), "unmarshal object into Go value of type runtime.Object") { + t.Fatalf("Unexpected decode error %v", err) + } + if a := decodedViaJSON; a.Object != nil || a.EmptyObject != nil { + t.Errorf("Expected embedded objects to be nil: %#v", a) + } +} + +// TestDeepCopyOfRuntimeObject checks to make sure that runtime.Objects's can be passed through DeepCopy with fidelity +func TestDeepCopyOfRuntimeObject(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "v1test"} + embeddedTestExternalGVK := externalGV.WithKind("EmbeddedTest") + + s := runtime.NewScheme() + s.AddKnownTypes(internalGV, &EmbeddedTest{}) + s.AddKnownTypeWithName(embeddedTestExternalGVK, &EmbeddedTestExternal{}) + + original := &EmbeddedTest{ + ID: "outer", + Object: &EmbeddedTest{ + ID: "inner", + }, + } + + codec := serializer.NewCodecFactory(s).LegacyCodec(externalGV) + + originalData, err := runtime.Encode(codec, original) + if err != nil { + t.Errorf("unexpected error: %v", err) + } + t.Logf("originalRole = %v\n", string(originalData)) + + copyOfOriginal, err := s.DeepCopy(original) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + copiedData, err := runtime.Encode(codec, copyOfOriginal.(runtime.Object)) + if err != nil { + t.Errorf("unexpected error: %v", err) + } + t.Logf("copyOfRole = %v\n", string(copiedData)) + + if !reflect.DeepEqual(original, copyOfOriginal) { + t.Errorf("expected \n%v\n, got \n%v", string(originalData), string(copiedData)) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/error.go b/staging/src/k8s.io/apimachinery/pkg/runtime/error.go new file mode 100644 index 00000000000..c9a0e1696db --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/error.go @@ -0,0 +1,102 @@ +/* +Copyright 2014 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 runtime + +import ( + "fmt" + "reflect" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +type notRegisteredErr struct { + gvk schema.GroupVersionKind + t reflect.Type +} + +// NewNotRegisteredErr is exposed for testing. +func NewNotRegisteredErr(gvk schema.GroupVersionKind, t reflect.Type) error { + return ¬RegisteredErr{gvk: gvk, t: t} +} + +func (k *notRegisteredErr) Error() string { + if k.t != nil { + return fmt.Sprintf("no kind is registered for the type %v", k.t) + } + if len(k.gvk.Kind) == 0 { + return fmt.Sprintf("no version %q has been registered", k.gvk.GroupVersion()) + } + if k.gvk.Version == APIVersionInternal { + return fmt.Sprintf("no kind %q is registered for the internal version of group %q", k.gvk.Kind, k.gvk.Group) + } + + return fmt.Sprintf("no kind %q is registered for version %q", k.gvk.Kind, k.gvk.GroupVersion()) +} + +// IsNotRegisteredError returns true if the error indicates the provided +// object or input data is not registered. +func IsNotRegisteredError(err error) bool { + if err == nil { + return false + } + _, ok := err.(*notRegisteredErr) + return ok +} + +type missingKindErr struct { + data string +} + +func NewMissingKindErr(data string) error { + return &missingKindErr{data} +} + +func (k *missingKindErr) Error() string { + return fmt.Sprintf("Object 'Kind' is missing in '%s'", k.data) +} + +// IsMissingKind returns true if the error indicates that the provided object +// is missing a 'Kind' field. +func IsMissingKind(err error) bool { + if err == nil { + return false + } + _, ok := err.(*missingKindErr) + return ok +} + +type missingVersionErr struct { + data string +} + +// IsMissingVersion returns true if the error indicates that the provided object +// is missing a 'Version' field. +func NewMissingVersionErr(data string) error { + return &missingVersionErr{data} +} + +func (k *missingVersionErr) Error() string { + return fmt.Sprintf("Object 'apiVersion' is missing in '%s'", k.data) +} + +func IsMissingVersion(err error) bool { + if err == nil { + return false + } + _, ok := err.(*missingVersionErr) + return ok +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/extension.go b/staging/src/k8s.io/apimachinery/pkg/runtime/extension.go new file mode 100644 index 00000000000..4d23ee9ee38 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/extension.go @@ -0,0 +1,48 @@ +/* +Copyright 2014 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 runtime + +import ( + "encoding/json" + "errors" +) + +func (re *RawExtension) UnmarshalJSON(in []byte) error { + if re == nil { + return errors.New("runtime.RawExtension: UnmarshalJSON on nil pointer") + } + re.Raw = append(re.Raw[0:0], in...) + return nil +} + +// Marshal may get called on pointers or values, so implement MarshalJSON on value. +// http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go +func (re RawExtension) MarshalJSON() ([]byte, error) { + if re.Raw == nil { + // TODO: this is to support legacy behavior of JSONPrinter and YAMLPrinter, which + // expect to call json.Marshal on arbitrary versioned objects (even those not in + // the scheme). pkg/kubectl/resource#AsVersionedObjects and its interaction with + // kubectl get on objects not in the scheme needs to be updated to ensure that the + // objects that are not part of the scheme are correctly put into the right form. + if re.Object != nil { + return json.Marshal(re.Object) + } + return []byte("null"), nil + } + // TODO: Check whether ContentType is actually JSON before returning it. + return re.Raw, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/extension_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/extension_test.go new file mode 100644 index 00000000000..9523f3144fc --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/extension_test.go @@ -0,0 +1,39 @@ +/* +Copyright 2014 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 runtime_test + +import ( + "encoding/json" + "testing" + + "k8s.io/apimachinery/pkg/runtime" +) + +func TestEmbeddedRawExtensionMarshal(t *testing.T) { + type test struct { + Ext runtime.RawExtension + } + + extension := test{Ext: runtime.RawExtension{Raw: []byte(`{"foo":"bar"}`)}} + data, err := json.Marshal(extension) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if string(data) != `{"Ext":{"foo":"bar"}}` { + t.Errorf("unexpected data: %s", string(data)) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go new file mode 100644 index 00000000000..ea003e163f7 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go @@ -0,0 +1,767 @@ +/* +Copyright 2017 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. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/apimachinery/pkg/runtime/generated.proto +// DO NOT EDIT! + +/* + Package runtime is a generated protocol buffer package. + + It is generated from these files: + k8s.io/apimachinery/pkg/runtime/generated.proto + + It has these top-level messages: + RawExtension + TypeMeta + Unknown +*/ +package runtime + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +const _ = proto.GoGoProtoPackageIsVersion1 + +func (m *RawExtension) Reset() { *m = RawExtension{} } +func (*RawExtension) ProtoMessage() {} +func (*RawExtension) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *TypeMeta) Reset() { *m = TypeMeta{} } +func (*TypeMeta) ProtoMessage() {} +func (*TypeMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *Unknown) Reset() { *m = Unknown{} } +func (*Unknown) ProtoMessage() {} +func (*Unknown) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func init() { + proto.RegisterType((*RawExtension)(nil), "k8s.io.kubernetes.pkg.runtime.RawExtension") + proto.RegisterType((*TypeMeta)(nil), "k8s.io.kubernetes.pkg.runtime.TypeMeta") + proto.RegisterType((*Unknown)(nil), "k8s.io.kubernetes.pkg.runtime.Unknown") +} +func (m *RawExtension) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *RawExtension) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Raw != nil { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Raw))) + i += copy(data[i:], m.Raw) + } + return i, nil +} + +func (m *TypeMeta) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *TypeMeta) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.APIVersion))) + i += copy(data[i:], m.APIVersion) + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Kind))) + i += copy(data[i:], m.Kind) + return i, nil +} + +func (m *Unknown) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *Unknown) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n1, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n1 + if m.Raw != nil { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.Raw))) + i += copy(data[i:], m.Raw) + } + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ContentEncoding))) + i += copy(data[i:], m.ContentEncoding) + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ContentType))) + i += copy(data[i:], m.ContentType) + return i, nil +} + +func encodeFixed64Generated(data []byte, offset int, v uint64) int { + data[offset] = uint8(v) + data[offset+1] = uint8(v >> 8) + data[offset+2] = uint8(v >> 16) + data[offset+3] = uint8(v >> 24) + data[offset+4] = uint8(v >> 32) + data[offset+5] = uint8(v >> 40) + data[offset+6] = uint8(v >> 48) + data[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(data []byte, offset int, v uint32) int { + data[offset] = uint8(v) + data[offset+1] = uint8(v >> 8) + data[offset+2] = uint8(v >> 16) + data[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(data []byte, offset int, v uint64) int { + for v >= 1<<7 { + data[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + data[offset] = uint8(v) + return offset + 1 +} +func (m *RawExtension) Size() (n int) { + var l int + _ = l + if m.Raw != nil { + l = len(m.Raw) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *TypeMeta) Size() (n int) { + var l int + _ = l + l = len(m.APIVersion) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *Unknown) Size() (n int) { + var l int + _ = l + l = m.TypeMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Raw != nil { + l = len(m.Raw) + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.ContentEncoding) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ContentType) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *RawExtension) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RawExtension{`, + `Raw:` + valueToStringGenerated(this.Raw) + `,`, + `}`, + }, "") + return s +} +func (this *TypeMeta) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TypeMeta{`, + `APIVersion:` + fmt.Sprintf("%v", this.APIVersion) + `,`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `}`, + }, "") + return s +} +func (this *Unknown) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Unknown{`, + `TypeMeta:` + strings.Replace(strings.Replace(this.TypeMeta.String(), "TypeMeta", "TypeMeta", 1), `&`, ``, 1) + `,`, + `Raw:` + valueToStringGenerated(this.Raw) + `,`, + `ContentEncoding:` + fmt.Sprintf("%v", this.ContentEncoding) + `,`, + `ContentType:` + fmt.Sprintf("%v", this.ContentType) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *RawExtension) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RawExtension: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RawExtension: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Raw = append(m.Raw[:0], data[iNdEx:postIndex]...) + if m.Raw == nil { + m.Raw = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TypeMeta) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TypeMeta: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TypeMeta: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field APIVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.APIVersion = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Unknown) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Unknown: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Unknown: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TypeMeta.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Raw = append(m.Raw[:0], data[iNdEx:postIndex]...) + if m.Raw == nil { + m.Raw = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContentEncoding", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContentEncoding = string(data[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContentType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContentType = string(data[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(data []byte) (n int, err error) { + l := len(data) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if data[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(data[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +var fileDescriptorGenerated = []byte{ + // 388 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x90, 0x3f, 0x8f, 0xda, 0x30, + 0x18, 0xc6, 0x13, 0x40, 0x82, 0x1a, 0x24, 0x2a, 0x77, 0x68, 0x8a, 0x54, 0x83, 0x58, 0x5a, 0x06, + 0x6c, 0x15, 0xa9, 0x52, 0x57, 0x82, 0x18, 0xaa, 0xaa, 0x52, 0x65, 0x95, 0x0e, 0x9d, 0x1a, 0x12, + 0x37, 0xb5, 0x52, 0xec, 0xc8, 0x71, 0x94, 0x76, 0xeb, 0x47, 0xe8, 0xc7, 0x62, 0x64, 0xbc, 0x09, + 0x1d, 0xb9, 0xcf, 0x70, 0xfb, 0x09, 0x63, 0xfe, 0x1c, 0xa0, 0xdb, 0xe2, 0xf7, 0xf9, 0x3d, 0xcf, + 0xfb, 0xbc, 0x01, 0xc3, 0xe4, 0x43, 0x86, 0xb9, 0x24, 0x49, 0x3e, 0x67, 0x4a, 0x30, 0xcd, 0x32, + 0x92, 0x26, 0x31, 0x51, 0xb9, 0xd0, 0x7c, 0xc1, 0x48, 0xcc, 0x04, 0x53, 0x81, 0x66, 0x11, 0x4e, + 0x95, 0xd4, 0x12, 0xbe, 0xde, 0xe1, 0xf8, 0x88, 0xe3, 0x34, 0x89, 0xb1, 0xc5, 0x3b, 0xc3, 0x98, + 0xeb, 0x5f, 0xf9, 0x1c, 0x87, 0x72, 0x41, 0x62, 0x19, 0x4b, 0x62, 0x5c, 0xf3, 0xfc, 0xa7, 0x79, + 0x99, 0x87, 0xf9, 0xda, 0xa5, 0x75, 0x46, 0xd7, 0x97, 0x07, 0x29, 0x27, 0x8a, 0x65, 0x32, 0x57, + 0xe1, 0x45, 0x83, 0xce, 0xbb, 0xeb, 0x9e, 0x5c, 0xf3, 0xdf, 0x84, 0x0b, 0x9d, 0x69, 0x75, 0x6e, + 0xe9, 0x0f, 0x40, 0x8b, 0x06, 0xc5, 0xf4, 0x8f, 0x66, 0x22, 0xe3, 0x52, 0xc0, 0x57, 0xa0, 0xaa, + 0x82, 0xc2, 0x73, 0x7b, 0xee, 0xdb, 0x96, 0x5f, 0x2f, 0xd7, 0xdd, 0x2a, 0x0d, 0x0a, 0xba, 0x9d, + 0xf5, 0x7f, 0x80, 0xc6, 0xd7, 0xbf, 0x29, 0xfb, 0xcc, 0x74, 0x00, 0x47, 0x00, 0x04, 0x29, 0xff, + 0xc6, 0xd4, 0xd6, 0x64, 0xe8, 0x67, 0x3e, 0x5c, 0xae, 0xbb, 0x4e, 0xb9, 0xee, 0x82, 0xf1, 0x97, + 0x8f, 0x56, 0xa1, 0x27, 0x14, 0xec, 0x81, 0x5a, 0xc2, 0x45, 0xe4, 0x55, 0x0c, 0xdd, 0xb2, 0x74, + 0xed, 0x13, 0x17, 0x11, 0x35, 0x4a, 0xff, 0xde, 0x05, 0xf5, 0x99, 0x48, 0x84, 0x2c, 0x04, 0x9c, + 0x81, 0x86, 0xb6, 0xdb, 0x4c, 0x7e, 0x73, 0xf4, 0x06, 0x3f, 0xf9, 0x83, 0xf1, 0xbe, 0x9c, 0xff, + 0xdc, 0x46, 0x1f, 0xea, 0xd2, 0x43, 0xd4, 0xfe, 0xbe, 0xca, 0xe5, 0x7d, 0x70, 0x0c, 0xda, 0xa1, + 0x14, 0x9a, 0x09, 0x3d, 0x15, 0xa1, 0x8c, 0xb8, 0x88, 0xbd, 0xaa, 0xa9, 0xfa, 0xd2, 0xe6, 0xb5, + 0x27, 0x8f, 0x65, 0x7a, 0xce, 0xc3, 0xf7, 0xa0, 0x69, 0x47, 0xdb, 0xd5, 0x5e, 0xcd, 0xd8, 0x5f, + 0x58, 0x7b, 0x73, 0x72, 0x94, 0xe8, 0x29, 0xe7, 0x0f, 0x96, 0x1b, 0xe4, 0xac, 0x36, 0xc8, 0xb9, + 0xd9, 0x20, 0xe7, 0x5f, 0x89, 0xdc, 0x65, 0x89, 0xdc, 0x55, 0x89, 0xdc, 0xdb, 0x12, 0xb9, 0xff, + 0xef, 0x90, 0xf3, 0xbd, 0x6e, 0x8f, 0x7c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x32, 0xc1, 0x73, 0x2d, + 0x94, 0x02, 0x00, 0x00, +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto new file mode 100644 index 00000000000..a2b0800b023 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto @@ -0,0 +1,129 @@ +/* +Copyright 2017 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. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package k8s.io.kubernetes.pkg.runtime; + +import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "runtime"; + +// RawExtension is used to hold extensions in external versions. +// +// To use this, make a field which has RawExtension as its type in your external, versioned +// struct, and Object in your internal struct. You also need to register your +// various plugin types. +// +// // Internal package: +// type MyAPIObject struct { +// runtime.TypeMeta `json:",inline"` +// MyPlugin runtime.Object `json:"myPlugin"` +// } +// type PluginA struct { +// AOption string `json:"aOption"` +// } +// +// // External package: +// type MyAPIObject struct { +// runtime.TypeMeta `json:",inline"` +// MyPlugin runtime.RawExtension `json:"myPlugin"` +// } +// type PluginA struct { +// AOption string `json:"aOption"` +// } +// +// // On the wire, the JSON will look something like this: +// { +// "kind":"MyAPIObject", +// "apiVersion":"v1", +// "myPlugin": { +// "kind":"PluginA", +// "aOption":"foo", +// }, +// } +// +// So what happens? Decode first uses json or yaml to unmarshal the serialized data into +// your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. +// The next step is to copy (using pkg/conversion) into the internal struct. The runtime +// package's DefaultScheme has conversion functions installed which will unpack the +// JSON stored in RawExtension, turning it into the correct object type, and storing it +// in the Object. (TODO: In the case where the object is of an unknown type, a +// runtime.Unknown object will be created and stored.) +// +// +k8s:deepcopy-gen=true +// +protobuf=true +// +k8s:openapi-gen=true +message RawExtension { + // Raw is the underlying serialization of this object. + // + // TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data. + optional bytes raw = 1; +} + +// TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, +// like this: +// type MyAwesomeAPIObject struct { +// runtime.TypeMeta `json:",inline"` +// ... // other fields +// } +// func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind +// +// TypeMeta is provided here for convenience. You may use it directly from this package or define +// your own with the same fields. +// +// +k8s:deepcopy-gen=true +// +protobuf=true +// +k8s:openapi-gen=true +message TypeMeta { + // +optional + optional string apiVersion = 1; + + // +optional + optional string kind = 2; +} + +// Unknown allows api objects with unknown types to be passed-through. This can be used +// to deal with the API objects from a plug-in. Unknown objects still have functioning +// TypeMeta features-- kind, version, etc. +// TODO: Make this object have easy access to field based accessors and settors for +// metadata and field mutatation. +// +// +k8s:deepcopy-gen=true +// +protobuf=true +// +k8s:openapi-gen=true +message Unknown { + optional TypeMeta typeMeta = 1; + + // Raw will hold the complete serialized object which couldn't be matched + // with a registered type. Most likely, nothing should be done with this + // except for passing it through the system. + optional bytes raw = 2; + + // ContentEncoding is encoding used to encode 'Raw' data. + // Unspecified means no encoding. + optional string contentEncoding = 3; + + // ContentType is serialization method used to serialize 'Raw'. + // Unspecified means ContentTypeJSON. + optional string contentType = 4; +} + diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/helper.go b/staging/src/k8s.io/apimachinery/pkg/runtime/helper.go new file mode 100644 index 00000000000..a6c1a8d34d1 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/helper.go @@ -0,0 +1,212 @@ +/* +Copyright 2014 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 runtime + +import ( + "fmt" + "io" + "reflect" + + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/errors" +) + +// unsafeObjectConvertor implements ObjectConvertor using the unsafe conversion path. +type unsafeObjectConvertor struct { + *Scheme +} + +var _ ObjectConvertor = unsafeObjectConvertor{} + +// ConvertToVersion converts in to the provided outVersion without copying the input first, which +// is only safe if the output object is not mutated or reused. +func (c unsafeObjectConvertor) ConvertToVersion(in Object, outVersion GroupVersioner) (Object, error) { + return c.Scheme.UnsafeConvertToVersion(in, outVersion) +} + +// UnsafeObjectConvertor performs object conversion without copying the object structure, +// for use when the converted object will not be reused or mutated. Primarily for use within +// versioned codecs, which use the external object for serialization but do not return it. +func UnsafeObjectConvertor(scheme *Scheme) ObjectConvertor { + return unsafeObjectConvertor{scheme} +} + +// SetField puts the value of src, into fieldName, which must be a member of v. +// The value of src must be assignable to the field. +func SetField(src interface{}, v reflect.Value, fieldName string) error { + field := v.FieldByName(fieldName) + if !field.IsValid() { + return fmt.Errorf("couldn't find %v field in %#v", fieldName, v.Interface()) + } + srcValue := reflect.ValueOf(src) + if srcValue.Type().AssignableTo(field.Type()) { + field.Set(srcValue) + return nil + } + if srcValue.Type().ConvertibleTo(field.Type()) { + field.Set(srcValue.Convert(field.Type())) + return nil + } + return fmt.Errorf("couldn't assign/convert %v to %v", srcValue.Type(), field.Type()) +} + +// Field puts the value of fieldName, which must be a member of v, into dest, +// which must be a variable to which this field's value can be assigned. +func Field(v reflect.Value, fieldName string, dest interface{}) error { + field := v.FieldByName(fieldName) + if !field.IsValid() { + return fmt.Errorf("couldn't find %v field in %#v", fieldName, v.Interface()) + } + destValue, err := conversion.EnforcePtr(dest) + if err != nil { + return err + } + if field.Type().AssignableTo(destValue.Type()) { + destValue.Set(field) + return nil + } + if field.Type().ConvertibleTo(destValue.Type()) { + destValue.Set(field.Convert(destValue.Type())) + return nil + } + return fmt.Errorf("couldn't assign/convert %v to %v", field.Type(), destValue.Type()) +} + +// fieldPtr puts the address of fieldName, which must be a member of v, +// into dest, which must be an address of a variable to which this field's +// address can be assigned. +func FieldPtr(v reflect.Value, fieldName string, dest interface{}) error { + field := v.FieldByName(fieldName) + if !field.IsValid() { + return fmt.Errorf("couldn't find %v field in %#v", fieldName, v.Interface()) + } + v, err := conversion.EnforcePtr(dest) + if err != nil { + return err + } + field = field.Addr() + if field.Type().AssignableTo(v.Type()) { + v.Set(field) + return nil + } + if field.Type().ConvertibleTo(v.Type()) { + v.Set(field.Convert(v.Type())) + return nil + } + return fmt.Errorf("couldn't assign/convert %v to %v", field.Type(), v.Type()) +} + +// EncodeList ensures that each object in an array is converted to a Unknown{} in serialized form. +// TODO: accept a content type. +func EncodeList(e Encoder, objects []Object) error { + var errs []error + for i := range objects { + data, err := Encode(e, objects[i]) + if err != nil { + errs = append(errs, err) + continue + } + // TODO: Set ContentEncoding and ContentType. + objects[i] = &Unknown{Raw: data} + } + return errors.NewAggregate(errs) +} + +func decodeListItem(obj *Unknown, decoders []Decoder) (Object, error) { + for _, decoder := range decoders { + // TODO: Decode based on ContentType. + obj, err := Decode(decoder, obj.Raw) + if err != nil { + if IsNotRegisteredError(err) { + continue + } + return nil, err + } + return obj, nil + } + // could not decode, so leave the object as Unknown, but give the decoders the + // chance to set Unknown.TypeMeta if it is available. + for _, decoder := range decoders { + if err := DecodeInto(decoder, obj.Raw, obj); err == nil { + return obj, nil + } + } + return obj, nil +} + +// DecodeList alters the list in place, attempting to decode any objects found in +// the list that have the Unknown type. Any errors that occur are returned +// after the entire list is processed. Decoders are tried in order. +func DecodeList(objects []Object, decoders ...Decoder) []error { + errs := []error(nil) + for i, obj := range objects { + switch t := obj.(type) { + case *Unknown: + decoded, err := decodeListItem(t, decoders) + if err != nil { + errs = append(errs, err) + break + } + objects[i] = decoded + } + } + return errs +} + +// MultiObjectTyper returns the types of objects across multiple schemes in order. +type MultiObjectTyper []ObjectTyper + +var _ ObjectTyper = MultiObjectTyper{} + +func (m MultiObjectTyper) ObjectKinds(obj Object) (gvks []schema.GroupVersionKind, unversionedType bool, err error) { + for _, t := range m { + gvks, unversionedType, err = t.ObjectKinds(obj) + if err == nil { + return + } + } + return +} + +func (m MultiObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { + for _, t := range m { + if t.Recognizes(gvk) { + return true + } + } + return false +} + +// SetZeroValue would set the object of objPtr to zero value of its type. +func SetZeroValue(objPtr Object) error { + v, err := conversion.EnforcePtr(objPtr) + if err != nil { + return err + } + v.Set(reflect.Zero(v.Type())) + return nil +} + +// DefaultFramer is valid for any stream that can read objects serially without +// any separation in the stream. +var DefaultFramer = defaultFramer{} + +type defaultFramer struct{} + +func (defaultFramer) NewFrameReader(r io.ReadCloser) io.ReadCloser { return r } +func (defaultFramer) NewFrameWriter(w io.Writer) io.Writer { return w } diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go b/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go new file mode 100644 index 00000000000..fcb18ba111f --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/interfaces.go @@ -0,0 +1,251 @@ +/* +Copyright 2014 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 runtime + +import ( + "io" + "net/url" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +const ( + // APIVersionInternal may be used if you are registering a type that should not + // be considered stable or serialized - it is a convention only and has no + // special behavior in this package. + APIVersionInternal = "__internal" +) + +// GroupVersioner refines a set of possible conversion targets into a single option. +type GroupVersioner interface { + // KindForGroupVersionKinds returns a desired target group version kind for the given input, or returns ok false if no + // target is known. In general, if the return target is not in the input list, the caller is expected to invoke + // Scheme.New(target) and then perform a conversion between the current Go type and the destination Go type. + // Sophisticated implementations may use additional information about the input kinds to pick a destination kind. + KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (target schema.GroupVersionKind, ok bool) +} + +// Encoders write objects to a serialized form +type Encoder interface { + // Encode writes an object to a stream. Implementations may return errors if the versions are + // incompatible, or if no conversion is defined. + Encode(obj Object, w io.Writer) error +} + +// Decoders attempt to load an object from data. +type Decoder interface { + // Decode attempts to deserialize the provided data using either the innate typing of the scheme or the + // default kind, group, and version provided. It returns a decoded object as well as the kind, group, and + // version from the serialized data, or an error. If into is non-nil, it will be used as the target type + // and implementations may choose to use it rather than reallocating an object. However, the object is not + // guaranteed to be populated. The returned object is not guaranteed to match into. If defaults are + // provided, they are applied to the data by default. If no defaults or partial defaults are provided, the + // type of the into may be used to guide conversion decisions. + Decode(data []byte, defaults *schema.GroupVersionKind, into Object) (Object, *schema.GroupVersionKind, error) +} + +// Serializer is the core interface for transforming objects into a serialized format and back. +// Implementations may choose to perform conversion of the object, but no assumptions should be made. +type Serializer interface { + Encoder + Decoder +} + +// Codec is a Serializer that deals with the details of versioning objects. It offers the same +// interface as Serializer, so this is a marker to consumers that care about the version of the objects +// they receive. +type Codec Serializer + +// ParameterCodec defines methods for serializing and deserializing API objects to url.Values and +// performing any necessary conversion. Unlike the normal Codec, query parameters are not self describing +// and the desired version must be specified. +type ParameterCodec interface { + // DecodeParameters takes the given url.Values in the specified group version and decodes them + // into the provided object, or returns an error. + DecodeParameters(parameters url.Values, from schema.GroupVersion, into Object) error + // EncodeParameters encodes the provided object as query parameters or returns an error. + EncodeParameters(obj Object, to schema.GroupVersion) (url.Values, error) +} + +// Framer is a factory for creating readers and writers that obey a particular framing pattern. +type Framer interface { + NewFrameReader(r io.ReadCloser) io.ReadCloser + NewFrameWriter(w io.Writer) io.Writer +} + +// SerializerInfo contains information about a specific serialization format +type SerializerInfo struct { + // MediaType is the value that represents this serializer over the wire. + MediaType string + // EncodesAsText indicates this serializer can be encoded to UTF-8 safely. + EncodesAsText bool + // Serializer is the individual object serializer for this media type. + Serializer Serializer + // PrettySerializer, if set, can serialize this object in a form biased towards + // readability. + PrettySerializer Serializer + // StreamSerializer, if set, describes the streaming serialization format + // for this media type. + StreamSerializer *StreamSerializerInfo +} + +// StreamSerializerInfo contains information about a specific stream serialization format +type StreamSerializerInfo struct { + // EncodesAsText indicates this serializer can be encoded to UTF-8 safely. + EncodesAsText bool + // Serializer is the top level object serializer for this type when streaming + Serializer + // Framer is the factory for retrieving streams that separate objects on the wire + Framer +} + +// NegotiatedSerializer is an interface used for obtaining encoders, decoders, and serializers +// for multiple supported media types. This would commonly be accepted by a server component +// that performs HTTP content negotiation to accept multiple formats. +type NegotiatedSerializer interface { + // SupportedMediaTypes is the media types supported for reading and writing single objects. + SupportedMediaTypes() []SerializerInfo + + // EncoderForVersion returns an encoder that ensures objects being written to the provided + // serializer are in the provided group version. + EncoderForVersion(serializer Encoder, gv GroupVersioner) Encoder + // DecoderForVersion returns a decoder that ensures objects being read by the provided + // serializer are in the provided group version by default. + DecoderToVersion(serializer Decoder, gv GroupVersioner) Decoder +} + +// StorageSerializer is an interface used for obtaining encoders, decoders, and serializers +// that can read and write data at rest. This would commonly be used by client tools that must +// read files, or server side storage interfaces that persist restful objects. +type StorageSerializer interface { + // SupportedMediaTypes are the media types supported for reading and writing objects. + SupportedMediaTypes() []SerializerInfo + + // UniversalDeserializer returns a Serializer that can read objects in multiple supported formats + // by introspecting the data at rest. + UniversalDeserializer() Decoder + + // EncoderForVersion returns an encoder that ensures objects being written to the provided + // serializer are in the provided group version. + EncoderForVersion(serializer Encoder, gv GroupVersioner) Encoder + // DecoderForVersion returns a decoder that ensures objects being read by the provided + // serializer are in the provided group version by default. + DecoderToVersion(serializer Decoder, gv GroupVersioner) Decoder +} + +// NestedObjectEncoder is an optional interface that objects may implement to be given +// an opportunity to encode any nested Objects / RawExtensions during serialization. +type NestedObjectEncoder interface { + EncodeNestedObjects(e Encoder) error +} + +// NestedObjectDecoder is an optional interface that objects may implement to be given +// an opportunity to decode any nested Objects / RawExtensions during serialization. +type NestedObjectDecoder interface { + DecodeNestedObjects(d Decoder) error +} + +/////////////////////////////////////////////////////////////////////////////// +// Non-codec interfaces + +type ObjectDefaulter interface { + // Default takes an object (must be a pointer) and applies any default values. + // Defaulters may not error. + Default(in Object) +} + +type ObjectVersioner interface { + ConvertToVersion(in Object, gv GroupVersioner) (out Object, err error) +} + +// ObjectConvertor converts an object to a different version. +type ObjectConvertor interface { + // Convert attempts to convert one object into another, or returns an error. This method does + // not guarantee the in object is not mutated. The context argument will be passed to + // all nested conversions. + Convert(in, out, context interface{}) error + // ConvertToVersion takes the provided object and converts it the provided version. This + // method does not guarantee that the in object is not mutated. This method is similar to + // Convert() but handles specific details of choosing the correct output version. + ConvertToVersion(in Object, gv GroupVersioner) (out Object, err error) + ConvertFieldLabel(version, kind, label, value string) (string, string, error) +} + +// ObjectTyper contains methods for extracting the APIVersion and Kind +// of objects. +type ObjectTyper interface { + // ObjectKinds returns the all possible group,version,kind of the provided object, true if + // the object is unversioned, or an error if the object is not recognized + // (IsNotRegisteredError will return true). + ObjectKinds(Object) ([]schema.GroupVersionKind, bool, error) + // Recognizes returns true if the scheme is able to handle the provided version and kind, + // or more precisely that the provided version is a possible conversion or decoding + // target. + Recognizes(gvk schema.GroupVersionKind) bool +} + +// ObjectCreater contains methods for instantiating an object by kind and version. +type ObjectCreater interface { + New(kind schema.GroupVersionKind) (out Object, err error) +} + +// ObjectCopier duplicates an object. +type ObjectCopier interface { + // Copy returns an exact copy of the provided Object, or an error if the + // copy could not be completed. + Copy(Object) (Object, error) +} + +// ResourceVersioner provides methods for setting and retrieving +// the resource version from an API object. +type ResourceVersioner interface { + SetResourceVersion(obj Object, version string) error + ResourceVersion(obj Object) (string, error) +} + +// SelfLinker provides methods for setting and retrieving the SelfLink field of an API object. +type SelfLinker interface { + SetSelfLink(obj Object, selfLink string) error + SelfLink(obj Object) (string, error) + + // Knowing Name is sometimes necessary to use a SelfLinker. + Name(obj Object) (string, error) + // Knowing Namespace is sometimes necessary to use a SelfLinker + Namespace(obj Object) (string, error) +} + +// All API types registered with Scheme must support the Object interface. Since objects in a scheme are +// expected to be serialized to the wire, the interface an Object must provide to the Scheme allows +// serializers to set the kind, version, and group the object is represented as. An Object may choose +// to return a no-op ObjectKindAccessor in cases where it is not expected to be serialized. +type Object interface { + GetObjectKind() schema.ObjectKind +} + +// Unstructured objects store values as map[string]interface{}, with only values that can be serialized +// to JSON allowed. +type Unstructured interface { + // IsUnstructuredObject is a marker interface to allow objects that can be serialized but not introspected + // to bypass conversion. + IsUnstructuredObject() + // IsList returns true if this type is a list or matches the list convention - has an array called "items". + IsList() bool + // UnstructuredContent returns a non-nil, mutable map of the contents of this object. Values may be + // []interface{}, map[string]interface{}, or any primitive type. Contents are typically serialized to + // and from JSON. + UnstructuredContent() map[string]interface{} +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/register.go b/staging/src/k8s.io/apimachinery/pkg/runtime/register.go new file mode 100644 index 00000000000..2ec6db8201f --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/register.go @@ -0,0 +1,61 @@ +/* +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 runtime + +import "k8s.io/apimachinery/pkg/runtime/schema" + +// SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta +func (obj *TypeMeta) SetGroupVersionKind(gvk schema.GroupVersionKind) { + obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind() +} + +// GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta +func (obj *TypeMeta) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.Kind) +} + +func (obj *Unknown) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } + +// GetObjectKind implements Object for VersionedObjects, returning an empty ObjectKind +// interface if no objects are provided, or the ObjectKind interface of the object in the +// highest array position. +func (obj *VersionedObjects) GetObjectKind() schema.ObjectKind { + last := obj.Last() + if last == nil { + return schema.EmptyObjectKind + } + return last.GetObjectKind() +} + +// First returns the leftmost object in the VersionedObjects array, which is usually the +// object as serialized on the wire. +func (obj *VersionedObjects) First() Object { + if len(obj.Objects) == 0 { + return nil + } + return obj.Objects[0] +} + +// Last is the rightmost object in the VersionedObjects array, which is the object after +// all transformations have been applied. This is the same object that would be returned +// by Decode in a normal invocation (without VersionedObjects in the into argument). +func (obj *VersionedObjects) Last() Object { + if len(obj.Objects) == 0 { + return nil + } + return obj.Objects[len(obj.Objects)-1] +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go new file mode 100644 index 00000000000..f882660842c --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go @@ -0,0 +1,58 @@ +/* +Copyright 2017 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. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/apimachinery/pkg/runtime/schema/generated.proto +// DO NOT EDIT! + +/* + Package schema is a generated protocol buffer package. + + It is generated from these files: + k8s.io/apimachinery/pkg/runtime/schema/generated.proto + + It has these top-level messages: +*/ +package schema + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +const _ = proto.GoGoProtoPackageIsVersion1 + +var fileDescriptorGenerated = []byte{ + // 183 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x32, 0xc9, 0xb6, 0x28, 0xd6, + 0xcb, 0xcc, 0xd7, 0xcf, 0x2e, 0x4d, 0x4a, 0x2d, 0xca, 0x4b, 0x2d, 0x49, 0x2d, 0xd6, 0x2f, 0xc8, + 0x4e, 0xd7, 0x2f, 0x2a, 0xcd, 0x2b, 0xc9, 0xcc, 0x4d, 0xd5, 0x2f, 0x4e, 0xce, 0x48, 0xcd, 0x4d, + 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0x4a, 0x2c, 0x49, 0x4d, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, + 0x17, 0x52, 0x81, 0xe8, 0xd2, 0x43, 0xe8, 0xd2, 0x2b, 0xc8, 0x4e, 0xd7, 0x83, 0xea, 0xd2, 0x83, + 0xe8, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0x6b, 0x4e, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0x62, 0xa8, + 0x94, 0x21, 0x76, 0xa7, 0x94, 0x96, 0x64, 0xe6, 0xe8, 0x67, 0xe6, 0x95, 0x14, 0x97, 0x14, 0xa1, + 0xbb, 0xc3, 0x49, 0xe3, 0xc4, 0x43, 0x39, 0x86, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, + 0x68, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, + 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x10, 0xc5, 0x06, 0x71, 0x0b, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8d, + 0x74, 0x75, 0xa7, 0xe8, 0x00, 0x00, 0x00, +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto new file mode 100644 index 00000000000..1563b39bea5 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto @@ -0,0 +1,28 @@ +/* +Copyright 2017 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. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package k8s.io.kubernetes.pkg.runtime.schema; + +import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "schema"; + diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/group_version.go b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/group_version.go new file mode 100644 index 00000000000..1a9bba10603 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/group_version.go @@ -0,0 +1,277 @@ +/* +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 schema + +import ( + "fmt" + "strings" +) + +// ParseResourceArg takes the common style of string which may be either `resource.group.com` or `resource.version.group.com` +// and parses it out into both possibilities. This code takes no responsibility for knowing which representation was intended +// but with a knowledge of all GroupVersions, calling code can take a very good guess. If there are only two segments, then +// `*GroupVersionResource` is nil. +// `resource.group.com` -> `group=com, version=group, resource=resource` and `group=group.com, resource=resource` +func ParseResourceArg(arg string) (*GroupVersionResource, GroupResource) { + var gvr *GroupVersionResource + if strings.Count(arg, ".") >= 2 { + s := strings.SplitN(arg, ".", 3) + gvr = &GroupVersionResource{Group: s[2], Version: s[1], Resource: s[0]} + } + + return gvr, ParseGroupResource(arg) +} + +// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +type GroupResource struct { + Group string + Resource string +} + +func (gr GroupResource) WithVersion(version string) GroupVersionResource { + return GroupVersionResource{Group: gr.Group, Version: version, Resource: gr.Resource} +} + +func (gr GroupResource) Empty() bool { + return len(gr.Group) == 0 && len(gr.Resource) == 0 +} + +func (gr *GroupResource) String() string { + if len(gr.Group) == 0 { + return gr.Resource + } + return gr.Resource + "." + gr.Group +} + +// ParseGroupResource turns "resource.group" string into a GroupResource struct. Empty strings are allowed +// for each field. +func ParseGroupResource(gr string) GroupResource { + if i := strings.Index(gr, "."); i == -1 { + return GroupResource{Resource: gr} + } else { + return GroupResource{Group: gr[i+1:], Resource: gr[:i]} + } +} + +// GroupVersionResource unambiguously identifies a resource. It doesn't anonymously include GroupVersion +// to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling +type GroupVersionResource struct { + Group string + Version string + Resource string +} + +func (gvr GroupVersionResource) Empty() bool { + return len(gvr.Group) == 0 && len(gvr.Version) == 0 && len(gvr.Resource) == 0 +} + +func (gvr GroupVersionResource) GroupResource() GroupResource { + return GroupResource{Group: gvr.Group, Resource: gvr.Resource} +} + +func (gvr GroupVersionResource) GroupVersion() GroupVersion { + return GroupVersion{Group: gvr.Group, Version: gvr.Version} +} + +func (gvr *GroupVersionResource) String() string { + return strings.Join([]string{gvr.Group, "/", gvr.Version, ", Resource=", gvr.Resource}, "") +} + +// GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying +// concepts during lookup stages without having partially valid types +type GroupKind struct { + Group string + Kind string +} + +func (gk GroupKind) Empty() bool { + return len(gk.Group) == 0 && len(gk.Kind) == 0 +} + +func (gk GroupKind) WithVersion(version string) GroupVersionKind { + return GroupVersionKind{Group: gk.Group, Version: version, Kind: gk.Kind} +} + +func (gk *GroupKind) String() string { + if len(gk.Group) == 0 { + return gk.Kind + } + return gk.Kind + "." + gk.Group +} + +// GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion +// to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling +type GroupVersionKind struct { + Group string + Version string + Kind string +} + +// Empty returns true if group, version, and kind are empty +func (gvk GroupVersionKind) Empty() bool { + return len(gvk.Group) == 0 && len(gvk.Version) == 0 && len(gvk.Kind) == 0 +} + +func (gvk GroupVersionKind) GroupKind() GroupKind { + return GroupKind{Group: gvk.Group, Kind: gvk.Kind} +} + +func (gvk GroupVersionKind) GroupVersion() GroupVersion { + return GroupVersion{Group: gvk.Group, Version: gvk.Version} +} + +func (gvk GroupVersionKind) String() string { + return gvk.Group + "/" + gvk.Version + ", Kind=" + gvk.Kind +} + +// GroupVersion contains the "group" and the "version", which uniquely identifies the API. +type GroupVersion struct { + Group string + Version string +} + +// Empty returns true if group and version are empty +func (gv GroupVersion) Empty() bool { + return len(gv.Group) == 0 && len(gv.Version) == 0 +} + +// String puts "group" and "version" into a single "group/version" string. For the legacy v1 +// it returns "v1". +func (gv GroupVersion) String() string { + // special case the internal apiVersion for the legacy kube types + if gv.Empty() { + return "" + } + + // special case of "v1" for backward compatibility + if len(gv.Group) == 0 && gv.Version == "v1" { + return gv.Version + } + if len(gv.Group) > 0 { + return gv.Group + "/" + gv.Version + } + return gv.Version +} + +// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false +// if none of the options match the group. It prefers a match to group and version over just group. +// TODO: Move GroupVersion to a package under pkg/runtime, since it's used by scheme. +// TODO: Introduce an adapter type between GroupVersion and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) +// in fewer places. +func (gv GroupVersion) KindForGroupVersionKinds(kinds []GroupVersionKind) (target GroupVersionKind, ok bool) { + for _, gvk := range kinds { + if gvk.Group == gv.Group && gvk.Version == gv.Version { + return gvk, true + } + } + for _, gvk := range kinds { + if gvk.Group == gv.Group { + return gv.WithKind(gvk.Kind), true + } + } + return GroupVersionKind{}, false +} + +// ParseGroupVersion turns "group/version" string into a GroupVersion struct. It reports error +// if it cannot parse the string. +func ParseGroupVersion(gv string) (GroupVersion, error) { + // this can be the internal version for the legacy kube types + // TODO once we've cleared the last uses as strings, this special case should be removed. + if (len(gv) == 0) || (gv == "/") { + return GroupVersion{}, nil + } + + switch strings.Count(gv, "/") { + case 0: + return GroupVersion{"", gv}, nil + case 1: + i := strings.Index(gv, "/") + return GroupVersion{gv[:i], gv[i+1:]}, nil + default: + return GroupVersion{}, fmt.Errorf("unexpected GroupVersion string: %v", gv) + } +} + +// WithKind creates a GroupVersionKind based on the method receiver's GroupVersion and the passed Kind. +func (gv GroupVersion) WithKind(kind string) GroupVersionKind { + return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} +} + +// WithResource creates a GroupVersionResource based on the method receiver's GroupVersion and the passed Resource. +func (gv GroupVersion) WithResource(resource string) GroupVersionResource { + return GroupVersionResource{Group: gv.Group, Version: gv.Version, Resource: resource} +} + +// GroupVersions can be used to represent a set of desired group versions. +// TODO: Move GroupVersions to a package under pkg/runtime, since it's used by scheme. +// TODO: Introduce an adapter type between GroupVersions and runtime.GroupVersioner, and use LegacyCodec(GroupVersion) +// in fewer places. +type GroupVersions []GroupVersion + +// KindForGroupVersionKinds identifies the preferred GroupVersionKind out of a list. It returns ok false +// if none of the options match the group. +func (gvs GroupVersions) KindForGroupVersionKinds(kinds []GroupVersionKind) (GroupVersionKind, bool) { + var targets []GroupVersionKind + for _, gv := range gvs { + target, ok := gv.KindForGroupVersionKinds(kinds) + if !ok { + continue + } + targets = append(targets, target) + } + if len(targets) == 1 { + return targets[0], true + } + if len(targets) > 1 { + return bestMatch(kinds, targets), true + } + return GroupVersionKind{}, false +} + +// bestMatch tries to pick best matching GroupVersionKind and falls back to the first +// found if no exact match exists. +func bestMatch(kinds []GroupVersionKind, targets []GroupVersionKind) GroupVersionKind { + for _, gvk := range targets { + for _, k := range kinds { + if k == gvk { + return k + } + } + } + return targets[0] +} + +// ToAPIVersionAndKind is a convenience method for satisfying runtime.Object on types that +// do not use TypeMeta. +func (gvk *GroupVersionKind) ToAPIVersionAndKind() (string, string) { + if gvk == nil { + return "", "" + } + return gvk.GroupVersion().String(), gvk.Kind +} + +// FromAPIVersionAndKind returns a GVK representing the provided fields for types that +// do not use TypeMeta. This method exists to support test types and legacy serializations +// that have a distinct group and kind. +// TODO: further reduce usage of this method. +func FromAPIVersionAndKind(apiVersion, kind string) GroupVersionKind { + if gv, err := ParseGroupVersion(apiVersion); err == nil { + return GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: kind} + } + return GroupVersionKind{Kind: kind} +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/group_version_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/group_version_test.go new file mode 100644 index 00000000000..51f26df7fef --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/group_version_test.go @@ -0,0 +1,136 @@ +/* +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 schema + +import ( + "testing" +) + +func TestGroupVersionParse(t *testing.T) { + tests := []struct { + input string + out GroupVersion + err func(error) bool + }{ + {input: "v1", out: GroupVersion{Version: "v1"}}, + {input: "v2", out: GroupVersion{Version: "v2"}}, + {input: "/v1", out: GroupVersion{Version: "v1"}}, + {input: "v1/", out: GroupVersion{Group: "v1"}}, + {input: "/v1/", err: func(err error) bool { return err.Error() == "unexpected GroupVersion string: /v1/" }}, + {input: "v1/a", out: GroupVersion{Group: "v1", Version: "a"}}, + } + for i, test := range tests { + out, err := ParseGroupVersion(test.input) + if test.err == nil && err != nil || err == nil && test.err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if test.err != nil && !test.err(err) { + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if out != test.out { + t.Errorf("%d: unexpected output: %#v", i, out) + } + } +} + +func TestGroupResourceParse(t *testing.T) { + tests := []struct { + input string + out GroupResource + }{ + {input: "v1", out: GroupResource{Resource: "v1"}}, + {input: ".v1", out: GroupResource{Group: "v1"}}, + {input: "v1.", out: GroupResource{Resource: "v1"}}, + {input: "v1.a", out: GroupResource{Group: "a", Resource: "v1"}}, + {input: "b.v1.a", out: GroupResource{Group: "v1.a", Resource: "b"}}, + } + for i, test := range tests { + out := ParseGroupResource(test.input) + if out != test.out { + t.Errorf("%d: unexpected output: %#v", i, out) + } + } +} + +func TestParseResourceArg(t *testing.T) { + tests := []struct { + input string + gvr *GroupVersionResource + gr GroupResource + }{ + {input: "v1", gr: GroupResource{Resource: "v1"}}, + {input: ".v1", gr: GroupResource{Group: "v1"}}, + {input: "v1.", gr: GroupResource{Resource: "v1"}}, + {input: "v1.a", gr: GroupResource{Group: "a", Resource: "v1"}}, + {input: "b.v1.a", gvr: &GroupVersionResource{Group: "a", Version: "v1", Resource: "b"}, gr: GroupResource{Group: "v1.a", Resource: "b"}}, + } + for i, test := range tests { + gvr, gr := ParseResourceArg(test.input) + if (gvr != nil && test.gvr == nil) || (gvr == nil && test.gvr != nil) || (test.gvr != nil && *gvr != *test.gvr) { + t.Errorf("%d: unexpected output: %#v", i, gvr) + } + if gr != test.gr { + t.Errorf("%d: unexpected output: %#v", i, gr) + } + } +} + +func TestKindForGroupVersionKinds(t *testing.T) { + gvks := GroupVersions{ + GroupVersion{Group: "batch", Version: "v1"}, + GroupVersion{Group: "batch", Version: "v2alpha1"}, + GroupVersion{Group: "policy", Version: "v1beta1"}, + } + cases := []struct { + input []GroupVersionKind + target GroupVersionKind + ok bool + }{ + { + input: []GroupVersionKind{{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}}, + target: GroupVersionKind{Group: "batch", Version: "v2alpha1", Kind: "ScheduledJob"}, + ok: true, + }, + { + input: []GroupVersionKind{{Group: "batch", Version: "v3alpha1", Kind: "CronJob"}}, + target: GroupVersionKind{Group: "batch", Version: "v1", Kind: "CronJob"}, + ok: true, + }, + { + input: []GroupVersionKind{{Group: "policy", Version: "v1beta1", Kind: "PodDisruptionBudget"}}, + target: GroupVersionKind{Group: "policy", Version: "v1beta1", Kind: "PodDisruptionBudget"}, + ok: true, + }, + { + input: []GroupVersionKind{{Group: "apps", Version: "v1alpha1", Kind: "StatefulSet"}}, + target: GroupVersionKind{}, + ok: false, + }, + } + + for i, c := range cases { + target, ok := gvks.KindForGroupVersionKinds(c.input) + if c.target != target { + t.Errorf("%d: unexpected target: %v, expected %v", i, target, c.target) + } + if c.ok != ok { + t.Errorf("%d: unexpected ok: %v, expected %v", i, ok, c.ok) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/interfaces.go b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/interfaces.go new file mode 100644 index 00000000000..b5706684587 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/interfaces.go @@ -0,0 +1,40 @@ +/* +Copyright 2016 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 schema + +// All objects that are serialized from a Scheme encode their type information. This interface is used +// by serialization to set type information from the Scheme onto the serialized version of an object. +// For objects that cannot be serialized or have unique requirements, this interface may be a no-op. +type ObjectKind interface { + // SetGroupVersionKind sets or clears the intended serialized kind of an object. Passing kind nil + // should clear the current setting. + SetGroupVersionKind(kind GroupVersionKind) + // GroupVersionKind returns the stored group, version, and kind of an object, or nil if the object does + // not expose or provide these fields. + GroupVersionKind() GroupVersionKind +} + +// EmptyObjectKind implements the ObjectKind interface as a noop +var EmptyObjectKind = emptyObjectKind{} + +type emptyObjectKind struct{} + +// SetGroupVersionKind implements the ObjectKind interface +func (emptyObjectKind) SetGroupVersionKind(gvk GroupVersionKind) {} + +// GroupVersionKind implements the ObjectKind interface +func (emptyObjectKind) GroupVersionKind() GroupVersionKind { return GroupVersionKind{} } diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/scheme.go b/staging/src/k8s.io/apimachinery/pkg/runtime/scheme.go new file mode 100644 index 00000000000..ad260ae491a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/scheme.go @@ -0,0 +1,600 @@ +/* +Copyright 2014 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 runtime + +import ( + "fmt" + "net/url" + "reflect" + + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// Scheme defines methods for serializing and deserializing API objects, a type +// registry for converting group, version, and kind information to and from Go +// schemas, and mappings between Go schemas of different versions. A scheme is the +// foundation for a versioned API and versioned configuration over time. +// +// In a Scheme, a Type is a particular Go struct, a Version is a point-in-time +// identifier for a particular representation of that Type (typically backwards +// compatible), a Kind is the unique name for that Type within the Version, and a +// Group identifies a set of Versions, Kinds, and Types that evolve over time. An +// Unversioned Type is one that is not yet formally bound to a type and is promised +// to be backwards compatible (effectively a "v1" of a Type that does not expect +// to break in the future). +// +// Schemes are not expected to change at runtime and are only threadsafe after +// registration is complete. +type Scheme struct { + // versionMap allows one to figure out the go type of an object with + // the given version and name. + gvkToType map[schema.GroupVersionKind]reflect.Type + + // typeToGroupVersion allows one to find metadata for a given go object. + // The reflect.Type we index by should *not* be a pointer. + typeToGVK map[reflect.Type][]schema.GroupVersionKind + + // unversionedTypes are transformed without conversion in ConvertToVersion. + unversionedTypes map[reflect.Type]schema.GroupVersionKind + + // unversionedKinds are the names of kinds that can be created in the context of any group + // or version + // TODO: resolve the status of unversioned types. + unversionedKinds map[string]reflect.Type + + // Map from version and resource to the corresponding func to convert + // resource field labels in that version to internal version. + fieldLabelConversionFuncs map[string]map[string]FieldLabelConversionFunc + + // defaulterFuncs is an array of interfaces to be called with an object to provide defaulting + // the provided object must be a pointer. + defaulterFuncs map[reflect.Type]func(interface{}) + + // converter stores all registered conversion functions. It also has + // default coverting behavior. + converter *conversion.Converter + + // cloner stores all registered copy functions. It also has default + // deep copy behavior. + cloner *conversion.Cloner +} + +// Function to convert a field selector to internal representation. +type FieldLabelConversionFunc func(label, value string) (internalLabel, internalValue string, err error) + +// NewScheme creates a new Scheme. This scheme is pluggable by default. +func NewScheme() *Scheme { + s := &Scheme{ + gvkToType: map[schema.GroupVersionKind]reflect.Type{}, + typeToGVK: map[reflect.Type][]schema.GroupVersionKind{}, + unversionedTypes: map[reflect.Type]schema.GroupVersionKind{}, + unversionedKinds: map[string]reflect.Type{}, + cloner: conversion.NewCloner(), + fieldLabelConversionFuncs: map[string]map[string]FieldLabelConversionFunc{}, + defaulterFuncs: map[reflect.Type]func(interface{}){}, + } + s.converter = conversion.NewConverter(s.nameFunc) + + s.AddConversionFuncs(DefaultEmbeddedConversions()...) + + // Enable map[string][]string conversions by default + if err := s.AddConversionFuncs(DefaultStringConversions...); err != nil { + panic(err) + } + if err := s.RegisterInputDefaults(&map[string][]string{}, JSONKeyMapper, conversion.AllowDifferentFieldTypeNames|conversion.IgnoreMissingFields); err != nil { + panic(err) + } + if err := s.RegisterInputDefaults(&url.Values{}, JSONKeyMapper, conversion.AllowDifferentFieldTypeNames|conversion.IgnoreMissingFields); err != nil { + panic(err) + } + return s +} + +// nameFunc returns the name of the type that we wish to use to determine when two types attempt +// a conversion. Defaults to the go name of the type if the type is not registered. +func (s *Scheme) nameFunc(t reflect.Type) string { + // find the preferred names for this type + gvks, ok := s.typeToGVK[t] + if !ok { + return t.Name() + } + + for _, gvk := range gvks { + internalGV := gvk.GroupVersion() + internalGV.Version = "__internal" // this is hacky and maybe should be passed in + internalGVK := internalGV.WithKind(gvk.Kind) + + if internalType, exists := s.gvkToType[internalGVK]; exists { + return s.typeToGVK[internalType][0].Kind + } + } + + return gvks[0].Kind +} + +// fromScope gets the input version, desired output version, and desired Scheme +// from a conversion.Scope. +func (s *Scheme) fromScope(scope conversion.Scope) *Scheme { + return s +} + +// Converter allows access to the converter for the scheme +func (s *Scheme) Converter() *conversion.Converter { + return s.converter +} + +// AddUnversionedTypes registers the provided types as "unversioned", which means that they follow special rules. +// Whenever an object of this type is serialized, it is serialized with the provided group version and is not +// converted. Thus unversioned objects are expected to remain backwards compatible forever, as if they were in an +// API group and version that would never be updated. +// +// TODO: there is discussion about removing unversioned and replacing it with objects that are manifest into +// every version with particular schemas. Resolve this method at that point. +func (s *Scheme) AddUnversionedTypes(version schema.GroupVersion, types ...Object) { + s.AddKnownTypes(version, types...) + for _, obj := range types { + t := reflect.TypeOf(obj).Elem() + gvk := version.WithKind(t.Name()) + s.unversionedTypes[t] = gvk + if _, ok := s.unversionedKinds[gvk.Kind]; ok { + panic(fmt.Sprintf("%v has already been registered as unversioned kind %q - kind name must be unique", reflect.TypeOf(t), gvk.Kind)) + } + s.unversionedKinds[gvk.Kind] = t + } +} + +// AddKnownTypes registers all types passed in 'types' as being members of version 'version'. +// All objects passed to types should be pointers to structs. The name that go reports for +// the struct becomes the "kind" field when encoding. Version may not be empty - use the +// APIVersionInternal constant if you have a type that does not have a formal version. +func (s *Scheme) AddKnownTypes(gv schema.GroupVersion, types ...Object) { + if len(gv.Version) == 0 { + panic(fmt.Sprintf("version is required on all types: %s %v", gv, types[0])) + } + for _, obj := range types { + t := reflect.TypeOf(obj) + if t.Kind() != reflect.Ptr { + panic("All types must be pointers to structs.") + } + t = t.Elem() + if t.Kind() != reflect.Struct { + panic("All types must be pointers to structs.") + } + + gvk := gv.WithKind(t.Name()) + s.gvkToType[gvk] = t + s.typeToGVK[t] = append(s.typeToGVK[t], gvk) + } +} + +// AddKnownTypeWithName is like AddKnownTypes, but it lets you specify what this type should +// be encoded as. Useful for testing when you don't want to make multiple packages to define +// your structs. Version may not be empty - use the APIVersionInternal constant if you have a +// type that does not have a formal version. +func (s *Scheme) AddKnownTypeWithName(gvk schema.GroupVersionKind, obj Object) { + t := reflect.TypeOf(obj) + if len(gvk.Version) == 0 { + panic(fmt.Sprintf("version is required on all types: %s %v", gvk, t)) + } + if t.Kind() != reflect.Ptr { + panic("All types must be pointers to structs.") + } + t = t.Elem() + if t.Kind() != reflect.Struct { + panic("All types must be pointers to structs.") + } + + s.gvkToType[gvk] = t + s.typeToGVK[t] = append(s.typeToGVK[t], gvk) +} + +// KnownTypes returns the types known for the given version. +func (s *Scheme) KnownTypes(gv schema.GroupVersion) map[string]reflect.Type { + types := make(map[string]reflect.Type) + for gvk, t := range s.gvkToType { + if gv != gvk.GroupVersion() { + continue + } + + types[gvk.Kind] = t + } + return types +} + +// AllKnownTypes returns the all known types. +func (s *Scheme) AllKnownTypes() map[schema.GroupVersionKind]reflect.Type { + return s.gvkToType +} + +// ObjectKind returns the group,version,kind of the go object and true if this object +// is considered unversioned, or an error if it's not a pointer or is unregistered. +func (s *Scheme) ObjectKind(obj Object) (schema.GroupVersionKind, bool, error) { + gvks, unversionedType, err := s.ObjectKinds(obj) + if err != nil { + return schema.GroupVersionKind{}, false, err + } + return gvks[0], unversionedType, nil +} + +// ObjectKinds returns all possible group,version,kind of the go object, true if the +// object is considered unversioned, or an error if it's not a pointer or is unregistered. +func (s *Scheme) ObjectKinds(obj Object) ([]schema.GroupVersionKind, bool, error) { + v, err := conversion.EnforcePtr(obj) + if err != nil { + return nil, false, err + } + t := v.Type() + + gvks, ok := s.typeToGVK[t] + if !ok { + return nil, false, NewNotRegisteredErr(schema.GroupVersionKind{}, t) + } + _, unversionedType := s.unversionedTypes[t] + + return gvks, unversionedType, nil +} + +// Recognizes returns true if the scheme is able to handle the provided group,version,kind +// of an object. +func (s *Scheme) Recognizes(gvk schema.GroupVersionKind) bool { + _, exists := s.gvkToType[gvk] + return exists +} + +func (s *Scheme) IsUnversioned(obj Object) (bool, bool) { + v, err := conversion.EnforcePtr(obj) + if err != nil { + return false, false + } + t := v.Type() + + if _, ok := s.typeToGVK[t]; !ok { + return false, false + } + _, ok := s.unversionedTypes[t] + return ok, true +} + +// New returns a new API object of the given version and name, or an error if it hasn't +// been registered. The version and kind fields must be specified. +func (s *Scheme) New(kind schema.GroupVersionKind) (Object, error) { + if t, exists := s.gvkToType[kind]; exists { + return reflect.New(t).Interface().(Object), nil + } + + if t, exists := s.unversionedKinds[kind.Kind]; exists { + return reflect.New(t).Interface().(Object), nil + } + return nil, NewNotRegisteredErr(kind, nil) +} + +// AddGenericConversionFunc adds a function that accepts the ConversionFunc call pattern +// (for two conversion types) to the converter. These functions are checked first during +// a normal conversion, but are otherwise not called. Use AddConversionFuncs when registering +// typed conversions. +func (s *Scheme) AddGenericConversionFunc(fn conversion.GenericConversionFunc) { + s.converter.AddGenericConversionFunc(fn) +} + +// Log sets a logger on the scheme. For test purposes only +func (s *Scheme) Log(l conversion.DebugLogger) { + s.converter.Debug = l +} + +// AddIgnoredConversionType identifies a pair of types that should be skipped by +// conversion (because the data inside them is explicitly dropped during +// conversion). +func (s *Scheme) AddIgnoredConversionType(from, to interface{}) error { + return s.converter.RegisterIgnoredConversion(from, to) +} + +// AddConversionFuncs adds functions to the list of conversion functions. The given +// functions should know how to convert between two of your API objects, or their +// sub-objects. We deduce how to call these functions from the types of their two +// parameters; see the comment for Converter.Register. +// +// Note that, if you need to copy sub-objects that didn't change, you can use the +// conversion.Scope object that will be passed to your conversion function. +// Additionally, all conversions started by Scheme will set the SrcVersion and +// DestVersion fields on the Meta object. Example: +// +// s.AddConversionFuncs( +// func(in *InternalObject, out *ExternalObject, scope conversion.Scope) error { +// // You can depend on Meta() being non-nil, and this being set to +// // the source version, e.g., "" +// s.Meta().SrcVersion +// // You can depend on this being set to the destination version, +// // e.g., "v1". +// s.Meta().DestVersion +// // Call scope.Convert to copy sub-fields. +// s.Convert(&in.SubFieldThatMoved, &out.NewLocation.NewName, 0) +// return nil +// }, +// ) +// +// (For more detail about conversion functions, see Converter.Register's comment.) +// +// Also note that the default behavior, if you don't add a conversion function, is to +// sanely copy fields that have the same names and same type names. It's OK if the +// destination type has extra fields, but it must not remove any. So you only need to +// add conversion functions for things with changed/removed fields. +func (s *Scheme) AddConversionFuncs(conversionFuncs ...interface{}) error { + for _, f := range conversionFuncs { + if err := s.converter.RegisterConversionFunc(f); err != nil { + return err + } + } + return nil +} + +// Similar to AddConversionFuncs, but registers conversion functions that were +// automatically generated. +func (s *Scheme) AddGeneratedConversionFuncs(conversionFuncs ...interface{}) error { + for _, f := range conversionFuncs { + if err := s.converter.RegisterGeneratedConversionFunc(f); err != nil { + return err + } + } + return nil +} + +// AddDeepCopyFuncs adds a function to the list of deep-copy functions. +// For the expected format of deep-copy function, see the comment for +// Copier.RegisterDeepCopyFunction. +func (s *Scheme) AddDeepCopyFuncs(deepCopyFuncs ...interface{}) error { + for _, f := range deepCopyFuncs { + if err := s.cloner.RegisterDeepCopyFunc(f); err != nil { + return err + } + } + return nil +} + +// Similar to AddDeepCopyFuncs, but registers deep-copy functions that were +// automatically generated. +func (s *Scheme) AddGeneratedDeepCopyFuncs(deepCopyFuncs ...conversion.GeneratedDeepCopyFunc) error { + for _, fn := range deepCopyFuncs { + if err := s.cloner.RegisterGeneratedDeepCopyFunc(fn); err != nil { + return err + } + } + return nil +} + +// AddFieldLabelConversionFunc adds a conversion function to convert field selectors +// of the given kind from the given version to internal version representation. +func (s *Scheme) AddFieldLabelConversionFunc(version, kind string, conversionFunc FieldLabelConversionFunc) error { + if s.fieldLabelConversionFuncs[version] == nil { + s.fieldLabelConversionFuncs[version] = map[string]FieldLabelConversionFunc{} + } + + s.fieldLabelConversionFuncs[version][kind] = conversionFunc + return nil +} + +// AddStructFieldConversion allows you to specify a mechanical copy for a moved +// or renamed struct field without writing an entire conversion function. See +// the comment in conversion.Converter.SetStructFieldCopy for parameter details. +// Call as many times as needed, even on the same fields. +func (s *Scheme) AddStructFieldConversion(srcFieldType interface{}, srcFieldName string, destFieldType interface{}, destFieldName string) error { + return s.converter.SetStructFieldCopy(srcFieldType, srcFieldName, destFieldType, destFieldName) +} + +// RegisterInputDefaults sets the provided field mapping function and field matching +// as the defaults for the provided input type. The fn may be nil, in which case no +// mapping will happen by default. Use this method to register a mechanism for handling +// a specific input type in conversion, such as a map[string]string to structs. +func (s *Scheme) RegisterInputDefaults(in interface{}, fn conversion.FieldMappingFunc, defaultFlags conversion.FieldMatchingFlags) error { + return s.converter.RegisterInputDefaults(in, fn, defaultFlags) +} + +// AddDefaultingFuncs adds functions to the list of default-value functions. +// Each of the given functions is responsible for applying default values +// when converting an instance of a versioned API object into an internal +// API object. These functions do not need to handle sub-objects. We deduce +// how to call these functions from the types of their two parameters. +// +// s.AddDefaultingFuncs( +// func(obj *v1.Pod) { +// if obj.OptionalField == "" { +// obj.OptionalField = "DefaultValue" +// } +// }, +// ) +func (s *Scheme) AddDefaultingFuncs(defaultingFuncs ...interface{}) error { + for _, f := range defaultingFuncs { + err := s.converter.RegisterDefaultingFunc(f) + if err != nil { + return err + } + } + return nil +} + +// AddTypeDefaultingFuncs registers a function that is passed a pointer to an +// object and can default fields on the object. These functions will be invoked +// when Default() is called. The function will never be called unless the +// defaulted object matches srcType. If this function is invoked twice with the +// same srcType, the fn passed to the later call will be used instead. +func (s *Scheme) AddTypeDefaultingFunc(srcType Object, fn func(interface{})) { + s.defaulterFuncs[reflect.TypeOf(srcType)] = fn +} + +// Default sets defaults on the provided Object. +func (s *Scheme) Default(src Object) { + if fn, ok := s.defaulterFuncs[reflect.TypeOf(src)]; ok { + fn(src) + } +} + +// Copy does a deep copy of an API object. +func (s *Scheme) Copy(src Object) (Object, error) { + dst, err := s.DeepCopy(src) + if err != nil { + return nil, err + } + return dst.(Object), nil +} + +// Performs a deep copy of the given object. +func (s *Scheme) DeepCopy(src interface{}) (interface{}, error) { + return s.cloner.DeepCopy(src) +} + +// Convert will attempt to convert in into out. Both must be pointers. For easy +// testing of conversion functions. Returns an error if the conversion isn't +// possible. You can call this with types that haven't been registered (for example, +// a to test conversion of types that are nested within registered types). The +// context interface is passed to the convertor. +// TODO: identify whether context should be hidden, or behind a formal context/scope +// interface +func (s *Scheme) Convert(in, out interface{}, context interface{}) error { + flags, meta := s.generateConvertMeta(in) + meta.Context = context + if flags == 0 { + flags = conversion.AllowDifferentFieldTypeNames + } + return s.converter.Convert(in, out, flags, meta) +} + +// Converts the given field label and value for an kind field selector from +// versioned representation to an unversioned one. +func (s *Scheme) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + if s.fieldLabelConversionFuncs[version] == nil { + return "", "", fmt.Errorf("No field label conversion function found for version: %s", version) + } + conversionFunc, ok := s.fieldLabelConversionFuncs[version][kind] + if !ok { + return "", "", fmt.Errorf("No field label conversion function found for version %s and kind %s", version, kind) + } + return conversionFunc(label, value) +} + +// ConvertToVersion attempts to convert an input object to its matching Kind in another +// version within this scheme. Will return an error if the provided version does not +// contain the inKind (or a mapping by name defined with AddKnownTypeWithName). Will also +// return an error if the conversion does not result in a valid Object being +// returned. Passes target down to the conversion methods as the Context on the scope. +func (s *Scheme) ConvertToVersion(in Object, target GroupVersioner) (Object, error) { + return s.convertToVersion(true, in, target) +} + +// UnsafeConvertToVersion will convert in to the provided target if such a conversion is possible, +// but does not guarantee the output object does not share fields with the input object. It attempts to be as +// efficient as possible when doing conversion. +func (s *Scheme) UnsafeConvertToVersion(in Object, target GroupVersioner) (Object, error) { + return s.convertToVersion(false, in, target) +} + +// convertToVersion handles conversion with an optional copy. +func (s *Scheme) convertToVersion(copy bool, in Object, target GroupVersioner) (Object, error) { + // determine the incoming kinds with as few allocations as possible. + t := reflect.TypeOf(in) + if t.Kind() != reflect.Ptr { + return nil, fmt.Errorf("only pointer types may be converted: %v", t) + } + t = t.Elem() + if t.Kind() != reflect.Struct { + return nil, fmt.Errorf("only pointers to struct types may be converted: %v", t) + } + kinds, ok := s.typeToGVK[t] + if !ok || len(kinds) == 0 { + return nil, NewNotRegisteredErr(schema.GroupVersionKind{}, t) + } + + gvk, ok := target.KindForGroupVersionKinds(kinds) + if !ok { + // try to see if this type is listed as unversioned (for legacy support) + // TODO: when we move to server API versions, we should completely remove the unversioned concept + if unversionedKind, ok := s.unversionedTypes[t]; ok { + if gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{unversionedKind}); ok { + return copyAndSetTargetKind(copy, s, in, gvk) + } + return copyAndSetTargetKind(copy, s, in, unversionedKind) + } + + // TODO: should this be a typed error? + return nil, fmt.Errorf("%v is not suitable for converting to %q", t, target) + } + + // target wants to use the existing type, set kind and return (no conversion necessary) + for _, kind := range kinds { + if gvk == kind { + return copyAndSetTargetKind(copy, s, in, gvk) + } + } + + // type is unversioned, no conversion necessary + if unversionedKind, ok := s.unversionedTypes[t]; ok { + if gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{unversionedKind}); ok { + return copyAndSetTargetKind(copy, s, in, gvk) + } + return copyAndSetTargetKind(copy, s, in, unversionedKind) + } + + out, err := s.New(gvk) + if err != nil { + return nil, err + } + + if copy { + copied, err := s.Copy(in) + if err != nil { + return nil, err + } + in = copied + } + + flags, meta := s.generateConvertMeta(in) + meta.Context = target + if err := s.converter.Convert(in, out, flags, meta); err != nil { + return nil, err + } + + setTargetKind(out, gvk) + return out, nil +} + +// generateConvertMeta constructs the meta value we pass to Convert. +func (s *Scheme) generateConvertMeta(in interface{}) (conversion.FieldMatchingFlags, *conversion.Meta) { + return s.converter.DefaultMeta(reflect.TypeOf(in)) +} + +// copyAndSetTargetKind performs a conditional copy before returning the object, or an error if copy was not successful. +func copyAndSetTargetKind(copy bool, copier ObjectCopier, obj Object, kind schema.GroupVersionKind) (Object, error) { + if copy { + copied, err := copier.Copy(obj) + if err != nil { + return nil, err + } + obj = copied + } + setTargetKind(obj, kind) + return obj, nil +} + +// setTargetKind sets the kind on an object, taking into account whether the target kind is the internal version. +func setTargetKind(obj Object, kind schema.GroupVersionKind) { + if kind.Version == APIVersionInternal { + // internal is a special case + // TODO: look at removing the need to special case this + obj.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) + return + } + obj.GetObjectKind().SetGroupVersionKind(kind) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/scheme_builder.go b/staging/src/k8s.io/apimachinery/pkg/runtime/scheme_builder.go new file mode 100644 index 00000000000..944db48182b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/scheme_builder.go @@ -0,0 +1,48 @@ +/* +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 runtime + +// SchemeBuilder collects functions that add things to a scheme. It's to allow +// code to compile without explicitly referencing generated types. You should +// declare one in each package that will have generated deep copy or conversion +// functions. +type SchemeBuilder []func(*Scheme) error + +// AddToScheme applies all the stored functions to the scheme. A non-nil error +// indicates that one function failed and the attempt was abandoned. +func (sb *SchemeBuilder) AddToScheme(s *Scheme) error { + for _, f := range *sb { + if err := f(s); err != nil { + return err + } + } + return nil +} + +// Register adds a scheme setup function to the list. +func (sb *SchemeBuilder) Register(funcs ...func(*Scheme) error) { + for _, f := range funcs { + *sb = append(*sb, f) + } +} + +// NewSchemeBuilder calls Register for you. +func NewSchemeBuilder(funcs ...func(*Scheme) error) SchemeBuilder { + var sb SchemeBuilder + sb.Register(funcs...) + return sb +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/scheme_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/scheme_test.go new file mode 100644 index 00000000000..970bde80f68 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/scheme_test.go @@ -0,0 +1,925 @@ +/* +Copyright 2014 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 runtime_test + +import ( + "reflect" + "strings" + "testing" + + "github.com/google/gofuzz" + flag "github.com/spf13/pflag" + + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/util/diff" +) + +var fuzzIters = flag.Int("fuzz-iters", 50, "How many fuzzing iterations to do.") + +type InternalSimple struct { + runtime.TypeMeta `json:",inline"` + TestString string `json:"testString"` +} + +type ExternalSimple struct { + runtime.TypeMeta `json:",inline"` + TestString string `json:"testString"` +} + +func (obj *InternalSimple) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalSimple) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } + +func TestScheme(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} + + scheme := runtime.NewScheme() + scheme.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("Simple"), &ExternalSimple{}) + + // If set, would clear TypeMeta during conversion. + //scheme.AddIgnoredConversionType(&TypeMeta{}, &TypeMeta{}) + + // test that scheme is an ObjectTyper + var _ runtime.ObjectTyper = scheme + + internalToExternalCalls := 0 + externalToInternalCalls := 0 + + // Register functions to verify that scope.Meta() gets set correctly. + err := scheme.AddConversionFuncs( + func(in *InternalSimple, out *ExternalSimple, scope conversion.Scope) error { + scope.Convert(&in.TypeMeta, &out.TypeMeta, 0) + scope.Convert(&in.TestString, &out.TestString, 0) + internalToExternalCalls++ + return nil + }, + func(in *ExternalSimple, out *InternalSimple, scope conversion.Scope) error { + scope.Convert(&in.TypeMeta, &out.TypeMeta, 0) + scope.Convert(&in.TestString, &out.TestString, 0) + externalToInternalCalls++ + return nil + }, + ) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + codecs := serializer.NewCodecFactory(scheme) + codec := codecs.LegacyCodec(externalGV) + info, _ := runtime.SerializerInfoForMediaType(codecs.SupportedMediaTypes(), runtime.ContentTypeJSON) + jsonserializer := info.Serializer + + simple := &InternalSimple{ + TestString: "foo", + } + + // Test Encode, Decode, DecodeInto, and DecodeToVersion + obj := runtime.Object(simple) + data, err := runtime.Encode(codec, obj) + if err != nil { + t.Fatal(err) + } + + obj2, err := runtime.Decode(codec, data) + if err != nil { + t.Fatal(err) + } + if _, ok := obj2.(*InternalSimple); !ok { + t.Fatalf("Got wrong type") + } + if e, a := simple, obj2; !reflect.DeepEqual(e, a) { + t.Errorf("Expected:\n %#v,\n Got:\n %#v", e, a) + } + + obj3 := &InternalSimple{} + if err := runtime.DecodeInto(codec, data, obj3); err != nil { + t.Fatal(err) + } + // clearing TypeMeta is a function of the scheme, which we do not test here (ConvertToVersion + // does not automatically clear TypeMeta anymore). + simple.TypeMeta = runtime.TypeMeta{Kind: "Simple", APIVersion: externalGV.String()} + if e, a := simple, obj3; !reflect.DeepEqual(e, a) { + t.Errorf("Expected:\n %#v,\n Got:\n %#v", e, a) + } + + obj4, err := runtime.Decode(jsonserializer, data) + if err != nil { + t.Fatal(err) + } + if _, ok := obj4.(*ExternalSimple); !ok { + t.Fatalf("Got wrong type") + } + + // Test Convert + external := &ExternalSimple{} + err = scheme.Convert(simple, external, nil) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + if e, a := simple.TestString, external.TestString; e != a { + t.Errorf("Expected %v, got %v", e, a) + } + + // Encode and Convert should each have caused an increment. + if e, a := 2, internalToExternalCalls; e != a { + t.Errorf("Expected %v, got %v", e, a) + } + // DecodeInto and Decode should each have caused an increment because of a conversion + if e, a := 2, externalToInternalCalls; e != a { + t.Errorf("Expected %v, got %v", e, a) + } +} + +func TestBadJSONRejection(t *testing.T) { + scheme := runtime.NewScheme() + codecs := serializer.NewCodecFactory(scheme) + info, _ := runtime.SerializerInfoForMediaType(codecs.SupportedMediaTypes(), runtime.ContentTypeJSON) + jsonserializer := info.Serializer + + badJSONMissingKind := []byte(`{ }`) + if _, err := runtime.Decode(jsonserializer, badJSONMissingKind); err == nil { + t.Errorf("Did not reject despite lack of kind field: %s", badJSONMissingKind) + } + badJSONUnknownType := []byte(`{"kind": "bar"}`) + if _, err1 := runtime.Decode(jsonserializer, badJSONUnknownType); err1 == nil { + t.Errorf("Did not reject despite use of unknown type: %s", badJSONUnknownType) + } + /*badJSONKindMismatch := []byte(`{"kind": "Pod"}`) + if err2 := DecodeInto(badJSONKindMismatch, &Node{}); err2 == nil { + t.Errorf("Kind is set but doesn't match the object type: %s", badJSONKindMismatch) + }*/ +} + +type ExtensionA struct { + runtime.TypeMeta `json:",inline"` + TestString string `json:"testString"` +} + +type ExtensionB struct { + runtime.TypeMeta `json:",inline"` + TestString string `json:"testString"` +} + +type ExternalExtensionType struct { + runtime.TypeMeta `json:",inline"` + Extension runtime.RawExtension `json:"extension"` +} + +type InternalExtensionType struct { + runtime.TypeMeta `json:",inline"` + Extension runtime.Object `json:"extension"` +} + +type ExternalOptionalExtensionType struct { + runtime.TypeMeta `json:",inline"` + Extension runtime.RawExtension `json:"extension,omitempty"` +} + +type InternalOptionalExtensionType struct { + runtime.TypeMeta `json:",inline"` + Extension runtime.Object `json:"extension,omitempty"` +} + +func (obj *ExtensionA) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExtensionB) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *InternalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *ExternalOptionalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } +func (obj *InternalOptionalExtensionType) GetObjectKind() schema.ObjectKind { return &obj.TypeMeta } + +func TestExternalToInternalMapping(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} + + scheme := runtime.NewScheme() + scheme.AddKnownTypeWithName(internalGV.WithKind("OptionalExtensionType"), &InternalOptionalExtensionType{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("OptionalExtensionType"), &ExternalOptionalExtensionType{}) + + codec := serializer.NewCodecFactory(scheme).LegacyCodec(externalGV) + + table := []struct { + obj runtime.Object + encoded string + }{ + { + &InternalOptionalExtensionType{Extension: nil}, + `{"kind":"OptionalExtensionType","apiVersion":"` + externalGV.String() + `"}`, + }, + } + + for i, item := range table { + gotDecoded, err := runtime.Decode(codec, []byte(item.encoded)) + if err != nil { + t.Errorf("unexpected error '%v' (%v)", err, item.encoded) + } else if e, a := item.obj, gotDecoded; !reflect.DeepEqual(e, a) { + t.Errorf("%d: unexpected objects:\n%s", i, diff.ObjectGoPrintSideBySide(e, a)) + } + } +} + +func TestExtensionMapping(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} + + scheme := runtime.NewScheme() + scheme.AddKnownTypeWithName(internalGV.WithKind("ExtensionType"), &InternalExtensionType{}) + scheme.AddKnownTypeWithName(internalGV.WithKind("OptionalExtensionType"), &InternalOptionalExtensionType{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("ExtensionType"), &ExternalExtensionType{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("OptionalExtensionType"), &ExternalOptionalExtensionType{}) + + // register external first when the object is the same in both schemes, so ObjectVersionAndKind reports the + // external version. + scheme.AddKnownTypeWithName(externalGV.WithKind("A"), &ExtensionA{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("B"), &ExtensionB{}) + scheme.AddKnownTypeWithName(internalGV.WithKind("A"), &ExtensionA{}) + scheme.AddKnownTypeWithName(internalGV.WithKind("B"), &ExtensionB{}) + + codec := serializer.NewCodecFactory(scheme).LegacyCodec(externalGV) + + table := []struct { + obj runtime.Object + expected runtime.Object + encoded string + }{ + { + &InternalExtensionType{ + Extension: runtime.NewEncodable(codec, &ExtensionA{TestString: "foo"}), + }, + &InternalExtensionType{ + Extension: &runtime.Unknown{ + Raw: []byte(`{"apiVersion":"test.group/testExternal","kind":"A","testString":"foo"}`), + ContentType: runtime.ContentTypeJSON, + }, + }, + // apiVersion is set in the serialized object for easier consumption by clients + `{"apiVersion":"` + externalGV.String() + `","kind":"ExtensionType","extension":{"apiVersion":"test.group/testExternal","kind":"A","testString":"foo"}} +`, + }, { + &InternalExtensionType{Extension: runtime.NewEncodable(codec, &ExtensionB{TestString: "bar"})}, + &InternalExtensionType{ + Extension: &runtime.Unknown{ + Raw: []byte(`{"apiVersion":"test.group/testExternal","kind":"B","testString":"bar"}`), + ContentType: runtime.ContentTypeJSON, + }, + }, + // apiVersion is set in the serialized object for easier consumption by clients + `{"apiVersion":"` + externalGV.String() + `","kind":"ExtensionType","extension":{"apiVersion":"test.group/testExternal","kind":"B","testString":"bar"}} +`, + }, { + &InternalExtensionType{Extension: nil}, + &InternalExtensionType{ + Extension: nil, + }, + `{"apiVersion":"` + externalGV.String() + `","kind":"ExtensionType","extension":null} +`, + }, + } + + for i, item := range table { + gotEncoded, err := runtime.Encode(codec, item.obj) + if err != nil { + t.Errorf("unexpected error '%v' (%#v)", err, item.obj) + } else if e, a := item.encoded, string(gotEncoded); e != a { + t.Errorf("expected\n%#v\ngot\n%#v\n", e, a) + } + + gotDecoded, err := runtime.Decode(codec, []byte(item.encoded)) + if err != nil { + t.Errorf("unexpected error '%v' (%v)", err, item.encoded) + } else if e, a := item.expected, gotDecoded; !reflect.DeepEqual(e, a) { + t.Errorf("%d: unexpected objects:\n%s", i, diff.ObjectGoPrintSideBySide(e, a)) + } + } +} + +func TestEncode(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} + + scheme := runtime.NewScheme() + scheme.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("Simple"), &ExternalSimple{}) + + codec := serializer.NewCodecFactory(scheme).LegacyCodec(externalGV) + + test := &InternalSimple{ + TestString: "I'm the same", + } + obj := runtime.Object(test) + data, err := runtime.Encode(codec, obj) + obj2, gvk, err2 := codec.Decode(data, nil, nil) + if err != nil || err2 != nil { + t.Fatalf("Failure: '%v' '%v'", err, err2) + } + if _, ok := obj2.(*InternalSimple); !ok { + t.Fatalf("Got wrong type") + } + if !reflect.DeepEqual(obj2, test) { + t.Errorf("Expected:\n %#v,\n Got:\n %#v", test, obj2) + } + if !reflect.DeepEqual(gvk, &schema.GroupVersionKind{Group: "test.group", Version: "testExternal", Kind: "Simple"}) { + t.Errorf("unexpected gvk returned by decode: %#v", gvk) + } +} + +func TestUnversionedTypes(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Group: "test.group", Version: "testExternal"} + otherGV := schema.GroupVersion{Group: "group", Version: "other"} + + scheme := runtime.NewScheme() + scheme.AddUnversionedTypes(externalGV, &InternalSimple{}) + scheme.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) + scheme.AddKnownTypeWithName(externalGV.WithKind("Simple"), &ExternalSimple{}) + scheme.AddKnownTypeWithName(otherGV.WithKind("Simple"), &ExternalSimple{}) + + codec := serializer.NewCodecFactory(scheme).LegacyCodec(externalGV) + + if unv, ok := scheme.IsUnversioned(&InternalSimple{}); !unv || !ok { + t.Fatalf("type not unversioned and in scheme: %t %t", unv, ok) + } + + kinds, _, err := scheme.ObjectKinds(&InternalSimple{}) + if err != nil { + t.Fatal(err) + } + kind := kinds[0] + if kind != externalGV.WithKind("InternalSimple") { + t.Fatalf("unexpected: %#v", kind) + } + + test := &InternalSimple{ + TestString: "I'm the same", + } + obj := runtime.Object(test) + data, err := runtime.Encode(codec, obj) + if err != nil { + t.Fatal(err) + } + obj2, gvk, err := codec.Decode(data, nil, nil) + if err != nil { + t.Fatal(err) + } + if _, ok := obj2.(*InternalSimple); !ok { + t.Fatalf("Got wrong type") + } + if !reflect.DeepEqual(obj2, test) { + t.Errorf("Expected:\n %#v,\n Got:\n %#v", test, obj2) + } + // object is serialized as an unversioned object (in the group and version it was defined in) + if !reflect.DeepEqual(gvk, &schema.GroupVersionKind{Group: "test.group", Version: "testExternal", Kind: "InternalSimple"}) { + t.Errorf("unexpected gvk returned by decode: %#v", gvk) + } + + // when serialized to a different group, the object is kept in its preferred name + codec = serializer.NewCodecFactory(scheme).LegacyCodec(otherGV) + data, err = runtime.Encode(codec, obj) + if err != nil { + t.Fatal(err) + } + if string(data) != `{"apiVersion":"test.group/testExternal","kind":"InternalSimple","testString":"I'm the same"}`+"\n" { + t.Errorf("unexpected data: %s", data) + } +} + +// Test a weird version/kind embedding format. +type MyWeirdCustomEmbeddedVersionKindField struct { + ID string `json:"ID,omitempty"` + APIVersion string `json:"myVersionKey,omitempty"` + ObjectKind string `json:"myKindKey,omitempty"` + Z string `json:"Z,omitempty"` + Y uint64 `json:"Y,omitempty"` +} + +type TestType1 struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` + C int8 `json:"C,omitempty"` + D int16 `json:"D,omitempty"` + E int32 `json:"E,omitempty"` + F int64 `json:"F,omitempty"` + G uint `json:"G,omitempty"` + H uint8 `json:"H,omitempty"` + I uint16 `json:"I,omitempty"` + J uint32 `json:"J,omitempty"` + K uint64 `json:"K,omitempty"` + L bool `json:"L,omitempty"` + M map[string]int `json:"M,omitempty"` + N map[string]TestType2 `json:"N,omitempty"` + O *TestType2 `json:"O,omitempty"` + P []TestType2 `json:"Q,omitempty"` +} + +type TestType2 struct { + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` +} + +type ExternalTestType2 struct { + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` +} +type ExternalTestType1 struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` + C int8 `json:"C,omitempty"` + D int16 `json:"D,omitempty"` + E int32 `json:"E,omitempty"` + F int64 `json:"F,omitempty"` + G uint `json:"G,omitempty"` + H uint8 `json:"H,omitempty"` + I uint16 `json:"I,omitempty"` + J uint32 `json:"J,omitempty"` + K uint64 `json:"K,omitempty"` + L bool `json:"L,omitempty"` + M map[string]int `json:"M,omitempty"` + N map[string]ExternalTestType2 `json:"N,omitempty"` + O *ExternalTestType2 `json:"O,omitempty"` + P []ExternalTestType2 `json:"Q,omitempty"` +} + +type ExternalInternalSame struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A TestType2 `json:"A,omitempty"` +} + +type UnversionedType struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` +} + +type UnknownType struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` +} + +func (obj *MyWeirdCustomEmbeddedVersionKindField) GetObjectKind() schema.ObjectKind { return obj } +func (obj *MyWeirdCustomEmbeddedVersionKindField) SetGroupVersionKind(gvk schema.GroupVersionKind) { + obj.APIVersion, obj.ObjectKind = gvk.ToAPIVersionAndKind() +} +func (obj *MyWeirdCustomEmbeddedVersionKindField) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.ObjectKind) +} + +func (obj *ExternalInternalSame) GetObjectKind() schema.ObjectKind { + return &obj.MyWeirdCustomEmbeddedVersionKindField +} + +func (obj *TestType1) GetObjectKind() schema.ObjectKind { + return &obj.MyWeirdCustomEmbeddedVersionKindField +} + +func (obj *ExternalTestType1) GetObjectKind() schema.ObjectKind { + return &obj.MyWeirdCustomEmbeddedVersionKindField +} + +func (obj *TestType2) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (obj *ExternalTestType2) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +// TestObjectFuzzer can randomly populate all the above objects. +var TestObjectFuzzer = fuzz.New().NilChance(.5).NumElements(1, 100).Funcs( + func(j *MyWeirdCustomEmbeddedVersionKindField, c fuzz.Continue) { + // We have to customize the randomization of MyWeirdCustomEmbeddedVersionKindFields because their + // APIVersion and Kind must remain blank in memory. + j.APIVersion = "" + j.ObjectKind = "" + j.ID = c.RandString() + }, +) + +// Returns a new Scheme set up with the test objects. +func GetTestScheme() *runtime.Scheme { + internalGV := schema.GroupVersion{Version: "__internal"} + externalGV := schema.GroupVersion{Version: "v1"} + alternateExternalGV := schema.GroupVersion{Group: "custom", Version: "v1"} + differentExternalGV := schema.GroupVersion{Group: "other", Version: "v2"} + + s := runtime.NewScheme() + // Ordinarily, we wouldn't add TestType2, but because this is a test and + // both types are from the same package, we need to get it into the system + // so that converter will match it with ExternalType2. + s.AddKnownTypes(internalGV, &TestType1{}, &TestType2{}, &ExternalInternalSame{}) + s.AddKnownTypes(externalGV, &ExternalInternalSame{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType1"), &ExternalTestType1{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType2"), &ExternalTestType2{}) + s.AddKnownTypeWithName(internalGV.WithKind("TestType3"), &TestType1{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType3"), &ExternalTestType1{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType4"), &ExternalTestType1{}) + s.AddKnownTypeWithName(alternateExternalGV.WithKind("TestType3"), &ExternalTestType1{}) + s.AddKnownTypeWithName(alternateExternalGV.WithKind("TestType5"), &ExternalTestType1{}) + s.AddKnownTypeWithName(differentExternalGV.WithKind("TestType1"), &ExternalTestType1{}) + s.AddUnversionedTypes(externalGV, &UnversionedType{}) + return s +} + +func TestKnownTypes(t *testing.T) { + s := GetTestScheme() + if len(s.KnownTypes(schema.GroupVersion{Group: "group", Version: "v2"})) != 0 { + t.Errorf("should have no known types for v2") + } + + types := s.KnownTypes(schema.GroupVersion{Version: "v1"}) + for _, s := range []string{"TestType1", "TestType2", "TestType3", "ExternalInternalSame"} { + if _, ok := types[s]; !ok { + t.Errorf("missing type %q", s) + } + } +} + +func TestConvertToVersionBasic(t *testing.T) { + s := GetTestScheme() + tt := &TestType1{A: "I'm not a pointer object"} + other, err := s.ConvertToVersion(tt, schema.GroupVersion{Version: "v1"}) + if err != nil { + t.Fatalf("Failure: %v", err) + } + converted, ok := other.(*ExternalTestType1) + if !ok { + t.Fatalf("Got wrong type: %T", other) + } + if tt.A != converted.A { + t.Fatalf("Failed to convert object correctly: %#v", converted) + } +} + +type testGroupVersioner struct { + target schema.GroupVersionKind + ok bool +} + +func (m testGroupVersioner) KindForGroupVersionKinds(kinds []schema.GroupVersionKind) (schema.GroupVersionKind, bool) { + return m.target, m.ok +} + +func TestConvertToVersion(t *testing.T) { + testCases := []struct { + scheme *runtime.Scheme + in runtime.Object + gv runtime.GroupVersioner + same bool + out runtime.Object + errFn func(error) bool + }{ + // errors if the type is not registered in the scheme + { + scheme: GetTestScheme(), + in: &UnknownType{}, + errFn: func(err error) bool { return err != nil && runtime.IsNotRegisteredError(err) }, + }, + // errors if the group versioner returns no target + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: testGroupVersioner{}, + errFn: func(err error) bool { + return err != nil && strings.Contains(err.Error(), "is not suitable for converting") + }, + }, + // converts to internal + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: schema.GroupVersion{Version: "__internal"}, + out: &TestType1{A: "test"}, + }, + // prefers the best match + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: schema.GroupVersions{{Version: "__internal"}, {Version: "v1"}}, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // unversioned type returned as-is + { + scheme: GetTestScheme(), + in: &UnversionedType{A: "test"}, + gv: schema.GroupVersions{{Version: "v1"}}, + same: true, + out: &UnversionedType{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "UnversionedType"}, + A: "test", + }, + }, + // unversioned type returned when not included in the target types + { + scheme: GetTestScheme(), + in: &UnversionedType{A: "test"}, + gv: schema.GroupVersions{{Group: "other", Version: "v2"}}, + same: true, + out: &UnversionedType{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "UnversionedType"}, + A: "test", + }, + }, + // detected as already being in the target version + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: schema.GroupVersions{{Version: "v1"}}, + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // detected as already being in the first target version + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: schema.GroupVersions{{Version: "v1"}, {Version: "__internal"}}, + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // detected as already being in the first target version + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: schema.GroupVersions{{Version: "v1"}, {Version: "__internal"}}, + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // the external type is registered in multiple groups, versions, and kinds, and can be targeted to all of them (1/3): different kind + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Kind: "TestType3", Version: "v1"}}, + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType3"}, + A: "test", + }, + }, + // the external type is registered in multiple groups, versions, and kinds, and can be targeted to all of them (2/3): different gv + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Kind: "TestType3", Group: "custom", Version: "v1"}}, + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "custom/v1", ObjectKind: "TestType3"}, + A: "test", + }, + }, + // the external type is registered in multiple groups, versions, and kinds, and can be targeted to all of them (3/3): different gvk + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Group: "custom", Version: "v1", Kind: "TestType5"}}, + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "custom/v1", ObjectKind: "TestType5"}, + A: "test", + }, + }, + // multi group versioner recognizes multiple groups and forces the output to a particular version, copies because version differs + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "other", Version: "v2"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}, schema.GroupKind{Kind: "TestType1"}), + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "other/v2", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // multi group versioner recognizes multiple groups and forces the output to a particular version, copies because version differs + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "other", Version: "v2"}, schema.GroupKind{Kind: "TestType1"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}), + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "other/v2", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // multi group versioner is unable to find a match when kind AND group don't match (there is no TestType1 kind in group "other", and no kind "TestType5" in the default group) + { + scheme: GetTestScheme(), + in: &TestType1{A: "test"}, + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "custom", Version: "v1"}, schema.GroupKind{Group: "other"}, schema.GroupKind{Kind: "TestType5"}), + errFn: func(err error) bool { + return err != nil && strings.Contains(err.Error(), "is not suitable for converting") + }, + }, + // multi group versioner recognizes multiple groups and forces the output to a particular version, performs no copy + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "", Version: "v1"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}, schema.GroupKind{Kind: "TestType1"}), + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // multi group versioner recognizes multiple groups and forces the output to a particular version, performs no copy + { + scheme: GetTestScheme(), + in: &ExternalTestType1{A: "test"}, + gv: runtime.NewMultiGroupVersioner(schema.GroupVersion{Group: "", Version: "v1"}, schema.GroupKind{Kind: "TestType1"}, schema.GroupKind{Group: "custom", Kind: "TestType3"}), + same: true, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType1"}, + A: "test", + }, + }, + // group versioner can choose a particular target kind for a given input when kind is the same across group versions + { + scheme: GetTestScheme(), + in: &TestType1{A: "test"}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Version: "v1", Kind: "TestType3"}}, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "v1", ObjectKind: "TestType3"}, + A: "test", + }, + }, + // group versioner can choose a different kind + { + scheme: GetTestScheme(), + in: &TestType1{A: "test"}, + gv: testGroupVersioner{ok: true, target: schema.GroupVersionKind{Kind: "TestType5", Group: "custom", Version: "v1"}}, + out: &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{APIVersion: "custom/v1", ObjectKind: "TestType5"}, + A: "test", + }, + }, + } + for i, test := range testCases { + original, _ := test.scheme.DeepCopy(test.in) + out, err := test.scheme.ConvertToVersion(test.in, test.gv) + switch { + case test.errFn != nil: + if !test.errFn(err) { + t.Errorf("%d: unexpected error: %v", i, err) + } + continue + case err != nil: + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if out == test.in { + t.Errorf("%d: ConvertToVersion should always copy out: %#v", i, out) + continue + } + + if test.same { + if !reflect.DeepEqual(original, test.in) { + t.Errorf("%d: unexpected mutation of input: %s", i, diff.ObjectReflectDiff(original, test.in)) + continue + } + if !reflect.DeepEqual(out, test.out) { + t.Errorf("%d: unexpected out: %s", i, diff.ObjectReflectDiff(out, test.out)) + continue + } + unsafe, err := test.scheme.UnsafeConvertToVersion(test.in, test.gv) + if err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if !reflect.DeepEqual(unsafe, test.out) { + t.Errorf("%d: unexpected unsafe: %s", i, diff.ObjectReflectDiff(unsafe, test.out)) + continue + } + if unsafe != test.in { + t.Errorf("%d: UnsafeConvertToVersion should return same object: %#v", i, unsafe) + continue + } + continue + } + if !reflect.DeepEqual(out, test.out) { + t.Errorf("%d: unexpected out: %s", i, diff.ObjectReflectDiff(out, test.out)) + continue + } + } +} + +func TestMetaValues(t *testing.T) { + internalGV := schema.GroupVersion{Group: "test.group", Version: "__internal"} + externalGV := schema.GroupVersion{Group: "test.group", Version: "externalVersion"} + + s := runtime.NewScheme() + s.AddKnownTypeWithName(internalGV.WithKind("Simple"), &InternalSimple{}) + s.AddKnownTypeWithName(externalGV.WithKind("Simple"), &ExternalSimple{}) + + internalToExternalCalls := 0 + externalToInternalCalls := 0 + + // Register functions to verify that scope.Meta() gets set correctly. + err := s.AddConversionFuncs( + func(in *InternalSimple, out *ExternalSimple, scope conversion.Scope) error { + t.Logf("internal -> external") + scope.Convert(&in.TestString, &out.TestString, 0) + internalToExternalCalls++ + return nil + }, + func(in *ExternalSimple, out *InternalSimple, scope conversion.Scope) error { + t.Logf("external -> internal") + scope.Convert(&in.TestString, &out.TestString, 0) + externalToInternalCalls++ + return nil + }, + ) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + simple := &InternalSimple{ + TestString: "foo", + } + + s.Log(t) + + out, err := s.ConvertToVersion(simple, externalGV) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + internal, err := s.ConvertToVersion(out, internalGV) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + if e, a := simple, internal; !reflect.DeepEqual(e, a) { + t.Errorf("Expected:\n %#v,\n Got:\n %#v", e, a) + } + + if e, a := 1, internalToExternalCalls; e != a { + t.Errorf("Expected %v, got %v", e, a) + } + if e, a := 1, externalToInternalCalls; e != a { + t.Errorf("Expected %v, got %v", e, a) + } +} + +func TestMetaValuesUnregisteredConvert(t *testing.T) { + type InternalSimple struct { + Version string `json:"apiVersion,omitempty"` + Kind string `json:"kind,omitempty"` + TestString string `json:"testString"` + } + type ExternalSimple struct { + Version string `json:"apiVersion,omitempty"` + Kind string `json:"kind,omitempty"` + TestString string `json:"testString"` + } + s := runtime.NewScheme() + // We deliberately don't register the types. + + internalToExternalCalls := 0 + + // Register functions to verify that scope.Meta() gets set correctly. + err := s.AddConversionFuncs( + func(in *InternalSimple, out *ExternalSimple, scope conversion.Scope) error { + scope.Convert(&in.TestString, &out.TestString, 0) + internalToExternalCalls++ + return nil + }, + ) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + + simple := &InternalSimple{TestString: "foo"} + external := &ExternalSimple{} + err = s.Convert(simple, external, nil) + if err != nil { + t.Fatalf("Unexpected error: %v", err) + } + if e, a := simple.TestString, external.TestString; e != a { + t.Errorf("Expected %v, got %v", e, a) + } + + // Verify that our conversion handler got called. + if e, a := 1, internalToExternalCalls; e != a { + t.Errorf("Expected %v, got %v", e, a) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/codec_factory.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/codec_factory.go new file mode 100644 index 00000000000..65f451124d5 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/codec_factory.go @@ -0,0 +1,237 @@ +/* +Copyright 2014 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 serializer + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" + "k8s.io/apimachinery/pkg/runtime/serializer/versioning" +) + +// serializerExtensions are for serializers that are conditionally compiled in +var serializerExtensions = []func(*runtime.Scheme) (serializerType, bool){} + +type serializerType struct { + AcceptContentTypes []string + ContentType string + FileExtensions []string + // EncodesAsText should be true if this content type can be represented safely in UTF-8 + EncodesAsText bool + + Serializer runtime.Serializer + PrettySerializer runtime.Serializer + + AcceptStreamContentTypes []string + StreamContentType string + + Framer runtime.Framer + StreamSerializer runtime.Serializer +} + +func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []serializerType { + jsonSerializer := json.NewSerializer(mf, scheme, scheme, false) + jsonPrettySerializer := json.NewSerializer(mf, scheme, scheme, true) + yamlSerializer := json.NewYAMLSerializer(mf, scheme, scheme) + + serializers := []serializerType{ + { + AcceptContentTypes: []string{"application/json"}, + ContentType: "application/json", + FileExtensions: []string{"json"}, + EncodesAsText: true, + Serializer: jsonSerializer, + PrettySerializer: jsonPrettySerializer, + + Framer: json.Framer, + StreamSerializer: jsonSerializer, + }, + { + AcceptContentTypes: []string{"application/yaml"}, + ContentType: "application/yaml", + FileExtensions: []string{"yaml"}, + EncodesAsText: true, + Serializer: yamlSerializer, + }, + } + + for _, fn := range serializerExtensions { + if serializer, ok := fn(scheme); ok { + serializers = append(serializers, serializer) + } + } + return serializers +} + +// CodecFactory provides methods for retrieving codecs and serializers for specific +// versions and content types. +type CodecFactory struct { + scheme *runtime.Scheme + serializers []serializerType + universal runtime.Decoder + accepts []runtime.SerializerInfo + + legacySerializer runtime.Serializer +} + +// NewCodecFactory provides methods for retrieving serializers for the supported wire formats +// and conversion wrappers to define preferred internal and external versions. In the future, +// as the internal version is used less, callers may instead use a defaulting serializer and +// only convert objects which are shared internally (Status, common API machinery). +// TODO: allow other codecs to be compiled in? +// TODO: accept a scheme interface +func NewCodecFactory(scheme *runtime.Scheme) CodecFactory { + serializers := newSerializersForScheme(scheme, json.DefaultMetaFactory) + return newCodecFactory(scheme, serializers) +} + +// newCodecFactory is a helper for testing that allows a different metafactory to be specified. +func newCodecFactory(scheme *runtime.Scheme, serializers []serializerType) CodecFactory { + decoders := make([]runtime.Decoder, 0, len(serializers)) + var accepts []runtime.SerializerInfo + alreadyAccepted := make(map[string]struct{}) + + var legacySerializer runtime.Serializer + for _, d := range serializers { + decoders = append(decoders, d.Serializer) + for _, mediaType := range d.AcceptContentTypes { + if _, ok := alreadyAccepted[mediaType]; ok { + continue + } + alreadyAccepted[mediaType] = struct{}{} + info := runtime.SerializerInfo{ + MediaType: d.ContentType, + EncodesAsText: d.EncodesAsText, + Serializer: d.Serializer, + PrettySerializer: d.PrettySerializer, + } + if d.StreamSerializer != nil { + info.StreamSerializer = &runtime.StreamSerializerInfo{ + Serializer: d.StreamSerializer, + EncodesAsText: d.EncodesAsText, + Framer: d.Framer, + } + } + accepts = append(accepts, info) + if mediaType == runtime.ContentTypeJSON { + legacySerializer = d.Serializer + } + } + } + if legacySerializer == nil { + legacySerializer = serializers[0].Serializer + } + + return CodecFactory{ + scheme: scheme, + serializers: serializers, + universal: recognizer.NewDecoder(decoders...), + + accepts: accepts, + + legacySerializer: legacySerializer, + } +} + +// SupportedMediaTypes returns the RFC2046 media types that this factory has serializers for. +func (f CodecFactory) SupportedMediaTypes() []runtime.SerializerInfo { + return f.accepts +} + +// LegacyCodec encodes output to a given API versions, and decodes output into the internal form from +// any recognized source. The returned codec will always encode output to JSON. If a type is not +// found in the list of versions an error will be returned. +// +// This method is deprecated - clients and servers should negotiate a serializer by mime-type and +// invoke CodecForVersions. Callers that need only to read data should use UniversalDecoder(). +// +// TODO: make this call exist only in pkg/api, and initialize it with the set of default versions. +// All other callers will be forced to request a Codec directly. +func (f CodecFactory) LegacyCodec(version ...schema.GroupVersion) runtime.Codec { + return versioning.NewDefaultingCodecForScheme(f.scheme, f.legacySerializer, f.universal, schema.GroupVersions(version), runtime.InternalGroupVersioner) +} + +// UniversalDeserializer can convert any stored data recognized by this factory into a Go object that satisfies +// runtime.Object. It does not perform conversion. It does not perform defaulting. +func (f CodecFactory) UniversalDeserializer() runtime.Decoder { + return f.universal +} + +// UniversalDecoder returns a runtime.Decoder capable of decoding all known API objects in all known formats. Used +// by clients that do not need to encode objects but want to deserialize API objects stored on disk. Only decodes +// objects in groups registered with the scheme. The GroupVersions passed may be used to select alternate +// versions of objects to return - by default, runtime.APIVersionInternal is used. If any versions are specified, +// unrecognized groups will be returned in the version they are encoded as (no conversion). This decoder performs +// defaulting. +// +// TODO: the decoder will eventually be removed in favor of dealing with objects in their versioned form +// TODO: only accept a group versioner +func (f CodecFactory) UniversalDecoder(versions ...schema.GroupVersion) runtime.Decoder { + var versioner runtime.GroupVersioner + if len(versions) == 0 { + versioner = runtime.InternalGroupVersioner + } else { + versioner = schema.GroupVersions(versions) + } + return f.CodecForVersions(nil, f.universal, nil, versioner) +} + +// CodecForVersions creates a codec with the provided serializer. If an object is decoded and its group is not in the list, +// it will default to runtime.APIVersionInternal. If encode is not specified for an object's group, the object is not +// converted. If encode or decode are nil, no conversion is performed. +func (f CodecFactory) CodecForVersions(encoder runtime.Encoder, decoder runtime.Decoder, encode runtime.GroupVersioner, decode runtime.GroupVersioner) runtime.Codec { + // TODO: these are for backcompat, remove them in the future + if encode == nil { + encode = runtime.DisabledGroupVersioner + } + if decode == nil { + decode = runtime.InternalGroupVersioner + } + return versioning.NewDefaultingCodecForScheme(f.scheme, encoder, decoder, encode, decode) +} + +// DecoderToVersion returns a decoder that targets the provided group version. +func (f CodecFactory) DecoderToVersion(decoder runtime.Decoder, gv runtime.GroupVersioner) runtime.Decoder { + return f.CodecForVersions(nil, decoder, nil, gv) +} + +// EncoderForVersion returns an encoder that targets the provided group version. +func (f CodecFactory) EncoderForVersion(encoder runtime.Encoder, gv runtime.GroupVersioner) runtime.Encoder { + return f.CodecForVersions(encoder, nil, gv, nil) +} + +// DirectCodecFactory provides methods for retrieving "DirectCodec"s, which do not do conversion. +type DirectCodecFactory struct { + CodecFactory +} + +// EncoderForVersion returns an encoder that does not do conversion. +func (f DirectCodecFactory) EncoderForVersion(serializer runtime.Encoder, version runtime.GroupVersioner) runtime.Encoder { + return versioning.DirectEncoder{ + Version: version, + Encoder: serializer, + ObjectTyper: f.CodecFactory.scheme, + } +} + +// DecoderToVersion returns an decoder that does not do conversion. gv is ignored. +func (f DirectCodecFactory) DecoderToVersion(serializer runtime.Decoder, _ runtime.GroupVersioner) runtime.Decoder { + return versioning.DirectDecoder{ + Decoder: serializer, + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/codec_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/codec_test.go new file mode 100644 index 00000000000..d3b87f49d51 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/codec_test.go @@ -0,0 +1,426 @@ +/* +Copyright 2014 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 serializer + +import ( + "encoding/json" + "fmt" + "log" + "os" + "reflect" + "strings" + "testing" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" + + "github.com/ghodss/yaml" + "github.com/google/gofuzz" + flag "github.com/spf13/pflag" +) + +var fuzzIters = flag.Int("fuzz-iters", 50, "How many fuzzing iterations to do.") + +type testMetaFactory struct{} + +func (testMetaFactory) Interpret(data []byte) (*schema.GroupVersionKind, error) { + findKind := struct { + APIVersion string `json:"myVersionKey,omitempty"` + ObjectKind string `json:"myKindKey,omitempty"` + }{} + // yaml is a superset of json, so we use it to decode here. That way, + // we understand both. + if err := yaml.Unmarshal(data, &findKind); err != nil { + return nil, fmt.Errorf("couldn't get version/kind: %v", err) + } + gv, err := schema.ParseGroupVersion(findKind.APIVersion) + if err != nil { + return nil, err + } + return &schema.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.ObjectKind}, nil +} + +// Test a weird version/kind embedding format. +type MyWeirdCustomEmbeddedVersionKindField struct { + ID string `json:"ID,omitempty"` + APIVersion string `json:"myVersionKey,omitempty"` + ObjectKind string `json:"myKindKey,omitempty"` + Z string `json:"Z,omitempty"` + Y uint64 `json:"Y,omitempty"` +} + +type TestType1 struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` + C int8 `json:"C,omitempty"` + D int16 `json:"D,omitempty"` + E int32 `json:"E,omitempty"` + F int64 `json:"F,omitempty"` + G uint `json:"G,omitempty"` + H uint8 `json:"H,omitempty"` + I uint16 `json:"I,omitempty"` + J uint32 `json:"J,omitempty"` + K uint64 `json:"K,omitempty"` + L bool `json:"L,omitempty"` + M map[string]int `json:"M,omitempty"` + N map[string]TestType2 `json:"N,omitempty"` + O *TestType2 `json:"O,omitempty"` + P []TestType2 `json:"Q,omitempty"` +} + +type TestType2 struct { + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` +} + +type ExternalTestType2 struct { + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` +} +type ExternalTestType1 struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A string `json:"A,omitempty"` + B int `json:"B,omitempty"` + C int8 `json:"C,omitempty"` + D int16 `json:"D,omitempty"` + E int32 `json:"E,omitempty"` + F int64 `json:"F,omitempty"` + G uint `json:"G,omitempty"` + H uint8 `json:"H,omitempty"` + I uint16 `json:"I,omitempty"` + J uint32 `json:"J,omitempty"` + K uint64 `json:"K,omitempty"` + L bool `json:"L,omitempty"` + M map[string]int `json:"M,omitempty"` + N map[string]ExternalTestType2 `json:"N,omitempty"` + O *ExternalTestType2 `json:"O,omitempty"` + P []ExternalTestType2 `json:"Q,omitempty"` +} + +type ExternalInternalSame struct { + MyWeirdCustomEmbeddedVersionKindField `json:",inline"` + A TestType2 `json:"A,omitempty"` +} + +// TestObjectFuzzer can randomly populate all the above objects. +var TestObjectFuzzer = fuzz.New().NilChance(.5).NumElements(1, 100).Funcs( + func(j *MyWeirdCustomEmbeddedVersionKindField, c fuzz.Continue) { + c.FuzzNoCustom(j) + j.APIVersion = "" + j.ObjectKind = "" + }, +) + +func (obj *MyWeirdCustomEmbeddedVersionKindField) GetObjectKind() schema.ObjectKind { return obj } +func (obj *MyWeirdCustomEmbeddedVersionKindField) SetGroupVersionKind(gvk schema.GroupVersionKind) { + obj.APIVersion, obj.ObjectKind = gvk.ToAPIVersionAndKind() +} +func (obj *MyWeirdCustomEmbeddedVersionKindField) GroupVersionKind() schema.GroupVersionKind { + return schema.FromAPIVersionAndKind(obj.APIVersion, obj.ObjectKind) +} + +func (obj *ExternalInternalSame) GetObjectKind() schema.ObjectKind { + return &obj.MyWeirdCustomEmbeddedVersionKindField +} + +func (obj *TestType1) GetObjectKind() schema.ObjectKind { + return &obj.MyWeirdCustomEmbeddedVersionKindField +} + +func (obj *ExternalTestType1) GetObjectKind() schema.ObjectKind { + return &obj.MyWeirdCustomEmbeddedVersionKindField +} + +func (obj *TestType2) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } +func (obj *ExternalTestType2) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +// Returns a new Scheme set up with the test objects. +func GetTestScheme() (*runtime.Scheme, runtime.Codec) { + internalGV := schema.GroupVersion{Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Version: "v1"} + externalGV2 := schema.GroupVersion{Version: "v2"} + + s := runtime.NewScheme() + // Ordinarily, we wouldn't add TestType2, but because this is a test and + // both types are from the same package, we need to get it into the system + // so that converter will match it with ExternalType2. + s.AddKnownTypes(internalGV, &TestType1{}, &TestType2{}, &ExternalInternalSame{}) + s.AddKnownTypes(externalGV, &ExternalInternalSame{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType1"), &ExternalTestType1{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType2"), &ExternalTestType2{}) + s.AddKnownTypeWithName(internalGV.WithKind("TestType3"), &TestType1{}) + s.AddKnownTypeWithName(externalGV.WithKind("TestType3"), &ExternalTestType1{}) + s.AddKnownTypeWithName(externalGV2.WithKind("TestType1"), &ExternalTestType1{}) + + s.AddUnversionedTypes(externalGV, &metav1.Status{}) + + cf := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})) + codec := cf.LegacyCodec(schema.GroupVersion{Version: "v1"}) + return s, codec +} + +var semantic = conversion.EqualitiesOrDie( + func(a, b MyWeirdCustomEmbeddedVersionKindField) bool { + a.APIVersion, a.ObjectKind = "", "" + b.APIVersion, b.ObjectKind = "", "" + return a == b + }, +) + +func runTest(t *testing.T, source interface{}) { + name := reflect.TypeOf(source).Elem().Name() + TestObjectFuzzer.Fuzz(source) + + _, codec := GetTestScheme() + data, err := runtime.Encode(codec, source.(runtime.Object)) + if err != nil { + t.Errorf("%v: %v (%#v)", name, err, source) + return + } + obj2, err := runtime.Decode(codec, data) + if err != nil { + t.Errorf("%v: %v (%v)", name, err, string(data)) + return + } + if !semantic.DeepEqual(source, obj2) { + t.Errorf("1: %v: diff: %v", name, diff.ObjectGoPrintSideBySide(source, obj2)) + return + } + obj3 := reflect.New(reflect.TypeOf(source).Elem()).Interface() + if err := runtime.DecodeInto(codec, data, obj3.(runtime.Object)); err != nil { + t.Errorf("2: %v: %v", name, err) + return + } + if !semantic.DeepEqual(source, obj3) { + t.Errorf("3: %v: diff: %v", name, diff.ObjectDiff(source, obj3)) + return + } +} + +func TestTypes(t *testing.T) { + table := []interface{}{ + &TestType1{}, + &ExternalInternalSame{}, + } + for _, item := range table { + // Try a few times, since runTest uses random values. + for i := 0; i < *fuzzIters; i++ { + runTest(t, item) + } + } +} + +func TestVersionedEncoding(t *testing.T) { + s, _ := GetTestScheme() + cf := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})) + info, _ := runtime.SerializerInfoForMediaType(cf.SupportedMediaTypes(), runtime.ContentTypeJSON) + encoder := info.Serializer + + codec := cf.CodecForVersions(encoder, nil, schema.GroupVersion{Version: "v2"}, nil) + out, err := runtime.Encode(codec, &TestType1{}) + if err != nil { + t.Fatal(err) + } + if string(out) != `{"myVersionKey":"v2","myKindKey":"TestType1"}`+"\n" { + t.Fatal(string(out)) + } + + codec = cf.CodecForVersions(encoder, nil, schema.GroupVersion{Version: "v3"}, nil) + _, err = runtime.Encode(codec, &TestType1{}) + if err == nil { + t.Fatal(err) + } + + // unversioned encode with no versions is written directly to wire + codec = cf.CodecForVersions(encoder, nil, runtime.InternalGroupVersioner, nil) + out, err = runtime.Encode(codec, &TestType1{}) + if err != nil { + t.Fatal(err) + } + if string(out) != `{}`+"\n" { + t.Fatal(string(out)) + } +} + +func TestMultipleNames(t *testing.T) { + _, codec := GetTestScheme() + + obj, _, err := codec.Decode([]byte(`{"myKindKey":"TestType3","myVersionKey":"v1","A":"value"}`), nil, nil) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + internal := obj.(*TestType1) + if internal.A != "value" { + t.Fatalf("unexpected decoded object: %#v", internal) + } + + out, err := runtime.Encode(codec, internal) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if !strings.Contains(string(out), `"myKindKey":"TestType1"`) { + t.Errorf("unexpected encoded output: %s", string(out)) + } +} + +func TestConvertTypesWhenDefaultNamesMatch(t *testing.T) { + internalGV := schema.GroupVersion{Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Version: "v1"} + + s := runtime.NewScheme() + // create two names internally, with TestType1 being preferred + s.AddKnownTypeWithName(internalGV.WithKind("TestType1"), &TestType1{}) + s.AddKnownTypeWithName(internalGV.WithKind("OtherType1"), &TestType1{}) + // create two names externally, with TestType1 being preferred + s.AddKnownTypeWithName(externalGV.WithKind("TestType1"), &ExternalTestType1{}) + s.AddKnownTypeWithName(externalGV.WithKind("OtherType1"), &ExternalTestType1{}) + + ext := &ExternalTestType1{} + ext.APIVersion = "v1" + ext.ObjectKind = "OtherType1" + ext.A = "test" + data, err := json.Marshal(ext) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + expect := &TestType1{A: "test"} + + codec := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})).LegacyCodec(schema.GroupVersion{Version: "v1"}) + + obj, err := runtime.Decode(codec, data) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if !semantic.DeepEqual(expect, obj) { + t.Errorf("unexpected object: %#v", obj) + } + + into := &TestType1{} + if err := runtime.DecodeInto(codec, data, into); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if !semantic.DeepEqual(expect, into) { + t.Errorf("unexpected object: %#v", obj) + } +} + +func TestEncode_Ptr(t *testing.T) { + _, codec := GetTestScheme() + tt := &TestType1{A: "I am a pointer object"} + data, err := runtime.Encode(codec, tt) + obj2, err2 := runtime.Decode(codec, data) + if err != nil || err2 != nil { + t.Fatalf("Failure: '%v' '%v'\n%s", err, err2, data) + } + if _, ok := obj2.(*TestType1); !ok { + t.Fatalf("Got wrong type") + } + if !semantic.DeepEqual(obj2, tt) { + t.Errorf("Expected:\n %#v,\n Got:\n %#v", tt, obj2) + } +} + +func TestBadJSONRejection(t *testing.T) { + log.SetOutput(os.Stderr) + _, codec := GetTestScheme() + badJSONs := [][]byte{ + []byte(`{"myVersionKey":"v1"}`), // Missing kind + []byte(`{"myVersionKey":"v1","myKindKey":"bar"}`), // Unknown kind + []byte(`{"myVersionKey":"bar","myKindKey":"TestType1"}`), // Unknown version + []byte(`{"myKindKey":"TestType1"}`), // Missing version + } + for _, b := range badJSONs { + if _, err := runtime.Decode(codec, b); err == nil { + t.Errorf("Did not reject bad json: %s", string(b)) + } + } + badJSONKindMismatch := []byte(`{"myVersionKey":"v1","myKindKey":"ExternalInternalSame"}`) + if err := runtime.DecodeInto(codec, badJSONKindMismatch, &TestType1{}); err == nil { + t.Errorf("Kind is set but doesn't match the object type: %s", badJSONKindMismatch) + } + if err := runtime.DecodeInto(codec, []byte(``), &TestType1{}); err != nil { + t.Errorf("Should allow empty decode: %v", err) + } + if _, _, err := codec.Decode([]byte(``), &schema.GroupVersionKind{Kind: "ExternalInternalSame"}, nil); err == nil { + t.Errorf("Did not give error for empty data with only kind default") + } + if _, _, err := codec.Decode([]byte(`{"myVersionKey":"v1"}`), &schema.GroupVersionKind{Kind: "ExternalInternalSame"}, nil); err != nil { + t.Errorf("Gave error for version and kind default") + } + if _, _, err := codec.Decode([]byte(`{"myKindKey":"ExternalInternalSame"}`), &schema.GroupVersionKind{Version: "v1"}, nil); err != nil { + t.Errorf("Gave error for version and kind default") + } + if _, _, err := codec.Decode([]byte(``), &schema.GroupVersionKind{Kind: "ExternalInternalSame", Version: "v1"}, nil); err != nil { + t.Errorf("Gave error for version and kind defaulted: %v", err) + } + if _, err := runtime.Decode(codec, []byte(``)); err == nil { + t.Errorf("Did not give error for empty data") + } +} + +// Returns a new Scheme set up with the test objects needed by TestDirectCodec. +func GetDirectCodecTestScheme() *runtime.Scheme { + internalGV := schema.GroupVersion{Version: runtime.APIVersionInternal} + externalGV := schema.GroupVersion{Version: "v1"} + + s := runtime.NewScheme() + // Ordinarily, we wouldn't add TestType2, but because this is a test and + // both types are from the same package, we need to get it into the system + // so that converter will match it with ExternalType2. + s.AddKnownTypes(internalGV, &TestType1{}) + s.AddKnownTypes(externalGV, &ExternalTestType1{}) + + s.AddUnversionedTypes(externalGV, &metav1.Status{}) + return s +} + +func TestDirectCodec(t *testing.T) { + s := GetDirectCodecTestScheme() + cf := newCodecFactory(s, newSerializersForScheme(s, testMetaFactory{})) + info, _ := runtime.SerializerInfoForMediaType(cf.SupportedMediaTypes(), runtime.ContentTypeJSON) + serializer := info.Serializer + df := DirectCodecFactory{cf} + ignoredGV, err := schema.ParseGroupVersion("ignored group/ignored version") + if err != nil { + t.Fatal(err) + } + directEncoder := df.EncoderForVersion(serializer, ignoredGV) + directDecoder := df.DecoderToVersion(serializer, ignoredGV) + out, err := runtime.Encode(directEncoder, &ExternalTestType1{}) + if err != nil { + t.Fatal(err) + } + if string(out) != `{"myVersionKey":"v1","myKindKey":"ExternalTestType1"}`+"\n" { + t.Fatal(string(out)) + } + a, _, err := directDecoder.Decode(out, nil, nil) + e := &ExternalTestType1{ + MyWeirdCustomEmbeddedVersionKindField: MyWeirdCustomEmbeddedVersionKindField{ + APIVersion: "v1", + ObjectKind: "ExternalTestType1", + }, + } + if !semantic.DeepEqual(e, a) { + t.Fatalf("expect %v, got %v", e, a) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go new file mode 100644 index 00000000000..28bb91b533c --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json.go @@ -0,0 +1,245 @@ +/* +Copyright 2014 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 json + +import ( + "encoding/json" + "io" + + "github.com/ghodss/yaml" + "github.com/ugorji/go/codec" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" + "k8s.io/apimachinery/pkg/util/framer" + utilyaml "k8s.io/apimachinery/pkg/util/yaml" +) + +// NewSerializer creates a JSON serializer that handles encoding versioned objects into the proper JSON form. If typer +// is not nil, the object has the group, version, and kind fields set. +func NewSerializer(meta MetaFactory, creater runtime.ObjectCreater, typer runtime.ObjectTyper, pretty bool) *Serializer { + return &Serializer{ + meta: meta, + creater: creater, + typer: typer, + yaml: false, + pretty: pretty, + } +} + +// NewYAMLSerializer creates a YAML serializer that handles encoding versioned objects into the proper YAML form. If typer +// is not nil, the object has the group, version, and kind fields set. This serializer supports only the subset of YAML that +// matches JSON, and will error if constructs are used that do not serialize to JSON. +func NewYAMLSerializer(meta MetaFactory, creater runtime.ObjectCreater, typer runtime.ObjectTyper) *Serializer { + return &Serializer{ + meta: meta, + creater: creater, + typer: typer, + yaml: true, + } +} + +type Serializer struct { + meta MetaFactory + creater runtime.ObjectCreater + typer runtime.ObjectTyper + yaml bool + pretty bool +} + +// Serializer implements Serializer +var _ runtime.Serializer = &Serializer{} +var _ recognizer.RecognizingDecoder = &Serializer{} + +// Decode attempts to convert the provided data into YAML or JSON, extract the stored schema kind, apply the provided default gvk, and then +// load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown, the raw data will be +// extracted and no decoding will be performed. If into is not registered with the typer, then the object will be straight decoded using +// normal JSON/YAML unmarshalling. If into is provided and the original data is not fully qualified with kind/version/group, the type of +// the into will be used to alter the returned gvk. On success or most errors, the method will return the calculated schema kind. +func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + if versioned, ok := into.(*runtime.VersionedObjects); ok { + into = versioned.Last() + obj, actual, err := s.Decode(originalData, gvk, into) + if err != nil { + return nil, actual, err + } + versioned.Objects = []runtime.Object{obj} + return versioned, actual, nil + } + + data := originalData + if s.yaml { + altered, err := yaml.YAMLToJSON(data) + if err != nil { + return nil, nil, err + } + data = altered + } + + actual, err := s.meta.Interpret(data) + if err != nil { + return nil, nil, err + } + + if gvk != nil { + // apply kind and version defaulting from provided default + if len(actual.Kind) == 0 { + actual.Kind = gvk.Kind + } + if len(actual.Version) == 0 && len(actual.Group) == 0 { + actual.Group = gvk.Group + actual.Version = gvk.Version + } + if len(actual.Version) == 0 && actual.Group == gvk.Group { + actual.Version = gvk.Version + } + } + + if unk, ok := into.(*runtime.Unknown); ok && unk != nil { + unk.Raw = originalData + unk.ContentType = runtime.ContentTypeJSON + unk.GetObjectKind().SetGroupVersionKind(*actual) + return unk, actual, nil + } + + if into != nil { + types, _, err := s.typer.ObjectKinds(into) + switch { + case runtime.IsNotRegisteredError(err): + if err := codec.NewDecoderBytes(data, new(codec.JsonHandle)).Decode(into); err != nil { + return nil, actual, err + } + return into, actual, nil + case err != nil: + return nil, actual, err + default: + typed := types[0] + if len(actual.Kind) == 0 { + actual.Kind = typed.Kind + } + if len(actual.Version) == 0 && len(actual.Group) == 0 { + actual.Group = typed.Group + actual.Version = typed.Version + } + if len(actual.Version) == 0 && actual.Group == typed.Group { + actual.Version = typed.Version + } + } + } + + if len(actual.Kind) == 0 { + return nil, actual, runtime.NewMissingKindErr(string(originalData)) + } + if len(actual.Version) == 0 { + return nil, actual, runtime.NewMissingVersionErr(string(originalData)) + } + + // use the target if necessary + obj, err := runtime.UseOrCreateObject(s.typer, s.creater, *actual, into) + if err != nil { + return nil, actual, err + } + + if err := codec.NewDecoderBytes(data, new(codec.JsonHandle)).Decode(obj); err != nil { + return nil, actual, err + } + return obj, actual, nil +} + +// Encode serializes the provided object to the given writer. +func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error { + if s.yaml { + json, err := json.Marshal(obj) + if err != nil { + return err + } + data, err := yaml.JSONToYAML(json) + if err != nil { + return err + } + _, err = w.Write(data) + return err + } + + if s.pretty { + data, err := json.MarshalIndent(obj, "", " ") + if err != nil { + return err + } + _, err = w.Write(data) + return err + } + encoder := json.NewEncoder(w) + return encoder.Encode(obj) +} + +// RecognizesData implements the RecognizingDecoder interface. +func (s *Serializer) RecognizesData(peek io.Reader) (ok, unknown bool, err error) { + if s.yaml { + // we could potentially look for '---' + return false, true, nil + } + _, _, ok = utilyaml.GuessJSONStream(peek, 2048) + return ok, false, nil +} + +// Framer is the default JSON framing behavior, with newlines delimiting individual objects. +var Framer = jsonFramer{} + +type jsonFramer struct{} + +// NewFrameWriter implements stream framing for this serializer +func (jsonFramer) NewFrameWriter(w io.Writer) io.Writer { + // we can write JSON objects directly to the writer, because they are self-framing + return w +} + +// NewFrameReader implements stream framing for this serializer +func (jsonFramer) NewFrameReader(r io.ReadCloser) io.ReadCloser { + // we need to extract the JSON chunks of data to pass to Decode() + return framer.NewJSONFramedReader(r) +} + +// Framer is the default JSON framing behavior, with newlines delimiting individual objects. +var YAMLFramer = yamlFramer{} + +type yamlFramer struct{} + +// NewFrameWriter implements stream framing for this serializer +func (yamlFramer) NewFrameWriter(w io.Writer) io.Writer { + return yamlFrameWriter{w} +} + +// NewFrameReader implements stream framing for this serializer +func (yamlFramer) NewFrameReader(r io.ReadCloser) io.ReadCloser { + // extract the YAML document chunks directly + return utilyaml.NewDocumentDecoder(r) +} + +type yamlFrameWriter struct { + w io.Writer +} + +// Write separates each document with the YAML document separator (`---` followed by line +// break). Writers must write well formed YAML documents (include a final line break). +func (w yamlFrameWriter) Write(data []byte) (n int, err error) { + if _, err := w.w.Write([]byte("---\n")); err != nil { + return 0, err + } + return w.w.Write(data) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json_test.go new file mode 100644 index 00000000000..48f851e3f76 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/json_test.go @@ -0,0 +1,264 @@ +/* +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 json_test + +import ( + "fmt" + "reflect" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/util/diff" +) + +type testDecodable struct { + Other string + Value int `json:"value"` + gvk schema.GroupVersionKind +} + +func (d *testDecodable) GetObjectKind() schema.ObjectKind { return d } +func (d *testDecodable) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testDecodable) GroupVersionKind() schema.GroupVersionKind { return d.gvk } + +func TestDecode(t *testing.T) { + testCases := []struct { + creater runtime.ObjectCreater + typer runtime.ObjectTyper + yaml bool + pretty bool + + data []byte + defaultGVK *schema.GroupVersionKind + into runtime.Object + + errFn func(error) bool + expectedObject runtime.Object + expectedGVK *schema.GroupVersionKind + }{ + { + data: []byte("{}"), + + expectedGVK: &schema.GroupVersionKind{}, + errFn: func(err error) bool { return strings.Contains(err.Error(), "Object 'Kind' is missing in") }, + }, + { + data: []byte("{}"), + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + creater: &mockCreater{err: fmt.Errorf("fake error")}, + + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + errFn: func(err error) bool { return err.Error() == "fake error" }, + }, + { + data: []byte("{}"), + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + creater: &mockCreater{obj: &testDecodable{}}, + expectedObject: &testDecodable{}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + }, + + // version without group is not defaulted + { + data: []byte(`{"apiVersion":"blah"}`), + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + creater: &mockCreater{obj: &testDecodable{}}, + expectedObject: &testDecodable{}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "", Version: "blah"}, + }, + // group without version is defaulted + { + data: []byte(`{"apiVersion":"other/"}`), + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + creater: &mockCreater{obj: &testDecodable{}}, + expectedObject: &testDecodable{}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + }, + + // accept runtime.Unknown as into and bypass creator + { + data: []byte(`{}`), + into: &runtime.Unknown{}, + + expectedGVK: &schema.GroupVersionKind{}, + expectedObject: &runtime.Unknown{ + Raw: []byte(`{}`), + ContentType: runtime.ContentTypeJSON, + }, + }, + { + data: []byte(`{"test":"object"}`), + into: &runtime.Unknown{}, + + expectedGVK: &schema.GroupVersionKind{}, + expectedObject: &runtime.Unknown{ + Raw: []byte(`{"test":"object"}`), + ContentType: runtime.ContentTypeJSON, + }, + }, + { + data: []byte(`{"test":"object"}`), + into: &runtime.Unknown{}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedObject: &runtime.Unknown{ + TypeMeta: runtime.TypeMeta{APIVersion: "other/blah", Kind: "Test"}, + Raw: []byte(`{"test":"object"}`), + ContentType: runtime.ContentTypeJSON, + }, + }, + + // unregistered objects can be decoded into directly + { + data: []byte(`{"kind":"Test","apiVersion":"other/blah","value":1,"Other":"test"}`), + into: &testDecodable{}, + typer: &mockTyper{err: runtime.NewNotRegisteredErr(schema.GroupVersionKind{}, nil)}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedObject: &testDecodable{ + Other: "test", + Value: 1, + }, + }, + // registered types get defaulted by the into object kind + { + data: []byte(`{"value":1,"Other":"test"}`), + into: &testDecodable{}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedObject: &testDecodable{ + Other: "test", + Value: 1, + }, + }, + // registered types get defaulted by the into object kind even without version, but return an error + { + data: []byte(`{"value":1,"Other":"test"}`), + into: &testDecodable{}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: ""}}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: ""}, + errFn: func(err error) bool { return strings.Contains(err.Error(), "Object 'apiVersion' is missing in") }, + expectedObject: &testDecodable{ + Other: "test", + Value: 1, + }, + }, + + // runtime.VersionedObjects are decoded + { + data: []byte(`{"value":1,"Other":"test"}`), + into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, + creater: &mockCreater{obj: &testDecodable{}}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, + defaultGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedObject: &runtime.VersionedObjects{ + Objects: []runtime.Object{ + &testDecodable{ + Other: "test", + Value: 1, + }, + }, + }, + }, + // runtime.VersionedObjects with an object are decoded into + { + data: []byte(`{"Other":"test"}`), + into: &runtime.VersionedObjects{Objects: []runtime.Object{&testDecodable{Value: 2}}}, + typer: &mockTyper{gvk: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}}, + expectedGVK: &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"}, + expectedObject: &runtime.VersionedObjects{ + Objects: []runtime.Object{ + &testDecodable{ + Other: "test", + Value: 2, + }, + }, + }, + }, + } + + for i, test := range testCases { + var s runtime.Serializer + if test.yaml { + s = json.NewYAMLSerializer(json.DefaultMetaFactory, test.creater, test.typer) + } else { + s = json.NewSerializer(json.DefaultMetaFactory, test.creater, test.typer, test.pretty) + } + obj, gvk, err := s.Decode([]byte(test.data), test.defaultGVK, test.into) + + if !reflect.DeepEqual(test.expectedGVK, gvk) { + t.Errorf("%d: unexpected GVK: %v", i, gvk) + } + + switch { + case err == nil && test.errFn != nil: + t.Errorf("%d: failed: %v", i, err) + continue + case err != nil && test.errFn == nil: + t.Errorf("%d: failed: %v", i, err) + continue + case err != nil: + if !test.errFn(err) { + t.Errorf("%d: failed: %v", i, err) + } + if obj != nil { + t.Errorf("%d: should have returned nil object", i) + } + continue + } + + if test.into != nil && test.into != obj { + t.Errorf("%d: expected into to be returned: %v", i, obj) + continue + } + + if !reflect.DeepEqual(test.expectedObject, obj) { + t.Errorf("%d: unexpected object:\n%s", i, diff.ObjectGoPrintSideBySide(test.expectedObject, obj)) + } + } +} + +type mockCreater struct { + apiVersion string + kind string + err error + obj runtime.Object +} + +func (c *mockCreater) New(kind schema.GroupVersionKind) (runtime.Object, error) { + c.apiVersion, c.kind = kind.GroupVersion().String(), kind.Kind + return c.obj, c.err +} + +type mockTyper struct { + gvk *schema.GroupVersionKind + err error +} + +func (t *mockTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { + if t.gvk == nil { + return nil, false, t.err + } + return []schema.GroupVersionKind{*t.gvk}, false, t.err +} + +func (t *mockTyper) Recognizes(_ schema.GroupVersionKind) bool { + return false +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta.go new file mode 100644 index 00000000000..df3f5f989a6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta.go @@ -0,0 +1,63 @@ +/* +Copyright 2014 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 json + +import ( + "encoding/json" + "fmt" + + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// MetaFactory is used to store and retrieve the version and kind +// information for JSON objects in a serializer. +type MetaFactory interface { + // Interpret should return the version and kind of the wire-format of + // the object. + Interpret(data []byte) (*schema.GroupVersionKind, error) +} + +// DefaultMetaFactory is a default factory for versioning objects in JSON. The object +// in memory and in the default JSON serialization will use the "kind" and "apiVersion" +// fields. +var DefaultMetaFactory = SimpleMetaFactory{} + +// SimpleMetaFactory provides default methods for retrieving the type and version of objects +// that are identified with an "apiVersion" and "kind" fields in their JSON +// serialization. It may be parameterized with the names of the fields in memory, or an +// optional list of base structs to search for those fields in memory. +type SimpleMetaFactory struct { +} + +// Interpret will return the APIVersion and Kind of the JSON wire-format +// encoding of an object, or an error. +func (SimpleMetaFactory) Interpret(data []byte) (*schema.GroupVersionKind, error) { + findKind := struct { + // +optional + APIVersion string `json:"apiVersion,omitempty"` + // +optional + Kind string `json:"kind,omitempty"` + }{} + if err := json.Unmarshal(data, &findKind); err != nil { + return nil, fmt.Errorf("couldn't get version/kind; json parse error: %v", err) + } + gv, err := schema.ParseGroupVersion(findKind.APIVersion) + if err != nil { + return nil, err + } + return &schema.GroupVersionKind{Group: gv.Group, Version: gv.Version, Kind: findKind.Kind}, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta_test.go new file mode 100644 index 00000000000..f4e34a22d5d --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json/meta_test.go @@ -0,0 +1,45 @@ +/* +Copyright 2014 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 json + +import "testing" + +func TestSimpleMetaFactoryInterpret(t *testing.T) { + factory := SimpleMetaFactory{} + gvk, err := factory.Interpret([]byte(`{"apiVersion":"1","kind":"object"}`)) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if gvk.Version != "1" || gvk.Kind != "object" { + t.Errorf("unexpected interpret: %#v", gvk) + } + + // no kind or version + gvk, err = factory.Interpret([]byte(`{}`)) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if gvk.Version != "" || gvk.Kind != "" { + t.Errorf("unexpected interpret: %#v", gvk) + } + + // unparsable + gvk, err = factory.Interpret([]byte(`{`)) + if err == nil { + t.Errorf("unexpected non-error") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/negotiated_codec.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/negotiated_codec.go new file mode 100644 index 00000000000..a42b4a41a80 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/negotiated_codec.go @@ -0,0 +1,43 @@ +/* +Copyright 2016 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 serializer + +import ( + "k8s.io/apimachinery/pkg/runtime" +) + +// TODO: We should split negotiated serializers that we can change versions on from those we can change +// serialization formats on +type negotiatedSerializerWrapper struct { + info runtime.SerializerInfo +} + +func NegotiatedSerializerWrapper(info runtime.SerializerInfo) runtime.NegotiatedSerializer { + return &negotiatedSerializerWrapper{info} +} + +func (n *negotiatedSerializerWrapper) SupportedMediaTypes() []runtime.SerializerInfo { + return []runtime.SerializerInfo{n.info} +} + +func (n *negotiatedSerializerWrapper) EncoderForVersion(e runtime.Encoder, _ runtime.GroupVersioner) runtime.Encoder { + return e +} + +func (n *negotiatedSerializerWrapper) DecoderToVersion(d runtime.Decoder, _gv runtime.GroupVersioner) runtime.Decoder { + return d +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/doc.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/doc.go new file mode 100644 index 00000000000..72d0ac79b34 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/doc.go @@ -0,0 +1,18 @@ +/* +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 protobuf provides a Kubernetes serializer for the protobuf format. +package protobuf // import "k8s.io/apimachinery/pkg/runtime/serializer/protobuf" diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/protobuf.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/protobuf.go new file mode 100644 index 00000000000..8d4ea711809 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/protobuf.go @@ -0,0 +1,448 @@ +/* +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 protobuf + +import ( + "bytes" + "fmt" + "io" + "reflect" + + "github.com/gogo/protobuf/proto" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" + "k8s.io/apimachinery/pkg/util/framer" +) + +var ( + // protoEncodingPrefix serves as a magic number for an encoded protobuf message on this serializer. All + // proto messages serialized by this schema will be preceded by the bytes 0x6b 0x38 0x73, with the fourth + // byte being reserved for the encoding style. The only encoding style defined is 0x00, which means that + // the rest of the byte stream is a message of type k8s.io.kubernetes.pkg.runtime.Unknown (proto2). + // + // See k8s.io/apimachinery/pkg/runtime/generated.proto for details of the runtime.Unknown message. + // + // This encoding scheme is experimental, and is subject to change at any time. + protoEncodingPrefix = []byte{0x6b, 0x38, 0x73, 0x00} +) + +type errNotMarshalable struct { + t reflect.Type +} + +func (e errNotMarshalable) Error() string { + return fmt.Sprintf("object %v does not implement the protobuf marshalling interface and cannot be encoded to a protobuf message", e.t) +} + +func IsNotMarshalable(err error) bool { + _, ok := err.(errNotMarshalable) + return err != nil && ok +} + +// NewSerializer creates a Protobuf serializer that handles encoding versioned objects into the proper wire form. If a typer +// is passed, the encoded object will have group, version, and kind fields set. If typer is nil, the objects will be written +// as-is (any type info passed with the object will be used). +// +// This encoding scheme is experimental, and is subject to change at any time. +func NewSerializer(creater runtime.ObjectCreater, typer runtime.ObjectTyper, defaultContentType string) *Serializer { + return &Serializer{ + prefix: protoEncodingPrefix, + creater: creater, + typer: typer, + contentType: defaultContentType, + } +} + +type Serializer struct { + prefix []byte + creater runtime.ObjectCreater + typer runtime.ObjectTyper + contentType string +} + +var _ runtime.Serializer = &Serializer{} +var _ recognizer.RecognizingDecoder = &Serializer{} + +// Decode attempts to convert the provided data into a protobuf message, extract the stored schema kind, apply the provided default +// gvk, and then load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown, +// the raw data will be extracted and no decoding will be performed. If into is not registered with the typer, then the object will +// be straight decoded using normal protobuf unmarshalling (the MarshalTo interface). If into is provided and the original data is +// not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most +// errors, the method will return the calculated schema kind. +func (s *Serializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + if versioned, ok := into.(*runtime.VersionedObjects); ok { + into = versioned.Last() + obj, actual, err := s.Decode(originalData, gvk, into) + if err != nil { + return nil, actual, err + } + // the last item in versioned becomes into, so if versioned was not originally empty we reset the object + // array so the first position is the decoded object and the second position is the outermost object. + // if there were no objects in the versioned list passed to us, only add ourselves. + if into != nil && into != obj { + versioned.Objects = []runtime.Object{obj, into} + } else { + versioned.Objects = []runtime.Object{obj} + } + return versioned, actual, err + } + + prefixLen := len(s.prefix) + switch { + case len(originalData) == 0: + // TODO: treat like decoding {} from JSON with defaulting + return nil, nil, fmt.Errorf("empty data") + case len(originalData) < prefixLen || !bytes.Equal(s.prefix, originalData[:prefixLen]): + return nil, nil, fmt.Errorf("provided data does not appear to be a protobuf message, expected prefix %v", s.prefix) + case len(originalData) == prefixLen: + // TODO: treat like decoding {} from JSON with defaulting + return nil, nil, fmt.Errorf("empty body") + } + + data := originalData[prefixLen:] + unk := runtime.Unknown{} + if err := unk.Unmarshal(data); err != nil { + return nil, nil, err + } + + actual := unk.GroupVersionKind() + copyKindDefaults(&actual, gvk) + + if intoUnknown, ok := into.(*runtime.Unknown); ok && intoUnknown != nil { + *intoUnknown = unk + if ok, _, _ := s.RecognizesData(bytes.NewBuffer(unk.Raw)); ok { + intoUnknown.ContentType = s.contentType + } + return intoUnknown, &actual, nil + } + + if into != nil { + types, _, err := s.typer.ObjectKinds(into) + switch { + case runtime.IsNotRegisteredError(err): + pb, ok := into.(proto.Message) + if !ok { + return nil, &actual, errNotMarshalable{reflect.TypeOf(into)} + } + if err := proto.Unmarshal(unk.Raw, pb); err != nil { + return nil, &actual, err + } + return into, &actual, nil + case err != nil: + return nil, &actual, err + default: + copyKindDefaults(&actual, &types[0]) + // if the result of defaulting did not set a version or group, ensure that at least group is set + // (copyKindDefaults will not assign Group if version is already set). This guarantees that the group + // of into is set if there is no better information from the caller or object. + if len(actual.Version) == 0 && len(actual.Group) == 0 { + actual.Group = types[0].Group + } + } + } + + if len(actual.Kind) == 0 { + return nil, &actual, runtime.NewMissingKindErr(fmt.Sprintf("%#v", unk.TypeMeta)) + } + if len(actual.Version) == 0 { + return nil, &actual, runtime.NewMissingVersionErr(fmt.Sprintf("%#v", unk.TypeMeta)) + } + + return unmarshalToObject(s.typer, s.creater, &actual, into, unk.Raw) +} + +// Encode serializes the provided object to the given writer. +func (s *Serializer) Encode(obj runtime.Object, w io.Writer) error { + prefixSize := uint64(len(s.prefix)) + + var unk runtime.Unknown + switch t := obj.(type) { + case *runtime.Unknown: + estimatedSize := prefixSize + uint64(t.Size()) + data := make([]byte, estimatedSize) + i, err := t.MarshalTo(data[prefixSize:]) + if err != nil { + return err + } + copy(data, s.prefix) + _, err = w.Write(data[:prefixSize+uint64(i)]) + return err + default: + kind := obj.GetObjectKind().GroupVersionKind() + unk = runtime.Unknown{ + TypeMeta: runtime.TypeMeta{ + Kind: kind.Kind, + APIVersion: kind.GroupVersion().String(), + }, + } + } + + switch t := obj.(type) { + case bufferedMarshaller: + // this path performs a single allocation during write but requires the caller to implement + // the more efficient Size and MarshalTo methods + encodedSize := uint64(t.Size()) + estimatedSize := prefixSize + estimateUnknownSize(&unk, encodedSize) + data := make([]byte, estimatedSize) + + i, err := unk.NestedMarshalTo(data[prefixSize:], t, encodedSize) + if err != nil { + return err + } + + copy(data, s.prefix) + + _, err = w.Write(data[:prefixSize+uint64(i)]) + return err + + case proto.Marshaler: + // this path performs extra allocations + data, err := t.Marshal() + if err != nil { + return err + } + unk.Raw = data + + estimatedSize := prefixSize + uint64(unk.Size()) + data = make([]byte, estimatedSize) + + i, err := unk.MarshalTo(data[prefixSize:]) + if err != nil { + return err + } + + copy(data, s.prefix) + + _, err = w.Write(data[:prefixSize+uint64(i)]) + return err + + default: + // TODO: marshal with a different content type and serializer (JSON for third party objects) + return errNotMarshalable{reflect.TypeOf(obj)} + } +} + +// RecognizesData implements the RecognizingDecoder interface. +func (s *Serializer) RecognizesData(peek io.Reader) (bool, bool, error) { + prefix := make([]byte, 4) + n, err := peek.Read(prefix) + if err != nil { + if err == io.EOF { + return false, false, nil + } + return false, false, err + } + if n != 4 { + return false, false, nil + } + return bytes.Equal(s.prefix, prefix), false, nil +} + +// copyKindDefaults defaults dst to the value in src if dst does not have a value set. +func copyKindDefaults(dst, src *schema.GroupVersionKind) { + if src == nil { + return + } + // apply kind and version defaulting from provided default + if len(dst.Kind) == 0 { + dst.Kind = src.Kind + } + if len(dst.Version) == 0 && len(src.Version) > 0 { + dst.Group = src.Group + dst.Version = src.Version + } +} + +// bufferedMarshaller describes a more efficient marshalling interface that can avoid allocating multiple +// byte buffers by pre-calculating the size of the final buffer needed. +type bufferedMarshaller interface { + proto.Sizer + runtime.ProtobufMarshaller +} + +// estimateUnknownSize returns the expected bytes consumed by a given runtime.Unknown +// object with a nil RawJSON struct and the expected size of the provided buffer. The +// returned size will not be correct if RawJSOn is set on unk. +func estimateUnknownSize(unk *runtime.Unknown, byteSize uint64) uint64 { + size := uint64(unk.Size()) + // protobuf uses 1 byte for the tag, a varint for the length of the array (at most 8 bytes - uint64 - here), + // and the size of the array. + size += 1 + 8 + byteSize + return size +} + +// NewRawSerializer creates a Protobuf serializer that handles encoding versioned objects into the proper wire form. If typer +// is not nil, the object has the group, version, and kind fields set. This serializer does not provide type information for the +// encoded object, and thus is not self describing (callers must know what type is being described in order to decode). +// +// This encoding scheme is experimental, and is subject to change at any time. +func NewRawSerializer(creater runtime.ObjectCreater, typer runtime.ObjectTyper, defaultContentType string) *RawSerializer { + return &RawSerializer{ + creater: creater, + typer: typer, + contentType: defaultContentType, + } +} + +// RawSerializer encodes and decodes objects without adding a runtime.Unknown wrapper (objects are encoded without identifying +// type). +type RawSerializer struct { + creater runtime.ObjectCreater + typer runtime.ObjectTyper + contentType string +} + +var _ runtime.Serializer = &RawSerializer{} + +// Decode attempts to convert the provided data into a protobuf message, extract the stored schema kind, apply the provided default +// gvk, and then load that data into an object matching the desired schema kind or the provided into. If into is *runtime.Unknown, +// the raw data will be extracted and no decoding will be performed. If into is not registered with the typer, then the object will +// be straight decoded using normal protobuf unmarshalling (the MarshalTo interface). If into is provided and the original data is +// not fully qualified with kind/version/group, the type of the into will be used to alter the returned gvk. On success or most +// errors, the method will return the calculated schema kind. +func (s *RawSerializer) Decode(originalData []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + if into == nil { + return nil, nil, fmt.Errorf("this serializer requires an object to decode into: %#v", s) + } + + if versioned, ok := into.(*runtime.VersionedObjects); ok { + into = versioned.Last() + obj, actual, err := s.Decode(originalData, gvk, into) + if err != nil { + return nil, actual, err + } + if into != nil && into != obj { + versioned.Objects = []runtime.Object{obj, into} + } else { + versioned.Objects = []runtime.Object{obj} + } + return versioned, actual, err + } + + if len(originalData) == 0 { + // TODO: treat like decoding {} from JSON with defaulting + return nil, nil, fmt.Errorf("empty data") + } + data := originalData + + actual := &schema.GroupVersionKind{} + copyKindDefaults(actual, gvk) + + if intoUnknown, ok := into.(*runtime.Unknown); ok && intoUnknown != nil { + intoUnknown.Raw = data + intoUnknown.ContentEncoding = "" + intoUnknown.ContentType = s.contentType + intoUnknown.SetGroupVersionKind(*actual) + return intoUnknown, actual, nil + } + + types, _, err := s.typer.ObjectKinds(into) + switch { + case runtime.IsNotRegisteredError(err): + pb, ok := into.(proto.Message) + if !ok { + return nil, actual, errNotMarshalable{reflect.TypeOf(into)} + } + if err := proto.Unmarshal(data, pb); err != nil { + return nil, actual, err + } + return into, actual, nil + case err != nil: + return nil, actual, err + default: + copyKindDefaults(actual, &types[0]) + // if the result of defaulting did not set a version or group, ensure that at least group is set + // (copyKindDefaults will not assign Group if version is already set). This guarantees that the group + // of into is set if there is no better information from the caller or object. + if len(actual.Version) == 0 && len(actual.Group) == 0 { + actual.Group = types[0].Group + } + } + + if len(actual.Kind) == 0 { + return nil, actual, runtime.NewMissingKindErr("") + } + if len(actual.Version) == 0 { + return nil, actual, runtime.NewMissingVersionErr("") + } + + return unmarshalToObject(s.typer, s.creater, actual, into, data) +} + +// unmarshalToObject is the common code between decode in the raw and normal serializer. +func unmarshalToObject(typer runtime.ObjectTyper, creater runtime.ObjectCreater, actual *schema.GroupVersionKind, into runtime.Object, data []byte) (runtime.Object, *schema.GroupVersionKind, error) { + // use the target if necessary + obj, err := runtime.UseOrCreateObject(typer, creater, *actual, into) + if err != nil { + return nil, actual, err + } + + pb, ok := obj.(proto.Message) + if !ok { + return nil, actual, errNotMarshalable{reflect.TypeOf(obj)} + } + if err := proto.Unmarshal(data, pb); err != nil { + return nil, actual, err + } + return obj, actual, nil +} + +// Encode serializes the provided object to the given writer. Overrides is ignored. +func (s *RawSerializer) Encode(obj runtime.Object, w io.Writer) error { + switch t := obj.(type) { + case bufferedMarshaller: + // this path performs a single allocation during write but requires the caller to implement + // the more efficient Size and MarshalTo methods + encodedSize := uint64(t.Size()) + data := make([]byte, encodedSize) + + n, err := t.MarshalTo(data) + if err != nil { + return err + } + _, err = w.Write(data[:n]) + return err + + case proto.Marshaler: + // this path performs extra allocations + data, err := t.Marshal() + if err != nil { + return err + } + _, err = w.Write(data) + return err + + default: + return errNotMarshalable{reflect.TypeOf(obj)} + } +} + +var LengthDelimitedFramer = lengthDelimitedFramer{} + +type lengthDelimitedFramer struct{} + +// NewFrameWriter implements stream framing for this serializer +func (lengthDelimitedFramer) NewFrameWriter(w io.Writer) io.Writer { + return framer.NewLengthDelimitedFrameWriter(w) +} + +// NewFrameReader implements stream framing for this serializer +func (lengthDelimitedFramer) NewFrameReader(r io.ReadCloser) io.ReadCloser { + return framer.NewLengthDelimitedFrameReader(r) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf_extension.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf_extension.go new file mode 100644 index 00000000000..545cf78df7f --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/protobuf_extension.go @@ -0,0 +1,48 @@ +/* +Copyright 2014 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 serializer + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf" +) + +const ( + // contentTypeProtobuf is the protobuf type exposed for Kubernetes. It is private to prevent others from + // depending on it unintentionally. + // TODO: potentially move to pkg/api (since it's part of the Kube public API) and pass it in to the + // CodecFactory on initialization. + contentTypeProtobuf = "application/vnd.kubernetes.protobuf" +) + +func protobufSerializer(scheme *runtime.Scheme) (serializerType, bool) { + serializer := protobuf.NewSerializer(scheme, scheme, contentTypeProtobuf) + raw := protobuf.NewRawSerializer(scheme, scheme, contentTypeProtobuf) + return serializerType{ + AcceptContentTypes: []string{contentTypeProtobuf}, + ContentType: contentTypeProtobuf, + FileExtensions: []string{"pb"}, + Serializer: serializer, + + Framer: protobuf.LengthDelimitedFramer, + StreamSerializer: raw, + }, true +} + +func init() { + serializerExtensions = append(serializerExtensions, protobufSerializer) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/recognizer.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/recognizer.go new file mode 100644 index 00000000000..38497ab533e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/recognizer.go @@ -0,0 +1,127 @@ +/* +Copyright 2014 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 recognizer + +import ( + "bufio" + "bytes" + "fmt" + "io" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +type RecognizingDecoder interface { + runtime.Decoder + // RecognizesData should return true if the input provided in the provided reader + // belongs to this decoder, or an error if the data could not be read or is ambiguous. + // Unknown is true if the data could not be determined to match the decoder type. + // Decoders should assume that they can read as much of peek as they need (as the caller + // provides) and may return unknown if the data provided is not sufficient to make a + // a determination. When peek returns EOF that may mean the end of the input or the + // end of buffered input - recognizers should return the best guess at that time. + RecognizesData(peek io.Reader) (ok, unknown bool, err error) +} + +// NewDecoder creates a decoder that will attempt multiple decoders in an order defined +// by: +// +// 1. The decoder implements RecognizingDecoder and identifies the data +// 2. All other decoders, and any decoder that returned true for unknown. +// +// The order passed to the constructor is preserved within those priorities. +func NewDecoder(decoders ...runtime.Decoder) runtime.Decoder { + return &decoder{ + decoders: decoders, + } +} + +type decoder struct { + decoders []runtime.Decoder +} + +var _ RecognizingDecoder = &decoder{} + +func (d *decoder) RecognizesData(peek io.Reader) (bool, bool, error) { + var ( + lastErr error + anyUnknown bool + ) + data, _ := bufio.NewReaderSize(peek, 1024).Peek(1024) + for _, r := range d.decoders { + switch t := r.(type) { + case RecognizingDecoder: + ok, unknown, err := t.RecognizesData(bytes.NewBuffer(data)) + if err != nil { + lastErr = err + continue + } + anyUnknown = anyUnknown || unknown + if !ok { + continue + } + return true, false, nil + } + } + return false, anyUnknown, lastErr +} + +func (d *decoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + var ( + lastErr error + skipped []runtime.Decoder + ) + + // try recognizers, record any decoders we need to give a chance later + for _, r := range d.decoders { + switch t := r.(type) { + case RecognizingDecoder: + buf := bytes.NewBuffer(data) + ok, unknown, err := t.RecognizesData(buf) + if err != nil { + lastErr = err + continue + } + if unknown { + skipped = append(skipped, t) + continue + } + if !ok { + continue + } + return r.Decode(data, gvk, into) + default: + skipped = append(skipped, t) + } + } + + // try recognizers that returned unknown or didn't recognize their data + for _, r := range skipped { + out, actual, err := r.Decode(data, gvk, into) + if err != nil { + lastErr = err + continue + } + return out, actual, nil + } + + if lastErr == nil { + lastErr = fmt.Errorf("no serialization format matched the provided data") + } + return nil, nil, lastErr +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/testing/recognizer_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/testing/recognizer_test.go new file mode 100644 index 00000000000..79329f3dfb8 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/recognizer/testing/recognizer_test.go @@ -0,0 +1,58 @@ +/* +Copyright 2014 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 testing + +import ( + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" +) + +type A struct{} + +func (A) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +func TestRecognizer(t *testing.T) { + s := runtime.NewScheme() + s.AddKnownTypes(schema.GroupVersion{Version: "v1"}, &A{}) + d := recognizer.NewDecoder( + json.NewSerializer(json.DefaultMetaFactory, s, s, false), + json.NewYAMLSerializer(json.DefaultMetaFactory, s, s), + ) + out, _, err := d.Decode([]byte(` +kind: A +apiVersion: v1 +`), nil, nil) + if err != nil { + t.Fatal(err) + } + t.Logf("%#v", out) + + out, _, err = d.Decode([]byte(` +{ + "kind":"A", + "apiVersion":"v1" +} +`), nil, nil) + if err != nil { + t.Fatal(err) + } + t.Logf("%#v", out) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming.go new file mode 100644 index 00000000000..91fd4ed4f0b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming.go @@ -0,0 +1,137 @@ +/* +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 streaming implements encoder and decoder for streams +// of runtime.Objects over io.Writer/Readers. +package streaming + +import ( + "bytes" + "fmt" + "io" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// Encoder is a runtime.Encoder on a stream. +type Encoder interface { + // Encode will write the provided object to the stream or return an error. It obeys the same + // contract as runtime.VersionedEncoder. + Encode(obj runtime.Object) error +} + +// Decoder is a runtime.Decoder from a stream. +type Decoder interface { + // Decode will return io.EOF when no more objects are available. + Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) + // Close closes the underlying stream. + Close() error +} + +// Serializer is a factory for creating encoders and decoders that work over streams. +type Serializer interface { + NewEncoder(w io.Writer) Encoder + NewDecoder(r io.ReadCloser) Decoder +} + +type decoder struct { + reader io.ReadCloser + decoder runtime.Decoder + buf []byte + maxBytes int + resetRead bool +} + +// NewDecoder creates a streaming decoder that reads object chunks from r and decodes them with d. +// The reader is expected to return ErrShortRead if the provided buffer is not large enough to read +// an entire object. +func NewDecoder(r io.ReadCloser, d runtime.Decoder) Decoder { + return &decoder{ + reader: r, + decoder: d, + buf: make([]byte, 1024), + maxBytes: 1024 * 1024, + } +} + +var ErrObjectTooLarge = fmt.Errorf("object to decode was longer than maximum allowed size") + +// Decode reads the next object from the stream and decodes it. +func (d *decoder) Decode(defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + base := 0 + for { + n, err := d.reader.Read(d.buf[base:]) + if err == io.ErrShortBuffer { + if n == 0 { + return nil, nil, fmt.Errorf("got short buffer with n=0, base=%d, cap=%d", base, cap(d.buf)) + } + if d.resetRead { + continue + } + // double the buffer size up to maxBytes + if len(d.buf) < d.maxBytes { + base += n + d.buf = append(d.buf, make([]byte, len(d.buf))...) + continue + } + // must read the rest of the frame (until we stop getting ErrShortBuffer) + d.resetRead = true + base = 0 + return nil, nil, ErrObjectTooLarge + } + if err != nil { + return nil, nil, err + } + if d.resetRead { + // now that we have drained the large read, continue + d.resetRead = false + continue + } + base += n + break + } + return d.decoder.Decode(d.buf[:base], defaults, into) +} + +func (d *decoder) Close() error { + return d.reader.Close() +} + +type encoder struct { + writer io.Writer + encoder runtime.Encoder + buf *bytes.Buffer +} + +// NewEncoder returns a new streaming encoder. +func NewEncoder(w io.Writer, e runtime.Encoder) Encoder { + return &encoder{ + writer: w, + encoder: e, + buf: &bytes.Buffer{}, + } +} + +// Encode writes the provided object to the nested writer. +func (e *encoder) Encode(obj runtime.Object) error { + if err := e.encoder.Encode(obj, e.buf); err != nil { + return err + } + _, err := e.writer.Write(e.buf.Bytes()) + e.buf.Reset() + return err +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming_test.go new file mode 100644 index 00000000000..9cae6a32c43 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming_test.go @@ -0,0 +1,84 @@ +/* +Copyright 2016 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 streaming + +import ( + "bytes" + "io" + "io/ioutil" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/framer" +) + +type fakeDecoder struct { + got []byte + obj runtime.Object + err error +} + +func (d *fakeDecoder) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + d.got = data + return d.obj, nil, d.err +} + +func TestEmptyDecoder(t *testing.T) { + buf := bytes.NewBuffer([]byte{}) + d := &fakeDecoder{} + _, _, err := NewDecoder(ioutil.NopCloser(buf), d).Decode(nil, nil) + if err != io.EOF { + t.Fatal(err) + } +} + +func TestDecoder(t *testing.T) { + frames := [][]byte{ + make([]byte, 1025), + make([]byte, 1024*5), + make([]byte, 1024*1024*5), + make([]byte, 1025), + } + pr, pw := io.Pipe() + fw := framer.NewLengthDelimitedFrameWriter(pw) + go func() { + for i := range frames { + fw.Write(frames[i]) + } + pw.Close() + }() + + r := framer.NewLengthDelimitedFrameReader(pr) + d := &fakeDecoder{} + dec := NewDecoder(r, d) + if _, _, err := dec.Decode(nil, nil); err != nil || !bytes.Equal(d.got, frames[0]) { + t.Fatalf("unexpected %v %v", err, len(d.got)) + } + if _, _, err := dec.Decode(nil, nil); err != nil || !bytes.Equal(d.got, frames[1]) { + t.Fatalf("unexpected %v %v", err, len(d.got)) + } + if _, _, err := dec.Decode(nil, nil); err != ErrObjectTooLarge || !bytes.Equal(d.got, frames[1]) { + t.Fatalf("unexpected %v %v", err, len(d.got)) + } + if _, _, err := dec.Decode(nil, nil); err != nil || !bytes.Equal(d.got, frames[3]) { + t.Fatalf("unexpected %v %v", err, len(d.got)) + } + if _, _, err := dec.Decode(nil, nil); err != io.EOF { + t.Fatalf("unexpected %v %v", err, len(d.got)) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go new file mode 100644 index 00000000000..829d4fa8956 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go @@ -0,0 +1,273 @@ +/* +Copyright 2014 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 versioning + +import ( + "io" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" +) + +// NewCodecForScheme is a convenience method for callers that are using a scheme. +func NewCodecForScheme( + // TODO: I should be a scheme interface? + scheme *runtime.Scheme, + encoder runtime.Encoder, + decoder runtime.Decoder, + encodeVersion runtime.GroupVersioner, + decodeVersion runtime.GroupVersioner, +) runtime.Codec { + return NewCodec(encoder, decoder, runtime.UnsafeObjectConvertor(scheme), scheme, scheme, scheme, nil, encodeVersion, decodeVersion) +} + +// NewDefaultingCodecForScheme is a convenience method for callers that are using a scheme. +func NewDefaultingCodecForScheme( + // TODO: I should be a scheme interface? + scheme *runtime.Scheme, + encoder runtime.Encoder, + decoder runtime.Decoder, + encodeVersion runtime.GroupVersioner, + decodeVersion runtime.GroupVersioner, +) runtime.Codec { + return NewCodec(encoder, decoder, runtime.UnsafeObjectConvertor(scheme), scheme, scheme, scheme, scheme, encodeVersion, decodeVersion) +} + +// NewCodec takes objects in their internal versions and converts them to external versions before +// serializing them. It assumes the serializer provided to it only deals with external versions. +// This class is also a serializer, but is generally used with a specific version. +func NewCodec( + encoder runtime.Encoder, + decoder runtime.Decoder, + convertor runtime.ObjectConvertor, + creater runtime.ObjectCreater, + copier runtime.ObjectCopier, + typer runtime.ObjectTyper, + defaulter runtime.ObjectDefaulter, + encodeVersion runtime.GroupVersioner, + decodeVersion runtime.GroupVersioner, +) runtime.Codec { + internal := &codec{ + encoder: encoder, + decoder: decoder, + convertor: convertor, + creater: creater, + copier: copier, + typer: typer, + defaulter: defaulter, + + encodeVersion: encodeVersion, + decodeVersion: decodeVersion, + } + return internal +} + +type codec struct { + encoder runtime.Encoder + decoder runtime.Decoder + convertor runtime.ObjectConvertor + creater runtime.ObjectCreater + copier runtime.ObjectCopier + typer runtime.ObjectTyper + defaulter runtime.ObjectDefaulter + + encodeVersion runtime.GroupVersioner + decodeVersion runtime.GroupVersioner +} + +// Decode attempts a decode of the object, then tries to convert it to the internal version. If into is provided and the decoding is +// successful, the returned runtime.Object will be the value passed as into. Note that this may bypass conversion if you pass an +// into that matches the serialized version. +func (c *codec) Decode(data []byte, defaultGVK *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + versioned, isVersioned := into.(*runtime.VersionedObjects) + if isVersioned { + into = versioned.Last() + } + + obj, gvk, err := c.decoder.Decode(data, defaultGVK, into) + if err != nil { + return nil, gvk, err + } + + if d, ok := obj.(runtime.NestedObjectDecoder); ok { + if err := d.DecodeNestedObjects(DirectDecoder{c.decoder}); err != nil { + return nil, gvk, err + } + } + + // if we specify a target, use generic conversion. + if into != nil { + if into == obj { + if isVersioned { + return versioned, gvk, nil + } + return into, gvk, nil + } + + // perform defaulting if requested + if c.defaulter != nil { + // create a copy to ensure defaulting is not applied to the original versioned objects + if isVersioned { + copied, err := c.copier.Copy(obj) + if err != nil { + utilruntime.HandleError(err) + copied = obj + } + versioned.Objects = []runtime.Object{copied} + } + c.defaulter.Default(obj) + } else { + if isVersioned { + versioned.Objects = []runtime.Object{obj} + } + } + + if err := c.convertor.Convert(obj, into, c.decodeVersion); err != nil { + return nil, gvk, err + } + + if isVersioned { + versioned.Objects = append(versioned.Objects, into) + return versioned, gvk, nil + } + return into, gvk, nil + } + + // Convert if needed. + if isVersioned { + // create a copy, because ConvertToVersion does not guarantee non-mutation of objects + copied, err := c.copier.Copy(obj) + if err != nil { + utilruntime.HandleError(err) + copied = obj + } + versioned.Objects = []runtime.Object{copied} + } + + // perform defaulting if requested + if c.defaulter != nil { + c.defaulter.Default(obj) + } + + out, err := c.convertor.ConvertToVersion(obj, c.decodeVersion) + if err != nil { + return nil, gvk, err + } + if isVersioned { + if versioned.Last() != out { + versioned.Objects = append(versioned.Objects, out) + } + return versioned, gvk, nil + } + return out, gvk, nil +} + +// Encode ensures the provided object is output in the appropriate group and version, invoking +// conversion if necessary. Unversioned objects (according to the ObjectTyper) are output as is. +func (c *codec) Encode(obj runtime.Object, w io.Writer) error { + switch obj.(type) { + case *runtime.Unknown, runtime.Unstructured: + return c.encoder.Encode(obj, w) + } + + gvks, isUnversioned, err := c.typer.ObjectKinds(obj) + if err != nil { + return err + } + + if c.encodeVersion == nil || isUnversioned { + if e, ok := obj.(runtime.NestedObjectEncoder); ok { + if err := e.EncodeNestedObjects(DirectEncoder{Encoder: c.encoder, ObjectTyper: c.typer}); err != nil { + return err + } + } + objectKind := obj.GetObjectKind() + old := objectKind.GroupVersionKind() + objectKind.SetGroupVersionKind(gvks[0]) + err = c.encoder.Encode(obj, w) + objectKind.SetGroupVersionKind(old) + return err + } + + // Perform a conversion if necessary + objectKind := obj.GetObjectKind() + old := objectKind.GroupVersionKind() + out, err := c.convertor.ConvertToVersion(obj, c.encodeVersion) + if err != nil { + return err + } + + if e, ok := out.(runtime.NestedObjectEncoder); ok { + if err := e.EncodeNestedObjects(DirectEncoder{Encoder: c.encoder, ObjectTyper: c.typer}); err != nil { + return err + } + } + + // Conversion is responsible for setting the proper group, version, and kind onto the outgoing object + err = c.encoder.Encode(out, w) + // restore the old GVK, in case conversion returned the same object + objectKind.SetGroupVersionKind(old) + return err +} + +// DirectEncoder serializes an object and ensures the GVK is set. +type DirectEncoder struct { + Version runtime.GroupVersioner + runtime.Encoder + runtime.ObjectTyper +} + +// Encode does not do conversion. It sets the gvk during serialization. +func (e DirectEncoder) Encode(obj runtime.Object, stream io.Writer) error { + gvks, _, err := e.ObjectTyper.ObjectKinds(obj) + if err != nil { + if runtime.IsNotRegisteredError(err) { + return e.Encoder.Encode(obj, stream) + } + return err + } + kind := obj.GetObjectKind() + oldGVK := kind.GroupVersionKind() + gvk := gvks[0] + if e.Version != nil { + preferredGVK, ok := e.Version.KindForGroupVersionKinds(gvks) + if ok { + gvk = preferredGVK + } + } + kind.SetGroupVersionKind(gvk) + err = e.Encoder.Encode(obj, stream) + kind.SetGroupVersionKind(oldGVK) + return err +} + +// DirectDecoder clears the group version kind of a deserialized object. +type DirectDecoder struct { + runtime.Decoder +} + +// Decode does not do conversion. It removes the gvk during deserialization. +func (d DirectDecoder) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + obj, gvk, err := d.Decoder.Decode(data, defaults, into) + if obj != nil { + kind := obj.GetObjectKind() + // clearing the gvk is just a convention of a codec + kind.SetGroupVersionKind(schema.GroupVersionKind{}) + } + return obj, gvk, err +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning_test.go new file mode 100644 index 00000000000..19b4f6d4f36 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning_test.go @@ -0,0 +1,399 @@ +/* +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 versioning + +import ( + "fmt" + "io" + "io/ioutil" + "reflect" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" +) + +type testDecodable struct { + Other string + Value int `json:"value"` + gvk schema.GroupVersionKind +} + +func (d *testDecodable) GetObjectKind() schema.ObjectKind { return d } +func (d *testDecodable) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testDecodable) GroupVersionKind() schema.GroupVersionKind { return d.gvk } + +type testNestedDecodable struct { + Other string + Value int `json:"value"` + + gvk schema.GroupVersionKind + nestedCalled bool + nestedErr error +} + +func (d *testNestedDecodable) GetObjectKind() schema.ObjectKind { return d } +func (d *testNestedDecodable) SetGroupVersionKind(gvk schema.GroupVersionKind) { d.gvk = gvk } +func (d *testNestedDecodable) GroupVersionKind() schema.GroupVersionKind { return d.gvk } + +func (d *testNestedDecodable) EncodeNestedObjects(e runtime.Encoder) error { + d.nestedCalled = true + return d.nestedErr +} + +func (d *testNestedDecodable) DecodeNestedObjects(_ runtime.Decoder) error { + d.nestedCalled = true + return d.nestedErr +} + +func TestNestedDecode(t *testing.T) { + n := &testNestedDecodable{nestedErr: fmt.Errorf("unable to decode")} + decoder := &mockSerializer{obj: n} + codec := NewCodec(nil, decoder, nil, nil, nil, nil, nil, nil, nil) + if _, _, err := codec.Decode([]byte(`{}`), nil, n); err != n.nestedErr { + t.Errorf("unexpected error: %v", err) + } + if !n.nestedCalled { + t.Errorf("did not invoke nested decoder") + } +} + +func TestNestedEncode(t *testing.T) { + n := &testNestedDecodable{nestedErr: fmt.Errorf("unable to decode")} + n2 := &testNestedDecodable{nestedErr: fmt.Errorf("unable to decode 2")} + encoder := &mockSerializer{obj: n} + codec := NewCodec( + encoder, nil, + &checkConvertor{obj: n2, groupVersion: schema.GroupVersion{Group: "other"}}, + nil, nil, + &mockTyper{gvks: []schema.GroupVersionKind{{Kind: "test"}}}, + nil, + schema.GroupVersion{Group: "other"}, nil, + ) + if err := codec.Encode(n, ioutil.Discard); err != n2.nestedErr { + t.Errorf("unexpected error: %v", err) + } + if n.nestedCalled || !n2.nestedCalled { + t.Errorf("did not invoke correct nested decoder") + } +} + +func TestDecode(t *testing.T) { + gvk1 := &schema.GroupVersionKind{Kind: "Test", Group: "other", Version: "blah"} + decodable1 := &testDecodable{} + decodable2 := &testDecodable{} + decodable3 := &testDecodable{} + versionedDecodable1 := &runtime.VersionedObjects{Objects: []runtime.Object{decodable1}} + + testCases := []struct { + serializer runtime.Serializer + convertor runtime.ObjectConvertor + creater runtime.ObjectCreater + copier runtime.ObjectCopier + typer runtime.ObjectTyper + defaulter runtime.ObjectDefaulter + yaml bool + pretty bool + + encodes, decodes runtime.GroupVersioner + + defaultGVK *schema.GroupVersionKind + into runtime.Object + + errFn func(error) bool + expectedObject runtime.Object + sameObject runtime.Object + expectedGVK *schema.GroupVersionKind + }{ + { + serializer: &mockSerializer{actual: gvk1}, + convertor: &checkConvertor{groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, + expectedGVK: gvk1, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, + }, + { + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, + expectedGVK: gvk1, + sameObject: decodable2, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, + }, + // defaultGVK.Group is allowed to force a conversion to the destination group + { + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + defaultGVK: &schema.GroupVersionKind{Group: "force"}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "force", Version: "__internal"}}, + expectedGVK: gvk1, + sameObject: decodable2, + decodes: schema.GroupVersion{Group: "force", Version: "__internal"}, + }, + // uses direct conversion for into when objects differ + { + into: decodable3, + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable3, directConvert: true}, + expectedGVK: gvk1, + sameObject: decodable3, + }, + { + into: versionedDecodable1, + serializer: &mockSerializer{actual: gvk1, obj: decodable3}, + convertor: &checkConvertor{in: decodable3, obj: decodable1, directConvert: true}, + expectedGVK: gvk1, + sameObject: versionedDecodable1, + }, + // returns directly when serializer returns into + { + into: decodable3, + serializer: &mockSerializer{actual: gvk1, obj: decodable3}, + expectedGVK: gvk1, + sameObject: decodable3, + }, + // returns directly when serializer returns into + { + into: versionedDecodable1, + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + expectedGVK: gvk1, + sameObject: versionedDecodable1, + }, + + // runtime.VersionedObjects are decoded + { + into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, + + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + copier: &checkCopy{in: decodable1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, + expectedGVK: gvk1, + expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1, decodable2}}, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, + }, + { + into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, + + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + copier: &checkCopy{in: decodable1, obj: nil, err: fmt.Errorf("error on copy")}, + convertor: &checkConvertor{in: decodable1, obj: decodable2, groupVersion: schema.GroupVersion{Group: "other", Version: "__internal"}}, + expectedGVK: gvk1, + expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1, decodable2}}, + decodes: schema.GroupVersion{Group: "other", Version: "__internal"}, + }, + + // decode into the same version as the serialized object + { + decodes: schema.GroupVersions{gvk1.GroupVersion()}, + + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "other", Version: "blah"}}}, + expectedGVK: gvk1, + expectedObject: decodable1, + }, + { + into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, + decodes: schema.GroupVersions{gvk1.GroupVersion()}, + + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "other", Version: "blah"}}}, + copier: &checkCopy{in: decodable1, obj: decodable1, err: nil}, + expectedGVK: gvk1, + expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1}}, + }, + + // codec with non matching version skips conversion altogether + { + decodes: schema.GroupVersions{{Group: "something", Version: "else"}}, + + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "something", Version: "else"}}}, + expectedGVK: gvk1, + expectedObject: decodable1, + }, + { + into: &runtime.VersionedObjects{Objects: []runtime.Object{}}, + decodes: schema.GroupVersions{{Group: "something", Version: "else"}}, + + serializer: &mockSerializer{actual: gvk1, obj: decodable1}, + convertor: &checkConvertor{in: decodable1, obj: decodable1, groupVersion: schema.GroupVersions{{Group: "something", Version: "else"}}}, + copier: &checkCopy{in: decodable1, obj: decodable1, err: nil}, + expectedGVK: gvk1, + expectedObject: &runtime.VersionedObjects{Objects: []runtime.Object{decodable1}}, + }, + } + + for i, test := range testCases { + t.Logf("%d", i) + s := NewCodec(test.serializer, test.serializer, test.convertor, test.creater, test.copier, test.typer, test.defaulter, test.encodes, test.decodes) + obj, gvk, err := s.Decode([]byte(`{}`), test.defaultGVK, test.into) + + if !reflect.DeepEqual(test.expectedGVK, gvk) { + t.Errorf("%d: unexpected GVK: %v", i, gvk) + } + + switch { + case err == nil && test.errFn != nil: + t.Errorf("%d: failed: %v", i, err) + continue + case err != nil && test.errFn == nil: + t.Errorf("%d: failed: %v", i, err) + continue + case err != nil: + if !test.errFn(err) { + t.Errorf("%d: failed: %v", i, err) + } + if obj != nil { + t.Errorf("%d: should have returned nil object", i) + } + continue + } + + if test.into != nil && test.into != obj { + t.Errorf("%d: expected into to be returned: %v", i, obj) + continue + } + + switch { + case test.expectedObject != nil: + if !reflect.DeepEqual(test.expectedObject, obj) { + t.Errorf("%d: unexpected object:\n%s", i, diff.ObjectGoPrintSideBySide(test.expectedObject, obj)) + } + case test.sameObject != nil: + if test.sameObject != obj { + t.Errorf("%d: unexpected object:\n%s", i, diff.ObjectGoPrintSideBySide(test.sameObject, obj)) + } + case obj != nil: + t.Errorf("%d: unexpected object: %#v", i, obj) + } + } +} + +type checkCopy struct { + in, obj runtime.Object + err error +} + +func (c *checkCopy) Copy(obj runtime.Object) (runtime.Object, error) { + if c.in != nil && c.in != obj { + return nil, fmt.Errorf("unexpected input to copy: %#v", obj) + } + return c.obj, c.err +} + +type checkConvertor struct { + err error + in, obj runtime.Object + groupVersion runtime.GroupVersioner + directConvert bool +} + +func (c *checkConvertor) Convert(in, out, context interface{}) error { + if !c.directConvert { + return fmt.Errorf("unexpected call to Convert") + } + if c.in != nil && c.in != in { + return fmt.Errorf("unexpected in: %s", in) + } + if c.obj != nil && c.obj != out { + return fmt.Errorf("unexpected out: %s", out) + } + return c.err +} +func (c *checkConvertor) ConvertToVersion(in runtime.Object, outVersion runtime.GroupVersioner) (out runtime.Object, err error) { + if c.directConvert { + return nil, fmt.Errorf("unexpected call to ConvertToVersion") + } + if c.in != nil && c.in != in { + return nil, fmt.Errorf("unexpected in: %s", in) + } + if !reflect.DeepEqual(c.groupVersion, outVersion) { + return nil, fmt.Errorf("unexpected outversion: %s (%s)", outVersion, c.groupVersion) + } + return c.obj, c.err +} +func (c *checkConvertor) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + return "", "", fmt.Errorf("unexpected call to ConvertFieldLabel") +} + +type mockSerializer struct { + err error + obj runtime.Object + encodingObjGVK schema.GroupVersionKind + + defaults, actual *schema.GroupVersionKind + into runtime.Object +} + +func (s *mockSerializer) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + s.defaults = defaults + s.into = into + return s.obj, s.actual, s.err +} + +func (s *mockSerializer) Encode(obj runtime.Object, w io.Writer) error { + s.obj = obj + s.encodingObjGVK = obj.GetObjectKind().GroupVersionKind() + return s.err +} + +type mockCreater struct { + err error + obj runtime.Object +} + +func (c *mockCreater) New(kind schema.GroupVersionKind) (runtime.Object, error) { + return c.obj, c.err +} + +type mockTyper struct { + gvks []schema.GroupVersionKind + unversioned bool + err error +} + +func (t *mockTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { + return t.gvks, t.unversioned, t.err +} + +func (t *mockTyper) Recognizes(_ schema.GroupVersionKind) bool { + return true +} + +func TestDirectCodecEncode(t *testing.T) { + serializer := mockSerializer{} + typer := mockTyper{ + gvks: []schema.GroupVersionKind{ + { + Group: "wrong_group", + Kind: "some_kind", + }, + { + Group: "expected_group", + Kind: "some_kind", + }, + }, + } + + c := DirectEncoder{ + Version: schema.GroupVersion{Group: "expected_group"}, + Encoder: &serializer, + ObjectTyper: &typer, + } + c.Encode(&testDecodable{}, ioutil.Discard) + if e, a := "expected_group", serializer.encodingObjGVK.Group; e != a { + t.Errorf("expected group to be %v, got %v", e, a) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/yaml/yaml.go b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/yaml/yaml.go new file mode 100644 index 00000000000..2fdd1d43d52 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/serializer/yaml/yaml.go @@ -0,0 +1,46 @@ +/* +Copyright 2014 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 yaml + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/yaml" +) + +// yamlSerializer converts YAML passed to the Decoder methods to JSON. +type yamlSerializer struct { + // the nested serializer + runtime.Serializer +} + +// yamlSerializer implements Serializer +var _ runtime.Serializer = yamlSerializer{} + +// NewDecodingSerializer adds YAML decoding support to a serializer that supports JSON. +func NewDecodingSerializer(jsonSerializer runtime.Serializer) runtime.Serializer { + return &yamlSerializer{jsonSerializer} +} + +func (c yamlSerializer) Decode(data []byte, gvk *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + out, err := yaml.ToJSON(data) + if err != nil { + return nil, nil, err + } + data = out + return c.Serializer.Decode(data, gvk, into) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator.go b/staging/src/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator.go new file mode 100644 index 00000000000..29722d52e71 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator.go @@ -0,0 +1,262 @@ +/* +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 runtime + +import ( + "bytes" + "fmt" + "go/ast" + "go/doc" + "go/parser" + "go/token" + "io" + "reflect" + "strings" +) + +// Pair of strings. We keed the name of fields and the doc +type Pair struct { + Name, Doc string +} + +// KubeTypes is an array to represent all available types in a parsed file. [0] is for the type itself +type KubeTypes []Pair + +func astFrom(filePath string) *doc.Package { + fset := token.NewFileSet() + m := make(map[string]*ast.File) + + f, err := parser.ParseFile(fset, filePath, nil, parser.ParseComments) + if err != nil { + fmt.Println(err) + return nil + } + + m[filePath] = f + apkg, _ := ast.NewPackage(fset, m, nil, nil) + + return doc.New(apkg, "", 0) +} + +func fmtRawDoc(rawDoc string) string { + var buffer bytes.Buffer + delPrevChar := func() { + if buffer.Len() > 0 { + buffer.Truncate(buffer.Len() - 1) // Delete the last " " or "\n" + } + } + + // Ignore all lines after --- + rawDoc = strings.Split(rawDoc, "---")[0] + + for _, line := range strings.Split(rawDoc, "\n") { + line = strings.TrimRight(line, " ") + leading := strings.TrimLeft(line, " ") + switch { + case len(line) == 0: // Keep paragraphs + delPrevChar() + buffer.WriteString("\n\n") + case strings.HasPrefix(leading, "TODO"): // Ignore one line TODOs + case strings.HasPrefix(leading, "+"): // Ignore instructions to go2idl + default: + if strings.HasPrefix(line, " ") || strings.HasPrefix(line, "\t") { + delPrevChar() + line = "\n" + line + "\n" // Replace it with newline. This is useful when we have a line with: "Example:\n\tJSON-someting..." + } else { + line += " " + } + buffer.WriteString(line) + } + } + + postDoc := strings.TrimRight(buffer.String(), "\n") + postDoc = strings.Replace(postDoc, "\\\"", "\"", -1) // replace user's \" to " + postDoc = strings.Replace(postDoc, "\"", "\\\"", -1) // Escape " + postDoc = strings.Replace(postDoc, "\n", "\\n", -1) + postDoc = strings.Replace(postDoc, "\t", "\\t", -1) + + return postDoc +} + +// fieldName returns the name of the field as it should appear in JSON format +// "-" indicates that this field is not part of the JSON representation +func fieldName(field *ast.Field) string { + jsonTag := "" + if field.Tag != nil { + jsonTag = reflect.StructTag(field.Tag.Value[1 : len(field.Tag.Value)-1]).Get("json") // Delete first and last quotation + if strings.Contains(jsonTag, "inline") { + return "-" + } + } + + jsonTag = strings.Split(jsonTag, ",")[0] // This can return "-" + if jsonTag == "" { + if field.Names != nil { + return field.Names[0].Name + } + return field.Type.(*ast.Ident).Name + } + return jsonTag +} + +// A buffer of lines that will be written. +type bufferedLine struct { + line string + indentation int +} + +type buffer struct { + lines []bufferedLine +} + +func newBuffer() *buffer { + return &buffer{ + lines: make([]bufferedLine, 0), + } +} + +func (b *buffer) addLine(line string, indent int) { + b.lines = append(b.lines, bufferedLine{line, indent}) +} + +func (b *buffer) flushLines(w io.Writer) error { + for _, line := range b.lines { + indentation := strings.Repeat("\t", line.indentation) + fullLine := fmt.Sprintf("%s%s", indentation, line.line) + if _, err := io.WriteString(w, fullLine); err != nil { + return err + } + } + return nil +} + +func writeFuncHeader(b *buffer, structName string, indent int) { + s := fmt.Sprintf("var map_%s = map[string]string {\n", structName) + b.addLine(s, indent) +} + +func writeFuncFooter(b *buffer, structName string, indent int) { + b.addLine("}\n", indent) // Closes the map definition + + s := fmt.Sprintf("func (%s) SwaggerDoc() map[string]string {\n", structName) + b.addLine(s, indent) + s = fmt.Sprintf("return map_%s\n", structName) + b.addLine(s, indent+1) + b.addLine("}\n", indent) // Closes the function definition +} + +func writeMapBody(b *buffer, kubeType []Pair, indent int) { + format := "\"%s\": \"%s\",\n" + for _, pair := range kubeType { + s := fmt.Sprintf(format, pair.Name, pair.Doc) + b.addLine(s, indent+2) + } +} + +// ParseDocumentationFrom gets all types' documentation and returns them as an +// array. Each type is again represented as an array (we have to use arrays as we +// need to be sure for the order of the fields). This function returns fields and +// struct definitions that have no documentation as {name, ""}. +func ParseDocumentationFrom(src string) []KubeTypes { + var docForTypes []KubeTypes + + pkg := astFrom(src) + + for _, kubType := range pkg.Types { + if structType, ok := kubType.Decl.Specs[0].(*ast.TypeSpec).Type.(*ast.StructType); ok { + var ks KubeTypes + ks = append(ks, Pair{kubType.Name, fmtRawDoc(kubType.Doc)}) + + for _, field := range structType.Fields.List { + if n := fieldName(field); n != "-" { + fieldDoc := fmtRawDoc(field.Doc.Text()) + ks = append(ks, Pair{n, fieldDoc}) + } + } + docForTypes = append(docForTypes, ks) + } + } + + return docForTypes +} + +// WriteSwaggerDocFunc writes a declaration of a function as a string. This function is used in +// Swagger as a documentation source for structs and theirs fields +func WriteSwaggerDocFunc(kubeTypes []KubeTypes, w io.Writer) error { + for _, kubeType := range kubeTypes { + structName := kubeType[0].Name + kubeType[0].Name = "" + + // Ignore empty documentation + docfulTypes := make(KubeTypes, 0, len(kubeType)) + for _, pair := range kubeType { + if pair.Doc != "" { + docfulTypes = append(docfulTypes, pair) + } + } + + if len(docfulTypes) == 0 { + continue // If no fields and the struct have documentation, skip the function definition + } + + indent := 0 + buffer := newBuffer() + + writeFuncHeader(buffer, structName, indent) + writeMapBody(buffer, docfulTypes, indent) + writeFuncFooter(buffer, structName, indent) + buffer.addLine("\n", 0) + + if err := buffer.flushLines(w); err != nil { + return err + } + } + + return nil +} + +// VerifySwaggerDocsExist writes in a io.Writer a list of structs and fields that +// are missing of documentation. +func VerifySwaggerDocsExist(kubeTypes []KubeTypes, w io.Writer) (int, error) { + missingDocs := 0 + buffer := newBuffer() + + for _, kubeType := range kubeTypes { + structName := kubeType[0].Name + if kubeType[0].Doc == "" { + format := "Missing documentation for the struct itself: %s\n" + s := fmt.Sprintf(format, structName) + buffer.addLine(s, 0) + missingDocs++ + } + kubeType = kubeType[1:] // Skip struct definition + + for _, pair := range kubeType { // Iterate only the fields + if pair.Doc == "" { + format := "In struct: %s, field documentation is missing: %s\n" + s := fmt.Sprintf(format, structName, pair.Name) + buffer.addLine(s, 0) + missingDocs++ + } + } + } + + if err := buffer.flushLines(w); err != nil { + return -1, err + } + return missingDocs, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_test.go b/staging/src/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_test.go new file mode 100644 index 00000000000..a6f338d3113 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_test.go @@ -0,0 +1,43 @@ +/* +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 runtime + +import ( + "testing" +) + +func TestFmtRawDoc(t *testing.T) { + tests := []struct { + t, expected string + }{ + {"aaa\n --- asd\n TODO: tooooodo\n toooodoooooo\n", "aaa"}, + {"aaa\nasd\n TODO: tooooodo\nbbbb\n --- toooodoooooo\n", "aaa asd bbbb"}, + {" TODO: tooooodo\n", ""}, + {"Par1\n\nPar2\n\n", "Par1\\n\\nPar2"}, + {"", ""}, + {" ", ""}, + {" \n", ""}, + {" \n\n ", ""}, + {"Example:\n\tl1\n\t\tl2\n", "Example:\\n\\tl1\\n\\t\\tl2"}, + } + + for _, test := range tests { + if o := fmtRawDoc(test.t); o != test.expected { + t.Fatalf("Expected: %q, got %q", test.expected, o) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/types.go b/staging/src/k8s.io/apimachinery/pkg/runtime/types.go new file mode 100644 index 00000000000..f972c5e697a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/types.go @@ -0,0 +1,133 @@ +/* +Copyright 2014 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 runtime + +// Note that the types provided in this file are not versioned and are intended to be +// safe to use from within all versions of every API object. + +// TypeMeta is shared by all top level objects. The proper way to use it is to inline it in your type, +// like this: +// type MyAwesomeAPIObject struct { +// runtime.TypeMeta `json:",inline"` +// ... // other fields +// } +// func (obj *MyAwesomeAPIObject) SetGroupVersionKind(gvk *metav1.GroupVersionKind) { metav1.UpdateTypeMeta(obj,gvk) }; GroupVersionKind() *GroupVersionKind +// +// TypeMeta is provided here for convenience. You may use it directly from this package or define +// your own with the same fields. +// +// +k8s:deepcopy-gen=true +// +protobuf=true +// +k8s:openapi-gen=true +type TypeMeta struct { + // +optional + APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty" protobuf:"bytes,1,opt,name=apiVersion"` + // +optional + Kind string `json:"kind,omitempty" yaml:"kind,omitempty" protobuf:"bytes,2,opt,name=kind"` +} + +const ( + ContentTypeJSON string = "application/json" +) + +// RawExtension is used to hold extensions in external versions. +// +// To use this, make a field which has RawExtension as its type in your external, versioned +// struct, and Object in your internal struct. You also need to register your +// various plugin types. +// +// // Internal package: +// type MyAPIObject struct { +// runtime.TypeMeta `json:",inline"` +// MyPlugin runtime.Object `json:"myPlugin"` +// } +// type PluginA struct { +// AOption string `json:"aOption"` +// } +// +// // External package: +// type MyAPIObject struct { +// runtime.TypeMeta `json:",inline"` +// MyPlugin runtime.RawExtension `json:"myPlugin"` +// } +// type PluginA struct { +// AOption string `json:"aOption"` +// } +// +// // On the wire, the JSON will look something like this: +// { +// "kind":"MyAPIObject", +// "apiVersion":"v1", +// "myPlugin": { +// "kind":"PluginA", +// "aOption":"foo", +// }, +// } +// +// So what happens? Decode first uses json or yaml to unmarshal the serialized data into +// your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. +// The next step is to copy (using pkg/conversion) into the internal struct. The runtime +// package's DefaultScheme has conversion functions installed which will unpack the +// JSON stored in RawExtension, turning it into the correct object type, and storing it +// in the Object. (TODO: In the case where the object is of an unknown type, a +// runtime.Unknown object will be created and stored.) +// +// +k8s:deepcopy-gen=true +// +protobuf=true +// +k8s:openapi-gen=true +type RawExtension struct { + // Raw is the underlying serialization of this object. + // + // TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data. + Raw []byte `protobuf:"bytes,1,opt,name=raw"` + // Object can hold a representation of this extension - useful for working with versioned + // structs. + Object Object `json:"-"` +} + +// Unknown allows api objects with unknown types to be passed-through. This can be used +// to deal with the API objects from a plug-in. Unknown objects still have functioning +// TypeMeta features-- kind, version, etc. +// TODO: Make this object have easy access to field based accessors and settors for +// metadata and field mutatation. +// +// +k8s:deepcopy-gen=true +// +protobuf=true +// +k8s:openapi-gen=true +type Unknown struct { + TypeMeta `json:",inline" protobuf:"bytes,1,opt,name=typeMeta"` + // Raw will hold the complete serialized object which couldn't be matched + // with a registered type. Most likely, nothing should be done with this + // except for passing it through the system. + Raw []byte `protobuf:"bytes,2,opt,name=raw"` + // ContentEncoding is encoding used to encode 'Raw' data. + // Unspecified means no encoding. + ContentEncoding string `protobuf:"bytes,3,opt,name=contentEncoding"` + // ContentType is serialization method used to serialize 'Raw'. + // Unspecified means ContentTypeJSON. + ContentType string `protobuf:"bytes,4,opt,name=contentType"` +} + +// VersionedObjects is used by Decoders to give callers a way to access all versions +// of an object during the decoding process. +type VersionedObjects struct { + // Objects is the set of objects retrieved during decoding, in order of conversion. + // The 0 index is the object as serialized on the wire. If conversion has occurred, + // other objects may be present. The right most object is the same as would be returned + // by a normal Decode call. + Objects []Object +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/types_proto.go b/staging/src/k8s.io/apimachinery/pkg/runtime/types_proto.go new file mode 100644 index 00000000000..ead96ee0554 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/types_proto.go @@ -0,0 +1,69 @@ +/* +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 runtime + +import ( + "fmt" +) + +type ProtobufMarshaller interface { + MarshalTo(data []byte) (int, error) +} + +// NestedMarshalTo allows a caller to avoid extra allocations during serialization of an Unknown +// that will contain an object that implements ProtobufMarshaller. +func (m *Unknown) NestedMarshalTo(data []byte, b ProtobufMarshaller, size uint64) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.TypeMeta.Size())) + n1, err := m.TypeMeta.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n1 + + if b != nil { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, size) + n2, err := b.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + if uint64(n2) != size { + // programmer error: the Size() method for protobuf does not match the results of MarshalTo, which means the proto + // struct returned would be wrong. + return 0, fmt.Errorf("the Size() value of %T was %d, but NestedMarshalTo wrote %d bytes to data", b, size, n2) + } + i += n2 + } + + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ContentEncoding))) + i += copy(data[i:], m.ContentEncoding) + + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(len(m.ContentType))) + i += copy(data[i:], m.ContentType) + return i, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go b/staging/src/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go new file mode 100644 index 00000000000..b75b3ebb226 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go @@ -0,0 +1,80 @@ +// +build !ignore_autogenerated + +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by deepcopy-gen. Do not edit it manually! + +package runtime + +import ( + conversion "k8s.io/apimachinery/pkg/conversion" + reflect "reflect" +) + +// GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them. +func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc { + return []conversion.GeneratedDeepCopyFunc{ + {Fn: DeepCopy_runtime_RawExtension, InType: reflect.TypeOf(&RawExtension{})}, + {Fn: DeepCopy_runtime_TypeMeta, InType: reflect.TypeOf(&TypeMeta{})}, + {Fn: DeepCopy_runtime_Unknown, InType: reflect.TypeOf(&Unknown{})}, + } +} + +func DeepCopy_runtime_RawExtension(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*RawExtension) + out := out.(*RawExtension) + *out = *in + if in.Raw != nil { + in, out := &in.Raw, &out.Raw + *out = make([]byte, len(*in)) + copy(*out, *in) + } + // in.Object is kind 'Interface' + if in.Object != nil { + if newVal, err := c.DeepCopy(&in.Object); err != nil { + return err + } else { + out.Object = *newVal.(*Object) + } + } + return nil + } +} + +func DeepCopy_runtime_TypeMeta(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*TypeMeta) + out := out.(*TypeMeta) + *out = *in + return nil + } +} + +func DeepCopy_runtime_Unknown(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*Unknown) + out := out.(*Unknown) + *out = *in + if in.Raw != nil { + in, out := &in.Raw, &out.Raw + *out = make([]byte, len(*in)) + copy(*out, *in) + } + return nil + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/selection/operator.go b/staging/src/k8s.io/apimachinery/pkg/selection/operator.go new file mode 100644 index 00000000000..298f798c437 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/selection/operator.go @@ -0,0 +1,33 @@ +/* +Copyright 2016 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 selection + +// Operator represents a key/field's relationship to value(s). +// See labels.Requirement and fields.Requirement for more details. +type Operator string + +const ( + DoesNotExist Operator = "!" + Equals Operator = "=" + DoubleEquals Operator = "==" + In Operator = "in" + NotEquals Operator = "!=" + NotIn Operator = "notin" + Exists Operator = "exists" + GreaterThan Operator = "gt" + LessThan Operator = "lt" +) diff --git a/staging/src/k8s.io/apimachinery/pkg/types/doc.go b/staging/src/k8s.io/apimachinery/pkg/types/doc.go new file mode 100644 index 00000000000..5667fa99212 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/types/doc.go @@ -0,0 +1,18 @@ +/* +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 types implements various generic types used throughout kubernetes. +package types // import "k8s.io/apimachinery/pkg/types" diff --git a/staging/src/k8s.io/apimachinery/pkg/types/namespacedname.go b/staging/src/k8s.io/apimachinery/pkg/types/namespacedname.go new file mode 100644 index 00000000000..1e2130da08b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/types/namespacedname.go @@ -0,0 +1,60 @@ +/* +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 types + +import ( + "fmt" + "strings" +) + +// NamespacedName comprises a resource name, with a mandatory namespace, +// rendered as "/". Being a type captures intent and +// helps make sure that UIDs, namespaced names and non-namespaced names +// do not get conflated in code. For most use cases, namespace and name +// will already have been format validated at the API entry point, so we +// don't do that here. Where that's not the case (e.g. in testing), +// consider using NamespacedNameOrDie() in testing.go in this package. + +type NamespacedName struct { + Namespace string + Name string +} + +const ( + Separator = '/' +) + +// String returns the general purpose string representation +func (n NamespacedName) String() string { + return fmt.Sprintf("%s%c%s", n.Namespace, Separator, n.Name) +} + +// NewNamespacedNameFromString parses the provided string and returns a NamespacedName. +// The expected format is as per String() above. +// If the input string is invalid, the returned NamespacedName has all empty string field values. +// This allows a single-value return from this function, while still allowing error checks in the caller. +// Note that an input string which does not include exactly one Separator is not a valid input (as it could never +// have neem returned by String() ) +func NewNamespacedNameFromString(s string) NamespacedName { + nn := NamespacedName{} + result := strings.Split(s, string(Separator)) + if len(result) == 2 { + nn.Namespace = result[0] + nn.Name = result[1] + } + return nn +} diff --git a/staging/src/k8s.io/apimachinery/pkg/types/nodename.go b/staging/src/k8s.io/apimachinery/pkg/types/nodename.go new file mode 100644 index 00000000000..fee348d7e76 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/types/nodename.go @@ -0,0 +1,43 @@ +/* +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 types + +// NodeName is a type that holds a api.Node's Name identifier. +// Being a type captures intent and helps make sure that the node name +// is not confused with similar concepts (the hostname, the cloud provider id, +// the cloud provider name etc) +// +// To clarify the various types: +// +// * Node.Name is the Name field of the Node in the API. This should be stored in a NodeName. +// Unfortunately, because Name is part of ObjectMeta, we can't store it as a NodeName at the API level. +// +// * Hostname is the hostname of the local machine (from uname -n). +// However, some components allow the user to pass in a --hostname-override flag, +// which will override this in most places. In the absence of anything more meaningful, +// kubelet will use Hostname as the Node.Name when it creates the Node. +// +// * The cloudproviders have the own names: GCE has InstanceName, AWS has InstanceId. +// +// For GCE, InstanceName is the Name of an Instance object in the GCE API. On GCE, Instance.Name becomes the +// Hostname, and thus it makes sense also to use it as the Node.Name. But that is GCE specific, and it is up +// to the cloudprovider how to do this mapping. +// +// For AWS, the InstanceID is not yet suitable for use as a Node.Name, so we actually use the +// PrivateDnsName for the Node.Name. And this is _not_ always the same as the hostname: if +// we are using a custom DHCP domain it won't be. +type NodeName string diff --git a/staging/src/k8s.io/apimachinery/pkg/types/uid.go b/staging/src/k8s.io/apimachinery/pkg/types/uid.go new file mode 100644 index 00000000000..869339222e9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/types/uid.go @@ -0,0 +1,22 @@ +/* +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 types + +// UID is a type that holds unique ID values, including UUIDs. Because we +// don't ONLY use UUIDs, this is an alias to string. Being a type captures +// intent and helps make sure that UIDs and names do not get conflated. +type UID string diff --git a/staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go b/staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go new file mode 100644 index 00000000000..dc770c11e2b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/types/unix_user_id.go @@ -0,0 +1,23 @@ +/* +Copyright 2016 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 types + +// int64 is used as a safe bet against wrap-around (uid's are general +// int32) and to support uid_t -1, and -2. + +type UnixUserID int64 +type UnixGroupID int64 diff --git a/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go b/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go new file mode 100644 index 00000000000..0f730875e85 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/diff/diff.go @@ -0,0 +1,280 @@ +/* +Copyright 2014 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 diff + +import ( + "bytes" + "encoding/json" + "fmt" + "reflect" + "sort" + "strings" + "text/tabwriter" + + "github.com/davecgh/go-spew/spew" + + "k8s.io/apimachinery/pkg/util/validation/field" +) + +// StringDiff diffs a and b and returns a human readable diff. +func StringDiff(a, b string) string { + ba := []byte(a) + bb := []byte(b) + out := []byte{} + i := 0 + for ; i < len(ba) && i < len(bb); i++ { + if ba[i] != bb[i] { + break + } + out = append(out, ba[i]) + } + out = append(out, []byte("\n\nA: ")...) + out = append(out, ba[i:]...) + out = append(out, []byte("\n\nB: ")...) + out = append(out, bb[i:]...) + out = append(out, []byte("\n\n")...) + return string(out) +} + +// ObjectDiff writes the two objects out as JSON and prints out the identical part of +// the objects followed by the remaining part of 'a' and finally the remaining part of 'b'. +// For debugging tests. +func ObjectDiff(a, b interface{}) string { + ab, err := json.Marshal(a) + if err != nil { + panic(fmt.Sprintf("a: %v", err)) + } + bb, err := json.Marshal(b) + if err != nil { + panic(fmt.Sprintf("b: %v", err)) + } + return StringDiff(string(ab), string(bb)) +} + +// ObjectGoPrintDiff is like ObjectDiff, but uses go-spew to print the objects, +// which shows absolutely everything by recursing into every single pointer +// (go's %#v formatters OTOH stop at a certain point). This is needed when you +// can't figure out why reflect.DeepEqual is returning false and nothing is +// showing you differences. This will. +func ObjectGoPrintDiff(a, b interface{}) string { + s := spew.ConfigState{DisableMethods: true} + return StringDiff( + s.Sprintf("%#v", a), + s.Sprintf("%#v", b), + ) +} + +func ObjectReflectDiff(a, b interface{}) string { + vA, vB := reflect.ValueOf(a), reflect.ValueOf(b) + if vA.Type() != vB.Type() { + return fmt.Sprintf("type A %T and type B %T do not match", a, b) + } + diffs := objectReflectDiff(field.NewPath("object"), vA, vB) + if len(diffs) == 0 { + return "" + } + out := []string{""} + for _, d := range diffs { + out = append(out, + fmt.Sprintf("%s:", d.path), + limit(fmt.Sprintf(" a: %#v", d.a), 80), + limit(fmt.Sprintf(" b: %#v", d.b), 80), + ) + } + return strings.Join(out, "\n") +} + +func limit(s string, max int) string { + if len(s) > max { + return s[:max] + } + return s +} + +func public(s string) bool { + if len(s) == 0 { + return false + } + return s[:1] == strings.ToUpper(s[:1]) +} + +type diff struct { + path *field.Path + a, b interface{} +} + +type orderedDiffs []diff + +func (d orderedDiffs) Len() int { return len(d) } +func (d orderedDiffs) Swap(i, j int) { d[i], d[j] = d[j], d[i] } +func (d orderedDiffs) Less(i, j int) bool { + a, b := d[i].path.String(), d[j].path.String() + if a < b { + return true + } + return false +} + +func objectReflectDiff(path *field.Path, a, b reflect.Value) []diff { + switch a.Type().Kind() { + case reflect.Struct: + var changes []diff + for i := 0; i < a.Type().NumField(); i++ { + if !public(a.Type().Field(i).Name) { + if reflect.DeepEqual(a.Interface(), b.Interface()) { + continue + } + return []diff{{path: path, a: fmt.Sprintf("%#v", a), b: fmt.Sprintf("%#v", b)}} + } + if sub := objectReflectDiff(path.Child(a.Type().Field(i).Name), a.Field(i), b.Field(i)); len(sub) > 0 { + changes = append(changes, sub...) + } else { + if !reflect.DeepEqual(a.Field(i).Interface(), b.Field(i).Interface()) { + changes = append(changes, diff{path: path, a: a.Field(i).Interface(), b: b.Field(i).Interface()}) + } + } + } + return changes + case reflect.Ptr, reflect.Interface: + if a.IsNil() || b.IsNil() { + switch { + case a.IsNil() && b.IsNil(): + return nil + case a.IsNil(): + return []diff{{path: path, a: nil, b: b.Interface()}} + default: + return []diff{{path: path, a: a.Interface(), b: nil}} + } + } + return objectReflectDiff(path, a.Elem(), b.Elem()) + case reflect.Chan: + if !reflect.DeepEqual(a.Interface(), b.Interface()) { + return []diff{{path: path, a: a.Interface(), b: b.Interface()}} + } + return nil + case reflect.Slice: + lA, lB := a.Len(), b.Len() + l := lA + if lB < lA { + l = lB + } + if lA == lB && lA == 0 { + if a.IsNil() != b.IsNil() { + return []diff{{path: path, a: a.Interface(), b: b.Interface()}} + } + return nil + } + for i := 0; i < l; i++ { + if !reflect.DeepEqual(a.Index(i), b.Index(i)) { + return objectReflectDiff(path.Index(i), a.Index(i), b.Index(i)) + } + } + var diffs []diff + for i := l; i < lA; i++ { + diffs = append(diffs, diff{path: path.Index(i), a: a.Index(i), b: nil}) + } + for i := l; i < lB; i++ { + diffs = append(diffs, diff{path: path.Index(i), a: nil, b: b.Index(i)}) + } + if len(diffs) == 0 { + diffs = append(diffs, diff{path: path, a: a, b: b}) + } + return diffs + case reflect.Map: + if reflect.DeepEqual(a.Interface(), b.Interface()) { + return nil + } + aKeys := make(map[interface{}]interface{}) + for _, key := range a.MapKeys() { + aKeys[key.Interface()] = a.MapIndex(key).Interface() + } + var missing []diff + for _, key := range b.MapKeys() { + if _, ok := aKeys[key.Interface()]; ok { + delete(aKeys, key.Interface()) + if reflect.DeepEqual(a.MapIndex(key).Interface(), b.MapIndex(key).Interface()) { + continue + } + missing = append(missing, objectReflectDiff(path.Key(fmt.Sprintf("%s", key.Interface())), a.MapIndex(key), b.MapIndex(key))...) + continue + } + missing = append(missing, diff{path: path.Key(fmt.Sprintf("%s", key.Interface())), a: nil, b: b.MapIndex(key).Interface()}) + } + for key, value := range aKeys { + missing = append(missing, diff{path: path.Key(fmt.Sprintf("%s", key)), a: value, b: nil}) + } + if len(missing) == 0 { + missing = append(missing, diff{path: path, a: a.Interface(), b: b.Interface()}) + } + sort.Sort(orderedDiffs(missing)) + return missing + default: + if reflect.DeepEqual(a.Interface(), b.Interface()) { + return nil + } + if !a.CanInterface() { + return []diff{{path: path, a: fmt.Sprintf("%#v", a), b: fmt.Sprintf("%#v", b)}} + } + return []diff{{path: path, a: a.Interface(), b: b.Interface()}} + } +} + +// ObjectGoPrintSideBySide prints a and b as textual dumps side by side, +// enabling easy visual scanning for mismatches. +func ObjectGoPrintSideBySide(a, b interface{}) string { + s := spew.ConfigState{ + Indent: " ", + // Extra deep spew. + DisableMethods: true, + } + sA := s.Sdump(a) + sB := s.Sdump(b) + + linesA := strings.Split(sA, "\n") + linesB := strings.Split(sB, "\n") + width := 0 + for _, s := range linesA { + l := len(s) + if l > width { + width = l + } + } + for _, s := range linesB { + l := len(s) + if l > width { + width = l + } + } + buf := &bytes.Buffer{} + w := tabwriter.NewWriter(buf, width, 0, 1, ' ', 0) + max := len(linesA) + if len(linesB) > max { + max = len(linesB) + } + for i := 0; i < max; i++ { + var a, b string + if i < len(linesA) { + a = linesA[i] + } + if i < len(linesB) { + b = linesB[i] + } + fmt.Fprintf(w, "%s\t%s\n", a, b) + } + w.Flush() + return buf.String() +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/diff/diff_test.go b/staging/src/k8s.io/apimachinery/pkg/util/diff/diff_test.go new file mode 100644 index 00000000000..1f3fcb34b7d --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/diff/diff_test.go @@ -0,0 +1,88 @@ +/* +Copyright 2016 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 diff + +import ( + "testing" +) + +func TestObjectReflectDiff(t *testing.T) { + type struct1 struct{ A []int } + + testCases := map[string]struct { + a, b interface{} + out string + }{ + "map": { + a: map[string]int{}, + b: map[string]int{}, + }, + "detect nil map": { + a: map[string]int(nil), + b: map[string]int{}, + out: ` +object: + a: map[string]int(nil) + b: map[string]int{}`, + }, + "detect map changes": { + a: map[string]int{"test": 1, "other": 2}, + b: map[string]int{"test": 2, "third": 3}, + out: ` +object[other]: + a: 2 + b: +object[test]: + a: 1 + b: 2 +object[third]: + a: + b: 3`, + }, + "nil slice": {a: struct1{A: nil}, b: struct1{A: nil}}, + "empty slice": {a: struct1{A: []int{}}, b: struct1{A: []int{}}}, + "detect slice changes 1": {a: struct1{A: []int{1}}, b: struct1{A: []int{2}}, out: ` +object.A[0]: + a: 1 + b: 2`, + }, + "detect slice changes 2": {a: struct1{A: []int{}}, b: struct1{A: []int{2}}, out: ` +object.A[0]: + a: + b: 2`, + }, + "detect slice changes 3": {a: struct1{A: []int{1}}, b: struct1{A: []int{}}, out: ` +object.A[0]: + a: 1 + b: `, + }, + "detect nil vs empty slices": {a: struct1{A: nil}, b: struct1{A: []int{}}, out: ` +object.A: + a: []int(nil) + b: []int{}`, + }, + } + for name, test := range testCases { + expect := test.out + if len(expect) == 0 { + expect = "" + } + if actual := ObjectReflectDiff(test.a, test.b); actual != expect { + t.Errorf("%s: unexpected output: %s", name, actual) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/errors/doc.go b/staging/src/k8s.io/apimachinery/pkg/util/errors/doc.go new file mode 100644 index 00000000000..5d4d6250a31 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/errors/doc.go @@ -0,0 +1,18 @@ +/* +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 errors implements various utility functions and types around errors. +package errors // import "k8s.io/apimachinery/pkg/util/errors" diff --git a/staging/src/k8s.io/apimachinery/pkg/util/errors/errors.go b/staging/src/k8s.io/apimachinery/pkg/util/errors/errors.go new file mode 100644 index 00000000000..de62fe39973 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/errors/errors.go @@ -0,0 +1,182 @@ +/* +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 errors + +import ( + "errors" + "fmt" +) + +// Aggregate represents an object that contains multiple errors, but does not +// necessarily have singular semantic meaning. +type Aggregate interface { + error + Errors() []error +} + +// NewAggregate converts a slice of errors into an Aggregate interface, which +// is itself an implementation of the error interface. If the slice is empty, +// this returns nil. +// It will check if any of the element of input error list is nil, to avoid +// nil pointer panic when call Error(). +func NewAggregate(errlist []error) Aggregate { + if len(errlist) == 0 { + return nil + } + // In case of input error list contains nil + var errs []error + for _, e := range errlist { + if e != nil { + errs = append(errs, e) + } + } + if len(errs) == 0 { + return nil + } + return aggregate(errs) +} + +// This helper implements the error and Errors interfaces. Keeping it private +// prevents people from making an aggregate of 0 errors, which is not +// an error, but does satisfy the error interface. +type aggregate []error + +// Error is part of the error interface. +func (agg aggregate) Error() string { + if len(agg) == 0 { + // This should never happen, really. + return "" + } + if len(agg) == 1 { + return agg[0].Error() + } + result := fmt.Sprintf("[%s", agg[0].Error()) + for i := 1; i < len(agg); i++ { + result += fmt.Sprintf(", %s", agg[i].Error()) + } + result += "]" + return result +} + +// Errors is part of the Aggregate interface. +func (agg aggregate) Errors() []error { + return []error(agg) +} + +// Matcher is used to match errors. Returns true if the error matches. +type Matcher func(error) bool + +// FilterOut removes all errors that match any of the matchers from the input +// error. If the input is a singular error, only that error is tested. If the +// input implements the Aggregate interface, the list of errors will be +// processed recursively. +// +// This can be used, for example, to remove known-OK errors (such as io.EOF or +// os.PathNotFound) from a list of errors. +func FilterOut(err error, fns ...Matcher) error { + if err == nil { + return nil + } + if agg, ok := err.(Aggregate); ok { + return NewAggregate(filterErrors(agg.Errors(), fns...)) + } + if !matchesError(err, fns...) { + return err + } + return nil +} + +// matchesError returns true if any Matcher returns true +func matchesError(err error, fns ...Matcher) bool { + for _, fn := range fns { + if fn(err) { + return true + } + } + return false +} + +// filterErrors returns any errors (or nested errors, if the list contains +// nested Errors) for which all fns return false. If no errors +// remain a nil list is returned. The resulting silec will have all +// nested slices flattened as a side effect. +func filterErrors(list []error, fns ...Matcher) []error { + result := []error{} + for _, err := range list { + r := FilterOut(err, fns...) + if r != nil { + result = append(result, r) + } + } + return result +} + +// Flatten takes an Aggregate, which may hold other Aggregates in arbitrary +// nesting, and flattens them all into a single Aggregate, recursively. +func Flatten(agg Aggregate) Aggregate { + result := []error{} + if agg == nil { + return nil + } + for _, err := range agg.Errors() { + if a, ok := err.(Aggregate); ok { + r := Flatten(a) + if r != nil { + result = append(result, r.Errors()...) + } + } else { + if err != nil { + result = append(result, err) + } + } + } + return NewAggregate(result) +} + +// Reduce will return err or, if err is an Aggregate and only has one item, +// the first item in the aggregate. +func Reduce(err error) error { + if agg, ok := err.(Aggregate); ok && err != nil { + switch len(agg.Errors()) { + case 1: + return agg.Errors()[0] + case 0: + return nil + } + } + return err +} + +// AggregateGoroutines runs the provided functions in parallel, stuffing all +// non-nil errors into the returned Aggregate. +// Returns nil if all the functions complete successfully. +func AggregateGoroutines(funcs ...func() error) Aggregate { + errChan := make(chan error, len(funcs)) + for _, f := range funcs { + go func(f func() error) { errChan <- f() }(f) + } + errs := make([]error, 0) + for i := 0; i < cap(errChan); i++ { + if err := <-errChan; err != nil { + errs = append(errs, err) + } + } + return NewAggregate(errs) +} + +// ErrPreconditionViolated is returned when the precondition is violated +var ErrPreconditionViolated = errors.New("precondition is violated") diff --git a/staging/src/k8s.io/apimachinery/pkg/util/errors/errors_test.go b/staging/src/k8s.io/apimachinery/pkg/util/errors/errors_test.go new file mode 100644 index 00000000000..f453e570e8b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/errors/errors_test.go @@ -0,0 +1,326 @@ +/* +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 errors + +import ( + "fmt" + "reflect" + "testing" +) + +func TestEmptyAggregate(t *testing.T) { + var slice []error + var agg Aggregate + var err error + + agg = NewAggregate(slice) + if agg != nil { + t.Errorf("expected nil, got %#v", agg) + } + err = NewAggregate(slice) + if err != nil { + t.Errorf("expected nil, got %#v", err) + } + + // This is not normally possible, but pedantry demands I test it. + agg = aggregate(slice) // empty aggregate + if s := agg.Error(); s != "" { + t.Errorf("expected empty string, got %q", s) + } + if s := agg.Errors(); len(s) != 0 { + t.Errorf("expected empty slice, got %#v", s) + } + err = agg.(error) + if s := err.Error(); s != "" { + t.Errorf("expected empty string, got %q", s) + } +} + +func TestAggregateWithNil(t *testing.T) { + var slice []error + slice = []error{nil} + var agg Aggregate + var err error + + agg = NewAggregate(slice) + if agg != nil { + t.Errorf("expected nil, got %#v", agg) + } + err = NewAggregate(slice) + if err != nil { + t.Errorf("expected nil, got %#v", err) + } + + // Append a non-nil error + slice = append(slice, fmt.Errorf("err")) + agg = NewAggregate(slice) + if agg == nil { + t.Errorf("expected non-nil") + } + if s := agg.Error(); s != "err" { + t.Errorf("expected 'err', got %q", s) + } + if s := agg.Errors(); len(s) != 1 { + t.Errorf("expected one-element slice, got %#v", s) + } + if s := agg.Errors()[0].Error(); s != "err" { + t.Errorf("expected 'err', got %q", s) + } + + err = agg.(error) + if err == nil { + t.Errorf("expected non-nil") + } + if s := err.Error(); s != "err" { + t.Errorf("expected 'err', got %q", s) + } +} + +func TestSingularAggregate(t *testing.T) { + var slice []error = []error{fmt.Errorf("err")} + var agg Aggregate + var err error + + agg = NewAggregate(slice) + if agg == nil { + t.Errorf("expected non-nil") + } + if s := agg.Error(); s != "err" { + t.Errorf("expected 'err', got %q", s) + } + if s := agg.Errors(); len(s) != 1 { + t.Errorf("expected one-element slice, got %#v", s) + } + if s := agg.Errors()[0].Error(); s != "err" { + t.Errorf("expected 'err', got %q", s) + } + + err = agg.(error) + if err == nil { + t.Errorf("expected non-nil") + } + if s := err.Error(); s != "err" { + t.Errorf("expected 'err', got %q", s) + } +} + +func TestPluralAggregate(t *testing.T) { + var slice []error = []error{fmt.Errorf("abc"), fmt.Errorf("123")} + var agg Aggregate + var err error + + agg = NewAggregate(slice) + if agg == nil { + t.Errorf("expected non-nil") + } + if s := agg.Error(); s != "[abc, 123]" { + t.Errorf("expected '[abc, 123]', got %q", s) + } + if s := agg.Errors(); len(s) != 2 { + t.Errorf("expected two-elements slice, got %#v", s) + } + if s := agg.Errors()[0].Error(); s != "abc" { + t.Errorf("expected '[abc, 123]', got %q", s) + } + + err = agg.(error) + if err == nil { + t.Errorf("expected non-nil") + } + if s := err.Error(); s != "[abc, 123]" { + t.Errorf("expected '[abc, 123]', got %q", s) + } +} + +func TestFilterOut(t *testing.T) { + testCases := []struct { + err error + filter []Matcher + expected error + }{ + { + nil, + []Matcher{}, + nil, + }, + { + aggregate{}, + []Matcher{}, + nil, + }, + { + aggregate{fmt.Errorf("abc")}, + []Matcher{}, + aggregate{fmt.Errorf("abc")}, + }, + { + aggregate{fmt.Errorf("abc")}, + []Matcher{func(err error) bool { return false }}, + aggregate{fmt.Errorf("abc")}, + }, + { + aggregate{fmt.Errorf("abc")}, + []Matcher{func(err error) bool { return true }}, + nil, + }, + { + aggregate{fmt.Errorf("abc")}, + []Matcher{func(err error) bool { return false }, func(err error) bool { return false }}, + aggregate{fmt.Errorf("abc")}, + }, + { + aggregate{fmt.Errorf("abc")}, + []Matcher{func(err error) bool { return false }, func(err error) bool { return true }}, + nil, + }, + { + aggregate{fmt.Errorf("abc"), fmt.Errorf("def"), fmt.Errorf("ghi")}, + []Matcher{func(err error) bool { return err.Error() == "def" }}, + aggregate{fmt.Errorf("abc"), fmt.Errorf("ghi")}, + }, + { + aggregate{aggregate{fmt.Errorf("abc")}}, + []Matcher{}, + aggregate{aggregate{fmt.Errorf("abc")}}, + }, + { + aggregate{aggregate{fmt.Errorf("abc"), aggregate{fmt.Errorf("def")}}}, + []Matcher{}, + aggregate{aggregate{fmt.Errorf("abc"), aggregate{fmt.Errorf("def")}}}, + }, + { + aggregate{aggregate{fmt.Errorf("abc"), aggregate{fmt.Errorf("def")}}}, + []Matcher{func(err error) bool { return err.Error() == "def" }}, + aggregate{aggregate{fmt.Errorf("abc")}}, + }, + } + for i, testCase := range testCases { + err := FilterOut(testCase.err, testCase.filter...) + if !reflect.DeepEqual(testCase.expected, err) { + t.Errorf("%d: expected %v, got %v", i, testCase.expected, err) + } + } +} + +func TestFlatten(t *testing.T) { + testCases := []struct { + agg Aggregate + expected Aggregate + }{ + { + nil, + nil, + }, + { + aggregate{}, + nil, + }, + { + aggregate{fmt.Errorf("abc")}, + aggregate{fmt.Errorf("abc")}, + }, + { + aggregate{fmt.Errorf("abc"), fmt.Errorf("def"), fmt.Errorf("ghi")}, + aggregate{fmt.Errorf("abc"), fmt.Errorf("def"), fmt.Errorf("ghi")}, + }, + { + aggregate{aggregate{fmt.Errorf("abc")}}, + aggregate{fmt.Errorf("abc")}, + }, + { + aggregate{aggregate{aggregate{fmt.Errorf("abc")}}}, + aggregate{fmt.Errorf("abc")}, + }, + { + aggregate{aggregate{fmt.Errorf("abc"), aggregate{fmt.Errorf("def")}}}, + aggregate{fmt.Errorf("abc"), fmt.Errorf("def")}, + }, + { + aggregate{aggregate{aggregate{fmt.Errorf("abc")}, fmt.Errorf("def"), aggregate{fmt.Errorf("ghi")}}}, + aggregate{fmt.Errorf("abc"), fmt.Errorf("def"), fmt.Errorf("ghi")}, + }, + } + for i, testCase := range testCases { + agg := Flatten(testCase.agg) + if !reflect.DeepEqual(testCase.expected, agg) { + t.Errorf("%d: expected %v, got %v", i, testCase.expected, agg) + } + } +} + +func TestAggregateGoroutines(t *testing.T) { + testCases := []struct { + errs []error + expected map[string]bool // can't compare directly to Aggregate due to non-deterministic ordering + }{ + { + []error{}, + nil, + }, + { + []error{nil}, + nil, + }, + { + []error{nil, nil}, + nil, + }, + { + []error{fmt.Errorf("1")}, + map[string]bool{"1": true}, + }, + { + []error{fmt.Errorf("1"), nil}, + map[string]bool{"1": true}, + }, + { + []error{fmt.Errorf("1"), fmt.Errorf("267")}, + map[string]bool{"1": true, "267": true}, + }, + { + []error{fmt.Errorf("1"), nil, fmt.Errorf("1234")}, + map[string]bool{"1": true, "1234": true}, + }, + { + []error{nil, fmt.Errorf("1"), nil, fmt.Errorf("1234"), fmt.Errorf("22")}, + map[string]bool{"1": true, "1234": true, "22": true}, + }, + } + for i, testCase := range testCases { + funcs := make([]func() error, len(testCase.errs)) + for i := range testCase.errs { + err := testCase.errs[i] + funcs[i] = func() error { return err } + } + agg := AggregateGoroutines(funcs...) + if agg == nil { + if len(testCase.expected) > 0 { + t.Errorf("%d: expected %v, got nil", i, testCase.expected) + } + continue + } + if len(agg.Errors()) != len(testCase.expected) { + t.Errorf("%d: expected %d errors in aggregate, got %v", i, len(testCase.expected), agg) + continue + } + for _, err := range agg.Errors() { + if !testCase.expected[err.Error()] { + t.Errorf("%d: expected %v, got aggregate containing %v", i, testCase.expected, err) + } + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/framer/framer.go b/staging/src/k8s.io/apimachinery/pkg/util/framer/framer.go new file mode 100644 index 00000000000..066680f443e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/framer/framer.go @@ -0,0 +1,167 @@ +/* +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 framer implements simple frame decoding techniques for an io.ReadCloser +package framer + +import ( + "encoding/binary" + "encoding/json" + "io" +) + +type lengthDelimitedFrameWriter struct { + w io.Writer + h [4]byte +} + +func NewLengthDelimitedFrameWriter(w io.Writer) io.Writer { + return &lengthDelimitedFrameWriter{w: w} +} + +// Write writes a single frame to the nested writer, prepending it with the length in +// in bytes of data (as a 4 byte, bigendian uint32). +func (w *lengthDelimitedFrameWriter) Write(data []byte) (int, error) { + binary.BigEndian.PutUint32(w.h[:], uint32(len(data))) + n, err := w.w.Write(w.h[:]) + if err != nil { + return 0, err + } + if n != len(w.h) { + return 0, io.ErrShortWrite + } + return w.w.Write(data) +} + +type lengthDelimitedFrameReader struct { + r io.ReadCloser + remaining int +} + +// NewLengthDelimitedFrameReader returns an io.Reader that will decode length-prefixed +// frames off of a stream. +// +// The protocol is: +// +// stream: message ... +// message: prefix body +// prefix: 4 byte uint32 in BigEndian order, denotes length of body +// body: bytes (0..prefix) +// +// If the buffer passed to Read is not long enough to contain an entire frame, io.ErrShortRead +// will be returned along with the number of bytes read. +func NewLengthDelimitedFrameReader(r io.ReadCloser) io.ReadCloser { + return &lengthDelimitedFrameReader{r: r} +} + +// Read attempts to read an entire frame into data. If that is not possible, io.ErrShortBuffer +// is returned and subsequent calls will attempt to read the last frame. A frame is complete when +// err is nil. +func (r *lengthDelimitedFrameReader) Read(data []byte) (int, error) { + if r.remaining <= 0 { + header := [4]byte{} + n, err := io.ReadAtLeast(r.r, header[:4], 4) + if err != nil { + return 0, err + } + if n != 4 { + return 0, io.ErrUnexpectedEOF + } + frameLength := int(binary.BigEndian.Uint32(header[:])) + r.remaining = frameLength + } + + expect := r.remaining + max := expect + if max > len(data) { + max = len(data) + } + n, err := io.ReadAtLeast(r.r, data[:max], int(max)) + r.remaining -= n + if err == io.ErrShortBuffer || r.remaining > 0 { + return n, io.ErrShortBuffer + } + if err != nil { + return n, err + } + if n != expect { + return n, io.ErrUnexpectedEOF + } + + return n, nil +} + +func (r *lengthDelimitedFrameReader) Close() error { + return r.r.Close() +} + +type jsonFrameReader struct { + r io.ReadCloser + decoder *json.Decoder + remaining []byte +} + +// NewJSONFramedReader returns an io.Reader that will decode individual JSON objects off +// of a wire. +// +// The boundaries between each frame are valid JSON objects. A JSON parsing error will terminate +// the read. +func NewJSONFramedReader(r io.ReadCloser) io.ReadCloser { + return &jsonFrameReader{ + r: r, + decoder: json.NewDecoder(r), + } +} + +// ReadFrame decodes the next JSON object in the stream, or returns an error. The returned +// byte slice will be modified the next time ReadFrame is invoked and should not be altered. +func (r *jsonFrameReader) Read(data []byte) (int, error) { + // Return whatever remaining data exists from an in progress frame + if n := len(r.remaining); n > 0 { + if n <= len(data) { + data = append(data[0:0], r.remaining...) + r.remaining = nil + return n, nil + } + + n = len(data) + data = append(data[0:0], r.remaining[:n]...) + r.remaining = r.remaining[n:] + return n, io.ErrShortBuffer + } + + // RawMessage#Unmarshal appends to data - we reset the slice down to 0 and will either see + // data written to data, or be larger than data and a different array. + n := len(data) + m := json.RawMessage(data[:0]) + if err := r.decoder.Decode(&m); err != nil { + return 0, err + } + + // If capacity of data is less than length of the message, decoder will allocate a new slice + // and set m to it, which means we need to copy the partial result back into data and preserve + // the remaining result for subsequent reads. + if len(m) > n { + data = append(data[0:0], m[:n]...) + r.remaining = m[n:] + return n, io.ErrShortBuffer + } + return len(m), nil +} + +func (r *jsonFrameReader) Close() error { + return r.r.Close() +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/framer/framer_test.go b/staging/src/k8s.io/apimachinery/pkg/util/framer/framer_test.go new file mode 100644 index 00000000000..b7ed00f5383 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/framer/framer_test.go @@ -0,0 +1,176 @@ +/* +Copyright 2016 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 framer + +import ( + "bytes" + "io" + "io/ioutil" + "testing" +) + +func TestRead(t *testing.T) { + data := []byte{ + 0x00, 0x00, 0x00, 0x04, + 0x01, 0x02, 0x03, 0x04, + 0x00, 0x00, 0x00, 0x03, + 0x05, 0x06, 0x07, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, + 0x08, + } + b := bytes.NewBuffer(data) + r := NewLengthDelimitedFrameReader(ioutil.NopCloser(b)) + buf := make([]byte, 1) + if n, err := r.Read(buf); err != io.ErrShortBuffer && n != 1 && bytes.Equal(buf, []byte{0x01}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + if n, err := r.Read(buf); err != io.ErrShortBuffer && n != 1 && bytes.Equal(buf, []byte{0x02}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read the remaining frame + buf = make([]byte, 2) + if n, err := r.Read(buf); err != nil && n != 2 && bytes.Equal(buf, []byte{0x03, 0x04}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read with buffer equal to frame + buf = make([]byte, 3) + if n, err := r.Read(buf); err != nil && n != 3 && bytes.Equal(buf, []byte{0x05, 0x06, 0x07}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read empty frame + buf = make([]byte, 3) + if n, err := r.Read(buf); err != nil && n != 0 && bytes.Equal(buf, []byte{}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read with larger buffer than frame + buf = make([]byte, 3) + if n, err := r.Read(buf); err != nil && n != 1 && bytes.Equal(buf, []byte{0x08}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read EOF + if n, err := r.Read(buf); err != io.EOF && n != 0 { + t.Fatalf("unexpected: %v %d", err, n) + } +} + +func TestReadLarge(t *testing.T) { + data := []byte{ + 0x00, 0x00, 0x00, 0x04, + 0x01, 0x02, 0x03, 0x04, + 0x00, 0x00, 0x00, 0x03, + 0x05, 0x06, 0x07, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, + 0x08, + } + b := bytes.NewBuffer(data) + r := NewLengthDelimitedFrameReader(ioutil.NopCloser(b)) + buf := make([]byte, 40) + if n, err := r.Read(buf); err != nil && n != 4 && bytes.Equal(buf, []byte{0x01, 0x02, 0x03, 0x04}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + if n, err := r.Read(buf); err != nil && n != 3 && bytes.Equal(buf, []byte{0x05, 0x06, 0x7}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + if n, err := r.Read(buf); err != nil && n != 0 && bytes.Equal(buf, []byte{}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + if n, err := r.Read(buf); err != nil && n != 1 && bytes.Equal(buf, []byte{0x08}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read EOF + if n, err := r.Read(buf); err != io.EOF && n != 0 { + t.Fatalf("unexpected: %v %d", err, n) + } +} +func TestReadInvalidFrame(t *testing.T) { + data := []byte{ + 0x00, 0x00, 0x00, 0x04, + 0x01, 0x02, + } + b := bytes.NewBuffer(data) + r := NewLengthDelimitedFrameReader(ioutil.NopCloser(b)) + buf := make([]byte, 1) + if n, err := r.Read(buf); err != io.ErrShortBuffer && n != 1 && bytes.Equal(buf, []byte{0x01}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read the remaining frame + buf = make([]byte, 3) + if n, err := r.Read(buf); err != io.ErrUnexpectedEOF && n != 1 && bytes.Equal(buf, []byte{0x02}) { + t.Fatalf("unexpected: %v %d %v", err, n, buf) + } + // read EOF + if n, err := r.Read(buf); err != io.EOF && n != 0 { + t.Fatalf("unexpected: %v %d", err, n) + } +} + +func TestJSONFrameReader(t *testing.T) { + b := bytes.NewBufferString("{\"test\":true}\n1\n[\"a\"]") + r := NewJSONFramedReader(ioutil.NopCloser(b)) + buf := make([]byte, 20) + if n, err := r.Read(buf); err != nil || n != 13 || string(buf[:n]) != `{"test":true}` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != nil || n != 1 || string(buf[:n]) != `1` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != nil || n != 5 || string(buf[:n]) != `["a"]` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != io.EOF || n != 0 { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } +} + +func TestJSONFrameReaderShortBuffer(t *testing.T) { + b := bytes.NewBufferString("{\"test\":true}\n1\n[\"a\"]") + r := NewJSONFramedReader(ioutil.NopCloser(b)) + buf := make([]byte, 3) + + if n, err := r.Read(buf); err != io.ErrShortBuffer || n != 3 || string(buf[:n]) != `{"t` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != io.ErrShortBuffer || n != 3 || string(buf[:n]) != `est` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != io.ErrShortBuffer || n != 3 || string(buf[:n]) != `":t` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != io.ErrShortBuffer || n != 3 || string(buf[:n]) != `rue` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != nil || n != 1 || string(buf[:n]) != `}` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + + if n, err := r.Read(buf); err != nil || n != 1 || string(buf[:n]) != `1` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + + if n, err := r.Read(buf); err != io.ErrShortBuffer || n != 3 || string(buf[:n]) != `["a` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + if n, err := r.Read(buf); err != nil || n != 2 || string(buf[:n]) != `"]` { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } + + if n, err := r.Read(buf); err != io.EOF || n != 0 { + t.Fatalf("unexpected: %v %d %q", err, n, buf) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/json/json.go b/staging/src/k8s.io/apimachinery/pkg/util/json/json.go new file mode 100644 index 00000000000..e8054a12ed7 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/json/json.go @@ -0,0 +1,107 @@ +/* +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 json + +import ( + "bytes" + "encoding/json" + "io" +) + +// NewEncoder delegates to json.NewEncoder +// It is only here so this package can be a drop-in for common encoding/json uses +func NewEncoder(w io.Writer) *json.Encoder { + return json.NewEncoder(w) +} + +// Marshal delegates to json.Marshal +// It is only here so this package can be a drop-in for common encoding/json uses +func Marshal(v interface{}) ([]byte, error) { + return json.Marshal(v) +} + +// Unmarshal unmarshals the given data +// If v is a *map[string]interface{}, numbers are converted to int64 or float64 +func Unmarshal(data []byte, v interface{}) error { + switch v := v.(type) { + case *map[string]interface{}: + // Build a decoder from the given data + decoder := json.NewDecoder(bytes.NewBuffer(data)) + // Preserve numbers, rather than casting to float64 automatically + decoder.UseNumber() + // Run the decode + if err := decoder.Decode(v); err != nil { + return err + } + // If the decode succeeds, post-process the map to convert json.Number objects to int64 or float64 + return convertMapNumbers(*v) + + default: + return json.Unmarshal(data, v) + } +} + +// convertMapNumbers traverses the map, converting any json.Number values to int64 or float64. +// values which are map[string]interface{} or []interface{} are recursively visited +func convertMapNumbers(m map[string]interface{}) error { + var err error + for k, v := range m { + switch v := v.(type) { + case json.Number: + m[k], err = convertNumber(v) + case map[string]interface{}: + err = convertMapNumbers(v) + case []interface{}: + err = convertSliceNumbers(v) + } + if err != nil { + return err + } + } + return nil +} + +// convertSliceNumbers traverses the slice, converting any json.Number values to int64 or float64. +// values which are map[string]interface{} or []interface{} are recursively visited +func convertSliceNumbers(s []interface{}) error { + var err error + for i, v := range s { + switch v := v.(type) { + case json.Number: + s[i], err = convertNumber(v) + case map[string]interface{}: + err = convertMapNumbers(v) + case []interface{}: + err = convertSliceNumbers(v) + } + if err != nil { + return err + } + } + return nil +} + +// convertNumber converts a json.Number to an int64 or float64, or returns an error +func convertNumber(n json.Number) (interface{}, error) { + // Attempt to convert to an int64 first + if i, err := n.Int64(); err == nil { + return i, nil + } + // Return a float64 (default json.Decode() behavior) + // An overflow will return an error + return n.Float64() +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/json/json_test.go b/staging/src/k8s.io/apimachinery/pkg/util/json/json_test.go new file mode 100644 index 00000000000..1896a3e3e79 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/json/json_test.go @@ -0,0 +1,317 @@ +/* +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 json + +import ( + "fmt" + "math" + "reflect" + "strconv" + "strings" + "testing" +) + +func TestEvaluateTypes(t *testing.T) { + testCases := []struct { + In string + Data interface{} + Out string + Err bool + }{ + // Invalid syntaxes + { + In: `x`, + Err: true, + }, + { + In: ``, + Err: true, + }, + + // Null + { + In: `null`, + Data: nil, + Out: `null`, + }, + // Booleans + { + In: `true`, + Data: true, + Out: `true`, + }, + { + In: `false`, + Data: false, + Out: `false`, + }, + + // Integers + { + In: `0`, + Data: int64(0), + Out: `0`, + }, + { + In: `-0`, + Data: int64(-0), + Out: `0`, + }, + { + In: `1`, + Data: int64(1), + Out: `1`, + }, + { + In: `2147483647`, + Data: int64(math.MaxInt32), + Out: `2147483647`, + }, + { + In: `-2147483648`, + Data: int64(math.MinInt32), + Out: `-2147483648`, + }, + { + In: `9223372036854775807`, + Data: int64(math.MaxInt64), + Out: `9223372036854775807`, + }, + { + In: `-9223372036854775808`, + Data: int64(math.MinInt64), + Out: `-9223372036854775808`, + }, + + // Int overflow + { + In: `9223372036854775808`, // MaxInt64 + 1 + Data: float64(9223372036854775808), + Out: strconv.FormatFloat(9223372036854775808, 'g', -1, 64), + }, + { + In: `-9223372036854775809`, // MinInt64 - 1 + Data: float64(math.MinInt64), + Out: strconv.FormatFloat(-9223372036854775809, 'g', -1, 64), + }, + + // Floats + { + In: `0.0`, + Data: float64(0), + Out: `0`, + }, + { + In: `-0.0`, + Data: float64(-0.0), + Out: `-0`, + }, + { + In: `0.5`, + Data: float64(0.5), + Out: `0.5`, + }, + { + In: `1e3`, + Data: float64(1e3), + Out: `1000`, + }, + { + In: `1.5`, + Data: float64(1.5), + Out: `1.5`, + }, + { + In: `-0.3`, + Data: float64(-.3), + Out: `-0.3`, + }, + { + // Largest representable float32 + In: `3.40282346638528859811704183484516925440e+38`, + Data: float64(math.MaxFloat32), + Out: strconv.FormatFloat(math.MaxFloat32, 'g', -1, 64), + }, + { + // Smallest float32 without losing precision + In: `1.175494351e-38`, + Data: float64(1.175494351e-38), + Out: `1.175494351e-38`, + }, + { + // float32 closest to zero + In: `1.401298464324817070923729583289916131280e-45`, + Data: float64(math.SmallestNonzeroFloat32), + Out: strconv.FormatFloat(math.SmallestNonzeroFloat32, 'g', -1, 64), + }, + { + // Largest representable float64 + In: `1.797693134862315708145274237317043567981e+308`, + Data: float64(math.MaxFloat64), + Out: strconv.FormatFloat(math.MaxFloat64, 'g', -1, 64), + }, + { + // Closest to zero without losing precision + In: `2.2250738585072014e-308`, + Data: float64(2.2250738585072014e-308), + Out: `2.2250738585072014e-308`, + }, + + { + // float64 closest to zero + In: `4.940656458412465441765687928682213723651e-324`, + Data: float64(math.SmallestNonzeroFloat64), + Out: strconv.FormatFloat(math.SmallestNonzeroFloat64, 'g', -1, 64), + }, + + { + // math.MaxFloat64 + 2 overflow + In: `1.7976931348623159e+308`, + Err: true, + }, + + // Strings + { + In: `""`, + Data: string(""), + Out: `""`, + }, + { + In: `"0"`, + Data: string("0"), + Out: `"0"`, + }, + { + In: `"A"`, + Data: string("A"), + Out: `"A"`, + }, + { + In: `"Iñtërnâtiônàlizætiøn"`, + Data: string("Iñtërnâtiônàlizætiøn"), + Out: `"Iñtërnâtiônàlizætiøn"`, + }, + + // Arrays + { + In: `[]`, + Data: []interface{}{}, + Out: `[]`, + }, + { + In: `[` + strings.Join([]string{ + `null`, + `true`, + `false`, + `0`, + `9223372036854775807`, + `0.0`, + `0.5`, + `1.0`, + `1.797693134862315708145274237317043567981e+308`, + `"0"`, + `"A"`, + `"Iñtërnâtiônàlizætiøn"`, + `[null,true,1,1.0,1.5]`, + `{"boolkey":true,"floatkey":1.0,"intkey":1,"nullkey":null}`, + }, ",") + `]`, + Data: []interface{}{ + nil, + true, + false, + int64(0), + int64(math.MaxInt64), + float64(0.0), + float64(0.5), + float64(1.0), + float64(math.MaxFloat64), + string("0"), + string("A"), + string("Iñtërnâtiônàlizætiøn"), + []interface{}{nil, true, int64(1), float64(1.0), float64(1.5)}, + map[string]interface{}{"nullkey": nil, "boolkey": true, "intkey": int64(1), "floatkey": float64(1.0)}, + }, + Out: `[` + strings.Join([]string{ + `null`, + `true`, + `false`, + `0`, + `9223372036854775807`, + `0`, + `0.5`, + `1`, + strconv.FormatFloat(math.MaxFloat64, 'g', -1, 64), + `"0"`, + `"A"`, + `"Iñtërnâtiônàlizætiøn"`, + `[null,true,1,1,1.5]`, + `{"boolkey":true,"floatkey":1,"intkey":1,"nullkey":null}`, // gets alphabetized by Marshal + }, ",") + `]`, + }, + + // Maps + { + In: `{}`, + Data: map[string]interface{}{}, + Out: `{}`, + }, + { + In: `{"boolkey":true,"floatkey":1.0,"intkey":1,"nullkey":null}`, + Data: map[string]interface{}{"nullkey": nil, "boolkey": true, "intkey": int64(1), "floatkey": float64(1.0)}, + Out: `{"boolkey":true,"floatkey":1,"intkey":1,"nullkey":null}`, // gets alphabetized by Marshal + }, + } + + for _, tc := range testCases { + inputJSON := fmt.Sprintf(`{"data":%s}`, tc.In) + expectedJSON := fmt.Sprintf(`{"data":%s}`, tc.Out) + m := map[string]interface{}{} + err := Unmarshal([]byte(inputJSON), &m) + if tc.Err && err != nil { + // Expected error + continue + } + if err != nil { + t.Errorf("%s: error decoding: %v", tc.In, err) + continue + } + if tc.Err { + t.Errorf("%s: expected error, got none", tc.In) + continue + } + data, ok := m["data"] + if !ok { + t.Errorf("%s: decoded object missing data key: %#v", tc.In, m) + continue + } + if !reflect.DeepEqual(tc.Data, data) { + t.Errorf("%s: expected\n\t%#v (%v), got\n\t%#v (%v)", tc.In, tc.Data, reflect.TypeOf(tc.Data), data, reflect.TypeOf(data)) + continue + } + + outputJSON, err := Marshal(m) + if err != nil { + t.Errorf("%s: error encoding: %v", tc.In, err) + continue + } + + if expectedJSON != string(outputJSON) { + t.Errorf("%s: expected\n\t%s, got\n\t%s", tc.In, expectedJSON, string(outputJSON)) + continue + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/http.go b/staging/src/k8s.io/apimachinery/pkg/util/net/http.go new file mode 100644 index 00000000000..c32082e9315 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/http.go @@ -0,0 +1,269 @@ +/* +Copyright 2016 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 net + +import ( + "crypto/tls" + "fmt" + "io" + "net" + "net/http" + "net/url" + "os" + "strconv" + "strings" + + "github.com/golang/glog" + "golang.org/x/net/http2" +) + +// IsProbableEOF returns true if the given error resembles a connection termination +// scenario that would justify assuming that the watch is empty. +// These errors are what the Go http stack returns back to us which are general +// connection closure errors (strongly correlated) and callers that need to +// differentiate probable errors in connection behavior between normal "this is +// disconnected" should use the method. +func IsProbableEOF(err error) bool { + if uerr, ok := err.(*url.Error); ok { + err = uerr.Err + } + switch { + case err == io.EOF: + return true + case err.Error() == "http: can't write HTTP request on broken connection": + return true + case strings.Contains(err.Error(), "connection reset by peer"): + return true + case strings.Contains(strings.ToLower(err.Error()), "use of closed network connection"): + return true + } + return false +} + +var defaultTransport = http.DefaultTransport.(*http.Transport) + +// SetOldTransportDefaults applies the defaults from http.DefaultTransport +// for the Proxy, Dial, and TLSHandshakeTimeout fields if unset +func SetOldTransportDefaults(t *http.Transport) *http.Transport { + if t.Proxy == nil || isDefault(t.Proxy) { + // http.ProxyFromEnvironment doesn't respect CIDRs and that makes it impossible to exclude things like pod and service IPs from proxy settings + // ProxierWithNoProxyCIDR allows CIDR rules in NO_PROXY + t.Proxy = NewProxierWithNoProxyCIDR(http.ProxyFromEnvironment) + } + if t.Dial == nil { + t.Dial = defaultTransport.Dial + } + if t.TLSHandshakeTimeout == 0 { + t.TLSHandshakeTimeout = defaultTransport.TLSHandshakeTimeout + } + return t +} + +// SetTransportDefaults applies the defaults from http.DefaultTransport +// for the Proxy, Dial, and TLSHandshakeTimeout fields if unset +func SetTransportDefaults(t *http.Transport) *http.Transport { + t = SetOldTransportDefaults(t) + // Allow clients to disable http2 if needed. + if s := os.Getenv("DISABLE_HTTP2"); len(s) > 0 { + glog.Infof("HTTP2 has been explicitly disabled") + } else { + if err := http2.ConfigureTransport(t); err != nil { + glog.Warningf("Transport failed http2 configuration: %v", err) + } + } + return t +} + +type RoundTripperWrapper interface { + http.RoundTripper + WrappedRoundTripper() http.RoundTripper +} + +type DialFunc func(net, addr string) (net.Conn, error) + +func Dialer(transport http.RoundTripper) (DialFunc, error) { + if transport == nil { + return nil, nil + } + + switch transport := transport.(type) { + case *http.Transport: + return transport.Dial, nil + case RoundTripperWrapper: + return Dialer(transport.WrappedRoundTripper()) + default: + return nil, fmt.Errorf("unknown transport type: %v", transport) + } +} + +// CloneTLSConfig returns a tls.Config with all exported fields except SessionTicketsDisabled and SessionTicketKey copied. +// This makes it safe to call CloneTLSConfig on a config in active use by a server. +// TODO: replace with tls.Config#Clone when we move to go1.8 +func CloneTLSConfig(cfg *tls.Config) *tls.Config { + if cfg == nil { + return &tls.Config{} + } + return &tls.Config{ + Rand: cfg.Rand, + Time: cfg.Time, + Certificates: cfg.Certificates, + NameToCertificate: cfg.NameToCertificate, + GetCertificate: cfg.GetCertificate, + RootCAs: cfg.RootCAs, + NextProtos: cfg.NextProtos, + ServerName: cfg.ServerName, + ClientAuth: cfg.ClientAuth, + ClientCAs: cfg.ClientCAs, + InsecureSkipVerify: cfg.InsecureSkipVerify, + CipherSuites: cfg.CipherSuites, + PreferServerCipherSuites: cfg.PreferServerCipherSuites, + ClientSessionCache: cfg.ClientSessionCache, + MinVersion: cfg.MinVersion, + MaxVersion: cfg.MaxVersion, + CurvePreferences: cfg.CurvePreferences, + } +} + +type TLSClientConfigHolder interface { + TLSClientConfig() *tls.Config +} + +func TLSClientConfig(transport http.RoundTripper) (*tls.Config, error) { + if transport == nil { + return nil, nil + } + + switch transport := transport.(type) { + case *http.Transport: + return transport.TLSClientConfig, nil + case TLSClientConfigHolder: + return transport.TLSClientConfig(), nil + case RoundTripperWrapper: + return TLSClientConfig(transport.WrappedRoundTripper()) + default: + return nil, fmt.Errorf("unknown transport type: %v", transport) + } +} + +func FormatURL(scheme string, host string, port int, path string) *url.URL { + return &url.URL{ + Scheme: scheme, + Host: net.JoinHostPort(host, strconv.Itoa(port)), + Path: path, + } +} + +func GetHTTPClient(req *http.Request) string { + if userAgent, ok := req.Header["User-Agent"]; ok { + if len(userAgent) > 0 { + return userAgent[0] + } + } + return "unknown" +} + +// Extracts and returns the clients IP from the given request. +// Looks at X-Forwarded-For header, X-Real-Ip header and request.RemoteAddr in that order. +// Returns nil if none of them are set or is set to an invalid value. +func GetClientIP(req *http.Request) net.IP { + hdr := req.Header + // First check the X-Forwarded-For header for requests via proxy. + hdrForwardedFor := hdr.Get("X-Forwarded-For") + if hdrForwardedFor != "" { + // X-Forwarded-For can be a csv of IPs in case of multiple proxies. + // Use the first valid one. + parts := strings.Split(hdrForwardedFor, ",") + for _, part := range parts { + ip := net.ParseIP(strings.TrimSpace(part)) + if ip != nil { + return ip + } + } + } + + // Try the X-Real-Ip header. + hdrRealIp := hdr.Get("X-Real-Ip") + if hdrRealIp != "" { + ip := net.ParseIP(hdrRealIp) + if ip != nil { + return ip + } + } + + // Fallback to Remote Address in request, which will give the correct client IP when there is no proxy. + // Remote Address in Go's HTTP server is in the form host:port so we need to split that first. + host, _, err := net.SplitHostPort(req.RemoteAddr) + if err == nil { + return net.ParseIP(host) + } + + // Fallback if Remote Address was just IP. + return net.ParseIP(req.RemoteAddr) +} + +var defaultProxyFuncPointer = fmt.Sprintf("%p", http.ProxyFromEnvironment) + +// isDefault checks to see if the transportProxierFunc is pointing to the default one +func isDefault(transportProxier func(*http.Request) (*url.URL, error)) bool { + transportProxierPointer := fmt.Sprintf("%p", transportProxier) + return transportProxierPointer == defaultProxyFuncPointer +} + +// NewProxierWithNoProxyCIDR constructs a Proxier function that respects CIDRs in NO_PROXY and delegates if +// no matching CIDRs are found +func NewProxierWithNoProxyCIDR(delegate func(req *http.Request) (*url.URL, error)) func(req *http.Request) (*url.URL, error) { + // we wrap the default method, so we only need to perform our check if the NO_PROXY envvar has a CIDR in it + noProxyEnv := os.Getenv("NO_PROXY") + noProxyRules := strings.Split(noProxyEnv, ",") + + cidrs := []*net.IPNet{} + for _, noProxyRule := range noProxyRules { + _, cidr, _ := net.ParseCIDR(noProxyRule) + if cidr != nil { + cidrs = append(cidrs, cidr) + } + } + + if len(cidrs) == 0 { + return delegate + } + + return func(req *http.Request) (*url.URL, error) { + host := req.URL.Host + // for some urls, the Host is already the host, not the host:port + if net.ParseIP(host) == nil { + var err error + host, _, err = net.SplitHostPort(req.URL.Host) + if err != nil { + return delegate(req) + } + } + + ip := net.ParseIP(host) + if ip == nil { + return delegate(req) + } + + for _, cidr := range cidrs { + if cidr.Contains(ip) { + return nil, nil + } + } + + return delegate(req) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/http_test.go b/staging/src/k8s.io/apimachinery/pkg/util/net/http_test.go new file mode 100644 index 00000000000..c2c711fd92a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/http_test.go @@ -0,0 +1,246 @@ +/* +Copyright 2016 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 net + +import ( + "crypto/tls" + "net" + "net/http" + "net/url" + "os" + "reflect" + "runtime" + "strings" + "testing" + + "k8s.io/apimachinery/pkg/util/sets" +) + +func TestCloneTLSConfig(t *testing.T) { + expected := sets.NewString( + // These fields are copied in CloneTLSConfig + "Rand", + "Time", + "Certificates", + "RootCAs", + "NextProtos", + "ServerName", + "InsecureSkipVerify", + "CipherSuites", + "PreferServerCipherSuites", + "MinVersion", + "MaxVersion", + "CurvePreferences", + "NameToCertificate", + "GetCertificate", + "ClientAuth", + "ClientCAs", + "ClientSessionCache", + + // These fields are not copied + "SessionTicketsDisabled", + "SessionTicketKey", + + // These fields are unexported + "serverInitOnce", + "mutex", + "sessionTicketKeys", + ) + + // See #33936. + if strings.HasPrefix(runtime.Version(), "go1.7") { + expected.Insert("DynamicRecordSizingDisabled", "Renegotiation") + } + + fields := sets.NewString() + structType := reflect.TypeOf(tls.Config{}) + for i := 0; i < structType.NumField(); i++ { + fields.Insert(structType.Field(i).Name) + } + + if missing := expected.Difference(fields); len(missing) > 0 { + t.Errorf("Expected fields that were not seen in http.Transport: %v", missing.List()) + } + if extra := fields.Difference(expected); len(extra) > 0 { + t.Errorf("New fields seen in http.Transport: %v\nAdd to CopyClientTLSConfig if client-relevant, then add to expected list in TestCopyClientTLSConfig", extra.List()) + } +} + +func TestGetClientIP(t *testing.T) { + ipString := "10.0.0.1" + ip := net.ParseIP(ipString) + invalidIPString := "invalidIPString" + testCases := []struct { + Request http.Request + ExpectedIP net.IP + }{ + { + Request: http.Request{}, + }, + { + Request: http.Request{ + Header: map[string][]string{ + "X-Real-Ip": {ipString}, + }, + }, + ExpectedIP: ip, + }, + { + Request: http.Request{ + Header: map[string][]string{ + "X-Real-Ip": {invalidIPString}, + }, + }, + }, + { + Request: http.Request{ + Header: map[string][]string{ + "X-Forwarded-For": {ipString}, + }, + }, + ExpectedIP: ip, + }, + { + Request: http.Request{ + Header: map[string][]string{ + "X-Forwarded-For": {invalidIPString}, + }, + }, + }, + { + Request: http.Request{ + Header: map[string][]string{ + "X-Forwarded-For": {invalidIPString + "," + ipString}, + }, + }, + ExpectedIP: ip, + }, + { + Request: http.Request{ + // RemoteAddr is in the form host:port + RemoteAddr: ipString + ":1234", + }, + ExpectedIP: ip, + }, + { + Request: http.Request{ + RemoteAddr: invalidIPString, + }, + }, + { + Request: http.Request{ + Header: map[string][]string{ + "X-Forwarded-For": {invalidIPString}, + }, + // RemoteAddr is in the form host:port + RemoteAddr: ipString, + }, + ExpectedIP: ip, + }, + } + + for i, test := range testCases { + if a, e := GetClientIP(&test.Request), test.ExpectedIP; reflect.DeepEqual(e, a) != true { + t.Fatalf("test case %d failed. expected: %v, actual: %v", i, e, a) + } + } +} + +func TestProxierWithNoProxyCIDR(t *testing.T) { + testCases := []struct { + name string + noProxy string + url string + + expectedDelegated bool + }{ + { + name: "no env", + url: "https://192.168.143.1/api", + expectedDelegated: true, + }, + { + name: "no cidr", + noProxy: "192.168.63.1", + url: "https://192.168.143.1/api", + expectedDelegated: true, + }, + { + name: "hostname", + noProxy: "192.168.63.0/24,192.168.143.0/24", + url: "https://my-hostname/api", + expectedDelegated: true, + }, + { + name: "match second cidr", + noProxy: "192.168.63.0/24,192.168.143.0/24", + url: "https://192.168.143.1/api", + expectedDelegated: false, + }, + { + name: "match second cidr with host:port", + noProxy: "192.168.63.0/24,192.168.143.0/24", + url: "https://192.168.143.1:8443/api", + expectedDelegated: false, + }, + } + + for _, test := range testCases { + os.Setenv("NO_PROXY", test.noProxy) + actualDelegated := false + proxyFunc := NewProxierWithNoProxyCIDR(func(req *http.Request) (*url.URL, error) { + actualDelegated = true + return nil, nil + }) + + req, err := http.NewRequest("GET", test.url, nil) + if err != nil { + t.Errorf("%s: unexpected err: %v", test.name, err) + continue + } + if _, err := proxyFunc(req); err != nil { + t.Errorf("%s: unexpected err: %v", test.name, err) + continue + } + + if test.expectedDelegated != actualDelegated { + t.Errorf("%s: expected %v, got %v", test.name, test.expectedDelegated, actualDelegated) + continue + } + } +} + +type fakeTLSClientConfigHolder struct { + called bool +} + +func (f *fakeTLSClientConfigHolder) TLSClientConfig() *tls.Config { + f.called = true + return nil +} +func (f *fakeTLSClientConfigHolder) RoundTrip(*http.Request) (*http.Response, error) { + return nil, nil +} + +func TestTLSClientConfigHolder(t *testing.T) { + rt := &fakeTLSClientConfigHolder{} + TLSClientConfig(rt) + + if !rt.called { + t.Errorf("didn't find tls config") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go b/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go new file mode 100644 index 00000000000..a1e53d2e436 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go @@ -0,0 +1,278 @@ +/* +Copyright 2016 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 net + +import ( + "bufio" + "encoding/hex" + "fmt" + "io" + "net" + "os" + + "strings" + + "github.com/golang/glog" +) + +type Route struct { + Interface string + Destination net.IP + Gateway net.IP + // TODO: add more fields here if needed +} + +func getRoutes(input io.Reader) ([]Route, error) { + routes := []Route{} + if input == nil { + return nil, fmt.Errorf("input is nil") + } + scanner := bufio.NewReader(input) + for { + line, err := scanner.ReadString('\n') + if err == io.EOF { + break + } + //ignore the headers in the route info + if strings.HasPrefix(line, "Iface") { + continue + } + fields := strings.Fields(line) + routes = append(routes, Route{}) + route := &routes[len(routes)-1] + route.Interface = fields[0] + ip, err := parseIP(fields[1]) + if err != nil { + return nil, err + } + route.Destination = ip + ip, err = parseIP(fields[2]) + if err != nil { + return nil, err + } + route.Gateway = ip + } + return routes, nil +} + +func parseIP(str string) (net.IP, error) { + if str == "" { + return nil, fmt.Errorf("input is nil") + } + bytes, err := hex.DecodeString(str) + if err != nil { + return nil, err + } + //TODO add ipv6 support + if len(bytes) != net.IPv4len { + return nil, fmt.Errorf("only IPv4 is supported") + } + bytes[0], bytes[1], bytes[2], bytes[3] = bytes[3], bytes[2], bytes[1], bytes[0] + return net.IP(bytes), nil +} + +func isInterfaceUp(intf *net.Interface) bool { + if intf == nil { + return false + } + if intf.Flags&net.FlagUp != 0 { + glog.V(4).Infof("Interface %v is up", intf.Name) + return true + } + return false +} + +//getFinalIP method receives all the IP addrs of a Interface +//and returns a nil if the address is Loopback, Ipv6, link-local or nil. +//It returns a valid IPv4 if an Ipv4 address is found in the array. +func getFinalIP(addrs []net.Addr) (net.IP, error) { + if len(addrs) > 0 { + for i := range addrs { + glog.V(4).Infof("Checking addr %s.", addrs[i].String()) + ip, _, err := net.ParseCIDR(addrs[i].String()) + if err != nil { + return nil, err + } + //Only IPv4 + //TODO : add IPv6 support + if ip.To4() != nil { + if !ip.IsLoopback() && !ip.IsLinkLocalMulticast() && !ip.IsLinkLocalUnicast() { + glog.V(4).Infof("IP found %v", ip) + return ip, nil + } else { + glog.V(4).Infof("Loopback/link-local found %v", ip) + } + } else { + glog.V(4).Infof("%v is not a valid IPv4 address", ip) + } + + } + } + return nil, nil +} + +func getIPFromInterface(intfName string, nw networkInterfacer) (net.IP, error) { + intf, err := nw.InterfaceByName(intfName) + if err != nil { + return nil, err + } + if isInterfaceUp(intf) { + addrs, err := nw.Addrs(intf) + if err != nil { + return nil, err + } + glog.V(4).Infof("Interface %q has %d addresses :%v.", intfName, len(addrs), addrs) + finalIP, err := getFinalIP(addrs) + if err != nil { + return nil, err + } + if finalIP != nil { + glog.V(4).Infof("valid IPv4 address for interface %q found as %v.", intfName, finalIP) + return finalIP, nil + } + } + + return nil, nil +} + +func flagsSet(flags net.Flags, test net.Flags) bool { + return flags&test != 0 +} + +func flagsClear(flags net.Flags, test net.Flags) bool { + return flags&test == 0 +} + +func chooseHostInterfaceNativeGo() (net.IP, error) { + intfs, err := net.Interfaces() + if err != nil { + return nil, err + } + i := 0 + var ip net.IP + for i = range intfs { + if flagsSet(intfs[i].Flags, net.FlagUp) && flagsClear(intfs[i].Flags, net.FlagLoopback|net.FlagPointToPoint) { + addrs, err := intfs[i].Addrs() + if err != nil { + return nil, err + } + if len(addrs) > 0 { + for _, addr := range addrs { + if addrIP, _, err := net.ParseCIDR(addr.String()); err == nil { + if addrIP.To4() != nil { + ip = addrIP.To4() + if !ip.IsLinkLocalMulticast() && !ip.IsLinkLocalUnicast() { + break + } + } + } + } + if ip != nil { + // This interface should suffice. + break + } + } + } + } + if ip == nil { + return nil, fmt.Errorf("no acceptable interface from host") + } + glog.V(4).Infof("Choosing interface %s (IP %v) as default", intfs[i].Name, ip) + return ip, nil +} + +//ChooseHostInterface is a method used fetch an IP for a daemon. +//It uses data from /proc/net/route file. +//For a node with no internet connection ,it returns error +//For a multi n/w interface node it returns the IP of the interface with gateway on it. +func ChooseHostInterface() (net.IP, error) { + inFile, err := os.Open("/proc/net/route") + if err != nil { + if os.IsNotExist(err) { + return chooseHostInterfaceNativeGo() + } + return nil, err + } + defer inFile.Close() + var nw networkInterfacer = networkInterface{} + return chooseHostInterfaceFromRoute(inFile, nw) +} + +type networkInterfacer interface { + InterfaceByName(intfName string) (*net.Interface, error) + Addrs(intf *net.Interface) ([]net.Addr, error) +} + +type networkInterface struct{} + +func (_ networkInterface) InterfaceByName(intfName string) (*net.Interface, error) { + intf, err := net.InterfaceByName(intfName) + if err != nil { + return nil, err + } + return intf, nil +} + +func (_ networkInterface) Addrs(intf *net.Interface) ([]net.Addr, error) { + addrs, err := intf.Addrs() + if err != nil { + return nil, err + } + return addrs, nil +} + +func chooseHostInterfaceFromRoute(inFile io.Reader, nw networkInterfacer) (net.IP, error) { + routes, err := getRoutes(inFile) + if err != nil { + return nil, err + } + zero := net.IP{0, 0, 0, 0} + var finalIP net.IP + for i := range routes { + //find interface with gateway + if routes[i].Destination.Equal(zero) { + glog.V(4).Infof("Default route transits interface %q", routes[i].Interface) + finalIP, err := getIPFromInterface(routes[i].Interface, nw) + if err != nil { + return nil, err + } + if finalIP != nil { + glog.V(4).Infof("Choosing IP %v ", finalIP) + return finalIP, nil + } + } + } + glog.V(4).Infof("No valid IP found") + if finalIP == nil { + return nil, fmt.Errorf("Unable to select an IP.") + } + return nil, nil +} + +// If bind-address is usable, return it directly +// If bind-address is not usable (unset, 0.0.0.0, or loopback), we will use the host's default +// interface. +func ChooseBindAddress(bindAddress net.IP) (net.IP, error) { + if bindAddress == nil || bindAddress.IsUnspecified() || bindAddress.IsLoopback() { + hostIP, err := ChooseHostInterface() + if err != nil { + return nil, err + } + bindAddress = hostIP + } + return bindAddress, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/interface_test.go b/staging/src/k8s.io/apimachinery/pkg/util/net/interface_test.go new file mode 100644 index 00000000000..fc66904c57e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/interface_test.go @@ -0,0 +1,300 @@ +/* +Copyright 2014 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 net + +import ( + "fmt" + "io" + "net" + "strings" + "testing" +) + +const gatewayfirst = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +eth3 00000000 0100FE0A 0003 0 0 1024 00000000 0 0 0 +eth3 0000FE0A 00000000 0001 0 0 0 0080FFFF 0 0 0 +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +` +const gatewaylast = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +eth3 0000FE0A 00000000 0001 0 0 0 0080FFFF 0 0 0 +eth3 00000000 0100FE0A 0003 0 0 1024 00000000 0 0 0 +` +const gatewaymiddle = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +eth3 0000FE0A 00000000 0001 0 0 0 0080FFFF 0 0 0 +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +eth3 00000000 0100FE0A 0003 0 0 1024 00000000 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +` +const noInternetConnection = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +` +const nothing = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +` +const gatewayfirstIpv6_1 = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +eth3 00000000 0100FE0A 0003 0 0 1024 00000000 0 0 0 +eth3 0000FE0AA1 00000000 0001 0 0 0 0080FFFF 0 0 0 +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +` +const gatewayfirstIpv6_2 = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +eth3 00000000 0100FE0AA1 0003 0 0 1024 00000000 0 0 0 +eth3 0000FE0A 00000000 0001 0 0 0 0080FFFF 0 0 0 +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +` +const route_Invalidhex = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +eth3 00000000 0100FE0AA 0003 0 0 1024 00000000 0 0 0 +eth3 0000FE0A 00000000 0001 0 0 0 0080FFFF 0 0 0 +docker0 000011AC 00000000 0001 0 0 0 0000FFFF 0 0 0 +virbr0 007AA8C0 00000000 0001 0 0 0 00FFFFFF 0 0 0 +` + +// Based on DigitalOcean COREOS +const gatewayfirstLinkLocal = `Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT +eth0 00000000 0120372D 0001 0 0 0 00000000 0 0 0 +eth0 00000000 00000000 0001 0 0 2048 00000000 0 0 0 +` + +func TestGetRoutes(t *testing.T) { + testCases := []struct { + tcase string + route string + expected int + }{ + {"gatewayfirst", gatewayfirst, 4}, + {"gatewaymiddle", gatewaymiddle, 4}, + {"gatewaylast", gatewaylast, 4}, + {"nothing", nothing, 0}, + {"gatewayfirstIpv6_1", gatewayfirstIpv6_1, 0}, + {"gatewayfirstIpv6_2", gatewayfirstIpv6_2, 0}, + {"route_Invalidhex", route_Invalidhex, 0}, + } + for _, tc := range testCases { + r := strings.NewReader(tc.route) + routes, err := getRoutes(r) + if len(routes) != tc.expected { + t.Errorf("case[%v]: expected %v, got %v .err : %v", tc.tcase, tc.expected, len(routes), err) + } + } +} + +func TestParseIP(t *testing.T) { + testCases := []struct { + tcase string + ip string + success bool + expected net.IP + }{ + {"empty", "", false, nil}, + {"too short", "AA", false, nil}, + {"too long", "0011223344", false, nil}, + {"invalid", "invalid!", false, nil}, + {"zero", "00000000", true, net.IP{0, 0, 0, 0}}, + {"ffff", "FFFFFFFF", true, net.IP{0xff, 0xff, 0xff, 0xff}}, + {"valid", "12345678", true, net.IP{120, 86, 52, 18}}, + } + for _, tc := range testCases { + ip, err := parseIP(tc.ip) + if !ip.Equal(tc.expected) { + t.Errorf("case[%v]: expected %q, got %q . err : %v", tc.tcase, tc.expected, ip, err) + } + } +} + +func TestIsInterfaceUp(t *testing.T) { + testCases := []struct { + tcase string + intf net.Interface + expected bool + }{ + {"up", net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: net.FlagUp}, true}, + {"down", net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: 0}, false}, + {"nothing", net.Interface{}, false}, + } + for _, tc := range testCases { + it := isInterfaceUp(&tc.intf) + if it != tc.expected { + t.Errorf("case[%v]: expected %v, got %v .", tc.tcase, tc.expected, it) + } + } +} + +type addrStruct struct{ val string } + +func (a addrStruct) Network() string { + return a.val +} +func (a addrStruct) String() string { + return a.val +} + +func TestFinalIP(t *testing.T) { + testCases := []struct { + tcase string + addr []net.Addr + expected net.IP + }{ + {"ipv6", []net.Addr{addrStruct{val: "fe80::2f7:6fff:fe6e:2956/64"}}, nil}, + {"invalidCIDR", []net.Addr{addrStruct{val: "fe80::2f7:67fff:fe6e:2956/64"}}, nil}, + {"loopback", []net.Addr{addrStruct{val: "127.0.0.1/24"}}, nil}, + {"ip4", []net.Addr{addrStruct{val: "10.254.12.132/17"}}, net.ParseIP("10.254.12.132")}, + + {"nothing", []net.Addr{}, nil}, + } + for _, tc := range testCases { + ip, err := getFinalIP(tc.addr) + if !ip.Equal(tc.expected) { + t.Errorf("case[%v]: expected %v, got %v .err : %v", tc.tcase, tc.expected, ip, err) + } + } +} + +func TestAddrs(t *testing.T) { + var nw networkInterfacer = validNetworkInterface{} + intf := net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: 0} + addrs, err := nw.Addrs(&intf) + if err != nil { + t.Errorf("expected no error got : %v", err) + } + if len(addrs) != 2 { + t.Errorf("expected addrs: 2 got null") + } +} + +type validNetworkInterface struct { +} + +func (_ validNetworkInterface) InterfaceByName(intfName string) (*net.Interface, error) { + c := net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: net.FlagUp} + return &c, nil +} +func (_ validNetworkInterface) Addrs(intf *net.Interface) ([]net.Addr, error) { + var ifat []net.Addr + ifat = []net.Addr{ + addrStruct{val: "fe80::2f7:6fff:fe6e:2956/64"}, addrStruct{val: "10.254.71.145/17"}} + return ifat, nil +} + +type validNetworkInterfaceWithLinkLocal struct { +} + +func (_ validNetworkInterfaceWithLinkLocal) InterfaceByName(intfName string) (*net.Interface, error) { + c := net.Interface{Index: 0, MTU: 0, Name: "eth0", HardwareAddr: nil, Flags: net.FlagUp} + return &c, nil +} +func (_ validNetworkInterfaceWithLinkLocal) Addrs(intf *net.Interface) ([]net.Addr, error) { + var ifat []net.Addr + ifat = []net.Addr{addrStruct{val: "169.254.162.166/16"}, addrStruct{val: "45.55.47.146/19"}} + return ifat, nil +} + +type validNetworkInterfacewithIpv6Only struct { +} + +func (_ validNetworkInterfacewithIpv6Only) InterfaceByName(intfName string) (*net.Interface, error) { + c := net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: net.FlagUp} + return &c, nil +} +func (_ validNetworkInterfacewithIpv6Only) Addrs(intf *net.Interface) ([]net.Addr, error) { + var ifat []net.Addr + ifat = []net.Addr{addrStruct{val: "fe80::2f7:6fff:fe6e:2956/64"}} + return ifat, nil +} + +type noNetworkInterface struct { +} + +func (_ noNetworkInterface) InterfaceByName(intfName string) (*net.Interface, error) { + return nil, fmt.Errorf("unable get Interface") +} +func (_ noNetworkInterface) Addrs(intf *net.Interface) ([]net.Addr, error) { + return nil, nil +} + +type networkInterfacewithNoAddrs struct { +} + +func (_ networkInterfacewithNoAddrs) InterfaceByName(intfName string) (*net.Interface, error) { + c := net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: net.FlagUp} + return &c, nil +} +func (_ networkInterfacewithNoAddrs) Addrs(intf *net.Interface) ([]net.Addr, error) { + return nil, fmt.Errorf("unable get Addrs") +} + +type networkInterfacewithIpv6addrs struct { +} + +func (_ networkInterfacewithIpv6addrs) InterfaceByName(intfName string) (*net.Interface, error) { + c := net.Interface{Index: 0, MTU: 0, Name: "eth3", HardwareAddr: nil, Flags: net.FlagUp} + return &c, nil +} +func (_ networkInterfacewithIpv6addrs) Addrs(intf *net.Interface) ([]net.Addr, error) { + var ifat []net.Addr + ifat = []net.Addr{addrStruct{val: "fe80::2f7:6ffff:fe6e:2956/64"}} + return ifat, nil +} + +func TestGetIPFromInterface(t *testing.T) { + testCases := []struct { + tcase string + nwname string + nw networkInterfacer + expected net.IP + }{ + {"valid", "eth3", validNetworkInterface{}, net.ParseIP("10.254.71.145")}, + {"ipv6", "eth3", validNetworkInterfacewithIpv6Only{}, nil}, + {"nothing", "eth3", noNetworkInterface{}, nil}, + } + for _, tc := range testCases { + ip, err := getIPFromInterface(tc.nwname, tc.nw) + if !ip.Equal(tc.expected) { + t.Errorf("case[%v]: expected %v, got %+v .err : %v", tc.tcase, tc.expected, ip, err) + } + } +} + +func TestChooseHostInterfaceFromRoute(t *testing.T) { + testCases := []struct { + tcase string + inFile io.Reader + nw networkInterfacer + expected net.IP + }{ + {"valid_routefirst", strings.NewReader(gatewayfirst), validNetworkInterface{}, net.ParseIP("10.254.71.145")}, + {"valid_routelast", strings.NewReader(gatewaylast), validNetworkInterface{}, net.ParseIP("10.254.71.145")}, + {"valid_routemiddle", strings.NewReader(gatewaymiddle), validNetworkInterface{}, net.ParseIP("10.254.71.145")}, + {"valid_routemiddle_ipv6", strings.NewReader(gatewaymiddle), validNetworkInterfacewithIpv6Only{}, nil}, + {"no internet connection", strings.NewReader(noInternetConnection), validNetworkInterface{}, nil}, + {"no non-link-local ip", strings.NewReader(gatewayfirstLinkLocal), validNetworkInterfaceWithLinkLocal{}, net.ParseIP("45.55.47.146")}, + {"no route", strings.NewReader(nothing), validNetworkInterface{}, nil}, + {"no route file", nil, validNetworkInterface{}, nil}, + {"no interfaces", nil, noNetworkInterface{}, nil}, + {"no interface Addrs", strings.NewReader(gatewaymiddle), networkInterfacewithNoAddrs{}, nil}, + {"Invalid Addrs", strings.NewReader(gatewaymiddle), networkInterfacewithIpv6addrs{}, nil}, + } + for _, tc := range testCases { + ip, err := chooseHostInterfaceFromRoute(tc.inFile, tc.nw) + if !ip.Equal(tc.expected) { + t.Errorf("case[%v]: expected %v, got %+v .err : %v", tc.tcase, tc.expected, ip, err) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/port_range.go b/staging/src/k8s.io/apimachinery/pkg/util/net/port_range.go new file mode 100644 index 00000000000..6a50e6186da --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/port_range.go @@ -0,0 +1,113 @@ +/* +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 net + +import ( + "fmt" + "strconv" + "strings" +) + +// PortRange represents a range of TCP/UDP ports. To represent a single port, +// set Size to 1. +type PortRange struct { + Base int + Size int +} + +// Contains tests whether a given port falls within the PortRange. +func (pr *PortRange) Contains(p int) bool { + return (p >= pr.Base) && ((p - pr.Base) < pr.Size) +} + +// String converts the PortRange to a string representation, which can be +// parsed by PortRange.Set or ParsePortRange. +func (pr PortRange) String() string { + if pr.Size == 0 { + return "" + } + return fmt.Sprintf("%d-%d", pr.Base, pr.Base+pr.Size-1) +} + +// Set parses a string of the form "min-max", inclusive at both ends, and +// sets the PortRange from it. This is part of the flag.Value and pflag.Value +// interfaces. +func (pr *PortRange) Set(value string) error { + value = strings.TrimSpace(value) + + // TODO: Accept "80" syntax + // TODO: Accept "80+8" syntax + + if value == "" { + pr.Base = 0 + pr.Size = 0 + return nil + } + + hyphenIndex := strings.Index(value, "-") + if hyphenIndex == -1 { + return fmt.Errorf("expected hyphen in port range") + } + + var err error + var low int + var high int + low, err = strconv.Atoi(value[:hyphenIndex]) + if err == nil { + high, err = strconv.Atoi(value[hyphenIndex+1:]) + } + if err != nil { + return fmt.Errorf("unable to parse port range: %s: %v", value, err) + } + + if low > 65535 || high > 65535 { + return fmt.Errorf("the port range cannot be greater than 65535: %s", value) + } + + if high < low { + return fmt.Errorf("end port cannot be less than start port: %s", value) + } + + pr.Base = low + pr.Size = 1 + high - low + return nil +} + +// Type returns a descriptive string about this type. This is part of the +// pflag.Value interface. +func (*PortRange) Type() string { + return "portRange" +} + +// ParsePortRange parses a string of the form "min-max", inclusive at both +// ends, and initializs a new PortRange from it. +func ParsePortRange(value string) (*PortRange, error) { + pr := &PortRange{} + err := pr.Set(value) + if err != nil { + return nil, err + } + return pr, nil +} + +func ParsePortRangeOrDie(value string) *PortRange { + pr, err := ParsePortRange(value) + if err != nil { + panic(fmt.Sprintf("couldn't parse port range %q: %v", value, err)) + } + return pr +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/port_range_test.go b/staging/src/k8s.io/apimachinery/pkg/util/net/port_range_test.go new file mode 100644 index 00000000000..897b8df61a5 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/port_range_test.go @@ -0,0 +1,69 @@ +/* +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 net + +import ( + "testing" + + flag "github.com/spf13/pflag" +) + +func TestPortRange(t *testing.T) { + testCases := []struct { + input string + success bool + expected string + included int + excluded int + }{ + {"100-200", true, "100-200", 200, 201}, + {" 100-200 ", true, "100-200", 200, 201}, + {"0-0", true, "0-0", 0, 1}, + {"", true, "", -1, 0}, + {"100", false, "", -1, -1}, + {"100 - 200", false, "", -1, -1}, + {"-100", false, "", -1, -1}, + {"100-", false, "", -1, -1}, + {"200-100", false, "", -1, -1}, + {"60000-70000", false, "", -1, -1}, + {"70000-80000", false, "", -1, -1}, + } + + for i := range testCases { + tc := &testCases[i] + pr := &PortRange{} + var f flag.Value = pr + err := f.Set(tc.input) + if err != nil && tc.success == true { + t.Errorf("expected success, got %q", err) + continue + } else if err == nil && tc.success == false { + t.Errorf("expected failure") + continue + } else if tc.success { + if f.String() != tc.expected { + t.Errorf("expected %q, got %q", tc.expected, f.String()) + } + if tc.included >= 0 && !pr.Contains(tc.included) { + t.Errorf("expected %q to include %d", f.String(), tc.included) + } + if tc.excluded >= 0 && pr.Contains(tc.excluded) { + t.Errorf("expected %q to exclude %d", f.String(), tc.excluded) + } + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/port_split.go b/staging/src/k8s.io/apimachinery/pkg/util/net/port_split.go new file mode 100644 index 00000000000..c0fd4e20fe5 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/port_split.go @@ -0,0 +1,77 @@ +/* +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 net + +import ( + "strings" + + "k8s.io/apimachinery/pkg/util/sets" +) + +var validSchemes = sets.NewString("http", "https", "") + +// SplitSchemeNamePort takes a string of the following forms: +// * "", returns "", "","", true +// * ":", returns "", "","",true +// * "::", returns "","","",true +// +// Name must be non-empty or valid will be returned false. +// Scheme must be "http" or "https" if specified +// Port is returned as a string, and it is not required to be numeric (could be +// used for a named port, for example). +func SplitSchemeNamePort(id string) (scheme, name, port string, valid bool) { + parts := strings.Split(id, ":") + switch len(parts) { + case 1: + name = parts[0] + case 2: + name = parts[0] + port = parts[1] + case 3: + scheme = parts[0] + name = parts[1] + port = parts[2] + default: + return "", "", "", false + } + + if len(name) > 0 && validSchemes.Has(scheme) { + return scheme, name, port, true + } else { + return "", "", "", false + } +} + +// JoinSchemeNamePort returns a string that specifies the scheme, name, and port: +// * "" +// * ":" +// * "::" +// None of the parameters may contain a ':' character +// Name is required +// Scheme must be "", "http", or "https" +func JoinSchemeNamePort(scheme, name, port string) string { + if len(scheme) > 0 { + // Must include three segments to specify scheme + return scheme + ":" + name + ":" + port + } + if len(port) > 0 { + // Must include two segments to specify port + return name + ":" + port + } + // Return name alone + return name +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/port_split_test.go b/staging/src/k8s.io/apimachinery/pkg/util/net/port_split_test.go new file mode 100644 index 00000000000..e801bdbea0b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/port_split_test.go @@ -0,0 +1,121 @@ +/* +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 net + +import ( + "testing" +) + +func TestSplitSchemeNamePort(t *testing.T) { + table := []struct { + in string + name, port, scheme string + valid bool + normalized bool + }{ + { + in: "aoeu:asdf", + name: "aoeu", + port: "asdf", + valid: true, + normalized: true, + }, { + in: "http:aoeu:asdf", + scheme: "http", + name: "aoeu", + port: "asdf", + valid: true, + normalized: true, + }, { + in: "https:aoeu:", + scheme: "https", + name: "aoeu", + port: "", + valid: true, + normalized: false, + }, { + in: "https:aoeu:asdf", + scheme: "https", + name: "aoeu", + port: "asdf", + valid: true, + normalized: true, + }, { + in: "aoeu:", + name: "aoeu", + valid: true, + normalized: false, + }, { + in: "aoeu", + name: "aoeu", + valid: true, + normalized: true, + }, { + in: ":asdf", + valid: false, + }, { + in: "aoeu:asdf:htns", + valid: false, + }, { + in: "http::asdf", + valid: false, + }, { + in: "http::", + valid: false, + }, { + in: "", + valid: false, + }, + } + + for _, item := range table { + scheme, name, port, valid := SplitSchemeNamePort(item.in) + if e, a := item.scheme, scheme; e != a { + t.Errorf("%q: Wanted %q, got %q", item.in, e, a) + } + if e, a := item.name, name; e != a { + t.Errorf("%q: Wanted %q, got %q", item.in, e, a) + } + if e, a := item.port, port; e != a { + t.Errorf("%q: Wanted %q, got %q", item.in, e, a) + } + if e, a := item.valid, valid; e != a { + t.Errorf("%q: Wanted %t, got %t", item.in, e, a) + } + + // Make sure valid items round trip through JoinSchemeNamePort + if item.valid { + out := JoinSchemeNamePort(scheme, name, port) + if item.normalized && out != item.in { + t.Errorf("%q: Wanted %s, got %s", item.in, item.in, out) + } + scheme, name, port, valid := SplitSchemeNamePort(out) + if e, a := item.scheme, scheme; e != a { + t.Errorf("%q: Wanted %q, got %q", item.in, e, a) + } + if e, a := item.name, name; e != a { + t.Errorf("%q: Wanted %q, got %q", item.in, e, a) + } + if e, a := item.port, port; e != a { + t.Errorf("%q: Wanted %q, got %q", item.in, e, a) + } + if e, a := item.valid, valid; e != a { + t.Errorf("%q: Wanted %t, got %t", item.in, e, a) + } + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/util.go b/staging/src/k8s.io/apimachinery/pkg/util/net/util.go new file mode 100644 index 00000000000..461144f0bab --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/util.go @@ -0,0 +1,46 @@ +/* +Copyright 2016 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 net + +import ( + "net" + "reflect" + "syscall" +) + +// IPNetEqual checks if the two input IPNets are representing the same subnet. +// For example, +// 10.0.0.1/24 and 10.0.0.0/24 are the same subnet. +// 10.0.0.1/24 and 10.0.0.0/25 are not the same subnet. +func IPNetEqual(ipnet1, ipnet2 *net.IPNet) bool { + if ipnet1 == nil || ipnet2 == nil { + return false + } + if reflect.DeepEqual(ipnet1.Mask, ipnet2.Mask) && ipnet1.Contains(ipnet2.IP) && ipnet2.Contains(ipnet1.IP) { + return true + } + return false +} + +// Returns if the given err is "connection reset by peer" error. +func IsConnectionReset(err error) bool { + opErr, ok := err.(*net.OpError) + if ok && opErr.Err.Error() == syscall.ECONNRESET.Error() { + return true + } + return false +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/net/util_test.go b/staging/src/k8s.io/apimachinery/pkg/util/net/util_test.go new file mode 100644 index 00000000000..bcbef753b74 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/net/util_test.go @@ -0,0 +1,68 @@ +/* +Copyright 2016 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 net + +import ( + "net" + "testing" +) + +func getIPNet(cidr string) *net.IPNet { + _, ipnet, _ := net.ParseCIDR(cidr) + return ipnet +} + +func TestIPNetEqual(t *testing.T) { + testCases := []struct { + ipnet1 *net.IPNet + ipnet2 *net.IPNet + expect bool + }{ + //null case + { + getIPNet("10.0.0.1/24"), + getIPNet(""), + false, + }, + { + getIPNet("10.0.0.0/24"), + getIPNet("10.0.0.0/24"), + true, + }, + { + getIPNet("10.0.0.0/24"), + getIPNet("10.0.0.1/24"), + true, + }, + { + getIPNet("10.0.0.0/25"), + getIPNet("10.0.0.0/24"), + false, + }, + { + getIPNet("10.0.1.0/24"), + getIPNet("10.0.0.0/24"), + false, + }, + } + + for _, tc := range testCases { + if tc.expect != IPNetEqual(tc.ipnet1, tc.ipnet2) { + t.Errorf("Expect equality of %s and %s be to %v", tc.ipnet1.String(), tc.ipnet2.String(), tc.expect) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/runtime/runtime.go b/staging/src/k8s.io/apimachinery/pkg/util/runtime/runtime.go new file mode 100644 index 00000000000..976de49d582 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/runtime/runtime.go @@ -0,0 +1,128 @@ +/* +Copyright 2014 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 runtime + +import ( + "fmt" + "runtime" + + "github.com/golang/glog" +) + +var ( + // ReallyCrash controls the behavior of HandleCrash and now defaults + // true. It's still exposed so components can optionally set to false + // to restore prior behavior. + ReallyCrash = true +) + +// PanicHandlers is a list of functions which will be invoked when a panic happens. +var PanicHandlers = []func(interface{}){logPanic} + +// HandleCrash simply catches a crash and logs an error. Meant to be called via +// defer. Additional context-specific handlers can be provided, and will be +// called in case of panic. HandleCrash actually crashes, after calling the +// handlers and logging the panic message. +// +// TODO: remove this function. We are switching to a world where it's safe for +// apiserver to panic, since it will be restarted by kubelet. At the beginning +// of the Kubernetes project, nothing was going to restart apiserver and so +// catching panics was important. But it's actually much simpler for montoring +// software if we just exit when an unexpected panic happens. +func HandleCrash(additionalHandlers ...func(interface{})) { + if r := recover(); r != nil { + for _, fn := range PanicHandlers { + fn(r) + } + for _, fn := range additionalHandlers { + fn(r) + } + if ReallyCrash { + // Actually proceed to panic. + panic(r) + } + } +} + +// logPanic logs the caller tree when a panic occurs. +func logPanic(r interface{}) { + callers := getCallers(r) + glog.Errorf("Observed a panic: %#v (%v)\n%v", r, r, callers) +} + +func getCallers(r interface{}) string { + callers := "" + for i := 0; true; i++ { + _, file, line, ok := runtime.Caller(i) + if !ok { + break + } + callers = callers + fmt.Sprintf("%v:%v\n", file, line) + } + + return callers +} + +// ErrorHandlers is a list of functions which will be invoked when an unreturnable +// error occurs. +var ErrorHandlers = []func(error){logError} + +// HandlerError is a method to invoke when a non-user facing piece of code cannot +// return an error and needs to indicate it has been ignored. Invoking this method +// is preferable to logging the error - the default behavior is to log but the +// errors may be sent to a remote server for analysis. +func HandleError(err error) { + // this is sometimes called with a nil error. We probably shouldn't fail and should do nothing instead + if err == nil { + return + } + + for _, fn := range ErrorHandlers { + fn(err) + } +} + +// logError prints an error with the call stack of the location it was reported +func logError(err error) { + glog.ErrorDepth(2, err) +} + +// GetCaller returns the caller of the function that calls it. +func GetCaller() string { + var pc [1]uintptr + runtime.Callers(3, pc[:]) + f := runtime.FuncForPC(pc[0]) + if f == nil { + return fmt.Sprintf("Unable to find caller") + } + return f.Name() +} + +// RecoverFromPanic replaces the specified error with an error containing the +// original error, and the call tree when a panic occurs. This enables error +// handlers to handle errors and panics the same way. +func RecoverFromPanic(err *error) { + if r := recover(); r != nil { + callers := getCallers(r) + + *err = fmt.Errorf( + "recovered from panic %q. (err=%v) Call stack:\n%v", + r, + *err, + callers) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/runtime/runtime_test.go b/staging/src/k8s.io/apimachinery/pkg/util/runtime/runtime_test.go new file mode 100644 index 00000000000..9dff17ea534 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/runtime/runtime_test.go @@ -0,0 +1,71 @@ +/* +Copyright 2014 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 runtime + +import ( + "fmt" + "testing" +) + +func TestHandleCrash(t *testing.T) { + defer func() { + if x := recover(); x == nil { + t.Errorf("Expected a panic to recover from") + } + }() + defer HandleCrash() + panic("Test Panic") +} + +func TestCustomHandleCrash(t *testing.T) { + old := PanicHandlers + defer func() { PanicHandlers = old }() + var result interface{} + PanicHandlers = []func(interface{}){ + func(r interface{}) { + result = r + }, + } + func() { + defer func() { + if x := recover(); x == nil { + t.Errorf("Expected a panic to recover from") + } + }() + defer HandleCrash() + panic("test") + }() + if result != "test" { + t.Errorf("did not receive custom handler") + } +} + +func TestCustomHandleError(t *testing.T) { + old := ErrorHandlers + defer func() { ErrorHandlers = old }() + var result error + ErrorHandlers = []func(error){ + func(err error) { + result = err + }, + } + err := fmt.Errorf("test") + HandleError(err) + if result != err { + t.Errorf("did not receive custom handler") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/byte.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/byte.go new file mode 100644 index 00000000000..a460e4b1f55 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/byte.go @@ -0,0 +1,203 @@ +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by set-gen. Do not edit it manually! + +package sets + +import ( + "reflect" + "sort" +) + +// sets.Byte is a set of bytes, implemented via map[byte]struct{} for minimal memory consumption. +type Byte map[byte]Empty + +// New creates a Byte from a list of values. +func NewByte(items ...byte) Byte { + ss := Byte{} + ss.Insert(items...) + return ss +} + +// ByteKeySet creates a Byte from a keys of a map[byte](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func ByteKeySet(theMap interface{}) Byte { + v := reflect.ValueOf(theMap) + ret := Byte{} + + for _, keyValue := range v.MapKeys() { + ret.Insert(keyValue.Interface().(byte)) + } + return ret +} + +// Insert adds items to the set. +func (s Byte) Insert(items ...byte) { + for _, item := range items { + s[item] = Empty{} + } +} + +// Delete removes all items from the set. +func (s Byte) Delete(items ...byte) { + for _, item := range items { + delete(s, item) + } +} + +// Has returns true if and only if item is contained in the set. +func (s Byte) Has(item byte) bool { + _, contained := s[item] + return contained +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Byte) HasAll(items ...byte) bool { + for _, item := range items { + if !s.Has(item) { + return false + } + } + return true +} + +// HasAny returns true if any items are contained in the set. +func (s Byte) HasAny(items ...byte) bool { + for _, item := range items { + if s.Has(item) { + return true + } + } + return false +} + +// Difference returns a set of objects that are not in s2 +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s Byte) Difference(s2 Byte) Byte { + result := NewByte() + for key := range s { + if !s2.Has(key) { + result.Insert(key) + } + } + return result +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Byte) Union(s2 Byte) Byte { + result := NewByte() + for key := range s1 { + result.Insert(key) + } + for key := range s2 { + result.Insert(key) + } + return result +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Byte) Intersection(s2 Byte) Byte { + var walk, other Byte + result := NewByte() + if s1.Len() < s2.Len() { + walk = s1 + other = s2 + } else { + walk = s2 + other = s1 + } + for key := range walk { + if other.Has(key) { + result.Insert(key) + } + } + return result +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Byte) IsSuperset(s2 Byte) bool { + for item := range s2 { + if !s1.Has(item) { + return false + } + } + return true +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Byte) Equal(s2 Byte) bool { + return len(s1) == len(s2) && s1.IsSuperset(s2) +} + +type sortableSliceOfByte []byte + +func (s sortableSliceOfByte) Len() int { return len(s) } +func (s sortableSliceOfByte) Less(i, j int) bool { return lessByte(s[i], s[j]) } +func (s sortableSliceOfByte) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// List returns the contents as a sorted byte slice. +func (s Byte) List() []byte { + res := make(sortableSliceOfByte, 0, len(s)) + for key := range s { + res = append(res, key) + } + sort.Sort(res) + return []byte(res) +} + +// UnsortedList returns the slice with contents in random order. +func (s Byte) UnsortedList() []byte { + res := make([]byte, 0, len(s)) + for key := range s { + res = append(res, key) + } + return res +} + +// Returns a single element from the set. +func (s Byte) PopAny() (byte, bool) { + for key := range s { + s.Delete(key) + return key, true + } + var zeroValue byte + return zeroValue, false +} + +// Len returns the size of the set. +func (s Byte) Len() int { + return len(s) +} + +func lessByte(lhs, rhs byte) bool { + return lhs < rhs +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/doc.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/doc.go new file mode 100644 index 00000000000..28a6a7d5c72 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/doc.go @@ -0,0 +1,20 @@ +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by set-gen. Do not edit it manually! + +// Package sets has auto-generated set types. +package sets diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/empty.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/empty.go new file mode 100644 index 00000000000..cd22b953aa6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/empty.go @@ -0,0 +1,23 @@ +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by set-gen. Do not edit it manually! + +package sets + +// Empty is public since it is used by some internal API objects for conversions between external +// string arrays and internal sets, and conversion logic requires public types today. +type Empty struct{} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/int.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/int.go new file mode 100644 index 00000000000..0614e9fb000 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/int.go @@ -0,0 +1,203 @@ +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by set-gen. Do not edit it manually! + +package sets + +import ( + "reflect" + "sort" +) + +// sets.Int is a set of ints, implemented via map[int]struct{} for minimal memory consumption. +type Int map[int]Empty + +// New creates a Int from a list of values. +func NewInt(items ...int) Int { + ss := Int{} + ss.Insert(items...) + return ss +} + +// IntKeySet creates a Int from a keys of a map[int](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func IntKeySet(theMap interface{}) Int { + v := reflect.ValueOf(theMap) + ret := Int{} + + for _, keyValue := range v.MapKeys() { + ret.Insert(keyValue.Interface().(int)) + } + return ret +} + +// Insert adds items to the set. +func (s Int) Insert(items ...int) { + for _, item := range items { + s[item] = Empty{} + } +} + +// Delete removes all items from the set. +func (s Int) Delete(items ...int) { + for _, item := range items { + delete(s, item) + } +} + +// Has returns true if and only if item is contained in the set. +func (s Int) Has(item int) bool { + _, contained := s[item] + return contained +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Int) HasAll(items ...int) bool { + for _, item := range items { + if !s.Has(item) { + return false + } + } + return true +} + +// HasAny returns true if any items are contained in the set. +func (s Int) HasAny(items ...int) bool { + for _, item := range items { + if s.Has(item) { + return true + } + } + return false +} + +// Difference returns a set of objects that are not in s2 +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s Int) Difference(s2 Int) Int { + result := NewInt() + for key := range s { + if !s2.Has(key) { + result.Insert(key) + } + } + return result +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Int) Union(s2 Int) Int { + result := NewInt() + for key := range s1 { + result.Insert(key) + } + for key := range s2 { + result.Insert(key) + } + return result +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Int) Intersection(s2 Int) Int { + var walk, other Int + result := NewInt() + if s1.Len() < s2.Len() { + walk = s1 + other = s2 + } else { + walk = s2 + other = s1 + } + for key := range walk { + if other.Has(key) { + result.Insert(key) + } + } + return result +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Int) IsSuperset(s2 Int) bool { + for item := range s2 { + if !s1.Has(item) { + return false + } + } + return true +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Int) Equal(s2 Int) bool { + return len(s1) == len(s2) && s1.IsSuperset(s2) +} + +type sortableSliceOfInt []int + +func (s sortableSliceOfInt) Len() int { return len(s) } +func (s sortableSliceOfInt) Less(i, j int) bool { return lessInt(s[i], s[j]) } +func (s sortableSliceOfInt) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// List returns the contents as a sorted int slice. +func (s Int) List() []int { + res := make(sortableSliceOfInt, 0, len(s)) + for key := range s { + res = append(res, key) + } + sort.Sort(res) + return []int(res) +} + +// UnsortedList returns the slice with contents in random order. +func (s Int) UnsortedList() []int { + res := make([]int, 0, len(s)) + for key := range s { + res = append(res, key) + } + return res +} + +// Returns a single element from the set. +func (s Int) PopAny() (int, bool) { + for key := range s { + s.Delete(key) + return key, true + } + var zeroValue int + return zeroValue, false +} + +// Len returns the size of the set. +func (s Int) Len() int { + return len(s) +} + +func lessInt(lhs, rhs int) bool { + return lhs < rhs +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/int64.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/int64.go new file mode 100644 index 00000000000..82e1ba78212 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/int64.go @@ -0,0 +1,203 @@ +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by set-gen. Do not edit it manually! + +package sets + +import ( + "reflect" + "sort" +) + +// sets.Int64 is a set of int64s, implemented via map[int64]struct{} for minimal memory consumption. +type Int64 map[int64]Empty + +// New creates a Int64 from a list of values. +func NewInt64(items ...int64) Int64 { + ss := Int64{} + ss.Insert(items...) + return ss +} + +// Int64KeySet creates a Int64 from a keys of a map[int64](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func Int64KeySet(theMap interface{}) Int64 { + v := reflect.ValueOf(theMap) + ret := Int64{} + + for _, keyValue := range v.MapKeys() { + ret.Insert(keyValue.Interface().(int64)) + } + return ret +} + +// Insert adds items to the set. +func (s Int64) Insert(items ...int64) { + for _, item := range items { + s[item] = Empty{} + } +} + +// Delete removes all items from the set. +func (s Int64) Delete(items ...int64) { + for _, item := range items { + delete(s, item) + } +} + +// Has returns true if and only if item is contained in the set. +func (s Int64) Has(item int64) bool { + _, contained := s[item] + return contained +} + +// HasAll returns true if and only if all items are contained in the set. +func (s Int64) HasAll(items ...int64) bool { + for _, item := range items { + if !s.Has(item) { + return false + } + } + return true +} + +// HasAny returns true if any items are contained in the set. +func (s Int64) HasAny(items ...int64) bool { + for _, item := range items { + if s.Has(item) { + return true + } + } + return false +} + +// Difference returns a set of objects that are not in s2 +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s Int64) Difference(s2 Int64) Int64 { + result := NewInt64() + for key := range s { + if !s2.Has(key) { + result.Insert(key) + } + } + return result +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 Int64) Union(s2 Int64) Int64 { + result := NewInt64() + for key := range s1 { + result.Insert(key) + } + for key := range s2 { + result.Insert(key) + } + return result +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 Int64) Intersection(s2 Int64) Int64 { + var walk, other Int64 + result := NewInt64() + if s1.Len() < s2.Len() { + walk = s1 + other = s2 + } else { + walk = s2 + other = s1 + } + for key := range walk { + if other.Has(key) { + result.Insert(key) + } + } + return result +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 Int64) IsSuperset(s2 Int64) bool { + for item := range s2 { + if !s1.Has(item) { + return false + } + } + return true +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 Int64) Equal(s2 Int64) bool { + return len(s1) == len(s2) && s1.IsSuperset(s2) +} + +type sortableSliceOfInt64 []int64 + +func (s sortableSliceOfInt64) Len() int { return len(s) } +func (s sortableSliceOfInt64) Less(i, j int) bool { return lessInt64(s[i], s[j]) } +func (s sortableSliceOfInt64) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// List returns the contents as a sorted int64 slice. +func (s Int64) List() []int64 { + res := make(sortableSliceOfInt64, 0, len(s)) + for key := range s { + res = append(res, key) + } + sort.Sort(res) + return []int64(res) +} + +// UnsortedList returns the slice with contents in random order. +func (s Int64) UnsortedList() []int64 { + res := make([]int64, 0, len(s)) + for key := range s { + res = append(res, key) + } + return res +} + +// Returns a single element from the set. +func (s Int64) PopAny() (int64, bool) { + for key := range s { + s.Delete(key) + return key, true + } + var zeroValue int64 + return zeroValue, false +} + +// Len returns the size of the set. +func (s Int64) Len() int { + return len(s) +} + +func lessInt64(lhs, rhs int64) bool { + return lhs < rhs +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/set_test.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/set_test.go new file mode 100644 index 00000000000..df722ec2712 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/set_test.go @@ -0,0 +1,270 @@ +/* +Copyright 2014 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 sets + +import ( + "reflect" + "testing" +) + +func TestStringSet(t *testing.T) { + s := String{} + s2 := String{} + if len(s) != 0 { + t.Errorf("Expected len=0: %d", len(s)) + } + s.Insert("a", "b") + if len(s) != 2 { + t.Errorf("Expected len=2: %d", len(s)) + } + s.Insert("c") + if s.Has("d") { + t.Errorf("Unexpected contents: %#v", s) + } + if !s.Has("a") { + t.Errorf("Missing contents: %#v", s) + } + s.Delete("a") + if s.Has("a") { + t.Errorf("Unexpected contents: %#v", s) + } + s.Insert("a") + if s.HasAll("a", "b", "d") { + t.Errorf("Unexpected contents: %#v", s) + } + if !s.HasAll("a", "b") { + t.Errorf("Missing contents: %#v", s) + } + s2.Insert("a", "b", "d") + if s.IsSuperset(s2) { + t.Errorf("Unexpected contents: %#v", s) + } + s2.Delete("d") + if !s.IsSuperset(s2) { + t.Errorf("Missing contents: %#v", s) + } +} + +func TestStringSetDeleteMultiples(t *testing.T) { + s := String{} + s.Insert("a", "b", "c") + if len(s) != 3 { + t.Errorf("Expected len=3: %d", len(s)) + } + + s.Delete("a", "c") + if len(s) != 1 { + t.Errorf("Expected len=1: %d", len(s)) + } + if s.Has("a") { + t.Errorf("Unexpected contents: %#v", s) + } + if s.Has("c") { + t.Errorf("Unexpected contents: %#v", s) + } + if !s.Has("b") { + t.Errorf("Missing contents: %#v", s) + } + +} + +func TestNewStringSet(t *testing.T) { + s := NewString("a", "b", "c") + if len(s) != 3 { + t.Errorf("Expected len=3: %d", len(s)) + } + if !s.Has("a") || !s.Has("b") || !s.Has("c") { + t.Errorf("Unexpected contents: %#v", s) + } +} + +func TestStringSetList(t *testing.T) { + s := NewString("z", "y", "x", "a") + if !reflect.DeepEqual(s.List(), []string{"a", "x", "y", "z"}) { + t.Errorf("List gave unexpected result: %#v", s.List()) + } +} + +func TestStringSetDifference(t *testing.T) { + a := NewString("1", "2", "3") + b := NewString("1", "2", "4", "5") + c := a.Difference(b) + d := b.Difference(a) + if len(c) != 1 { + t.Errorf("Expected len=1: %d", len(c)) + } + if !c.Has("3") { + t.Errorf("Unexpected contents: %#v", c.List()) + } + if len(d) != 2 { + t.Errorf("Expected len=2: %d", len(d)) + } + if !d.Has("4") || !d.Has("5") { + t.Errorf("Unexpected contents: %#v", d.List()) + } +} + +func TestStringSetHasAny(t *testing.T) { + a := NewString("1", "2", "3") + + if !a.HasAny("1", "4") { + t.Errorf("expected true, got false") + } + + if a.HasAny("0", "4") { + t.Errorf("expected false, got true") + } +} + +func TestStringSetEquals(t *testing.T) { + // Simple case (order doesn't matter) + a := NewString("1", "2") + b := NewString("2", "1") + if !a.Equal(b) { + t.Errorf("Expected to be equal: %v vs %v", a, b) + } + + // It is a set; duplicates are ignored + b = NewString("2", "2", "1") + if !a.Equal(b) { + t.Errorf("Expected to be equal: %v vs %v", a, b) + } + + // Edge cases around empty sets / empty strings + a = NewString() + b = NewString() + if !a.Equal(b) { + t.Errorf("Expected to be equal: %v vs %v", a, b) + } + + b = NewString("1", "2", "3") + if a.Equal(b) { + t.Errorf("Expected to be not-equal: %v vs %v", a, b) + } + + b = NewString("1", "2", "") + if a.Equal(b) { + t.Errorf("Expected to be not-equal: %v vs %v", a, b) + } + + // Check for equality after mutation + a = NewString() + a.Insert("1") + if a.Equal(b) { + t.Errorf("Expected to be not-equal: %v vs %v", a, b) + } + + a.Insert("2") + if a.Equal(b) { + t.Errorf("Expected to be not-equal: %v vs %v", a, b) + } + + a.Insert("") + if !a.Equal(b) { + t.Errorf("Expected to be equal: %v vs %v", a, b) + } + + a.Delete("") + if a.Equal(b) { + t.Errorf("Expected to be not-equal: %v vs %v", a, b) + } +} + +func TestStringUnion(t *testing.T) { + tests := []struct { + s1 String + s2 String + expected String + }{ + { + NewString("1", "2", "3", "4"), + NewString("3", "4", "5", "6"), + NewString("1", "2", "3", "4", "5", "6"), + }, + { + NewString("1", "2", "3", "4"), + NewString(), + NewString("1", "2", "3", "4"), + }, + { + NewString(), + NewString("1", "2", "3", "4"), + NewString("1", "2", "3", "4"), + }, + { + NewString(), + NewString(), + NewString(), + }, + } + + for _, test := range tests { + union := test.s1.Union(test.s2) + if union.Len() != test.expected.Len() { + t.Errorf("Expected union.Len()=%d but got %d", test.expected.Len(), union.Len()) + } + + if !union.Equal(test.expected) { + t.Errorf("Expected union.Equal(expected) but not true. union:%v expected:%v", union.List(), test.expected.List()) + } + } +} + +func TestStringIntersection(t *testing.T) { + tests := []struct { + s1 String + s2 String + expected String + }{ + { + NewString("1", "2", "3", "4"), + NewString("3", "4", "5", "6"), + NewString("3", "4"), + }, + { + NewString("1", "2", "3", "4"), + NewString("1", "2", "3", "4"), + NewString("1", "2", "3", "4"), + }, + { + NewString("1", "2", "3", "4"), + NewString(), + NewString(), + }, + { + NewString(), + NewString("1", "2", "3", "4"), + NewString(), + }, + { + NewString(), + NewString(), + NewString(), + }, + } + + for _, test := range tests { + intersection := test.s1.Intersection(test.s2) + if intersection.Len() != test.expected.Len() { + t.Errorf("Expected intersection.Len()=%d but got %d", test.expected.Len(), intersection.Len()) + } + + if !intersection.Equal(test.expected) { + t.Errorf("Expected intersection.Equal(expected) but not true. intersection:%v expected:%v", intersection.List(), test.expected.List()) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/sets/string.go b/staging/src/k8s.io/apimachinery/pkg/util/sets/string.go new file mode 100644 index 00000000000..baef7a6a2bf --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/sets/string.go @@ -0,0 +1,203 @@ +/* +Copyright 2017 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. +*/ + +// This file was autogenerated by set-gen. Do not edit it manually! + +package sets + +import ( + "reflect" + "sort" +) + +// sets.String is a set of strings, implemented via map[string]struct{} for minimal memory consumption. +type String map[string]Empty + +// New creates a String from a list of values. +func NewString(items ...string) String { + ss := String{} + ss.Insert(items...) + return ss +} + +// StringKeySet creates a String from a keys of a map[string](? extends interface{}). +// If the value passed in is not actually a map, this will panic. +func StringKeySet(theMap interface{}) String { + v := reflect.ValueOf(theMap) + ret := String{} + + for _, keyValue := range v.MapKeys() { + ret.Insert(keyValue.Interface().(string)) + } + return ret +} + +// Insert adds items to the set. +func (s String) Insert(items ...string) { + for _, item := range items { + s[item] = Empty{} + } +} + +// Delete removes all items from the set. +func (s String) Delete(items ...string) { + for _, item := range items { + delete(s, item) + } +} + +// Has returns true if and only if item is contained in the set. +func (s String) Has(item string) bool { + _, contained := s[item] + return contained +} + +// HasAll returns true if and only if all items are contained in the set. +func (s String) HasAll(items ...string) bool { + for _, item := range items { + if !s.Has(item) { + return false + } + } + return true +} + +// HasAny returns true if any items are contained in the set. +func (s String) HasAny(items ...string) bool { + for _, item := range items { + if s.Has(item) { + return true + } + } + return false +} + +// Difference returns a set of objects that are not in s2 +// For example: +// s1 = {a1, a2, a3} +// s2 = {a1, a2, a4, a5} +// s1.Difference(s2) = {a3} +// s2.Difference(s1) = {a4, a5} +func (s String) Difference(s2 String) String { + result := NewString() + for key := range s { + if !s2.Has(key) { + result.Insert(key) + } + } + return result +} + +// Union returns a new set which includes items in either s1 or s2. +// For example: +// s1 = {a1, a2} +// s2 = {a3, a4} +// s1.Union(s2) = {a1, a2, a3, a4} +// s2.Union(s1) = {a1, a2, a3, a4} +func (s1 String) Union(s2 String) String { + result := NewString() + for key := range s1 { + result.Insert(key) + } + for key := range s2 { + result.Insert(key) + } + return result +} + +// Intersection returns a new set which includes the item in BOTH s1 and s2 +// For example: +// s1 = {a1, a2} +// s2 = {a2, a3} +// s1.Intersection(s2) = {a2} +func (s1 String) Intersection(s2 String) String { + var walk, other String + result := NewString() + if s1.Len() < s2.Len() { + walk = s1 + other = s2 + } else { + walk = s2 + other = s1 + } + for key := range walk { + if other.Has(key) { + result.Insert(key) + } + } + return result +} + +// IsSuperset returns true if and only if s1 is a superset of s2. +func (s1 String) IsSuperset(s2 String) bool { + for item := range s2 { + if !s1.Has(item) { + return false + } + } + return true +} + +// Equal returns true if and only if s1 is equal (as a set) to s2. +// Two sets are equal if their membership is identical. +// (In practice, this means same elements, order doesn't matter) +func (s1 String) Equal(s2 String) bool { + return len(s1) == len(s2) && s1.IsSuperset(s2) +} + +type sortableSliceOfString []string + +func (s sortableSliceOfString) Len() int { return len(s) } +func (s sortableSliceOfString) Less(i, j int) bool { return lessString(s[i], s[j]) } +func (s sortableSliceOfString) Swap(i, j int) { s[i], s[j] = s[j], s[i] } + +// List returns the contents as a sorted string slice. +func (s String) List() []string { + res := make(sortableSliceOfString, 0, len(s)) + for key := range s { + res = append(res, key) + } + sort.Sort(res) + return []string(res) +} + +// UnsortedList returns the slice with contents in random order. +func (s String) UnsortedList() []string { + res := make([]string, 0, len(s)) + for key := range s { + res = append(res, key) + } + return res +} + +// Returns a single element from the set. +func (s String) PopAny() (string, bool) { + for key := range s { + s.Delete(key) + return key, true + } + var zeroValue string + return zeroValue, false +} + +// Len returns the size of the set. +func (s String) Len() int { + return len(s) +} + +func lessString(lhs, rhs string) bool { + return lhs < rhs +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/field/errors.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/errors.go new file mode 100644 index 00000000000..379129b119e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/errors.go @@ -0,0 +1,235 @@ +/* +Copyright 2014 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 field + +import ( + "encoding/json" + "fmt" + "strings" + + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" +) + +// Error is an implementation of the 'error' interface, which represents a +// field-level validation error. +type Error struct { + Type ErrorType + Field string + BadValue interface{} + Detail string +} + +var _ error = &Error{} + +// Error implements the error interface. +func (v *Error) Error() string { + return fmt.Sprintf("%s: %s", v.Field, v.ErrorBody()) +} + +// ErrorBody returns the error message without the field name. This is useful +// for building nice-looking higher-level error reporting. +func (v *Error) ErrorBody() string { + var s string + switch v.Type { + case ErrorTypeRequired, ErrorTypeForbidden, ErrorTypeTooLong, ErrorTypeInternal: + s = fmt.Sprintf("%s", v.Type) + default: + var bad string + badBytes, err := json.Marshal(v.BadValue) + if err != nil { + bad = err.Error() + } else { + bad = string(badBytes) + } + s = fmt.Sprintf("%s: %s", v.Type, bad) + } + if len(v.Detail) != 0 { + s += fmt.Sprintf(": %s", v.Detail) + } + return s +} + +// ErrorType is a machine readable value providing more detail about why +// a field is invalid. These values are expected to match 1-1 with +// CauseType in api/types.go. +type ErrorType string + +// TODO: These values are duplicated in api/types.go, but there's a circular dep. Fix it. +const ( + // ErrorTypeNotFound is used to report failure to find a requested value + // (e.g. looking up an ID). See NotFound(). + ErrorTypeNotFound ErrorType = "FieldValueNotFound" + // ErrorTypeRequired is used to report required values that are not + // provided (e.g. empty strings, null values, or empty arrays). See + // Required(). + ErrorTypeRequired ErrorType = "FieldValueRequired" + // ErrorTypeDuplicate is used to report collisions of values that must be + // unique (e.g. unique IDs). See Duplicate(). + ErrorTypeDuplicate ErrorType = "FieldValueDuplicate" + // ErrorTypeInvalid is used to report malformed values (e.g. failed regex + // match, too long, out of bounds). See Invalid(). + ErrorTypeInvalid ErrorType = "FieldValueInvalid" + // ErrorTypeNotSupported is used to report unknown values for enumerated + // fields (e.g. a list of valid values). See NotSupported(). + ErrorTypeNotSupported ErrorType = "FieldValueNotSupported" + // ErrorTypeForbidden is used to report valid (as per formatting rules) + // values which would be accepted under some conditions, but which are not + // permitted by the current conditions (such as security policy). See + // Forbidden(). + ErrorTypeForbidden ErrorType = "FieldValueForbidden" + // ErrorTypeTooLong is used to report that the given value is too long. + // This is similar to ErrorTypeInvalid, but the error will not include the + // too-long value. See TooLong(). + ErrorTypeTooLong ErrorType = "FieldValueTooLong" + // ErrorTypeInternal is used to report other errors that are not related + // to user input. See InternalError(). + ErrorTypeInternal ErrorType = "InternalError" +) + +// String converts a ErrorType into its corresponding canonical error message. +func (t ErrorType) String() string { + switch t { + case ErrorTypeNotFound: + return "Not found" + case ErrorTypeRequired: + return "Required value" + case ErrorTypeDuplicate: + return "Duplicate value" + case ErrorTypeInvalid: + return "Invalid value" + case ErrorTypeNotSupported: + return "Unsupported value" + case ErrorTypeForbidden: + return "Forbidden" + case ErrorTypeTooLong: + return "Too long" + case ErrorTypeInternal: + return "Internal error" + default: + panic(fmt.Sprintf("unrecognized validation error: %q", string(t))) + } +} + +// NotFound returns a *Error indicating "value not found". This is +// used to report failure to find a requested value (e.g. looking up an ID). +func NotFound(field *Path, value interface{}) *Error { + return &Error{ErrorTypeNotFound, field.String(), value, ""} +} + +// Required returns a *Error indicating "value required". This is used +// to report required values that are not provided (e.g. empty strings, null +// values, or empty arrays). +func Required(field *Path, detail string) *Error { + return &Error{ErrorTypeRequired, field.String(), "", detail} +} + +// Duplicate returns a *Error indicating "duplicate value". This is +// used to report collisions of values that must be unique (e.g. names or IDs). +func Duplicate(field *Path, value interface{}) *Error { + return &Error{ErrorTypeDuplicate, field.String(), value, ""} +} + +// Invalid returns a *Error indicating "invalid value". This is used +// to report malformed values (e.g. failed regex match, too long, out of bounds). +func Invalid(field *Path, value interface{}, detail string) *Error { + return &Error{ErrorTypeInvalid, field.String(), value, detail} +} + +// NotSupported returns a *Error indicating "unsupported value". +// This is used to report unknown values for enumerated fields (e.g. a list of +// valid values). +func NotSupported(field *Path, value interface{}, validValues []string) *Error { + detail := "" + if validValues != nil && len(validValues) > 0 { + detail = "supported values: " + strings.Join(validValues, ", ") + } + return &Error{ErrorTypeNotSupported, field.String(), value, detail} +} + +// Forbidden returns a *Error indicating "forbidden". This is used to +// report valid (as per formatting rules) values which would be accepted under +// some conditions, but which are not permitted by current conditions (e.g. +// security policy). +func Forbidden(field *Path, detail string) *Error { + return &Error{ErrorTypeForbidden, field.String(), "", detail} +} + +// TooLong returns a *Error indicating "too long". This is used to +// report that the given value is too long. This is similar to +// Invalid, but the returned error will not include the too-long +// value. +func TooLong(field *Path, value interface{}, maxLength int) *Error { + return &Error{ErrorTypeTooLong, field.String(), value, fmt.Sprintf("must have at most %d characters", maxLength)} +} + +// InternalError returns a *Error indicating "internal error". This is used +// to signal that an error was found that was not directly related to user +// input. The err argument must be non-nil. +func InternalError(field *Path, err error) *Error { + return &Error{ErrorTypeInternal, field.String(), nil, err.Error()} +} + +// ErrorList holds a set of Errors. It is plausible that we might one day have +// non-field errors in this same umbrella package, but for now we don't, so +// we can keep it simple and leave ErrorList here. +type ErrorList []*Error + +// NewErrorTypeMatcher returns an errors.Matcher that returns true +// if the provided error is a Error and has the provided ErrorType. +func NewErrorTypeMatcher(t ErrorType) utilerrors.Matcher { + return func(err error) bool { + if e, ok := err.(*Error); ok { + return e.Type == t + } + return false + } +} + +// ToAggregate converts the ErrorList into an errors.Aggregate. +func (list ErrorList) ToAggregate() utilerrors.Aggregate { + errs := make([]error, 0, len(list)) + errorMsgs := sets.NewString() + for _, err := range list { + msg := fmt.Sprintf("%v", err) + if errorMsgs.Has(msg) { + continue + } + errorMsgs.Insert(msg) + errs = append(errs, err) + } + return utilerrors.NewAggregate(errs) +} + +func fromAggregate(agg utilerrors.Aggregate) ErrorList { + errs := agg.Errors() + list := make(ErrorList, len(errs)) + for i := range errs { + list[i] = errs[i].(*Error) + } + return list +} + +// Filter removes items from the ErrorList that match the provided fns. +func (list ErrorList) Filter(fns ...utilerrors.Matcher) ErrorList { + err := utilerrors.FilterOut(list.ToAggregate(), fns...) + if err == nil { + return nil + } + // FilterOut takes an Aggregate and returns an Aggregate + return fromAggregate(err.(utilerrors.Aggregate)) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go new file mode 100644 index 00000000000..023939c8f66 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/errors_test.go @@ -0,0 +1,158 @@ +/* +Copyright 2014 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 field + +import ( + "fmt" + "strings" + "testing" +) + +func TestMakeFuncs(t *testing.T) { + testCases := []struct { + fn func() *Error + expected ErrorType + }{ + { + func() *Error { return Invalid(NewPath("f"), "v", "d") }, + ErrorTypeInvalid, + }, + { + func() *Error { return NotSupported(NewPath("f"), "v", nil) }, + ErrorTypeNotSupported, + }, + { + func() *Error { return Duplicate(NewPath("f"), "v") }, + ErrorTypeDuplicate, + }, + { + func() *Error { return NotFound(NewPath("f"), "v") }, + ErrorTypeNotFound, + }, + { + func() *Error { return Required(NewPath("f"), "d") }, + ErrorTypeRequired, + }, + { + func() *Error { return InternalError(NewPath("f"), fmt.Errorf("e")) }, + ErrorTypeInternal, + }, + } + + for _, testCase := range testCases { + err := testCase.fn() + if err.Type != testCase.expected { + t.Errorf("expected Type %q, got %q", testCase.expected, err.Type) + } + } +} + +func TestErrorUsefulMessage(t *testing.T) { + s := Invalid(NewPath("foo"), "bar", "deet").Error() + t.Logf("message: %v", s) + for _, part := range []string{"foo", "bar", "deet", ErrorTypeInvalid.String()} { + if !strings.Contains(s, part) { + t.Errorf("error message did not contain expected part '%v'", part) + } + } + + type complicated struct { + Baz int + Qux string + Inner interface{} + KV map[string]int + } + s = Invalid( + NewPath("foo"), + &complicated{ + Baz: 1, + Qux: "aoeu", + Inner: &complicated{Qux: "asdf"}, + KV: map[string]int{"Billy": 2}, + }, + "detail", + ).Error() + t.Logf("message: %v", s) + for _, part := range []string{ + "foo", ErrorTypeInvalid.String(), + "Baz", "Qux", "Inner", "KV", "detail", + "1", "aoeu", "asdf", "Billy", "2", + } { + if !strings.Contains(s, part) { + t.Errorf("error message did not contain expected part '%v'", part) + } + } +} + +func TestToAggregate(t *testing.T) { + testCases := struct { + ErrList []ErrorList + NumExpectedErrs []int + }{ + []ErrorList{ + nil, + {}, + {Invalid(NewPath("f"), "v", "d")}, + {Invalid(NewPath("f"), "v", "d"), Invalid(NewPath("f"), "v", "d")}, + {Invalid(NewPath("f"), "v", "d"), InternalError(NewPath(""), fmt.Errorf("e"))}, + }, + []int{ + 0, + 0, + 1, + 1, + 2, + }, + } + + if len(testCases.ErrList) != len(testCases.NumExpectedErrs) { + t.Errorf("Mismatch: length of NumExpectedErrs does not match length of ErrList") + } + for i, tc := range testCases.ErrList { + agg := tc.ToAggregate() + numErrs := 0 + + if agg != nil { + numErrs = len(agg.Errors()) + } + if numErrs != testCases.NumExpectedErrs[i] { + t.Errorf("[%d] Expected %d, got %d", i, testCases.NumExpectedErrs[i], numErrs) + } + + if len(tc) == 0 { + if agg != nil { + t.Errorf("[%d] Expected nil, got %#v", i, agg) + } + } else if agg == nil { + t.Errorf("[%d] Expected non-nil", i) + } + } +} + +func TestErrListFilter(t *testing.T) { + list := ErrorList{ + Invalid(NewPath("test.field"), "", ""), + Invalid(NewPath("field.test"), "", ""), + Duplicate(NewPath("test"), "value"), + } + if len(list.Filter(NewErrorTypeMatcher(ErrorTypeDuplicate))) != 2 { + t.Errorf("should not filter") + } + if len(list.Filter(NewErrorTypeMatcher(ErrorTypeInvalid))) != 1 { + t.Errorf("should filter") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/field/path.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/path.go new file mode 100644 index 00000000000..2efc8eec76d --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/path.go @@ -0,0 +1,91 @@ +/* +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 field + +import ( + "bytes" + "fmt" + "strconv" +) + +// Path represents the path from some root to a particular field. +type Path struct { + name string // the name of this field or "" if this is an index + index string // if name == "", this is a subscript (index or map key) of the previous element + parent *Path // nil if this is the root element +} + +// NewPath creates a root Path object. +func NewPath(name string, moreNames ...string) *Path { + r := &Path{name: name, parent: nil} + for _, anotherName := range moreNames { + r = &Path{name: anotherName, parent: r} + } + return r +} + +// Root returns the root element of this Path. +func (p *Path) Root() *Path { + for ; p.parent != nil; p = p.parent { + // Do nothing. + } + return p +} + +// Child creates a new Path that is a child of the method receiver. +func (p *Path) Child(name string, moreNames ...string) *Path { + r := NewPath(name, moreNames...) + r.Root().parent = p + return r +} + +// Index indicates that the previous Path is to be subscripted by an int. +// This sets the same underlying value as Key. +func (p *Path) Index(index int) *Path { + return &Path{index: strconv.Itoa(index), parent: p} +} + +// Key indicates that the previous Path is to be subscripted by a string. +// This sets the same underlying value as Index. +func (p *Path) Key(key string) *Path { + return &Path{index: key, parent: p} +} + +// String produces a string representation of the Path. +func (p *Path) String() string { + // make a slice to iterate + elems := []*Path{} + for ; p != nil; p = p.parent { + elems = append(elems, p) + } + + // iterate, but it has to be backwards + buf := bytes.NewBuffer(nil) + for i := range elems { + p := elems[len(elems)-1-i] + if p.parent != nil && len(p.name) > 0 { + // This is either the root or it is a subscript. + buf.WriteString(".") + } + if len(p.name) > 0 { + buf.WriteString(p.name) + } else { + fmt.Fprintf(buf, "[%s]", p.index) + } + } + return buf.String() +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/field/path_test.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/path_test.go new file mode 100644 index 00000000000..d2f568c36f6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/field/path_test.go @@ -0,0 +1,123 @@ +/* +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 field + +import "testing" + +func TestPath(t *testing.T) { + testCases := []struct { + op func(*Path) *Path + expected string + }{ + { + func(p *Path) *Path { return p }, + "root", + }, + { + func(p *Path) *Path { return p.Child("first") }, + "root.first", + }, + { + func(p *Path) *Path { return p.Child("second") }, + "root.first.second", + }, + { + func(p *Path) *Path { return p.Index(0) }, + "root.first.second[0]", + }, + { + func(p *Path) *Path { return p.Child("third") }, + "root.first.second[0].third", + }, + { + func(p *Path) *Path { return p.Index(93) }, + "root.first.second[0].third[93]", + }, + { + func(p *Path) *Path { return p.parent }, + "root.first.second[0].third", + }, + { + func(p *Path) *Path { return p.parent }, + "root.first.second[0]", + }, + { + func(p *Path) *Path { return p.Key("key") }, + "root.first.second[0][key]", + }, + } + + root := NewPath("root") + p := root + for i, tc := range testCases { + p = tc.op(p) + if p.String() != tc.expected { + t.Errorf("[%d] Expected %q, got %q", i, tc.expected, p.String()) + } + if p.Root() != root { + t.Errorf("[%d] Wrong root: %#v", i, p.Root()) + } + } +} + +func TestPathMultiArg(t *testing.T) { + testCases := []struct { + op func(*Path) *Path + expected string + }{ + { + func(p *Path) *Path { return p }, + "root.first", + }, + { + func(p *Path) *Path { return p.Child("second", "third") }, + "root.first.second.third", + }, + { + func(p *Path) *Path { return p.Index(0) }, + "root.first.second.third[0]", + }, + { + func(p *Path) *Path { return p.parent }, + "root.first.second.third", + }, + { + func(p *Path) *Path { return p.parent }, + "root.first.second", + }, + { + func(p *Path) *Path { return p.parent }, + "root.first", + }, + { + func(p *Path) *Path { return p.parent }, + "root", + }, + } + + root := NewPath("root", "first") + p := root + for i, tc := range testCases { + p = tc.op(p) + if p.String() != tc.expected { + t.Errorf("[%d] Expected %q, got %q", i, tc.expected, p.String()) + } + if p.Root() != root.Root() { + t.Errorf("[%d] Wrong root: %#v", i, p.Root()) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go new file mode 100644 index 00000000000..f49ac15783e --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go @@ -0,0 +1,343 @@ +/* +Copyright 2014 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 validation + +import ( + "fmt" + "math" + "net" + "regexp" + "strings" +) + +const qnameCharFmt string = "[A-Za-z0-9]" +const qnameExtCharFmt string = "[-A-Za-z0-9_.]" +const qualifiedNameFmt string = "(" + qnameCharFmt + qnameExtCharFmt + "*)?" + qnameCharFmt +const qualifiedNameErrMsg string = "must consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character" +const qualifiedNameMaxLength int = 63 + +var qualifiedNameRegexp = regexp.MustCompile("^" + qualifiedNameFmt + "$") + +// IsQualifiedName tests whether the value passed is what Kubernetes calls a +// "qualified name". This is a format used in various places throughout the +// system. If the value is not valid, a list of error strings is returned. +// Otherwise an empty list (or nil) is returned. +func IsQualifiedName(value string) []string { + var errs []string + parts := strings.Split(value, "/") + var name string + switch len(parts) { + case 1: + name = parts[0] + case 2: + var prefix string + prefix, name = parts[0], parts[1] + if len(prefix) == 0 { + errs = append(errs, "prefix part "+EmptyError()) + } else if msgs := IsDNS1123Subdomain(prefix); len(msgs) != 0 { + errs = append(errs, prefixEach(msgs, "prefix part ")...) + } + default: + return append(errs, "a qualified name "+RegexError(qualifiedNameErrMsg, qualifiedNameFmt, "MyName", "my.name", "123-abc")+ + " with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')") + } + + if len(name) == 0 { + errs = append(errs, "name part "+EmptyError()) + } else if len(name) > qualifiedNameMaxLength { + errs = append(errs, "name part "+MaxLenError(qualifiedNameMaxLength)) + } + if !qualifiedNameRegexp.MatchString(name) { + errs = append(errs, "name part "+RegexError(qualifiedNameErrMsg, qualifiedNameFmt, "MyName", "my.name", "123-abc")) + } + return errs +} + +const labelValueFmt string = "(" + qualifiedNameFmt + ")?" +const labelValueErrMsg string = "a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character" +const LabelValueMaxLength int = 63 + +var labelValueRegexp = regexp.MustCompile("^" + labelValueFmt + "$") + +// IsValidLabelValue tests whether the value passed is a valid label value. If +// the value is not valid, a list of error strings is returned. Otherwise an +// empty list (or nil) is returned. +func IsValidLabelValue(value string) []string { + var errs []string + if len(value) > LabelValueMaxLength { + errs = append(errs, MaxLenError(LabelValueMaxLength)) + } + if !labelValueRegexp.MatchString(value) { + errs = append(errs, RegexError(labelValueErrMsg, labelValueFmt, "MyValue", "my_value", "12345")) + } + return errs +} + +const dns1123LabelFmt string = "[a-z0-9]([-a-z0-9]*[a-z0-9])?" +const dns1123LabelErrMsg string = "a valid DNS (RFC 1123) label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character" +const DNS1123LabelMaxLength int = 63 + +var dns1123LabelRegexp = regexp.MustCompile("^" + dns1123LabelFmt + "$") + +// IsDNS1123Label tests for a string that conforms to the definition of a label in +// DNS (RFC 1123). +func IsDNS1123Label(value string) []string { + var errs []string + if len(value) > DNS1123LabelMaxLength { + errs = append(errs, MaxLenError(DNS1123LabelMaxLength)) + } + if !dns1123LabelRegexp.MatchString(value) { + errs = append(errs, RegexError(dns1123LabelErrMsg, dns1123LabelFmt, "my-name", "123-abc")) + } + return errs +} + +const dns1123SubdomainFmt string = dns1123LabelFmt + "(\\." + dns1123LabelFmt + ")*" +const dns1123SubdomainErrorMsg string = "a valid DNS (RFC 1123) subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character" +const DNS1123SubdomainMaxLength int = 253 + +var dns1123SubdomainRegexp = regexp.MustCompile("^" + dns1123SubdomainFmt + "$") + +// IsDNS1123Subdomain tests for a string that conforms to the definition of a +// subdomain in DNS (RFC 1123). +func IsDNS1123Subdomain(value string) []string { + var errs []string + if len(value) > DNS1123SubdomainMaxLength { + errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength)) + } + if !dns1123SubdomainRegexp.MatchString(value) { + errs = append(errs, RegexError(dns1123SubdomainErrorMsg, dns1123SubdomainFmt, "example.com")) + } + return errs +} + +const dns1035LabelFmt string = "[a-z]([-a-z0-9]*[a-z0-9])?" +const dns1035LabelErrMsg string = "a valid DNS (RFC 1035) label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character" +const DNS1035LabelMaxLength int = 63 + +var dns1035LabelRegexp = regexp.MustCompile("^" + dns1035LabelFmt + "$") + +// IsDNS1035Label tests for a string that conforms to the definition of a label in +// DNS (RFC 1035). +func IsDNS1035Label(value string) []string { + var errs []string + if len(value) > DNS1035LabelMaxLength { + errs = append(errs, MaxLenError(DNS1035LabelMaxLength)) + } + if !dns1035LabelRegexp.MatchString(value) { + errs = append(errs, RegexError(dns1035LabelErrMsg, dns1035LabelFmt, "my-name", "abc-123")) + } + return errs +} + +// wildcard definition - RFC 1034 section 4.3.3. +// examples: +// - valid: *.bar.com, *.foo.bar.com +// - invalid: *.*.bar.com, *.foo.*.com, *bar.com, f*.bar.com, * +const wildcardDNS1123SubdomainFmt = "\\*\\." + dns1123SubdomainFmt +const wildcardDNS1123SubdomainErrMsg = "a valid wildcard DNS (RFC 1123) subdomain must start with '*.', followed by a valid DNS subdomain, which must consist of lower case alphanumeric characters, '-' or '.' and end with an alphanumeric character" + +// IsWildcardDNS1123Subdomain tests for a string that conforms to the definition of a +// wildcard subdomain in DNS (RFC 1034 section 4.3.3). +func IsWildcardDNS1123Subdomain(value string) []string { + wildcardDNS1123SubdomainRegexp := regexp.MustCompile("^" + wildcardDNS1123SubdomainFmt + "$") + + var errs []string + if len(value) > DNS1123SubdomainMaxLength { + errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength)) + } + if !wildcardDNS1123SubdomainRegexp.MatchString(value) { + errs = append(errs, RegexError(wildcardDNS1123SubdomainErrMsg, wildcardDNS1123SubdomainFmt, "*.example.com")) + } + return errs +} + +const cIdentifierFmt string = "[A-Za-z_][A-Za-z0-9_]*" +const identifierErrMsg string = "a valid C identifier must start with alphabetic character or '_', followed by a string of alphanumeric characters or '_'" + +var cIdentifierRegexp = regexp.MustCompile("^" + cIdentifierFmt + "$") + +// IsCIdentifier tests for a string that conforms the definition of an identifier +// in C. This checks the format, but not the length. +func IsCIdentifier(value string) []string { + if !cIdentifierRegexp.MatchString(value) { + return []string{RegexError(identifierErrMsg, cIdentifierFmt, "my_name", "MY_NAME", "MyName")} + } + return nil +} + +// IsValidPortNum tests that the argument is a valid, non-zero port number. +func IsValidPortNum(port int) []string { + if 1 <= port && port <= 65535 { + return nil + } + return []string{InclusiveRangeError(1, 65535)} +} + +// Now in libcontainer UID/GID limits is 0 ~ 1<<31 - 1 +// TODO: once we have a type for UID/GID we should make these that type. +const ( + minUserID = 0 + maxUserID = math.MaxInt32 + minGroupID = 0 + maxGroupID = math.MaxInt32 +) + +// IsValidGroupId tests that the argument is a valid Unix GID. +func IsValidGroupId(gid int64) []string { + if minGroupID <= gid && gid <= maxGroupID { + return nil + } + return []string{InclusiveRangeError(minGroupID, maxGroupID)} +} + +// IsValidUserId tests that the argument is a valid Unix UID. +func IsValidUserId(uid int64) []string { + if minUserID <= uid && uid <= maxUserID { + return nil + } + return []string{InclusiveRangeError(minUserID, maxUserID)} +} + +var portNameCharsetRegex = regexp.MustCompile("^[-a-z0-9]+$") +var portNameOneLetterRegexp = regexp.MustCompile("[a-z]") + +// IsValidPortName check that the argument is valid syntax. It must be +// non-empty and no more than 15 characters long. It may contain only [-a-z0-9] +// and must contain at least one letter [a-z]. It must not start or end with a +// hyphen, nor contain adjacent hyphens. +// +// Note: We only allow lower-case characters, even though RFC 6335 is case +// insensitive. +func IsValidPortName(port string) []string { + var errs []string + if len(port) > 15 { + errs = append(errs, MaxLenError(15)) + } + if !portNameCharsetRegex.MatchString(port) { + errs = append(errs, "must contain only alpha-numeric characters (a-z, 0-9), and hyphens (-)") + } + if !portNameOneLetterRegexp.MatchString(port) { + errs = append(errs, "must contain at least one letter or number (a-z, 0-9)") + } + if strings.Contains(port, "--") { + errs = append(errs, "must not contain consecutive hyphens") + } + if len(port) > 0 && (port[0] == '-' || port[len(port)-1] == '-') { + errs = append(errs, "must not begin or end with a hyphen") + } + return errs +} + +// IsValidIP tests that the argument is a valid IP address. +func IsValidIP(value string) []string { + if net.ParseIP(value) == nil { + return []string{"must be a valid IP address, (e.g. 10.9.8.7)"} + } + return nil +} + +const percentFmt string = "[0-9]+%" +const percentErrMsg string = "a valid percent string must be a numeric string followed by an ending '%'" + +var percentRegexp = regexp.MustCompile("^" + percentFmt + "$") + +func IsValidPercent(percent string) []string { + if !percentRegexp.MatchString(percent) { + return []string{RegexError(percentErrMsg, percentFmt, "1%", "93%")} + } + return nil +} + +const httpHeaderNameFmt string = "[-A-Za-z0-9]+" +const httpHeaderNameErrMsg string = "a valid HTTP header must consist of alphanumeric characters or '-'" + +var httpHeaderNameRegexp = regexp.MustCompile("^" + httpHeaderNameFmt + "$") + +// IsHTTPHeaderName checks that a string conforms to the Go HTTP library's +// definition of a valid header field name (a stricter subset than RFC7230). +func IsHTTPHeaderName(value string) []string { + if !httpHeaderNameRegexp.MatchString(value) { + return []string{RegexError(httpHeaderNameErrMsg, httpHeaderNameFmt, "X-Header-Name")} + } + return nil +} + +const configMapKeyFmt = `[-._a-zA-Z0-9]+` +const configMapKeyErrMsg string = "a valid config key must consist of alphanumeric characters, '-', '_' or '.'" + +var configMapKeyRegexp = regexp.MustCompile("^" + configMapKeyFmt + "$") + +// IsConfigMapKey tests for a string that is a valid key for a ConfigMap or Secret +func IsConfigMapKey(value string) []string { + var errs []string + if len(value) > DNS1123SubdomainMaxLength { + errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength)) + } + if !configMapKeyRegexp.MatchString(value) { + errs = append(errs, RegexError(configMapKeyErrMsg, configMapKeyFmt, "key.name", "KEY_NAME", "key-name")) + } + if value == "." { + errs = append(errs, `must not be '.'`) + } else if value == ".." { + errs = append(errs, `must not be '..'`) + } else if strings.HasPrefix(value, "..") { + errs = append(errs, `must not start with '..'`) + } + return errs +} + +// MaxLenError returns a string explanation of a "string too long" validation +// failure. +func MaxLenError(length int) string { + return fmt.Sprintf("must be no more than %d characters", length) +} + +// RegexError returns a string explanation of a regex validation failure. +func RegexError(msg string, fmt string, examples ...string) string { + if len(examples) == 0 { + return msg + " (regex used for validation is '" + fmt + "')" + } + msg += " (e.g. " + for i := range examples { + if i > 0 { + msg += " or " + } + msg += "'" + examples[i] + "', " + } + msg += "regex used for validation is '" + fmt + "')" + return msg +} + +// EmptyError returns a string explanation of a "must not be empty" validation +// failure. +func EmptyError() string { + return "must be non-empty" +} + +func prefixEach(msgs []string, prefix string) []string { + for i := range msgs { + msgs[i] = prefix + msgs[i] + } + return msgs +} + +// InclusiveRangeError returns a string explanation of a numeric "must be +// between" validation failure. +func InclusiveRangeError(lo, hi int) string { + return fmt.Sprintf(`must be between %d and %d, inclusive`, lo, hi) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go new file mode 100644 index 00000000000..7dfa73e532b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation_test.go @@ -0,0 +1,436 @@ +/* +Copyright 2014 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 validation + +import ( + "strings" + "testing" +) + +func TestIsDNS1123Label(t *testing.T) { + goodValues := []string{ + "a", "ab", "abc", "a1", "a-1", "a--1--2--b", + "0", "01", "012", "1a", "1-a", "1--a--b--2", + strings.Repeat("a", 63), + } + for _, val := range goodValues { + if msgs := IsDNS1123Label(val); len(msgs) != 0 { + t.Errorf("expected true for '%s': %v", val, msgs) + } + } + + badValues := []string{ + "", "A", "ABC", "aBc", "A1", "A-1", "1-A", + "-", "a-", "-a", "1-", "-1", + "_", "a_", "_a", "a_b", "1_", "_1", "1_2", + ".", "a.", ".a", "a.b", "1.", ".1", "1.2", + " ", "a ", " a", "a b", "1 ", " 1", "1 2", + strings.Repeat("a", 64), + } + for _, val := range badValues { + if msgs := IsDNS1123Label(val); len(msgs) == 0 { + t.Errorf("expected false for '%s'", val) + } + } +} + +func TestIsDNS1123Subdomain(t *testing.T) { + goodValues := []string{ + "a", "ab", "abc", "a1", "a-1", "a--1--2--b", + "0", "01", "012", "1a", "1-a", "1--a--b--2", + "a.a", "ab.a", "abc.a", "a1.a", "a-1.a", "a--1--2--b.a", + "a.1", "ab.1", "abc.1", "a1.1", "a-1.1", "a--1--2--b.1", + "0.a", "01.a", "012.a", "1a.a", "1-a.a", "1--a--b--2", + "0.1", "01.1", "012.1", "1a.1", "1-a.1", "1--a--b--2.1", + "a.b.c.d.e", "aa.bb.cc.dd.ee", "1.2.3.4.5", "11.22.33.44.55", + strings.Repeat("a", 253), + } + for _, val := range goodValues { + if msgs := IsDNS1123Subdomain(val); len(msgs) != 0 { + t.Errorf("expected true for '%s': %v", val, msgs) + } + } + + badValues := []string{ + "", "A", "ABC", "aBc", "A1", "A-1", "1-A", + "-", "a-", "-a", "1-", "-1", + "_", "a_", "_a", "a_b", "1_", "_1", "1_2", + ".", "a.", ".a", "a..b", "1.", ".1", "1..2", + " ", "a ", " a", "a b", "1 ", " 1", "1 2", + "A.a", "aB.a", "ab.A", "A1.a", "a1.A", + "A.1", "aB.1", "A1.1", "1A.1", + "0.A", "01.A", "012.A", "1A.a", "1a.A", + "A.B.C.D.E", "AA.BB.CC.DD.EE", "a.B.c.d.e", "aa.bB.cc.dd.ee", + "a@b", "a,b", "a_b", "a;b", + "a:b", "a%b", "a?b", "a$b", + strings.Repeat("a", 254), + } + for _, val := range badValues { + if msgs := IsDNS1123Subdomain(val); len(msgs) == 0 { + t.Errorf("expected false for '%s'", val) + } + } +} + +func TestIsDNS1035Label(t *testing.T) { + goodValues := []string{ + "a", "ab", "abc", "a1", "a-1", "a--1--2--b", + strings.Repeat("a", 63), + } + for _, val := range goodValues { + if msgs := IsDNS1035Label(val); len(msgs) != 0 { + t.Errorf("expected true for '%s': %v", val, msgs) + } + } + + badValues := []string{ + "0", "01", "012", "1a", "1-a", "1--a--b--2", + "", "A", "ABC", "aBc", "A1", "A-1", "1-A", + "-", "a-", "-a", "1-", "-1", + "_", "a_", "_a", "a_b", "1_", "_1", "1_2", + ".", "a.", ".a", "a.b", "1.", ".1", "1.2", + " ", "a ", " a", "a b", "1 ", " 1", "1 2", + strings.Repeat("a", 64), + } + for _, val := range badValues { + if msgs := IsDNS1035Label(val); len(msgs) == 0 { + t.Errorf("expected false for '%s'", val) + } + } +} + +func TestIsCIdentifier(t *testing.T) { + goodValues := []string{ + "a", "ab", "abc", "a1", "_a", "a_", "a_b", "a_1", "a__1__2__b", "__abc_123", + "A", "AB", "AbC", "A1", "_A", "A_", "A_B", "A_1", "A__1__2__B", "__123_ABC", + } + for _, val := range goodValues { + if msgs := IsCIdentifier(val); len(msgs) != 0 { + t.Errorf("expected true for '%s': %v", val, msgs) + } + } + + badValues := []string{ + "", "1", "123", "1a", + "-", "a-", "-a", "1-", "-1", "1_", "1_2", + ".", "a.", ".a", "a.b", "1.", ".1", "1.2", + " ", "a ", " a", "a b", "1 ", " 1", "1 2", + "#a#", + } + for _, val := range badValues { + if msgs := IsCIdentifier(val); len(msgs) == 0 { + t.Errorf("expected false for '%s'", val) + } + } +} + +func TestIsValidPortNum(t *testing.T) { + goodValues := []int{1, 2, 1000, 16384, 32768, 65535} + for _, val := range goodValues { + if msgs := IsValidPortNum(val); len(msgs) != 0 { + t.Errorf("expected true for %d, got %v", val, msgs) + } + } + + badValues := []int{0, -1, 65536, 100000} + for _, val := range badValues { + if msgs := IsValidPortNum(val); len(msgs) == 0 { + t.Errorf("expected false for %d", val) + } + } +} + +func TestIsValidGroupId(t *testing.T) { + goodValues := []int64{0, 1, 1000, 65535, 2147483647} + for _, val := range goodValues { + if msgs := IsValidGroupId(val); len(msgs) != 0 { + t.Errorf("expected true for '%d': %v", val, msgs) + } + } + + badValues := []int64{-1, -1003, 2147483648, 4147483647} + for _, val := range badValues { + if msgs := IsValidGroupId(val); len(msgs) == 0 { + t.Errorf("expected false for '%d'", val) + } + } +} + +func TestIsValidUserId(t *testing.T) { + goodValues := []int64{0, 1, 1000, 65535, 2147483647} + for _, val := range goodValues { + if msgs := IsValidUserId(val); len(msgs) != 0 { + t.Errorf("expected true for '%d': %v", val, msgs) + } + } + + badValues := []int64{-1, -1003, 2147483648, 4147483647} + for _, val := range badValues { + if msgs := IsValidUserId(val); len(msgs) == 0 { + t.Errorf("expected false for '%d'", val) + } + } +} + +func TestIsValidPortName(t *testing.T) { + goodValues := []string{"telnet", "re-mail-ck", "pop3", "a", "a-1", "1-a", "a-1-b-2-c", "1-a-2-b-3"} + for _, val := range goodValues { + if msgs := IsValidPortName(val); len(msgs) != 0 { + t.Errorf("expected true for %q: %v", val, msgs) + } + } + + badValues := []string{"longerthan15characters", "", strings.Repeat("a", 16), "12345", "1-2-3-4", "-begin", "end-", "two--hyphens", "whois++"} + for _, val := range badValues { + if msgs := IsValidPortName(val); len(msgs) == 0 { + t.Errorf("expected false for %q", val) + } + } +} + +func TestIsQualifiedName(t *testing.T) { + successCases := []string{ + "simple", + "now-with-dashes", + "1-starts-with-num", + "1234", + "simple/simple", + "now-with-dashes/simple", + "now-with-dashes/now-with-dashes", + "now.with.dots/simple", + "now-with.dashes-and.dots/simple", + "1-num.2-num/3-num", + "1234/5678", + "1.2.3.4/5678", + "Uppercase_Is_OK_123", + "example.com/Uppercase_Is_OK_123", + "requests.storage-foo", + strings.Repeat("a", 63), + strings.Repeat("a", 253) + "/" + strings.Repeat("b", 63), + } + for i := range successCases { + if errs := IsQualifiedName(successCases[i]); len(errs) != 0 { + t.Errorf("case[%d]: %q: expected success: %v", i, successCases[i], errs) + } + } + + errorCases := []string{ + "nospecialchars%^=@", + "cantendwithadash-", + "-cantstartwithadash-", + "only/one/slash", + "Example.com/abc", + "example_com/abc", + "example.com/", + "/simple", + strings.Repeat("a", 64), + strings.Repeat("a", 254) + "/abc", + } + for i := range errorCases { + if errs := IsQualifiedName(errorCases[i]); len(errs) == 0 { + t.Errorf("case[%d]: %q: expected failure", i, errorCases[i]) + } + } +} + +func TestIsValidLabelValue(t *testing.T) { + successCases := []string{ + "simple", + "now-with-dashes", + "1-starts-with-num", + "end-with-num-1", + "1234", // only num + strings.Repeat("a", 63), // to the limit + "", // empty value + } + for i := range successCases { + if errs := IsValidLabelValue(successCases[i]); len(errs) != 0 { + t.Errorf("case %s expected success: %v", successCases[i], errs) + } + } + + errorCases := []string{ + "nospecialchars%^=@", + "Tama-nui-te-rā.is.Māori.sun", + "\\backslashes\\are\\bad", + "-starts-with-dash", + "ends-with-dash-", + ".starts.with.dot", + "ends.with.dot.", + strings.Repeat("a", 64), // over the limit + } + for i := range errorCases { + if errs := IsValidLabelValue(errorCases[i]); len(errs) == 0 { + t.Errorf("case[%d] expected failure", i) + } + } +} + +func TestIsValidIP(t *testing.T) { + goodValues := []string{ + "::1", + "2a00:79e0:2:0:f1c3:e797:93c1:df80", + "::", + "2001:4860:4860::8888", + "::fff:1.1.1.1", + "1.1.1.1", + "1.1.1.01", + "255.0.0.1", + "1.0.0.0", + "0.0.0.0", + } + for _, val := range goodValues { + if msgs := IsValidIP(val); len(msgs) != 0 { + t.Errorf("expected true for %q: %v", val, msgs) + } + } + + badValues := []string{ + "[2001:db8:0:1]:80", + "myhost.mydomain", + "-1.0.0.0", + "[2001:db8:0:1]", + "a", + } + for _, val := range badValues { + if msgs := IsValidIP(val); len(msgs) == 0 { + t.Errorf("expected false for %q", val) + } + } +} + +func TestIsHTTPHeaderName(t *testing.T) { + goodValues := []string{ + // Common ones + "Accept-Encoding", "Host", "If-Modified-Since", "X-Forwarded-For", + // Weirdo, but still conforming names + "a", "ab", "abc", "a1", "-a", "a-", "a-b", "a-1", "a--1--2--b", "--abc-123", + "A", "AB", "AbC", "A1", "-A", "A-", "A-B", "A-1", "A--1--2--B", "--123-ABC", + } + for _, val := range goodValues { + if msgs := IsHTTPHeaderName(val); len(msgs) != 0 { + t.Errorf("expected true for '%s': %v", val, msgs) + } + } + + badValues := []string{ + "Host:", "X-Forwarded-For:", "X-@Home", + "", "_", "a_", "_a", "1_", "1_2", ".", "a.", ".a", "a.b", "1.", ".1", "1.2", + " ", "a ", " a", "a b", "1 ", " 1", "1 2", "#a#", "^", ",", ";", "=", "<", + "?", "@", "{", + } + for _, val := range badValues { + if msgs := IsHTTPHeaderName(val); len(msgs) == 0 { + t.Errorf("expected false for '%s'", val) + } + } +} + +func TestIsValidPercent(t *testing.T) { + goodValues := []string{ + "0%", + "00000%", + "1%", + "01%", + "99%", + "100%", + "101%", + } + for _, val := range goodValues { + if msgs := IsValidPercent(val); len(msgs) != 0 { + t.Errorf("expected true for %q: %v", val, msgs) + } + } + + badValues := []string{ + "", + "0", + "100", + "0.0%", + "99.9%", + "hundred", + " 1%", + "1% ", + "-0%", + "-1%", + "+1%", + } + for _, val := range badValues { + if msgs := IsValidPercent(val); len(msgs) == 0 { + t.Errorf("expected false for %q", val) + } + } +} + +func TestIsConfigMapKey(t *testing.T) { + successCases := []string{ + "a", + "good", + "good-good", + "still.good", + "this.is.also.good", + ".so.is.this", + "THIS_IS_GOOD", + "so_is_this_17", + } + + for i := range successCases { + if errs := IsConfigMapKey(successCases[i]); len(errs) != 0 { + t.Errorf("[%d] expected success: %v", i, errs) + } + } + + failureCases := []string{ + ".", + "..", + "..bad", + "b*d", + "bad!&bad", + } + + for i := range failureCases { + if errs := IsConfigMapKey(failureCases[i]); len(errs) == 0 { + t.Errorf("[%d] expected failure", i) + } + } +} + +func TestIsWildcardDNS1123Subdomain(t *testing.T) { + goodValues := []string{ + "*.example.com", + "*.bar.com", + "*.foo.bar.com", + } + for _, val := range goodValues { + if errs := IsWildcardDNS1123Subdomain(val); len(errs) != 0 { + t.Errorf("expected no errors for %q: %v", val, errs) + } + } + + badValues := []string{ + "*.*.bar.com", + "*.foo.*.com", + "*bar.com", + "f*.bar.com", + "*", + } + for _, val := range badValues { + if errs := IsWildcardDNS1123Subdomain(val); len(errs) == 0 { + t.Errorf("expected errors for %q", val) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/wait/doc.go b/staging/src/k8s.io/apimachinery/pkg/util/wait/doc.go new file mode 100644 index 00000000000..3f0c968ec9f --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/wait/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2014 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 wait provides tools for polling or listening for changes +// to a condition. +package wait // import "k8s.io/apimachinery/pkg/util/wait" diff --git a/staging/src/k8s.io/apimachinery/pkg/util/wait/wait.go b/staging/src/k8s.io/apimachinery/pkg/util/wait/wait.go new file mode 100644 index 00000000000..4704afd91bd --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/wait/wait.go @@ -0,0 +1,332 @@ +/* +Copyright 2014 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 wait + +import ( + "errors" + "math/rand" + "time" + + "k8s.io/apimachinery/pkg/util/runtime" +) + +// For any test of the style: +// ... +// <- time.After(timeout): +// t.Errorf("Timed out") +// The value for timeout should effectively be "forever." Obviously we don't want our tests to truly lock up forever, but 30s +// is long enough that it is effectively forever for the things that can slow down a run on a heavily contended machine +// (GC, seeks, etc), but not so long as to make a developer ctrl-c a test run if they do happen to break that test. +var ForeverTestTimeout = time.Second * 30 + +// NeverStop may be passed to Until to make it never stop. +var NeverStop <-chan struct{} = make(chan struct{}) + +// Forever calls f every period for ever. +// +// Forever is syntactic sugar on top of Until. +func Forever(f func(), period time.Duration) { + Until(f, period, NeverStop) +} + +// Until loops until stop channel is closed, running f every period. +// +// Until is syntactic sugar on top of JitterUntil with zero jitter factor and +// with sliding = true (which means the timer for period starts after the f +// completes). +func Until(f func(), period time.Duration, stopCh <-chan struct{}) { + JitterUntil(f, period, 0.0, true, stopCh) +} + +// NonSlidingUntil loops until stop channel is closed, running f every +// period. +// +// NonSlidingUntil is syntactic sugar on top of JitterUntil with zero jitter +// factor, with sliding = false (meaning the timer for period starts at the same +// time as the function starts). +func NonSlidingUntil(f func(), period time.Duration, stopCh <-chan struct{}) { + JitterUntil(f, period, 0.0, false, stopCh) +} + +// JitterUntil loops until stop channel is closed, running f every period. +// +// If jitterFactor is positive, the period is jittered before every run of f. +// If jitterFactor is not positive, the period is unchanged and not jitterd. +// +// If slidingis true, the period is computed after f runs. If it is false then +// period includes the runtime for f. +// +// Close stopCh to stop. f may not be invoked if stop channel is already +// closed. Pass NeverStop to if you don't want it stop. +func JitterUntil(f func(), period time.Duration, jitterFactor float64, sliding bool, stopCh <-chan struct{}) { + for { + + select { + case <-stopCh: + return + default: + } + + jitteredPeriod := period + if jitterFactor > 0.0 { + jitteredPeriod = Jitter(period, jitterFactor) + } + + var t *time.Timer + if !sliding { + t = time.NewTimer(jitteredPeriod) + } + + func() { + defer runtime.HandleCrash() + f() + }() + + if sliding { + t = time.NewTimer(jitteredPeriod) + } + + // NOTE: b/c there is no priority selection in golang + // it is possible for this to race, meaning we could + // trigger t.C and stopCh, and t.C select falls through. + // In order to mitigate we re-check stopCh at the beginning + // of every loop to prevent extra executions of f(). + select { + case <-stopCh: + return + case <-t.C: + } + } +} + +// Jitter returns a time.Duration between duration and duration + maxFactor * +// duration. +// +// This allows clients to avoid converging on periodic behavior. If maxFactor +// is 0.0, a suggested default value will be chosen. +func Jitter(duration time.Duration, maxFactor float64) time.Duration { + if maxFactor <= 0.0 { + maxFactor = 1.0 + } + wait := duration + time.Duration(rand.Float64()*maxFactor*float64(duration)) + return wait +} + +// ErrWaitTimeout is returned when the condition exited without success. +var ErrWaitTimeout = errors.New("timed out waiting for the condition") + +// ConditionFunc returns true if the condition is satisfied, or an error +// if the loop should be aborted. +type ConditionFunc func() (done bool, err error) + +// Backoff holds parameters applied to a Backoff function. +type Backoff struct { + Duration time.Duration // the base duration + Factor float64 // Duration is multipled by factor each iteration + Jitter float64 // The amount of jitter applied each iteration + Steps int // Exit with error after this many steps +} + +// ExponentialBackoff repeats a condition check with exponential backoff. +// +// It checks the condition up to Steps times, increasing the wait by multipling +// the previous duration by Factor. +// +// If Jitter is greater than zero, a random amount of each duration is added +// (between duration and duration*(1+jitter)). +// +// If the condition never returns true, ErrWaitTimeout is returned. All other +// errors terminate immediately. +func ExponentialBackoff(backoff Backoff, condition ConditionFunc) error { + duration := backoff.Duration + for i := 0; i < backoff.Steps; i++ { + if i != 0 { + adjusted := duration + if backoff.Jitter > 0.0 { + adjusted = Jitter(duration, backoff.Jitter) + } + time.Sleep(adjusted) + duration = time.Duration(float64(duration) * backoff.Factor) + } + if ok, err := condition(); err != nil || ok { + return err + } + } + return ErrWaitTimeout +} + +// Poll tries a condition func until it returns true, an error, or the timeout +// is reached. +// +// Poll always waits the interval before the run of 'condition'. +// 'condition' will always be invoked at least once. +// +// Some intervals may be missed if the condition takes too long or the time +// window is too short. +// +// If you want to Poll something forever, see PollInfinite. +func Poll(interval, timeout time.Duration, condition ConditionFunc) error { + return pollInternal(poller(interval, timeout), condition) +} + +func pollInternal(wait WaitFunc, condition ConditionFunc) error { + return WaitFor(wait, condition, NeverStop) +} + +// PollImmediate tries a condition func until it returns true, an error, or the timeout +// is reached. +// +// Poll always checks 'condition' before waiting for the interval. 'condition' +// will always be invoked at least once. +// +// Some intervals may be missed if the condition takes too long or the time +// window is too short. +// +// If you want to Poll something forever, see PollInfinite. +func PollImmediate(interval, timeout time.Duration, condition ConditionFunc) error { + return pollImmediateInternal(poller(interval, timeout), condition) +} + +func pollImmediateInternal(wait WaitFunc, condition ConditionFunc) error { + done, err := condition() + if err != nil { + return err + } + if done { + return nil + } + return pollInternal(wait, condition) +} + +// PollInfinite tries a condition func until it returns true or an error +// +// PollInfinite always waits the interval before the run of 'condition'. +// +// Some intervals may be missed if the condition takes too long or the time +// window is too short. +func PollInfinite(interval time.Duration, condition ConditionFunc) error { + done := make(chan struct{}) + defer close(done) + return PollUntil(interval, condition, done) +} + +// PollImmediateInfinite tries a condition func until it returns true or an error +// +// PollImmediateInfinite runs the 'condition' before waiting for the interval. +// +// Some intervals may be missed if the condition takes too long or the time +// window is too short. +func PollImmediateInfinite(interval time.Duration, condition ConditionFunc) error { + done, err := condition() + if err != nil { + return err + } + if done { + return nil + } + return PollInfinite(interval, condition) +} + +// PollUntil tries a condition func until it returns true, an error or stopCh is +// closed. +// +// PolUntil always waits interval before the first run of 'condition'. +// 'condition' will always be invoked at least once. +func PollUntil(interval time.Duration, condition ConditionFunc, stopCh <-chan struct{}) error { + return WaitFor(poller(interval, 0), condition, stopCh) +} + +// WaitFunc creates a channel that receives an item every time a test +// should be executed and is closed when the last test should be invoked. +type WaitFunc func(done <-chan struct{}) <-chan struct{} + +// WaitFor continually checks 'fn' as driven by 'wait'. +// +// WaitFor gets a channel from 'wait()'', and then invokes 'fn' once for every value +// placed on the channel and once more when the channel is closed. +// +// If 'fn' returns an error the loop ends and that error is returned, and if +// 'fn' returns true the loop ends and nil is returned. +// +// ErrWaitTimeout will be returned if the channel is closed without fn ever +// returning true. +func WaitFor(wait WaitFunc, fn ConditionFunc, done <-chan struct{}) error { + c := wait(done) + for { + _, open := <-c + ok, err := fn() + if err != nil { + return err + } + if ok { + return nil + } + if !open { + break + } + } + return ErrWaitTimeout +} + +// poller returns a WaitFunc that will send to the channel every interval until +// timeout has elapsed and then closes the channel. +// +// Over very short intervals you may receive no ticks before the channel is +// closed. A timeout of 0 is interpreted as an infinity. +// +// Output ticks are not buffered. If the channel is not ready to receive an +// item, the tick is skipped. +func poller(interval, timeout time.Duration) WaitFunc { + return WaitFunc(func(done <-chan struct{}) <-chan struct{} { + ch := make(chan struct{}) + + go func() { + defer close(ch) + + tick := time.NewTicker(interval) + defer tick.Stop() + + var after <-chan time.Time + if timeout != 0 { + // time.After is more convenient, but it + // potentially leaves timers around much longer + // than necessary if we exit early. + timer := time.NewTimer(timeout) + after = timer.C + defer timer.Stop() + } + + for { + select { + case <-tick.C: + // If the consumer isn't ready for this signal drop it and + // check the other channels. + select { + case ch <- struct{}{}: + default: + } + case <-after: + return + case <-done: + return + } + } + }() + + return ch + }) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/wait/wait_test.go b/staging/src/k8s.io/apimachinery/pkg/util/wait/wait_test.go new file mode 100644 index 00000000000..2dfd2877756 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/wait/wait_test.go @@ -0,0 +1,501 @@ +/* +Copyright 2014 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 wait + +import ( + "errors" + "fmt" + "sync" + "sync/atomic" + "testing" + "time" + + "k8s.io/apimachinery/pkg/util/runtime" +) + +func TestUntil(t *testing.T) { + ch := make(chan struct{}) + close(ch) + Until(func() { + t.Fatal("should not have been invoked") + }, 0, ch) + + ch = make(chan struct{}) + called := make(chan struct{}) + go func() { + Until(func() { + called <- struct{}{} + }, 0, ch) + close(called) + }() + <-called + close(ch) + <-called +} + +func TestNonSlidingUntil(t *testing.T) { + ch := make(chan struct{}) + close(ch) + NonSlidingUntil(func() { + t.Fatal("should not have been invoked") + }, 0, ch) + + ch = make(chan struct{}) + called := make(chan struct{}) + go func() { + NonSlidingUntil(func() { + called <- struct{}{} + }, 0, ch) + close(called) + }() + <-called + close(ch) + <-called +} + +func TestUntilReturnsImmediately(t *testing.T) { + now := time.Now() + ch := make(chan struct{}) + Until(func() { + close(ch) + }, 30*time.Second, ch) + if now.Add(25 * time.Second).Before(time.Now()) { + t.Errorf("Until did not return immediately when the stop chan was closed inside the func") + } +} + +func TestJitterUntil(t *testing.T) { + ch := make(chan struct{}) + // if a channel is closed JitterUntil never calls function f + // and returns immediately + close(ch) + JitterUntil(func() { + t.Fatal("should not have been invoked") + }, 0, 1.0, true, ch) + + ch = make(chan struct{}) + called := make(chan struct{}) + go func() { + JitterUntil(func() { + called <- struct{}{} + }, 0, 1.0, true, ch) + close(called) + }() + <-called + close(ch) + <-called +} + +func TestJitterUntilReturnsImmediately(t *testing.T) { + now := time.Now() + ch := make(chan struct{}) + JitterUntil(func() { + close(ch) + }, 30*time.Second, 1.0, true, ch) + if now.Add(25 * time.Second).Before(time.Now()) { + t.Errorf("JitterUntil did not return immediately when the stop chan was closed inside the func") + } +} + +func TestJitterUntilRecoversPanic(t *testing.T) { + // Save and restore crash handlers + originalReallyCrash := runtime.ReallyCrash + originalHandlers := runtime.PanicHandlers + defer func() { + runtime.ReallyCrash = originalReallyCrash + runtime.PanicHandlers = originalHandlers + }() + + called := 0 + handled := 0 + + // Hook up a custom crash handler to ensure it is called when a jitter function panics + runtime.ReallyCrash = false + runtime.PanicHandlers = []func(interface{}){ + func(p interface{}) { + handled++ + }, + } + + ch := make(chan struct{}) + JitterUntil(func() { + called++ + if called > 2 { + close(ch) + return + } + panic("TestJitterUntilRecoversPanic") + }, time.Millisecond, 1.0, true, ch) + + if called != 3 { + t.Errorf("Expected panic recovers") + } +} + +func TestJitterUntilNegativeFactor(t *testing.T) { + now := time.Now() + ch := make(chan struct{}) + called := make(chan struct{}) + received := make(chan struct{}) + go func() { + JitterUntil(func() { + called <- struct{}{} + <-received + }, time.Second, -30.0, true, ch) + }() + // first loop + <-called + received <- struct{}{} + // second loop + <-called + close(ch) + received <- struct{}{} + + // it should take at most 2 seconds + some overhead, not 3 + if now.Add(3 * time.Second).Before(time.Now()) { + t.Errorf("JitterUntil did not returned after predefined period with negative jitter factor when the stop chan was closed inside the func") + } + +} + +func TestExponentialBackoff(t *testing.T) { + opts := Backoff{Factor: 1.0, Steps: 3} + + // waits up to steps + i := 0 + err := ExponentialBackoff(opts, func() (bool, error) { + i++ + return false, nil + }) + if err != ErrWaitTimeout || i != opts.Steps { + t.Errorf("unexpected error: %v", err) + } + + // returns immediately + i = 0 + err = ExponentialBackoff(opts, func() (bool, error) { + i++ + return true, nil + }) + if err != nil || i != 1 { + t.Errorf("unexpected error: %v", err) + } + + // returns immediately on error + testErr := fmt.Errorf("some other error") + err = ExponentialBackoff(opts, func() (bool, error) { + return false, testErr + }) + if err != testErr { + t.Errorf("unexpected error: %v", err) + } + + // invoked multiple times + i = 1 + err = ExponentialBackoff(opts, func() (bool, error) { + if i < opts.Steps { + i++ + return false, nil + } + return true, nil + }) + if err != nil || i != opts.Steps { + t.Errorf("unexpected error: %v", err) + } +} + +func TestPoller(t *testing.T) { + done := make(chan struct{}) + defer close(done) + w := poller(time.Millisecond, 2*time.Millisecond) + ch := w(done) + count := 0 +DRAIN: + for { + select { + case _, open := <-ch: + if !open { + break DRAIN + } + count++ + case <-time.After(ForeverTestTimeout): + t.Errorf("unexpected timeout after poll") + } + } + if count > 3 { + t.Errorf("expected up to three values, got %d", count) + } +} + +type fakePoller struct { + max int + used int32 // accessed with atomics + wg sync.WaitGroup +} + +func fakeTicker(max int, used *int32, doneFunc func()) WaitFunc { + return func(done <-chan struct{}) <-chan struct{} { + ch := make(chan struct{}) + go func() { + defer doneFunc() + defer close(ch) + for i := 0; i < max; i++ { + select { + case ch <- struct{}{}: + case <-done: + return + } + if used != nil { + atomic.AddInt32(used, 1) + } + } + }() + return ch + } +} + +func (fp *fakePoller) GetWaitFunc() WaitFunc { + fp.wg.Add(1) + return fakeTicker(fp.max, &fp.used, fp.wg.Done) +} + +func TestPoll(t *testing.T) { + invocations := 0 + f := ConditionFunc(func() (bool, error) { + invocations++ + return true, nil + }) + fp := fakePoller{max: 1} + if err := pollInternal(fp.GetWaitFunc(), f); err != nil { + t.Fatalf("unexpected error %v", err) + } + fp.wg.Wait() + if invocations != 1 { + t.Errorf("Expected exactly one invocation, got %d", invocations) + } + used := atomic.LoadInt32(&fp.used) + if used != 1 { + t.Errorf("Expected exactly one tick, got %d", used) + } +} + +func TestPollError(t *testing.T) { + expectedError := errors.New("Expected error") + f := ConditionFunc(func() (bool, error) { + return false, expectedError + }) + fp := fakePoller{max: 1} + if err := pollInternal(fp.GetWaitFunc(), f); err == nil || err != expectedError { + t.Fatalf("Expected error %v, got none %v", expectedError, err) + } + fp.wg.Wait() + used := atomic.LoadInt32(&fp.used) + if used != 1 { + t.Errorf("Expected exactly one tick, got %d", used) + } +} + +func TestPollImmediate(t *testing.T) { + invocations := 0 + f := ConditionFunc(func() (bool, error) { + invocations++ + return true, nil + }) + fp := fakePoller{max: 0} + if err := pollImmediateInternal(fp.GetWaitFunc(), f); err != nil { + t.Fatalf("unexpected error %v", err) + } + // We don't need to wait for fp.wg, as pollImmediate shouldn't call WaitFunc at all. + if invocations != 1 { + t.Errorf("Expected exactly one invocation, got %d", invocations) + } + used := atomic.LoadInt32(&fp.used) + if used != 0 { + t.Errorf("Expected exactly zero ticks, got %d", used) + } +} + +func TestPollImmediateError(t *testing.T) { + expectedError := errors.New("Expected error") + f := ConditionFunc(func() (bool, error) { + return false, expectedError + }) + fp := fakePoller{max: 0} + if err := pollImmediateInternal(fp.GetWaitFunc(), f); err == nil || err != expectedError { + t.Fatalf("Expected error %v, got none %v", expectedError, err) + } + // We don't need to wait for fp.wg, as pollImmediate shouldn't call WaitFunc at all. + used := atomic.LoadInt32(&fp.used) + if used != 0 { + t.Errorf("Expected exactly zero ticks, got %d", used) + } +} + +func TestPollForever(t *testing.T) { + ch := make(chan struct{}) + done := make(chan struct{}, 1) + complete := make(chan struct{}) + go func() { + f := ConditionFunc(func() (bool, error) { + ch <- struct{}{} + select { + case <-done: + return true, nil + default: + } + return false, nil + }) + + if err := PollInfinite(time.Microsecond, f); err != nil { + t.Fatalf("unexpected error %v", err) + } + + close(ch) + complete <- struct{}{} + }() + + // ensure the condition is opened + <-ch + + // ensure channel sends events + for i := 0; i < 10; i++ { + select { + case _, open := <-ch: + if !open { + t.Fatalf("did not expect channel to be closed") + } + case <-time.After(ForeverTestTimeout): + t.Fatalf("channel did not return at least once within the poll interval") + } + } + + // at most one poll notification should be sent once we return from the condition + done <- struct{}{} + go func() { + for i := 0; i < 2; i++ { + _, open := <-ch + if !open { + return + } + } + t.Fatalf("expected closed channel after two iterations") + }() + <-complete +} + +func TestWaitFor(t *testing.T) { + var invocations int + testCases := map[string]struct { + F ConditionFunc + Ticks int + Invoked int + Err bool + }{ + "invoked once": { + ConditionFunc(func() (bool, error) { + invocations++ + return true, nil + }), + 2, + 1, + false, + }, + "invoked and returns a timeout": { + ConditionFunc(func() (bool, error) { + invocations++ + return false, nil + }), + 2, + 3, // the contract of WaitFor() says the func is called once more at the end of the wait + true, + }, + "returns immediately on error": { + ConditionFunc(func() (bool, error) { + invocations++ + return false, errors.New("test") + }), + 2, + 1, + true, + }, + } + for k, c := range testCases { + invocations = 0 + ticker := fakeTicker(c.Ticks, nil, func() {}) + err := func() error { + done := make(chan struct{}) + defer close(done) + return WaitFor(ticker, c.F, done) + }() + switch { + case c.Err && err == nil: + t.Errorf("%s: Expected error, got nil", k) + continue + case !c.Err && err != nil: + t.Errorf("%s: Expected no error, got: %#v", k, err) + continue + } + if invocations != c.Invoked { + t.Errorf("%s: Expected %d invocations, got %d", k, c.Invoked, invocations) + } + } +} + +func TestWaitForWithDelay(t *testing.T) { + done := make(chan struct{}) + defer close(done) + WaitFor(poller(time.Millisecond, ForeverTestTimeout), func() (bool, error) { + time.Sleep(10 * time.Millisecond) + return true, nil + }, done) + // If polling goroutine doesn't see the done signal it will leak timers. + select { + case done <- struct{}{}: + case <-time.After(ForeverTestTimeout): + t.Errorf("expected an ack of the done signal.") + } +} + +func TestPollUntil(t *testing.T) { + stopCh := make(chan struct{}) + called := make(chan bool) + pollDone := make(chan struct{}) + + go func() { + PollUntil(time.Microsecond, ConditionFunc(func() (bool, error) { + called <- true + return false, nil + }), stopCh) + + close(pollDone) + }() + + // make sure we're called once + <-called + // this should trigger a "done" + close(stopCh) + + go func() { + // release the condition func if needed + for { + <-called + } + }() + + // make sure we finished the poll + <-pollDone +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/yaml/decoder.go b/staging/src/k8s.io/apimachinery/pkg/util/yaml/decoder.go new file mode 100644 index 00000000000..27b7500eba9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/yaml/decoder.go @@ -0,0 +1,327 @@ +/* +Copyright 2014 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 yaml + +import ( + "bufio" + "bytes" + "encoding/json" + "fmt" + "io" + "io/ioutil" + "strings" + "unicode" + + "github.com/ghodss/yaml" + "github.com/golang/glog" +) + +// ToJSON converts a single YAML document into a JSON document +// or returns an error. If the document appears to be JSON the +// YAML decoding path is not used (so that error messages are +// JSON specific). +func ToJSON(data []byte) ([]byte, error) { + if hasJSONPrefix(data) { + return data, nil + } + return yaml.YAMLToJSON(data) +} + +// YAMLToJSONDecoder decodes YAML documents from an io.Reader by +// separating individual documents. It first converts the YAML +// body to JSON, then unmarshals the JSON. +type YAMLToJSONDecoder struct { + reader Reader +} + +// NewYAMLToJSONDecoder decodes YAML documents from the provided +// stream in chunks by converting each document (as defined by +// the YAML spec) into its own chunk, converting it to JSON via +// yaml.YAMLToJSON, and then passing it to json.Decoder. +func NewYAMLToJSONDecoder(r io.Reader) *YAMLToJSONDecoder { + reader := bufio.NewReader(r) + return &YAMLToJSONDecoder{ + reader: NewYAMLReader(reader), + } +} + +// Decode reads a YAML document as JSON from the stream or returns +// an error. The decoding rules match json.Unmarshal, not +// yaml.Unmarshal. +func (d *YAMLToJSONDecoder) Decode(into interface{}) error { + bytes, err := d.reader.Read() + if err != nil && err != io.EOF { + return err + } + + if len(bytes) != 0 { + data, err := yaml.YAMLToJSON(bytes) + if err != nil { + return err + } + return json.Unmarshal(data, into) + } + return err +} + +// YAMLDecoder reads chunks of objects and returns ErrShortBuffer if +// the data is not sufficient. +type YAMLDecoder struct { + r io.ReadCloser + scanner *bufio.Scanner + remaining []byte +} + +// NewDocumentDecoder decodes YAML documents from the provided +// stream in chunks by converting each document (as defined by +// the YAML spec) into its own chunk. io.ErrShortBuffer will be +// returned if the entire buffer could not be read to assist +// the caller in framing the chunk. +func NewDocumentDecoder(r io.ReadCloser) io.ReadCloser { + scanner := bufio.NewScanner(r) + scanner.Split(splitYAMLDocument) + return &YAMLDecoder{ + r: r, + scanner: scanner, + } +} + +// Read reads the previous slice into the buffer, or attempts to read +// the next chunk. +// TODO: switch to readline approach. +func (d *YAMLDecoder) Read(data []byte) (n int, err error) { + left := len(d.remaining) + if left == 0 { + // return the next chunk from the stream + if !d.scanner.Scan() { + err := d.scanner.Err() + if err == nil { + err = io.EOF + } + return 0, err + } + out := d.scanner.Bytes() + d.remaining = out + left = len(out) + } + + // fits within data + if left <= len(data) { + copy(data, d.remaining) + d.remaining = nil + return len(d.remaining), nil + } + + // caller will need to reread + copy(data, d.remaining[:left]) + d.remaining = d.remaining[left:] + return len(data), io.ErrShortBuffer +} + +func (d *YAMLDecoder) Close() error { + return d.r.Close() +} + +const yamlSeparator = "\n---" +const separator = "---" + +// splitYAMLDocument is a bufio.SplitFunc for splitting YAML streams into individual documents. +func splitYAMLDocument(data []byte, atEOF bool) (advance int, token []byte, err error) { + if atEOF && len(data) == 0 { + return 0, nil, nil + } + sep := len([]byte(yamlSeparator)) + if i := bytes.Index(data, []byte(yamlSeparator)); i >= 0 { + // We have a potential document terminator + i += sep + after := data[i:] + if len(after) == 0 { + // we can't read any more characters + if atEOF { + return len(data), data[:len(data)-sep], nil + } + return 0, nil, nil + } + if j := bytes.IndexByte(after, '\n'); j >= 0 { + return i + j + 1, data[0 : i-sep], nil + } + return 0, nil, nil + } + // If we're at EOF, we have a final, non-terminated line. Return it. + if atEOF { + return len(data), data, nil + } + // Request more data. + return 0, nil, nil +} + +// decoder is a convenience interface for Decode. +type decoder interface { + Decode(into interface{}) error +} + +// YAMLOrJSONDecoder attempts to decode a stream of JSON documents or +// YAML documents by sniffing for a leading { character. +type YAMLOrJSONDecoder struct { + r io.Reader + bufferSize int + + decoder decoder + rawData []byte +} + +// NewYAMLOrJSONDecoder returns a decoder that will process YAML documents +// or JSON documents from the given reader as a stream. bufferSize determines +// how far into the stream the decoder will look to figure out whether this +// is a JSON stream (has whitespace followed by an open brace). +func NewYAMLOrJSONDecoder(r io.Reader, bufferSize int) *YAMLOrJSONDecoder { + return &YAMLOrJSONDecoder{ + r: r, + bufferSize: bufferSize, + } +} + +// Decode unmarshals the next object from the underlying stream into the +// provide object, or returns an error. +func (d *YAMLOrJSONDecoder) Decode(into interface{}) error { + if d.decoder == nil { + buffer, origData, isJSON := GuessJSONStream(d.r, d.bufferSize) + if isJSON { + glog.V(4).Infof("decoding stream as JSON") + d.decoder = json.NewDecoder(buffer) + d.rawData = origData + } else { + glog.V(4).Infof("decoding stream as YAML") + d.decoder = NewYAMLToJSONDecoder(buffer) + } + } + err := d.decoder.Decode(into) + if jsonDecoder, ok := d.decoder.(*json.Decoder); ok { + if syntax, ok := err.(*json.SyntaxError); ok { + data, readErr := ioutil.ReadAll(jsonDecoder.Buffered()) + if readErr != nil { + glog.V(4).Infof("reading stream failed: %v", readErr) + } + js := string(data) + + // if contents from io.Reader are not complete, + // use the original raw data to prevent panic + if int64(len(js)) <= syntax.Offset { + js = string(d.rawData) + } + + start := strings.LastIndex(js[:syntax.Offset], "\n") + 1 + line := strings.Count(js[:start], "\n") + return fmt.Errorf("json: line %d: %s", line, syntax.Error()) + } + } + return err +} + +type Reader interface { + Read() ([]byte, error) +} + +type YAMLReader struct { + reader Reader +} + +func NewYAMLReader(r *bufio.Reader) *YAMLReader { + return &YAMLReader{ + reader: &LineReader{reader: r}, + } +} + +// Read returns a full YAML document. +func (r *YAMLReader) Read() ([]byte, error) { + var buffer bytes.Buffer + for { + line, err := r.reader.Read() + if err != nil && err != io.EOF { + return nil, err + } + + sep := len([]byte(separator)) + if i := bytes.Index(line, []byte(separator)); i == 0 { + // We have a potential document terminator + i += sep + after := line[i:] + if len(strings.TrimRightFunc(string(after), unicode.IsSpace)) == 0 { + if buffer.Len() != 0 { + return buffer.Bytes(), nil + } + if err == io.EOF { + return nil, err + } + } + } + if err == io.EOF { + if buffer.Len() != 0 { + // If we're at EOF, we have a final, non-terminated line. Return it. + return buffer.Bytes(), nil + } + return nil, err + } + buffer.Write(line) + } +} + +type LineReader struct { + reader *bufio.Reader +} + +// Read returns a single line (with '\n' ended) from the underlying reader. +// An error is returned iff there is an error with the underlying reader. +func (r *LineReader) Read() ([]byte, error) { + var ( + isPrefix bool = true + err error = nil + line []byte + buffer bytes.Buffer + ) + + for isPrefix && err == nil { + line, isPrefix, err = r.reader.ReadLine() + buffer.Write(line) + } + buffer.WriteByte('\n') + return buffer.Bytes(), err +} + +// GuessJSONStream scans the provided reader up to size, looking +// for an open brace indicating this is JSON. It will return the +// bufio.Reader it creates for the consumer. +func GuessJSONStream(r io.Reader, size int) (io.Reader, []byte, bool) { + buffer := bufio.NewReaderSize(r, size) + b, _ := buffer.Peek(size) + return buffer, b, hasJSONPrefix(b) +} + +var jsonPrefix = []byte("{") + +// hasJSONPrefix returns true if the provided buffer appears to start with +// a JSON open brace. +func hasJSONPrefix(buf []byte) bool { + return hasPrefix(buf, jsonPrefix) +} + +// Return true if the first non-whitespace bytes in buf is +// prefix. +func hasPrefix(buf []byte, prefix []byte) bool { + trim := bytes.TrimLeftFunc(buf, unicode.IsSpace) + return bytes.HasPrefix(trim, prefix) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/util/yaml/decoder_test.go b/staging/src/k8s.io/apimachinery/pkg/util/yaml/decoder_test.go new file mode 100644 index 00000000000..5712b30794a --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/util/yaml/decoder_test.go @@ -0,0 +1,316 @@ +/* +Copyright 2014 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 yaml + +import ( + "bufio" + "bytes" + "encoding/json" + "fmt" + "io" + "math/rand" + "reflect" + "strings" + "testing" +) + +func TestSplitYAMLDocument(t *testing.T) { + testCases := []struct { + input string + atEOF bool + expect string + adv int + }{ + {"foo", true, "foo", 3}, + {"fo", false, "", 0}, + + {"---", true, "---", 3}, + {"---\n", true, "---\n", 4}, + {"---\n", false, "", 0}, + + {"\n---\n", false, "", 5}, + {"\n---\n", true, "", 5}, + + {"abc\n---\ndef", true, "abc", 8}, + {"def", true, "def", 3}, + {"", true, "", 0}, + } + for i, testCase := range testCases { + adv, token, err := splitYAMLDocument([]byte(testCase.input), testCase.atEOF) + if err != nil { + t.Errorf("%d: unexpected error: %v", i, err) + continue + } + if adv != testCase.adv { + t.Errorf("%d: advance did not match: %d %d", i, testCase.adv, adv) + } + if testCase.expect != string(token) { + t.Errorf("%d: token did not match: %q %q", i, testCase.expect, string(token)) + } + } +} + +func TestGuessJSON(t *testing.T) { + if r, _, isJSON := GuessJSONStream(bytes.NewReader([]byte(" \n{}")), 100); !isJSON { + t.Fatalf("expected stream to be JSON") + } else { + b := make([]byte, 30) + n, err := r.Read(b) + if err != nil || n != 4 { + t.Fatalf("unexpected body: %d / %v", n, err) + } + if string(b[:n]) != " \n{}" { + t.Fatalf("unexpected body: %q", string(b[:n])) + } + } +} + +func TestScanYAML(t *testing.T) { + s := bufio.NewScanner(bytes.NewReader([]byte(`--- +stuff: 1 + +--- + `))) + s.Split(splitYAMLDocument) + if !s.Scan() { + t.Fatalf("should have been able to scan") + } + t.Logf("scan: %s", s.Text()) + if !s.Scan() { + t.Fatalf("should have been able to scan") + } + t.Logf("scan: %s", s.Text()) + if s.Scan() { + t.Fatalf("scan should have been done") + } + if s.Err() != nil { + t.Fatalf("err should have been nil: %v", s.Err()) + } +} + +func TestDecodeYAML(t *testing.T) { + s := NewYAMLToJSONDecoder(bytes.NewReader([]byte(`--- +stuff: 1 + +--- + `))) + obj := generic{} + if err := s.Decode(&obj); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if fmt.Sprintf("%#v", obj) != `yaml.generic{"stuff":1}` { + t.Errorf("unexpected object: %#v", obj) + } + obj = generic{} + if err := s.Decode(&obj); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if len(obj) != 0 { + t.Fatalf("unexpected object: %#v", obj) + } + obj = generic{} + if err := s.Decode(&obj); err != io.EOF { + t.Fatalf("unexpected error: %v", err) + } +} + +func TestDecodeBrokenYAML(t *testing.T) { + s := NewYAMLOrJSONDecoder(bytes.NewReader([]byte(`--- +stuff: 1 + test-foo: 1 + +--- + `)), 100) + obj := generic{} + err := s.Decode(&obj) + if err == nil { + t.Fatal("expected error with yaml: violate, got no error") + } + fmt.Printf("err: %s\n", err.Error()) + if !strings.HasPrefix(err.Error(), "yaml: line 2:") { + t.Fatalf("expected %q to have 'yaml: line 2:' found a tab character", err.Error()) + } +} + +func TestDecodeBrokenJSON(t *testing.T) { + s := NewYAMLOrJSONDecoder(bytes.NewReader([]byte(`{ + "foo": { + "stuff": 1 + "otherStuff": 2 + } +} + `)), 100) + obj := generic{} + err := s.Decode(&obj) + if err == nil { + t.Fatal("expected error with json: prefix, got no error") + } + if !strings.HasPrefix(err.Error(), "json: line 3:") { + t.Fatalf("expected %q to have 'json: line 3:' prefix", err.Error()) + } +} + +type generic map[string]interface{} + +func TestYAMLOrJSONDecoder(t *testing.T) { + testCases := []struct { + input string + buffer int + isJSON bool + err bool + out []generic + }{ + {` {"1":2}{"3":4}`, 2, true, false, []generic{ + {"1": 2}, + {"3": 4}, + }}, + {" \n{}", 3, true, false, []generic{ + {}, + }}, + {" \na: b", 2, false, false, []generic{ + {"a": "b"}, + }}, + {" \n{\"a\": \"b\"}", 2, false, true, []generic{ + {"a": "b"}, + }}, + {" \n{\"a\": \"b\"}", 3, true, false, []generic{ + {"a": "b"}, + }}, + {` {"a":"b"}`, 100, true, false, []generic{ + {"a": "b"}, + }}, + {"", 1, false, false, []generic{}}, + {"foo: bar\n---\nbaz: biz", 100, false, false, []generic{ + {"foo": "bar"}, + {"baz": "biz"}, + }}, + {"foo: bar\n---\n", 100, false, false, []generic{ + {"foo": "bar"}, + }}, + {"foo: bar\n---", 100, false, false, []generic{ + {"foo": "bar"}, + }}, + {"foo: bar\n--", 100, false, true, []generic{ + {"foo": "bar"}, + }}, + {"foo: bar\n-", 100, false, true, []generic{ + {"foo": "bar"}, + }}, + {"foo: bar\n", 100, false, false, []generic{ + {"foo": "bar"}, + }}, + } + for i, testCase := range testCases { + decoder := NewYAMLOrJSONDecoder(bytes.NewReader([]byte(testCase.input)), testCase.buffer) + objs := []generic{} + + var err error + for { + out := make(generic) + err = decoder.Decode(&out) + if err != nil { + break + } + objs = append(objs, out) + } + if err != io.EOF { + switch { + case testCase.err && err == nil: + t.Errorf("%d: unexpected non-error", i) + continue + case !testCase.err && err != nil: + t.Errorf("%d: unexpected error: %v", i, err) + continue + case err != nil: + continue + } + } + switch decoder.decoder.(type) { + case *YAMLToJSONDecoder: + if testCase.isJSON { + t.Errorf("%d: expected JSON decoder, got YAML", i) + } + case *json.Decoder: + if !testCase.isJSON { + t.Errorf("%d: expected YAML decoder, got JSON", i) + } + } + if fmt.Sprintf("%#v", testCase.out) != fmt.Sprintf("%#v", objs) { + t.Errorf("%d: objects were not equal: \n%#v\n%#v", i, testCase.out, objs) + } + } +} + +func TestReadSingleLongLine(t *testing.T) { + testReadLines(t, []int{128 * 1024}) +} + +func TestReadRandomLineLengths(t *testing.T) { + minLength := 100 + maxLength := 96 * 1024 + maxLines := 100 + + lineLengths := make([]int, maxLines) + for i := 0; i < maxLines; i++ { + lineLengths[i] = rand.Intn(maxLength-minLength) + minLength + } + + testReadLines(t, lineLengths) +} + +func testReadLines(t *testing.T, lineLengths []int) { + var ( + lines [][]byte + inputStream []byte + ) + for _, lineLength := range lineLengths { + inputLine := make([]byte, lineLength+1) + for i := 0; i < lineLength; i++ { + char := rand.Intn('z'-'A') + 'A' + inputLine[i] = byte(char) + } + inputLine[len(inputLine)-1] = '\n' + lines = append(lines, inputLine) + } + for _, line := range lines { + inputStream = append(inputStream, line...) + } + + // init Reader + reader := bufio.NewReader(bytes.NewReader(inputStream)) + lineReader := &LineReader{reader: reader} + + // read lines + var readLines [][]byte + for range lines { + bytes, err := lineReader.Read() + if err != nil && err != io.EOF { + t.Fatalf("failed to read lines: %v", err) + } + readLines = append(readLines, bytes) + } + + // validate + for i := range lines { + if len(lines[i]) != len(readLines[i]) { + t.Fatalf("expected line length: %d, but got %d", len(lines[i]), len(readLines[i])) + } + if !reflect.DeepEqual(lines[i], readLines[i]) { + t.Fatalf("expected line: %v, but got %v", lines[i], readLines[i]) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/doc.go b/staging/src/k8s.io/apimachinery/pkg/watch/doc.go new file mode 100644 index 00000000000..7e6bf3fb95d --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/doc.go @@ -0,0 +1,19 @@ +/* +Copyright 2014 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 watch contains a generic watchable interface, and a fake for +// testing code that uses the watch interface. +package watch // import "k8s.io/apimachinery/pkg/watch" diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/filter.go b/staging/src/k8s.io/apimachinery/pkg/watch/filter.go new file mode 100644 index 00000000000..3ca27f22c5f --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/filter.go @@ -0,0 +1,109 @@ +/* +Copyright 2014 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 watch + +import ( + "sync" +) + +// FilterFunc should take an event, possibly modify it in some way, and return +// the modified event. If the event should be ignored, then return keep=false. +type FilterFunc func(in Event) (out Event, keep bool) + +// Filter passes all events through f before allowing them to pass on. +// Putting a filter on a watch, as an unavoidable side-effect due to the way +// go channels work, effectively causes the watch's event channel to have its +// queue length increased by one. +// +// WARNING: filter has a fatal flaw, in that it can't properly update the +// Type field (Add/Modified/Deleted) to reflect items beginning to pass the +// filter when they previously didn't. +// +func Filter(w Interface, f FilterFunc) Interface { + fw := &filteredWatch{ + incoming: w, + result: make(chan Event), + f: f, + } + go fw.loop() + return fw +} + +type filteredWatch struct { + incoming Interface + result chan Event + f FilterFunc +} + +// ResultChan returns a channel which will receive filtered events. +func (fw *filteredWatch) ResultChan() <-chan Event { + return fw.result +} + +// Stop stops the upstream watch, which will eventually stop this watch. +func (fw *filteredWatch) Stop() { + fw.incoming.Stop() +} + +// loop waits for new values, filters them, and resends them. +func (fw *filteredWatch) loop() { + defer close(fw.result) + for { + event, ok := <-fw.incoming.ResultChan() + if !ok { + break + } + filtered, keep := fw.f(event) + if keep { + fw.result <- filtered + } + } +} + +// Recorder records all events that are sent from the watch until it is closed. +type Recorder struct { + Interface + + lock sync.Mutex + events []Event +} + +var _ Interface = &Recorder{} + +// NewRecorder wraps an Interface and records any changes sent across it. +func NewRecorder(w Interface) *Recorder { + r := &Recorder{} + r.Interface = Filter(w, r.record) + return r +} + +// record is a FilterFunc and tracks each received event. +func (r *Recorder) record(in Event) (Event, bool) { + r.lock.Lock() + defer r.lock.Unlock() + r.events = append(r.events, in) + return in, true +} + +// Events returns a copy of the events sent across this recorder. +func (r *Recorder) Events() []Event { + r.lock.Lock() + defer r.lock.Unlock() + copied := make([]Event, len(r.events)) + copy(copied, r.events) + return copied +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/filter_test.go b/staging/src/k8s.io/apimachinery/pkg/watch/filter_test.go new file mode 100644 index 00000000000..4b5ae898ac4 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/filter_test.go @@ -0,0 +1,84 @@ +/* +Copyright 2014 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 watch_test + +import ( + "reflect" + "testing" + + . "k8s.io/apimachinery/pkg/watch" +) + +func TestFilter(t *testing.T) { + table := []Event{ + {Type: Added, Object: testType("foo")}, + {Type: Added, Object: testType("bar")}, + {Type: Added, Object: testType("baz")}, + {Type: Added, Object: testType("qux")}, + {Type: Added, Object: testType("zoo")}, + } + + source := NewFake() + filtered := Filter(source, func(e Event) (Event, bool) { + return e, e.Object.(testType)[0] != 'b' + }) + + go func() { + for _, item := range table { + source.Action(item.Type, item.Object) + } + source.Stop() + }() + + var got []string + for { + event, ok := <-filtered.ResultChan() + if !ok { + break + } + got = append(got, string(event.Object.(testType))) + } + + if e, a := []string{"foo", "qux", "zoo"}, got; !reflect.DeepEqual(e, a) { + t.Errorf("got %v, wanted %v", e, a) + } +} + +func TestFilterStop(t *testing.T) { + source := NewFake() + filtered := Filter(source, func(e Event) (Event, bool) { + return e, e.Object.(testType)[0] != 'b' + }) + + go func() { + source.Add(testType("foo")) + filtered.Stop() + }() + + var got []string + for { + event, ok := <-filtered.ResultChan() + if !ok { + break + } + got = append(got, string(event.Object.(testType))) + } + + if e, a := []string{"foo"}, got; !reflect.DeepEqual(e, a) { + t.Errorf("got %v, wanted %v", e, a) + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/mux.go b/staging/src/k8s.io/apimachinery/pkg/watch/mux.go new file mode 100644 index 00000000000..fafccd78ef3 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/mux.go @@ -0,0 +1,257 @@ +/* +Copyright 2014 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 watch + +import ( + "sync" + + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// FullChannelBehavior controls how the Broadcaster reacts if a watcher's watch +// channel is full. +type FullChannelBehavior int + +const ( + WaitIfChannelFull FullChannelBehavior = iota + DropIfChannelFull +) + +// Buffer the incoming queue a little bit even though it should rarely ever accumulate +// anything, just in case a few events are received in such a short window that +// Broadcaster can't move them onto the watchers' queues fast enough. +const incomingQueueLength = 25 + +// Broadcaster distributes event notifications among any number of watchers. Every event +// is delivered to every watcher. +type Broadcaster struct { + // TODO: see if this lock is needed now that new watchers go through + // the incoming channel. + lock sync.Mutex + + watchers map[int64]*broadcasterWatcher + nextWatcher int64 + distributing sync.WaitGroup + + incoming chan Event + + // How large to make watcher's channel. + watchQueueLength int + // If one of the watch channels is full, don't wait for it to become empty. + // Instead just deliver it to the watchers that do have space in their + // channels and move on to the next event. + // It's more fair to do this on a per-watcher basis than to do it on the + // "incoming" channel, which would allow one slow watcher to prevent all + // other watchers from getting new events. + fullChannelBehavior FullChannelBehavior +} + +// NewBroadcaster creates a new Broadcaster. queueLength is the maximum number of events to queue per watcher. +// It is guaranteed that events will be distributed in the order in which they occur, +// but the order in which a single event is distributed among all of the watchers is unspecified. +func NewBroadcaster(queueLength int, fullChannelBehavior FullChannelBehavior) *Broadcaster { + m := &Broadcaster{ + watchers: map[int64]*broadcasterWatcher{}, + incoming: make(chan Event, incomingQueueLength), + watchQueueLength: queueLength, + fullChannelBehavior: fullChannelBehavior, + } + m.distributing.Add(1) + go m.loop() + return m +} + +const internalRunFunctionMarker = "internal-do-function" + +// a function type we can shoehorn into the queue. +type functionFakeRuntimeObject func() + +func (obj functionFakeRuntimeObject) GetObjectKind() schema.ObjectKind { + return schema.EmptyObjectKind +} + +// Execute f, blocking the incoming queue (and waiting for it to drain first). +// The purpose of this terrible hack is so that watchers added after an event +// won't ever see that event, and will always see any event after they are +// added. +func (b *Broadcaster) blockQueue(f func()) { + var wg sync.WaitGroup + wg.Add(1) + b.incoming <- Event{ + Type: internalRunFunctionMarker, + Object: functionFakeRuntimeObject(func() { + defer wg.Done() + f() + }), + } + wg.Wait() +} + +// Watch adds a new watcher to the list and returns an Interface for it. +// Note: new watchers will only receive new events. They won't get an entire history +// of previous events. +func (m *Broadcaster) Watch() Interface { + var w *broadcasterWatcher + m.blockQueue(func() { + m.lock.Lock() + defer m.lock.Unlock() + id := m.nextWatcher + m.nextWatcher++ + w = &broadcasterWatcher{ + result: make(chan Event, m.watchQueueLength), + stopped: make(chan struct{}), + id: id, + m: m, + } + m.watchers[id] = w + }) + return w +} + +// WatchWithPrefix adds a new watcher to the list and returns an Interface for it. It sends +// queuedEvents down the new watch before beginning to send ordinary events from Broadcaster. +// The returned watch will have a queue length that is at least large enough to accommodate +// all of the items in queuedEvents. +func (m *Broadcaster) WatchWithPrefix(queuedEvents []Event) Interface { + var w *broadcasterWatcher + m.blockQueue(func() { + m.lock.Lock() + defer m.lock.Unlock() + id := m.nextWatcher + m.nextWatcher++ + length := m.watchQueueLength + if n := len(queuedEvents) + 1; n > length { + length = n + } + w = &broadcasterWatcher{ + result: make(chan Event, length), + stopped: make(chan struct{}), + id: id, + m: m, + } + m.watchers[id] = w + for _, e := range queuedEvents { + w.result <- e + } + }) + return w +} + +// stopWatching stops the given watcher and removes it from the list. +func (m *Broadcaster) stopWatching(id int64) { + m.lock.Lock() + defer m.lock.Unlock() + w, ok := m.watchers[id] + if !ok { + // No need to do anything, it's already been removed from the list. + return + } + delete(m.watchers, id) + close(w.result) +} + +// closeAll disconnects all watchers (presumably in response to a Shutdown call). +func (m *Broadcaster) closeAll() { + m.lock.Lock() + defer m.lock.Unlock() + for _, w := range m.watchers { + close(w.result) + } + // Delete everything from the map, since presence/absence in the map is used + // by stopWatching to avoid double-closing the channel. + m.watchers = map[int64]*broadcasterWatcher{} +} + +// Action distributes the given event among all watchers. +func (m *Broadcaster) Action(action EventType, obj runtime.Object) { + m.incoming <- Event{action, obj} +} + +// Shutdown disconnects all watchers (but any queued events will still be distributed). +// You must not call Action or Watch* after calling Shutdown. This call blocks +// until all events have been distributed through the outbound channels. Note +// that since they can be buffered, this means that the watchers might not +// have received the data yet as it can remain sitting in the buffered +// channel. +func (m *Broadcaster) Shutdown() { + close(m.incoming) + m.distributing.Wait() +} + +// loop receives from m.incoming and distributes to all watchers. +func (m *Broadcaster) loop() { + // Deliberately not catching crashes here. Yes, bring down the process if there's a + // bug in watch.Broadcaster. + for { + event, ok := <-m.incoming + if !ok { + break + } + if event.Type == internalRunFunctionMarker { + event.Object.(functionFakeRuntimeObject)() + continue + } + m.distribute(event) + } + m.closeAll() + m.distributing.Done() +} + +// distribute sends event to all watchers. Blocking. +func (m *Broadcaster) distribute(event Event) { + m.lock.Lock() + defer m.lock.Unlock() + if m.fullChannelBehavior == DropIfChannelFull { + for _, w := range m.watchers { + select { + case w.result <- event: + case <-w.stopped: + default: // Don't block if the event can't be queued. + } + } + } else { + for _, w := range m.watchers { + select { + case w.result <- event: + case <-w.stopped: + } + } + } +} + +// broadcasterWatcher handles a single watcher of a broadcaster +type broadcasterWatcher struct { + result chan Event + stopped chan struct{} + stop sync.Once + id int64 + m *Broadcaster +} + +// ResultChan returns a channel to use for waiting on events. +func (mw *broadcasterWatcher) ResultChan() <-chan Event { + return mw.result +} + +// Stop stops watching and removes mw from its list. +func (mw *broadcasterWatcher) Stop() { + mw.stop.Do(func() { + close(mw.stopped) + mw.m.stopWatching(mw.id) + }) +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/mux_test.go b/staging/src/k8s.io/apimachinery/pkg/watch/mux_test.go new file mode 100644 index 00000000000..d2b17fad42b --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/mux_test.go @@ -0,0 +1,168 @@ +/* +Copyright 2014 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 watch_test + +import ( + "reflect" + "sync" + "testing" + "time" + + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + . "k8s.io/apimachinery/pkg/watch" +) + +type myType struct { + ID string + Value string +} + +func (obj *myType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +func TestBroadcaster(t *testing.T) { + table := []Event{ + {Type: Added, Object: &myType{"foo", "hello world 1"}}, + {Type: Added, Object: &myType{"bar", "hello world 2"}}, + {Type: Modified, Object: &myType{"foo", "goodbye world 3"}}, + {Type: Deleted, Object: &myType{"bar", "hello world 4"}}, + } + + // The broadcaster we're testing + m := NewBroadcaster(0, WaitIfChannelFull) + + // Add a bunch of watchers + const testWatchers = 2 + wg := sync.WaitGroup{} + wg.Add(testWatchers) + for i := 0; i < testWatchers; i++ { + // Verify that each watcher gets the events in the correct order + go func(watcher int, w Interface) { + tableLine := 0 + for { + event, ok := <-w.ResultChan() + if !ok { + break + } + if e, a := table[tableLine], event; !reflect.DeepEqual(e, a) { + t.Errorf("Watcher %v, line %v: Expected (%v, %#v), got (%v, %#v)", + watcher, tableLine, e.Type, e.Object, a.Type, a.Object) + } else { + t.Logf("Got (%v, %#v)", event.Type, event.Object) + } + tableLine++ + } + wg.Done() + }(i, m.Watch()) + } + + for i, item := range table { + t.Logf("Sending %v", i) + m.Action(item.Type, item.Object) + } + + m.Shutdown() + + wg.Wait() +} + +func TestBroadcasterWatcherClose(t *testing.T) { + m := NewBroadcaster(0, WaitIfChannelFull) + w := m.Watch() + w2 := m.Watch() + w.Stop() + m.Shutdown() + if _, open := <-w.ResultChan(); open { + t.Errorf("Stop didn't work?") + } + if _, open := <-w2.ResultChan(); open { + t.Errorf("Shutdown didn't work?") + } + // Extra stops don't hurt things + w.Stop() + w2.Stop() +} + +func TestBroadcasterWatcherStopDeadlock(t *testing.T) { + done := make(chan bool) + m := NewBroadcaster(0, WaitIfChannelFull) + go func(w0, w1 Interface) { + // We know Broadcaster is in the distribute loop once one watcher receives + // an event. Stop the other watcher while distribute is trying to + // send to it. + select { + case <-w0.ResultChan(): + w1.Stop() + case <-w1.ResultChan(): + w0.Stop() + } + close(done) + }(m.Watch(), m.Watch()) + m.Action(Added, &myType{}) + select { + case <-time.After(wait.ForeverTestTimeout): + t.Error("timeout: deadlocked") + case <-done: + } + m.Shutdown() +} + +func TestBroadcasterDropIfChannelFull(t *testing.T) { + m := NewBroadcaster(1, DropIfChannelFull) + + event1 := Event{Type: Added, Object: &myType{"foo", "hello world 1"}} + event2 := Event{Type: Added, Object: &myType{"bar", "hello world 2"}} + + // Add a couple watchers + watches := make([]Interface, 2) + for i := range watches { + watches[i] = m.Watch() + } + + // Send a couple events before closing the broadcast channel. + t.Log("Sending event 1") + m.Action(event1.Type, event1.Object) + t.Log("Sending event 2") + m.Action(event2.Type, event2.Object) + m.Shutdown() + + // Pull events from the queue. + wg := sync.WaitGroup{} + wg.Add(len(watches)) + for i := range watches { + // Verify that each watcher only gets the first event because its watch + // queue of length one was full from the first one. + go func(watcher int, w Interface) { + defer wg.Done() + e1, ok := <-w.ResultChan() + if !ok { + t.Errorf("Watcher %v failed to retrieve first event.", watcher) + } + if e, a := event1, e1; !reflect.DeepEqual(e, a) { + t.Errorf("Watcher %v: Expected (%v, %#v), got (%v, %#v)", + watcher, e.Type, e.Object, a.Type, a.Object) + } + t.Logf("Got (%v, %#v)", e1.Type, e1.Object) + e2, ok := <-w.ResultChan() + if ok { + t.Errorf("Watcher %v received second event (%v, %#v) even though it shouldn't have.", + watcher, e2.Type, e2.Object) + } + }(i, watches[i]) + } + wg.Wait() +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher.go b/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher.go new file mode 100644 index 00000000000..93bb1cdf7f6 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher.go @@ -0,0 +1,119 @@ +/* +Copyright 2014 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 watch + +import ( + "io" + "sync" + + "github.com/golang/glog" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/net" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" +) + +// Decoder allows StreamWatcher to watch any stream for which a Decoder can be written. +type Decoder interface { + // Decode should return the type of event, the decoded object, or an error. + // An error will cause StreamWatcher to call Close(). Decode should block until + // it has data or an error occurs. + Decode() (action EventType, object runtime.Object, err error) + + // Close should close the underlying io.Reader, signalling to the source of + // the stream that it is no longer being watched. Close() must cause any + // outstanding call to Decode() to return with an error of some sort. + Close() +} + +// StreamWatcher turns any stream for which you can write a Decoder interface +// into a watch.Interface. +type StreamWatcher struct { + sync.Mutex + source Decoder + result chan Event + stopped bool +} + +// NewStreamWatcher creates a StreamWatcher from the given decoder. +func NewStreamWatcher(d Decoder) *StreamWatcher { + sw := &StreamWatcher{ + source: d, + // It's easy for a consumer to add buffering via an extra + // goroutine/channel, but impossible for them to remove it, + // so nonbuffered is better. + result: make(chan Event), + } + go sw.receive() + return sw +} + +// ResultChan implements Interface. +func (sw *StreamWatcher) ResultChan() <-chan Event { + return sw.result +} + +// Stop implements Interface. +func (sw *StreamWatcher) Stop() { + // Call Close() exactly once by locking and setting a flag. + sw.Lock() + defer sw.Unlock() + if !sw.stopped { + sw.stopped = true + sw.source.Close() + } +} + +// stopping returns true if Stop() was called previously. +func (sw *StreamWatcher) stopping() bool { + sw.Lock() + defer sw.Unlock() + return sw.stopped +} + +// receive reads result from the decoder in a loop and sends down the result channel. +func (sw *StreamWatcher) receive() { + defer close(sw.result) + defer sw.Stop() + defer utilruntime.HandleCrash() + for { + action, obj, err := sw.source.Decode() + if err != nil { + // Ignore expected error. + if sw.stopping() { + return + } + switch err { + case io.EOF: + // watch closed normally + case io.ErrUnexpectedEOF: + glog.V(1).Infof("Unexpected EOF during watch stream event decoding: %v", err) + default: + msg := "Unable to decode an event from the watch stream: %v" + if net.IsProbableEOF(err) { + glog.V(5).Infof(msg, err) + } else { + glog.Errorf(msg, err) + } + } + return + } + sw.result <- Event{ + Type: action, + Object: obj, + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher_test.go b/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher_test.go new file mode 100644 index 00000000000..1e3029115f4 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/streamwatcher_test.go @@ -0,0 +1,68 @@ +/* +Copyright 2014 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 watch_test + +import ( + "io" + "reflect" + "testing" + + "k8s.io/apimachinery/pkg/runtime" + . "k8s.io/apimachinery/pkg/watch" +) + +type fakeDecoder struct { + items chan Event +} + +func (f fakeDecoder) Decode() (action EventType, object runtime.Object, err error) { + item, open := <-f.items + if !open { + return action, nil, io.EOF + } + return item.Type, item.Object, nil +} + +func (f fakeDecoder) Close() { + close(f.items) +} + +func TestStreamWatcher(t *testing.T) { + table := []Event{ + {Type: Added, Object: testType("foo")}, + } + + fd := fakeDecoder{make(chan Event, 5)} + sw := NewStreamWatcher(fd) + + for _, item := range table { + fd.items <- item + got, open := <-sw.ResultChan() + if !open { + t.Errorf("unexpected early close") + } + if e, a := item, got; !reflect.DeepEqual(e, a) { + t.Errorf("expected %v, got %v", e, a) + } + } + + sw.Stop() + _, open := <-sw.ResultChan() + if open { + t.Errorf("Unexpected failure to close") + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/until.go b/staging/src/k8s.io/apimachinery/pkg/watch/until.go new file mode 100644 index 00000000000..31ed280ddc9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/until.go @@ -0,0 +1,83 @@ +/* +Copyright 2016 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 watch + +import ( + "time" + + "k8s.io/apimachinery/pkg/util/wait" +) + +// ConditionFunc returns true if the condition has been reached, false if it has not been reached yet, +// or an error if the condition cannot be checked and should terminate. In general, it is better to define +// level driven conditions over edge driven conditions (pod has ready=true, vs pod modified and ready changed +// from false to true). +type ConditionFunc func(event Event) (bool, error) + +// Until reads items from the watch until each provided condition succeeds, and then returns the last watch +// encountered. The first condition that returns an error terminates the watch (and the event is also returned). +// If no event has been received, the returned event will be nil. +// Conditions are satisfied sequentially so as to provide a useful primitive for higher level composition. +// A zero timeout means to wait forever. +func Until(timeout time.Duration, watcher Interface, conditions ...ConditionFunc) (*Event, error) { + ch := watcher.ResultChan() + defer watcher.Stop() + var after <-chan time.Time + if timeout > 0 { + after = time.After(timeout) + } else { + ch := make(chan time.Time) + defer close(ch) + after = ch + } + var lastEvent *Event + for _, condition := range conditions { + // check the next condition against the previous event and short circuit waiting for the next watch + if lastEvent != nil { + done, err := condition(*lastEvent) + if err != nil { + return lastEvent, err + } + if done { + continue + } + } + ConditionSucceeded: + for { + select { + case event, ok := <-ch: + if !ok { + return lastEvent, wait.ErrWaitTimeout + } + lastEvent = &event + + // TODO: check for watch expired error and retry watch from latest point? + done, err := condition(event) + if err != nil { + return lastEvent, err + } + if done { + break ConditionSucceeded + } + + case <-after: + return lastEvent, wait.ErrWaitTimeout + } + } + } + return lastEvent, nil +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/watch.go b/staging/src/k8s.io/apimachinery/pkg/watch/watch.go new file mode 100644 index 00000000000..dd49c41f9ac --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/watch.go @@ -0,0 +1,269 @@ +/* +Copyright 2014 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 watch + +import ( + "fmt" + "sync" + + "k8s.io/apimachinery/pkg/runtime" + + "github.com/golang/glog" +) + +// Interface can be implemented by anything that knows how to watch and report changes. +type Interface interface { + // Stops watching. Will close the channel returned by ResultChan(). Releases + // any resources used by the watch. + Stop() + + // Returns a chan which will receive all the events. If an error occurs + // or Stop() is called, this channel will be closed, in which case the + // watch should be completely cleaned up. + ResultChan() <-chan Event +} + +// EventType defines the possible types of events. +type EventType string + +const ( + Added EventType = "ADDED" + Modified EventType = "MODIFIED" + Deleted EventType = "DELETED" + Error EventType = "ERROR" + + DefaultChanSize int32 = 100 +) + +// Event represents a single event to a watched resource. +type Event struct { + Type EventType + + // Object is: + // * If Type is Added or Modified: the new state of the object. + // * If Type is Deleted: the state of the object immediately before deletion. + // * If Type is Error: *api.Status is recommended; other types may make sense + // depending on context. + Object runtime.Object +} + +type emptyWatch chan Event + +// NewEmptyWatch returns a watch interface that returns no results and is closed. +// May be used in certain error conditions where no information is available but +// an error is not warranted. +func NewEmptyWatch() Interface { + ch := make(chan Event) + close(ch) + return emptyWatch(ch) +} + +// Stop implements Interface +func (w emptyWatch) Stop() { +} + +// ResultChan implements Interface +func (w emptyWatch) ResultChan() <-chan Event { + return chan Event(w) +} + +// FakeWatcher lets you test anything that consumes a watch.Interface; threadsafe. +type FakeWatcher struct { + result chan Event + Stopped bool + sync.Mutex +} + +func NewFake() *FakeWatcher { + return &FakeWatcher{ + result: make(chan Event), + } +} + +func NewFakeWithChanSize(size int, blocking bool) *FakeWatcher { + return &FakeWatcher{ + result: make(chan Event, size), + } +} + +// Stop implements Interface.Stop(). +func (f *FakeWatcher) Stop() { + f.Lock() + defer f.Unlock() + if !f.Stopped { + glog.V(4).Infof("Stopping fake watcher.") + close(f.result) + f.Stopped = true + } +} + +func (f *FakeWatcher) IsStopped() bool { + f.Lock() + defer f.Unlock() + return f.Stopped +} + +// Reset prepares the watcher to be reused. +func (f *FakeWatcher) Reset() { + f.Lock() + defer f.Unlock() + f.Stopped = false + f.result = make(chan Event) +} + +func (f *FakeWatcher) ResultChan() <-chan Event { + return f.result +} + +// Add sends an add event. +func (f *FakeWatcher) Add(obj runtime.Object) { + f.result <- Event{Added, obj} +} + +// Modify sends a modify event. +func (f *FakeWatcher) Modify(obj runtime.Object) { + f.result <- Event{Modified, obj} +} + +// Delete sends a delete event. +func (f *FakeWatcher) Delete(lastValue runtime.Object) { + f.result <- Event{Deleted, lastValue} +} + +// Error sends an Error event. +func (f *FakeWatcher) Error(errValue runtime.Object) { + f.result <- Event{Error, errValue} +} + +// Action sends an event of the requested type, for table-based testing. +func (f *FakeWatcher) Action(action EventType, obj runtime.Object) { + f.result <- Event{action, obj} +} + +// RaceFreeFakeWatcher lets you test anything that consumes a watch.Interface; threadsafe. +type RaceFreeFakeWatcher struct { + result chan Event + Stopped bool + sync.Mutex +} + +func NewRaceFreeFake() *RaceFreeFakeWatcher { + return &RaceFreeFakeWatcher{ + result: make(chan Event, DefaultChanSize), + } +} + +// Stop implements Interface.Stop(). +func (f *RaceFreeFakeWatcher) Stop() { + f.Lock() + defer f.Unlock() + if !f.Stopped { + glog.V(4).Infof("Stopping fake watcher.") + close(f.result) + f.Stopped = true + } +} + +func (f *RaceFreeFakeWatcher) IsStopped() bool { + f.Lock() + defer f.Unlock() + return f.Stopped +} + +// Reset prepares the watcher to be reused. +func (f *RaceFreeFakeWatcher) Reset() { + f.Lock() + defer f.Unlock() + f.Stopped = false + f.result = make(chan Event, DefaultChanSize) +} + +func (f *RaceFreeFakeWatcher) ResultChan() <-chan Event { + f.Lock() + defer f.Unlock() + return f.result +} + +// Add sends an add event. +func (f *RaceFreeFakeWatcher) Add(obj runtime.Object) { + f.Lock() + defer f.Unlock() + if !f.Stopped { + select { + case f.result <- Event{Added, obj}: + return + default: + panic(fmt.Errorf("channel full")) + } + } +} + +// Modify sends a modify event. +func (f *RaceFreeFakeWatcher) Modify(obj runtime.Object) { + f.Lock() + defer f.Unlock() + if !f.Stopped { + select { + case f.result <- Event{Modified, obj}: + return + default: + panic(fmt.Errorf("channel full")) + } + } +} + +// Delete sends a delete event. +func (f *RaceFreeFakeWatcher) Delete(lastValue runtime.Object) { + f.Lock() + defer f.Unlock() + if !f.Stopped { + select { + case f.result <- Event{Deleted, lastValue}: + return + default: + panic(fmt.Errorf("channel full")) + } + } +} + +// Error sends an Error event. +func (f *RaceFreeFakeWatcher) Error(errValue runtime.Object) { + f.Lock() + defer f.Unlock() + if !f.Stopped { + select { + case f.result <- Event{Error, errValue}: + return + default: + panic(fmt.Errorf("channel full")) + } + } +} + +// Action sends an event of the requested type, for table-based testing. +func (f *RaceFreeFakeWatcher) Action(action EventType, obj runtime.Object) { + f.Lock() + defer f.Unlock() + if !f.Stopped { + select { + case f.result <- Event{action, obj}: + return + default: + panic(fmt.Errorf("channel full")) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/watch/watch_test.go b/staging/src/k8s.io/apimachinery/pkg/watch/watch_test.go new file mode 100644 index 00000000000..42d39704ba9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/watch/watch_test.go @@ -0,0 +1,135 @@ +/* +Copyright 2014 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 watch_test + +import ( + "testing" + + "k8s.io/apimachinery/pkg/runtime/schema" + . "k8s.io/apimachinery/pkg/watch" +) + +type testType string + +func (obj testType) GetObjectKind() schema.ObjectKind { return schema.EmptyObjectKind } + +func TestFake(t *testing.T) { + f := NewFake() + + table := []struct { + t EventType + s testType + }{ + {Added, testType("foo")}, + {Modified, testType("qux")}, + {Modified, testType("bar")}, + {Deleted, testType("bar")}, + {Error, testType("error: blah")}, + } + + // Prove that f implements Interface by phrasing this as a function. + consumer := func(w Interface) { + for _, expect := range table { + got, ok := <-w.ResultChan() + if !ok { + t.Fatalf("closed early") + } + if e, a := expect.t, got.Type; e != a { + t.Fatalf("Expected %v, got %v", e, a) + } + if a, ok := got.Object.(testType); !ok || a != expect.s { + t.Fatalf("Expected %v, got %v", expect.s, a) + } + } + _, stillOpen := <-w.ResultChan() + if stillOpen { + t.Fatal("Never stopped") + } + } + + sender := func() { + f.Add(testType("foo")) + f.Action(Modified, testType("qux")) + f.Modify(testType("bar")) + f.Delete(testType("bar")) + f.Error(testType("error: blah")) + f.Stop() + } + + go sender() + consumer(f) +} + +func TestRaceFreeFake(t *testing.T) { + f := NewRaceFreeFake() + + table := []struct { + t EventType + s testType + }{ + {Added, testType("foo")}, + {Modified, testType("qux")}, + {Modified, testType("bar")}, + {Deleted, testType("bar")}, + {Error, testType("error: blah")}, + } + + // Prove that f implements Interface by phrasing this as a function. + consumer := func(w Interface) { + for _, expect := range table { + got, ok := <-w.ResultChan() + if !ok { + t.Fatalf("closed early") + } + if e, a := expect.t, got.Type; e != a { + t.Fatalf("Expected %v, got %v", e, a) + } + if a, ok := got.Object.(testType); !ok || a != expect.s { + t.Fatalf("Expected %v, got %v", expect.s, a) + } + } + _, stillOpen := <-w.ResultChan() + if stillOpen { + t.Fatal("Never stopped") + } + } + + sender := func() { + f.Add(testType("foo")) + f.Action(Modified, testType("qux")) + f.Modify(testType("bar")) + f.Delete(testType("bar")) + f.Error(testType("error: blah")) + f.Stop() + } + + go sender() + consumer(f) +} + +func TestEmpty(t *testing.T) { + w := NewEmptyWatch() + _, ok := <-w.ResultChan() + if ok { + t.Errorf("unexpected result channel result") + } + w.Stop() + _, ok = <-w.ResultChan() + if ok { + t.Errorf("unexpected result channel result") + } +} diff --git a/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal.go b/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal.go new file mode 100644 index 00000000000..9e45dbe1d21 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal.go @@ -0,0 +1,388 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package reflect is a fork of go's standard library reflection package, which +// allows for deep equal with equality functions defined. +package reflect + +import ( + "fmt" + "reflect" + "strings" +) + +// Equalities is a map from type to a function comparing two values of +// that type. +type Equalities map[reflect.Type]reflect.Value + +// For convenience, panics on errrors +func EqualitiesOrDie(funcs ...interface{}) Equalities { + e := Equalities{} + if err := e.AddFuncs(funcs...); err != nil { + panic(err) + } + return e +} + +// AddFuncs is a shortcut for multiple calls to AddFunc. +func (e Equalities) AddFuncs(funcs ...interface{}) error { + for _, f := range funcs { + if err := e.AddFunc(f); err != nil { + return err + } + } + return nil +} + +// AddFunc uses func as an equality function: it must take +// two parameters of the same type, and return a boolean. +func (e Equalities) AddFunc(eqFunc interface{}) error { + fv := reflect.ValueOf(eqFunc) + ft := fv.Type() + if ft.Kind() != reflect.Func { + return fmt.Errorf("expected func, got: %v", ft) + } + if ft.NumIn() != 2 { + return fmt.Errorf("expected three 'in' params, got: %v", ft) + } + if ft.NumOut() != 1 { + return fmt.Errorf("expected one 'out' param, got: %v", ft) + } + if ft.In(0) != ft.In(1) { + return fmt.Errorf("expected arg 1 and 2 to have same type, but got %v", ft) + } + var forReturnType bool + boolType := reflect.TypeOf(forReturnType) + if ft.Out(0) != boolType { + return fmt.Errorf("expected bool return, got: %v", ft) + } + e[ft.In(0)] = fv + return nil +} + +// Below here is forked from go's reflect/deepequal.go + +// During deepValueEqual, must keep track of checks that are +// in progress. The comparison algorithm assumes that all +// checks in progress are true when it reencounters them. +// Visited comparisons are stored in a map indexed by visit. +type visit struct { + a1 uintptr + a2 uintptr + typ reflect.Type +} + +// unexportedTypePanic is thrown when you use this DeepEqual on something that has an +// unexported type. It indicates a programmer error, so should not occur at runtime, +// which is why it's not public and thus impossible to catch. +type unexportedTypePanic []reflect.Type + +func (u unexportedTypePanic) Error() string { return u.String() } +func (u unexportedTypePanic) String() string { + strs := make([]string, len(u)) + for i, t := range u { + strs[i] = fmt.Sprintf("%v", t) + } + return "an unexported field was encountered, nested like this: " + strings.Join(strs, " -> ") +} + +func makeUsefulPanic(v reflect.Value) { + if x := recover(); x != nil { + if u, ok := x.(unexportedTypePanic); ok { + u = append(unexportedTypePanic{v.Type()}, u...) + x = u + } + panic(x) + } +} + +// Tests for deep equality using reflected types. The map argument tracks +// comparisons that have already been seen, which allows short circuiting on +// recursive types. +func (e Equalities) deepValueEqual(v1, v2 reflect.Value, visited map[visit]bool, depth int) bool { + defer makeUsefulPanic(v1) + + if !v1.IsValid() || !v2.IsValid() { + return v1.IsValid() == v2.IsValid() + } + if v1.Type() != v2.Type() { + return false + } + if fv, ok := e[v1.Type()]; ok { + return fv.Call([]reflect.Value{v1, v2})[0].Bool() + } + + hard := func(k reflect.Kind) bool { + switch k { + case reflect.Array, reflect.Map, reflect.Slice, reflect.Struct: + return true + } + return false + } + + if v1.CanAddr() && v2.CanAddr() && hard(v1.Kind()) { + addr1 := v1.UnsafeAddr() + addr2 := v2.UnsafeAddr() + if addr1 > addr2 { + // Canonicalize order to reduce number of entries in visited. + addr1, addr2 = addr2, addr1 + } + + // Short circuit if references are identical ... + if addr1 == addr2 { + return true + } + + // ... or already seen + typ := v1.Type() + v := visit{addr1, addr2, typ} + if visited[v] { + return true + } + + // Remember for later. + visited[v] = true + } + + switch v1.Kind() { + case reflect.Array: + // We don't need to check length here because length is part of + // an array's type, which has already been filtered for. + for i := 0; i < v1.Len(); i++ { + if !e.deepValueEqual(v1.Index(i), v2.Index(i), visited, depth+1) { + return false + } + } + return true + case reflect.Slice: + if (v1.IsNil() || v1.Len() == 0) != (v2.IsNil() || v2.Len() == 0) { + return false + } + if v1.IsNil() || v1.Len() == 0 { + return true + } + if v1.Len() != v2.Len() { + return false + } + if v1.Pointer() == v2.Pointer() { + return true + } + for i := 0; i < v1.Len(); i++ { + if !e.deepValueEqual(v1.Index(i), v2.Index(i), visited, depth+1) { + return false + } + } + return true + case reflect.Interface: + if v1.IsNil() || v2.IsNil() { + return v1.IsNil() == v2.IsNil() + } + return e.deepValueEqual(v1.Elem(), v2.Elem(), visited, depth+1) + case reflect.Ptr: + return e.deepValueEqual(v1.Elem(), v2.Elem(), visited, depth+1) + case reflect.Struct: + for i, n := 0, v1.NumField(); i < n; i++ { + if !e.deepValueEqual(v1.Field(i), v2.Field(i), visited, depth+1) { + return false + } + } + return true + case reflect.Map: + if (v1.IsNil() || v1.Len() == 0) != (v2.IsNil() || v2.Len() == 0) { + return false + } + if v1.IsNil() || v1.Len() == 0 { + return true + } + if v1.Len() != v2.Len() { + return false + } + if v1.Pointer() == v2.Pointer() { + return true + } + for _, k := range v1.MapKeys() { + if !e.deepValueEqual(v1.MapIndex(k), v2.MapIndex(k), visited, depth+1) { + return false + } + } + return true + case reflect.Func: + if v1.IsNil() && v2.IsNil() { + return true + } + // Can't do better than this: + return false + default: + // Normal equality suffices + if !v1.CanInterface() || !v2.CanInterface() { + panic(unexportedTypePanic{}) + } + return v1.Interface() == v2.Interface() + } +} + +// DeepEqual is like reflect.DeepEqual, but focused on semantic equality +// instead of memory equality. +// +// It will use e's equality functions if it finds types that match. +// +// An empty slice *is* equal to a nil slice for our purposes; same for maps. +// +// Unexported field members cannot be compared and will cause an imformative panic; you must add an Equality +// function for these types. +func (e Equalities) DeepEqual(a1, a2 interface{}) bool { + if a1 == nil || a2 == nil { + return a1 == a2 + } + v1 := reflect.ValueOf(a1) + v2 := reflect.ValueOf(a2) + if v1.Type() != v2.Type() { + return false + } + return e.deepValueEqual(v1, v2, make(map[visit]bool), 0) +} + +func (e Equalities) deepValueDerive(v1, v2 reflect.Value, visited map[visit]bool, depth int) bool { + defer makeUsefulPanic(v1) + + if !v1.IsValid() || !v2.IsValid() { + return v1.IsValid() == v2.IsValid() + } + if v1.Type() != v2.Type() { + return false + } + if fv, ok := e[v1.Type()]; ok { + return fv.Call([]reflect.Value{v1, v2})[0].Bool() + } + + hard := func(k reflect.Kind) bool { + switch k { + case reflect.Array, reflect.Map, reflect.Slice, reflect.Struct: + return true + } + return false + } + + if v1.CanAddr() && v2.CanAddr() && hard(v1.Kind()) { + addr1 := v1.UnsafeAddr() + addr2 := v2.UnsafeAddr() + if addr1 > addr2 { + // Canonicalize order to reduce number of entries in visited. + addr1, addr2 = addr2, addr1 + } + + // Short circuit if references are identical ... + if addr1 == addr2 { + return true + } + + // ... or already seen + typ := v1.Type() + v := visit{addr1, addr2, typ} + if visited[v] { + return true + } + + // Remember for later. + visited[v] = true + } + + switch v1.Kind() { + case reflect.Array: + // We don't need to check length here because length is part of + // an array's type, which has already been filtered for. + for i := 0; i < v1.Len(); i++ { + if !e.deepValueDerive(v1.Index(i), v2.Index(i), visited, depth+1) { + return false + } + } + return true + case reflect.Slice: + if v1.IsNil() || v1.Len() == 0 { + return true + } + if v1.Len() > v2.Len() { + return false + } + if v1.Pointer() == v2.Pointer() { + return true + } + for i := 0; i < v1.Len(); i++ { + if !e.deepValueDerive(v1.Index(i), v2.Index(i), visited, depth+1) { + return false + } + } + return true + case reflect.String: + if v1.Len() == 0 { + return true + } + if v1.Len() > v2.Len() { + return false + } + return v1.String() == v2.String() + case reflect.Interface: + if v1.IsNil() { + return true + } + return e.deepValueDerive(v1.Elem(), v2.Elem(), visited, depth+1) + case reflect.Ptr: + if v1.IsNil() { + return true + } + return e.deepValueDerive(v1.Elem(), v2.Elem(), visited, depth+1) + case reflect.Struct: + for i, n := 0, v1.NumField(); i < n; i++ { + if !e.deepValueDerive(v1.Field(i), v2.Field(i), visited, depth+1) { + return false + } + } + return true + case reflect.Map: + if v1.IsNil() || v1.Len() == 0 { + return true + } + if v1.Len() > v2.Len() { + return false + } + if v1.Pointer() == v2.Pointer() { + return true + } + for _, k := range v1.MapKeys() { + if !e.deepValueDerive(v1.MapIndex(k), v2.MapIndex(k), visited, depth+1) { + return false + } + } + return true + case reflect.Func: + if v1.IsNil() && v2.IsNil() { + return true + } + // Can't do better than this: + return false + default: + // Normal equality suffices + if !v1.CanInterface() || !v2.CanInterface() { + panic(unexportedTypePanic{}) + } + return v1.Interface() == v2.Interface() + } +} + +// DeepDerivative is similar to DeepEqual except that unset fields in a1 are +// ignored (not compared). This allows us to focus on the fields that matter to +// the semantic comparison. +// +// The unset fields include a nil pointer and an empty string. +func (e Equalities) DeepDerivative(a1, a2 interface{}) bool { + if a1 == nil { + return true + } + v1 := reflect.ValueOf(a1) + v2 := reflect.ValueOf(a2) + if v1.Type() != v2.Type() { + return false + } + return e.deepValueDerive(v1, v2, make(map[visit]bool), 0) +} diff --git a/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal_test.go b/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal_test.go new file mode 100644 index 00000000000..4a062993096 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal_test.go @@ -0,0 +1,137 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package reflect + +import ( + "testing" +) + +func TestEqualities(t *testing.T) { + e := Equalities{} + type Bar struct { + X int + } + type Baz struct { + Y Bar + } + err := e.AddFuncs( + func(a, b int) bool { + return a+1 == b + }, + func(a, b Bar) bool { + return a.X*10 == b.X + }, + ) + if err != nil { + t.Fatalf("Unexpected: %v", err) + } + + type Foo struct { + X int + } + + table := []struct { + a, b interface{} + equal bool + }{ + {1, 2, true}, + {2, 1, false}, + {"foo", "fo", false}, + {"foo", "foo", true}, + {"foo", "foobar", false}, + {Foo{1}, Foo{2}, true}, + {Foo{2}, Foo{1}, false}, + {Bar{1}, Bar{10}, true}, + {&Bar{1}, &Bar{10}, true}, + {Baz{Bar{1}}, Baz{Bar{10}}, true}, + {[...]string{}, [...]string{"1", "2", "3"}, false}, + {[...]string{"1"}, [...]string{"1", "2", "3"}, false}, + {[...]string{"1", "2", "3"}, [...]string{}, false}, + {[...]string{"1", "2", "3"}, [...]string{"1", "2", "3"}, true}, + {map[string]int{"foo": 1}, map[string]int{}, false}, + {map[string]int{"foo": 1}, map[string]int{"foo": 2}, true}, + {map[string]int{"foo": 2}, map[string]int{"foo": 1}, false}, + {map[string]int{"foo": 1}, map[string]int{"foo": 2, "bar": 6}, false}, + {map[string]int{"foo": 1, "bar": 6}, map[string]int{"foo": 2}, false}, + {map[string]int{}, map[string]int(nil), true}, + {[]string(nil), []string(nil), true}, + {[]string{}, []string(nil), true}, + {[]string(nil), []string{}, true}, + {[]string{"1"}, []string(nil), false}, + {[]string{}, []string{"1", "2", "3"}, false}, + {[]string{"1"}, []string{"1", "2", "3"}, false}, + {[]string{"1", "2", "3"}, []string{}, false}, + } + + for _, item := range table { + if e, a := item.equal, e.DeepEqual(item.a, item.b); e != a { + t.Errorf("Expected (%+v == %+v) == %v, but got %v", item.a, item.b, e, a) + } + } +} + +func TestDerivates(t *testing.T) { + e := Equalities{} + type Bar struct { + X int + } + type Baz struct { + Y Bar + } + err := e.AddFuncs( + func(a, b int) bool { + return a+1 == b + }, + func(a, b Bar) bool { + return a.X*10 == b.X + }, + ) + if err != nil { + t.Fatalf("Unexpected: %v", err) + } + + type Foo struct { + X int + } + + table := []struct { + a, b interface{} + equal bool + }{ + {1, 2, true}, + {2, 1, false}, + {"foo", "fo", false}, + {"foo", "foo", true}, + {"foo", "foobar", false}, + {Foo{1}, Foo{2}, true}, + {Foo{2}, Foo{1}, false}, + {Bar{1}, Bar{10}, true}, + {&Bar{1}, &Bar{10}, true}, + {Baz{Bar{1}}, Baz{Bar{10}}, true}, + {[...]string{}, [...]string{"1", "2", "3"}, false}, + {[...]string{"1"}, [...]string{"1", "2", "3"}, false}, + {[...]string{"1", "2", "3"}, [...]string{}, false}, + {[...]string{"1", "2", "3"}, [...]string{"1", "2", "3"}, true}, + {map[string]int{"foo": 1}, map[string]int{}, false}, + {map[string]int{"foo": 1}, map[string]int{"foo": 2}, true}, + {map[string]int{"foo": 2}, map[string]int{"foo": 1}, false}, + {map[string]int{"foo": 1}, map[string]int{"foo": 2, "bar": 6}, true}, + {map[string]int{"foo": 1, "bar": 6}, map[string]int{"foo": 2}, false}, + {map[string]int{}, map[string]int(nil), true}, + {[]string(nil), []string(nil), true}, + {[]string{}, []string(nil), true}, + {[]string(nil), []string{}, true}, + {[]string{"1"}, []string(nil), false}, + {[]string{}, []string{"1", "2", "3"}, true}, + {[]string{"1"}, []string{"1", "2", "3"}, true}, + {[]string{"1", "2", "3"}, []string{}, false}, + } + + for _, item := range table { + if e, a := item.equal, e.DeepDerivative(item.a, item.b); e != a { + t.Errorf("Expected (%+v ~ %+v) == %v, but got %v", item.a, item.b, e, a) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/type.go b/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/type.go new file mode 100644 index 00000000000..67957ee33e9 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/third_party/forked/golang/reflect/type.go @@ -0,0 +1,91 @@ +//This package is copied from Go library reflect/type.go. +//The struct tag library provides no way to extract the list of struct tags, only +//a specific tag +package reflect + +import ( + "fmt" + + "strconv" + "strings" +) + +type StructTag struct { + Name string + Value string +} + +func (t StructTag) String() string { + return fmt.Sprintf("%s:%q", t.Name, t.Value) +} + +type StructTags []StructTag + +func (tags StructTags) String() string { + s := make([]string, 0, len(tags)) + for _, tag := range tags { + s = append(s, tag.String()) + } + return "`" + strings.Join(s, " ") + "`" +} + +func (tags StructTags) Has(name string) bool { + for i := range tags { + if tags[i].Name == name { + return true + } + } + return false +} + +// ParseStructTags returns the full set of fields in a struct tag in the order they appear in +// the struct tag. +func ParseStructTags(tag string) (StructTags, error) { + tags := StructTags{} + for tag != "" { + // Skip leading space. + i := 0 + for i < len(tag) && tag[i] == ' ' { + i++ + } + tag = tag[i:] + if tag == "" { + break + } + + // Scan to colon. A space, a quote or a control character is a syntax error. + // Strictly speaking, control chars include the range [0x7f, 0x9f], not just + // [0x00, 0x1f], but in practice, we ignore the multi-byte control characters + // as it is simpler to inspect the tag's bytes than the tag's runes. + i = 0 + for i < len(tag) && tag[i] > ' ' && tag[i] != ':' && tag[i] != '"' && tag[i] != 0x7f { + i++ + } + if i == 0 || i+1 >= len(tag) || tag[i] != ':' || tag[i+1] != '"' { + break + } + name := string(tag[:i]) + tag = tag[i+1:] + + // Scan quoted string to find value. + i = 1 + for i < len(tag) && tag[i] != '"' { + if tag[i] == '\\' { + i++ + } + i++ + } + if i >= len(tag) { + break + } + qvalue := string(tag[:i+1]) + tag = tag[i+1:] + + value, err := strconv.Unquote(qvalue) + if err != nil { + return nil, err + } + tags = append(tags, StructTag{Name: name, Value: value}) + } + return tags, nil +} diff --git a/test/e2e/BUILD b/test/e2e/BUILD index 0f4d3abf6a3..26091794ba4 100644 --- a/test/e2e/BUILD +++ b/test/e2e/BUILD @@ -119,7 +119,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/api/v1/service:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/batch:go_default_library", @@ -127,7 +126,6 @@ go_library( "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", @@ -156,33 +154,22 @@ go_library( "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", "//pkg/kubelet/pod:go_default_library", - "//pkg/labels:go_default_library", "//pkg/master/ports:go_default_library", "//pkg/metrics:go_default_library", "//pkg/quota/evaluator/core:go_default_library", "//pkg/registry/generic/registry:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", "//pkg/serviceaccount:go_default_library", - "//pkg/types:go_default_library", "//pkg/util:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/flowcontrol:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/json:go_default_library", "//pkg/util/logs:go_default_library", - "//pkg/util/net:go_default_library", - "//pkg/util/runtime:go_default_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/volume/util/volumehelper:go_default_library", - "//pkg/watch:go_default_library", "//plugin/pkg/admission/serviceaccount:go_default_library", "//test/e2e/chaosmonkey:go_default_library", "//test/e2e/common:go_default_library", @@ -209,6 +196,19 @@ go_library( "//vendor:google.golang.org/api/compute/v1", "//vendor:google.golang.org/api/googleapi", "//vendor:gopkg.in/inf.v0", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/json", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes", "//vendor:k8s.io/client-go/pkg/api/v1", "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1", diff --git a/test/e2e/addon_update.go b/test/e2e/addon_update.go index 19d1e3c9377..eb8d52ec41e 100644 --- a/test/e2e/addon_update.go +++ b/test/e2e/addon_update.go @@ -25,8 +25,8 @@ import ( "time" "golang.org/x/crypto/ssh" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/autoscaling_utils.go b/test/e2e/autoscaling_utils.go index 8d8c9b6dea9..62b79ba1dbf 100644 --- a/test/e2e/autoscaling_utils.go +++ b/test/e2e/autoscaling_utils.go @@ -21,8 +21,8 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/util/intstr" diff --git a/test/e2e/cluster_logging_es.go b/test/e2e/cluster_logging_es.go index 3e76ba53427..7b411c6e573 100644 --- a/test/e2e/cluster_logging_es.go +++ b/test/e2e/cluster_logging_es.go @@ -23,10 +23,10 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/cluster_logging_gcl.go b/test/e2e/cluster_logging_gcl.go index 9d5e65687ee..19145835ccb 100644 --- a/test/e2e/cluster_logging_gcl.go +++ b/test/e2e/cluster_logging_gcl.go @@ -23,8 +23,8 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/util/json" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util/json" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/cluster_logging_utils.go b/test/e2e/cluster_logging_utils.go index b28b46c820c..e77449764f2 100644 --- a/test/e2e/cluster_logging_utils.go +++ b/test/e2e/cluster_logging_utils.go @@ -21,10 +21,10 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/cluster_size_autoscaling.go b/test/e2e/cluster_size_autoscaling.go index 8b4855ea4ff..e77a9e40992 100644 --- a/test/e2e/cluster_size_autoscaling.go +++ b/test/e2e/cluster_size_autoscaling.go @@ -26,11 +26,11 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/cluster_upgrade.go b/test/e2e/cluster_upgrade.go index ab2f66b96bf..8b969dbb77e 100644 --- a/test/e2e/cluster_upgrade.go +++ b/test/e2e/cluster_upgrade.go @@ -21,9 +21,9 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/chaosmonkey" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/common/BUILD b/test/e2e/common/BUILD index b1845f3bf2f..c35a1f907a1 100644 --- a/test/e2e/common/BUILD +++ b/test/e2e/common/BUILD @@ -34,25 +34,25 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", - "//pkg/apimachinery/registered:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/conditions:go_default_library", "//pkg/kubelet:go_default_library", "//pkg/kubelet/events:go_default_library", "//pkg/kubelet/sysctl:go_default_library", - "//pkg/labels:go_default_library", "//pkg/util/intstr:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", - "//pkg/watch:go_default_library", "//test/e2e/framework:go_default_library", "//test/utils:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/onsi/ginkgo", "//vendor:github.com/onsi/gomega", "//vendor:golang.org/x/net/websocket", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/test/e2e/common/container_probe.go b/test/e2e/common/container_probe.go index 2d0dbe35e6e..5655ad94235 100644 --- a/test/e2e/common/container_probe.go +++ b/test/e2e/common/container_probe.go @@ -20,8 +20,8 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/common/downwardapi_volume.go b/test/e2e/common/downwardapi_volume.go index 8e82aebb292..cfe78608ecb 100644 --- a/test/e2e/common/downwardapi_volume.go +++ b/test/e2e/common/downwardapi_volume.go @@ -20,9 +20,9 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/common/empty_dir.go b/test/e2e/common/empty_dir.go index 76b4480ff76..32f88f27d7c 100644 --- a/test/e2e/common/empty_dir.go +++ b/test/e2e/common/empty_dir.go @@ -20,9 +20,9 @@ import ( "fmt" "path" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/common/host_path.go b/test/e2e/common/host_path.go index dc374f45d2d..8f4c00ab8e5 100644 --- a/test/e2e/common/host_path.go +++ b/test/e2e/common/host_path.go @@ -21,9 +21,9 @@ import ( "os" "path" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/common/init_container.go b/test/e2e/common/init_container.go index 1496fcf5e20..f4b8fd4d0a8 100644 --- a/test/e2e/common/init_container.go +++ b/test/e2e/common/init_container.go @@ -21,12 +21,12 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" podutil "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/pkg/client/conditions" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/common/networking.go b/test/e2e/common/networking.go index dd6d5e53c0d..1fe9a56a785 100644 --- a/test/e2e/common/networking.go +++ b/test/e2e/common/networking.go @@ -18,7 +18,7 @@ package common import ( . "github.com/onsi/ginkgo" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/common/pods.go b/test/e2e/common/pods.go index c663c2bbb1a..df83e0b5ba7 100644 --- a/test/e2e/common/pods.go +++ b/test/e2e/common/pods.go @@ -26,14 +26,14 @@ import ( "golang.org/x/net/websocket" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/common/sysctl.go b/test/e2e/common/sysctl.go index 1d149ddcc40..4216ef91a65 100644 --- a/test/e2e/common/sysctl.go +++ b/test/e2e/common/sysctl.go @@ -19,12 +19,12 @@ package common import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/events" "k8s.io/kubernetes/pkg/kubelet/sysctl" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/common/util.go b/test/e2e/common/util.go index 0a66dabb10c..9db11885b5f 100644 --- a/test/e2e/common/util.go +++ b/test/e2e/common/util.go @@ -17,7 +17,7 @@ limitations under the License. package common import ( - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" ) type Suite string diff --git a/test/e2e/common/volumes.go b/test/e2e/common/volumes.go index f230e3620b0..8793233275b 100644 --- a/test/e2e/common/volumes.go +++ b/test/e2e/common/volumes.go @@ -47,9 +47,9 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/cronjob.go b/test/e2e/cronjob.go index 7bb16e97316..2048f0bd384 100644 --- a/test/e2e/cronjob.go +++ b/test/e2e/cronjob.go @@ -23,18 +23,18 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" batchinternal "k8s.io/kubernetes/pkg/apis/batch" batchv1 "k8s.io/kubernetes/pkg/apis/batch/v1" batch "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/job" "k8s.io/kubernetes/pkg/kubectl" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/daemon_restart.go b/test/e2e/daemon_restart.go index 54183621745..1f463f80db1 100644 --- a/test/e2e/daemon_restart.go +++ b/test/e2e/daemon_restart.go @@ -21,16 +21,16 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/master/ports" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/daemon_set.go b/test/e2e/daemon_set.go index ab37d803fdf..f4fdb4f26bc 100644 --- a/test/e2e/daemon_set.go +++ b/test/e2e/daemon_set.go @@ -22,18 +22,18 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/kubectl" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/dashboard.go b/test/e2e/dashboard.go index d7125c4441a..5f815d63d62 100644 --- a/test/e2e/dashboard.go +++ b/test/e2e/dashboard.go @@ -20,9 +20,9 @@ import ( "net/http" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/density.go b/test/e2e/density.go index 6ff76c917a8..9e90045d6bf 100644 --- a/test/e2e/density.go +++ b/test/e2e/density.go @@ -25,23 +25,23 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" utiluuid "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/workqueue" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/deployment.go b/test/e2e/deployment.go index 2c5da6ed607..87e8b61f656 100644 --- a/test/e2e/deployment.go +++ b/test/e2e/deployment.go @@ -24,23 +24,23 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/annotations" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" deploymentutil "k8s.io/kubernetes/pkg/controller/deployment/util" "k8s.io/kubernetes/pkg/kubectl" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/disruption.go b/test/e2e/disruption.go index 3a5ed3a55dd..3f1db631136 100644 --- a/test/e2e/disruption.go +++ b/test/e2e/disruption.go @@ -22,13 +22,13 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/kubernetes" "k8s.io/client-go/pkg/api/v1" extensions "k8s.io/client-go/pkg/apis/extensions/v1beta1" metav1 "k8s.io/client-go/pkg/apis/meta/v1" policy "k8s.io/client-go/pkg/apis/policy/v1beta1" "k8s.io/client-go/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/dns.go b/test/e2e/dns.go index 4c7a97606ef..6a4d0ce4dd3 100644 --- a/test/e2e/dns.go +++ b/test/e2e/dns.go @@ -23,15 +23,15 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/pod" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/dns_autoscaling.go b/test/e2e/dns_autoscaling.go index 21325add5b8..07f07cf3c95 100644 --- a/test/e2e/dns_autoscaling.go +++ b/test/e2e/dns_autoscaling.go @@ -23,13 +23,13 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/dns_configmap.go b/test/e2e/dns_configmap.go index 021f0c0d720..4ac19d36333 100644 --- a/test/e2e/dns_configmap.go +++ b/test/e2e/dns_configmap.go @@ -21,13 +21,13 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/e2e.go b/test/e2e/e2e.go index 800913c5c88..081adfb8494 100644 --- a/test/e2e/e2e.go +++ b/test/e2e/e2e.go @@ -30,15 +30,15 @@ import ( "github.com/onsi/ginkgo/reporters" "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/runtime" + runtimeutils "k8s.io/apimachinery/pkg/util/runtime" + utilyaml "k8s.io/apimachinery/pkg/util/yaml" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/logs" - runtimeutils "k8s.io/kubernetes/pkg/util/runtime" - utilyaml "k8s.io/kubernetes/pkg/util/yaml" commontest "k8s.io/kubernetes/test/e2e/common" "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/generated" diff --git a/test/e2e/etcd_failure.go b/test/e2e/etcd_failure.go index d18fd8ef86f..20ade3ad302 100644 --- a/test/e2e/etcd_failure.go +++ b/test/e2e/etcd_failure.go @@ -19,9 +19,9 @@ package e2e import ( "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/events.go b/test/e2e/events.go index c174b328088..3117d558e94 100644 --- a/test/e2e/events.go +++ b/test/e2e/events.go @@ -21,12 +21,12 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/example_cluster_dns.go b/test/e2e/example_cluster_dns.go index d70d3958340..3c98c2ee14c 100644 --- a/test/e2e/example_cluster_dns.go +++ b/test/e2e/example_cluster_dns.go @@ -21,10 +21,10 @@ import ( "path/filepath" "time" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/examples.go b/test/e2e/examples.go index c4d419a4bbf..0e606280c2f 100644 --- a/test/e2e/examples.go +++ b/test/e2e/examples.go @@ -26,11 +26,11 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/generated" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/federated-ingress.go b/test/e2e/federated-ingress.go index 0b7238707c1..29fa23e4c20 100644 --- a/test/e2e/federated-ingress.go +++ b/test/e2e/federated-ingress.go @@ -25,14 +25,14 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/federated-namespace.go b/test/e2e/federated-namespace.go index 6eb4b728ce6..bc9cd45dd9f 100644 --- a/test/e2e/federated-namespace.go +++ b/test/e2e/federated-namespace.go @@ -22,12 +22,12 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" clientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset/typed/core/v1" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" api_v1 "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/federated-secret.go b/test/e2e/federated-secret.go index c27f231d437..a1a63f88c13 100644 --- a/test/e2e/federated-secret.go +++ b/test/e2e/federated-secret.go @@ -23,13 +23,13 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/federated-service.go b/test/e2e/federated-service.go index ac90ed8355b..7d498dc4c87 100644 --- a/test/e2e/federated-service.go +++ b/test/e2e/federated-service.go @@ -24,12 +24,12 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/federation-apiserver.go b/test/e2e/federation-apiserver.go index f93f2eddeed..05a160aff4c 100644 --- a/test/e2e/federation-apiserver.go +++ b/test/e2e/federation-apiserver.go @@ -21,11 +21,11 @@ import ( "time" . "github.com/onsi/ginkgo" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/gomega" diff --git a/test/e2e/federation-daemonset.go b/test/e2e/federation-daemonset.go index 989bb9e1aec..2106c1848fb 100644 --- a/test/e2e/federation-daemonset.go +++ b/test/e2e/federation-daemonset.go @@ -23,14 +23,14 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/federation-deployment.go b/test/e2e/federation-deployment.go index a27d2b0064a..e4a2af1f3f0 100644 --- a/test/e2e/federation-deployment.go +++ b/test/e2e/federation-deployment.go @@ -22,12 +22,12 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" fedutil "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/federation-replicaset.go b/test/e2e/federation-replicaset.go index 8b0da2308ab..d2f045fe641 100644 --- a/test/e2e/federation-replicaset.go +++ b/test/e2e/federation-replicaset.go @@ -22,12 +22,12 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" fedutil "k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" "reflect" diff --git a/test/e2e/federation-util.go b/test/e2e/federation-util.go index 266e029604a..a5ed9a58256 100644 --- a/test/e2e/federation-util.go +++ b/test/e2e/federation-util.go @@ -22,17 +22,17 @@ import ( "k8s.io/kubernetes/pkg/util/intstr" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/firewall.go b/test/e2e/firewall.go index 73089d52690..d125068afba 100644 --- a/test/e2e/firewall.go +++ b/test/e2e/firewall.go @@ -19,11 +19,11 @@ package e2e import ( "fmt" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" "k8s.io/kubernetes/pkg/master/ports" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/framework/BUILD b/test/e2e/framework/BUILD index a1ed33932ae..838aef0a7c5 100644 --- a/test/e2e/framework/BUILD +++ b/test/e2e/framework/BUILD @@ -39,7 +39,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", "//pkg/api/validation:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/authorization/v1beta1:go_default_library", "//pkg/apis/batch:go_default_library", @@ -47,8 +46,6 @@ go_library( "//pkg/apis/componentconfig:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/apis/meta/v1/unstructured:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/authorization/v1beta1:go_default_library", @@ -73,27 +70,16 @@ go_library( "//pkg/kubelet/server/remotecommand:go_default_library", "//pkg/kubelet/server/stats:go_default_library", "//pkg/kubelet/util/format:go_default_library", - "//pkg/labels:go_default_library", "//pkg/master/ports:go_default_library", "//pkg/metrics:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/ssh:go_default_library", - "//pkg/types:go_default_library", - "//pkg/util/errors:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/labels:go_default_library", - "//pkg/util/net:go_default_library", "//pkg/util/rand:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_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/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", @@ -112,6 +98,20 @@ go_library( "//vendor:google.golang.org/api/compute/v1", "//vendor:google.golang.org/api/googleapi", "//vendor:gopkg.in/yaml.v2", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/client-go/kubernetes", "//vendor:k8s.io/client-go/pkg/util/sets", "//vendor:k8s.io/client-go/rest", diff --git a/test/e2e/framework/authorizer_util.go b/test/e2e/framework/authorizer_util.go index a878470c86d..d728401ccc1 100644 --- a/test/e2e/framework/authorizer_util.go +++ b/test/e2e/framework/authorizer_util.go @@ -20,14 +20,14 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" apierrors "k8s.io/kubernetes/pkg/api/errors" legacyv1 "k8s.io/kubernetes/pkg/api/v1" authorizationv1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" v1beta1authorization "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/authorization/v1beta1" v1alpha1rbac "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/test/e2e/framework/exec_util.go b/test/e2e/framework/exec_util.go index ffe74fb7a6a..d4b84e9ee0b 100644 --- a/test/e2e/framework/exec_util.go +++ b/test/e2e/framework/exec_util.go @@ -22,9 +22,9 @@ import ( "net/url" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/remotecommand" remotecommandserver "k8s.io/kubernetes/pkg/kubelet/server/remotecommand" diff --git a/test/e2e/framework/federation_util.go b/test/e2e/framework/federation_util.go index 7ac377e2b21..da5caacf097 100644 --- a/test/e2e/framework/federation_util.go +++ b/test/e2e/framework/federation_util.go @@ -20,8 +20,8 @@ import ( "fmt" "regexp" + validationutil "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api/validation" - validationutil "k8s.io/kubernetes/pkg/util/validation" ) // GetValidDNSSubdomainName massages the given name to be a valid dns subdomain name. diff --git a/test/e2e/framework/firewall_util.go b/test/e2e/framework/firewall_util.go index 8241b7d4b18..c0530bf7ceb 100644 --- a/test/e2e/framework/firewall_util.go +++ b/test/e2e/framework/firewall_util.go @@ -22,11 +22,11 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" - "k8s.io/kubernetes/pkg/util/sets" . "github.com/onsi/gomega" compute "google.golang.org/api/compute/v1" diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go index ede7fd1c4f1..a1e817c1125 100644 --- a/test/e2e/framework/framework.go +++ b/test/e2e/framework/framework.go @@ -26,6 +26,11 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" staging "k8s.io/client-go/kubernetes" "k8s.io/client-go/pkg/util/sets" clientreporestclient "k8s.io/client-go/rest" @@ -33,18 +38,13 @@ import ( "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/metrics" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" testutils "k8s.io/kubernetes/test/utils" . "github.com/onsi/ginkgo" diff --git a/test/e2e/framework/kubelet_stats.go b/test/e2e/framework/kubelet_stats.go index 63dccb01b65..adca33d0889 100644 --- a/test/e2e/framework/kubelet_stats.go +++ b/test/e2e/framework/kubelet_stats.go @@ -29,6 +29,9 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" "github.com/prometheus/common/model" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" @@ -36,9 +39,6 @@ import ( kubeletstats "k8s.io/kubernetes/pkg/kubelet/server/stats" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/metrics" - utilerrors "k8s.io/kubernetes/pkg/util/errors" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" ) // KubeletMetric stores metrics scraped from the kubelet server's /metric endpoint. diff --git a/test/e2e/framework/metrics_util.go b/test/e2e/framework/metrics_util.go index 4609fad5c9d..0137c6a8230 100644 --- a/test/e2e/framework/metrics_util.go +++ b/test/e2e/framework/metrics_util.go @@ -27,12 +27,12 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/metrics" - "k8s.io/kubernetes/pkg/util/sets" "github.com/prometheus/common/expfmt" "github.com/prometheus/common/model" diff --git a/test/e2e/framework/networking_utils.go b/test/e2e/framework/networking_utils.go index c737a5885cd..1173f98b09f 100644 --- a/test/e2e/framework/networking_utils.go +++ b/test/e2e/framework/networking_utils.go @@ -29,17 +29,17 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" coreclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/intstr" - utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/rand" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" ) const ( diff --git a/test/e2e/framework/nodes_util.go b/test/e2e/framework/nodes_util.go index b4058a89bb9..51c6a9c7d15 100644 --- a/test/e2e/framework/nodes_util.go +++ b/test/e2e/framework/nodes_util.go @@ -23,10 +23,10 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/util/wait" ) // The following upgrade functions are passed into the framework below and used diff --git a/test/e2e/framework/pods.go b/test/e2e/framework/pods.go index 994e5c04c37..e965bda949f 100644 --- a/test/e2e/framework/pods.go +++ b/test/e2e/framework/pods.go @@ -22,13 +22,13 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" diff --git a/test/e2e/framework/resource_usage_gatherer.go b/test/e2e/framework/resource_usage_gatherer.go index 364d22dea12..3992f2c571b 100644 --- a/test/e2e/framework/resource_usage_gatherer.go +++ b/test/e2e/framework/resource_usage_gatherer.go @@ -27,9 +27,9 @@ import ( "text/tabwriter" "time" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/system" ) diff --git a/test/e2e/framework/service_util.go b/test/e2e/framework/service_util.go index 5d0a423fcf8..11e4d110405 100644 --- a/test/e2e/framework/service_util.go +++ b/test/e2e/framework/service_util.go @@ -24,19 +24,19 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/service" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" testutils "k8s.io/kubernetes/test/utils" . "github.com/onsi/ginkgo" diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 0ceb90fe23f..6ece7491910 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -49,19 +49,26 @@ import ( . "github.com/onsi/gomega" gomegatypes "github.com/onsi/gomega/types" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" batchinternal "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch/v1" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/conditions" @@ -76,20 +83,13 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubelet/util/format" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/master/ports" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" sshutil "k8s.io/kubernetes/pkg/ssh" - "k8s.io/kubernetes/pkg/types" uexec "k8s.io/kubernetes/pkg/util/exec" labelsutil "k8s.io/kubernetes/pkg/util/labels" - "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/watch" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/garbage_collector.go b/test/e2e/garbage_collector.go index ba43f7ff7ab..4a95b772305 100644 --- a/test/e2e/garbage_collector.go +++ b/test/e2e/garbage_collector.go @@ -20,13 +20,13 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" v1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/metrics" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/generated_clientset.go b/test/e2e/generated_clientset.go index e8380428111..d346a1a28ef 100644 --- a/test/e2e/generated_clientset.go +++ b/test/e2e/generated_clientset.go @@ -20,15 +20,15 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" clientv1 "k8s.io/client-go/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/gke_local_ssd.go b/test/e2e/gke_local_ssd.go index 586763f2489..e667a820ff7 100644 --- a/test/e2e/gke_local_ssd.go +++ b/test/e2e/gke_local_ssd.go @@ -20,9 +20,9 @@ import ( "fmt" "os/exec" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/ingress.go b/test/e2e/ingress.go index 1ab0feb868e..c2f47173612 100644 --- a/test/e2e/ingress.go +++ b/test/e2e/ingress.go @@ -21,8 +21,8 @@ import ( "path/filepath" "time" + "k8s.io/apimachinery/pkg/runtime/schema" rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/ingress_utils.go b/test/e2e/ingress_utils.go index 8c11919633e..c898c53c1bf 100644 --- a/test/e2e/ingress_utils.go +++ b/test/e2e/ingress_utils.go @@ -43,18 +43,18 @@ import ( compute "google.golang.org/api/compute/v1" "google.golang.org/api/googleapi" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + utilyaml "k8s.io/apimachinery/pkg/util/yaml" apierrs "k8s.io/kubernetes/pkg/api/errors" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" utilexec "k8s.io/kubernetes/pkg/util/exec" - utilnet "k8s.io/kubernetes/pkg/util/net" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" - utilyaml "k8s.io/kubernetes/pkg/util/yaml" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/job.go b/test/e2e/job.go index d770b97ea65..ba523e1e9c6 100644 --- a/test/e2e/job.go +++ b/test/e2e/job.go @@ -19,16 +19,16 @@ package e2e import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" batchinternal "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/kubectl" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/kibana_logging.go b/test/e2e/kibana_logging.go index e66ad71e83d..0e6387b3613 100644 --- a/test/e2e/kibana_logging.go +++ b/test/e2e/kibana_logging.go @@ -19,10 +19,10 @@ package e2e import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/kubectl.go b/test/e2e/kubectl.go index e4bcb429742..2c5275152cf 100644 --- a/test/e2e/kubectl.go +++ b/test/e2e/kubectl.go @@ -41,24 +41,24 @@ import ( "github.com/elazarl/goproxy" "github.com/ghodss/yaml" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/annotations" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/kubectl/cmd/util" - "k8s.io/kubernetes/pkg/labels" genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" 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/test/e2e/framework" "k8s.io/kubernetes/test/e2e/generated" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/kubelet.go b/test/e2e/kubelet.go index e154ef6b382..6af18e5cc74 100644 --- a/test/e2e/kubelet.go +++ b/test/e2e/kubelet.go @@ -21,12 +21,12 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/kubelet_perf.go b/test/e2e/kubelet_perf.go index 6f83f087d28..662f5f84601 100644 --- a/test/e2e/kubelet_perf.go +++ b/test/e2e/kubelet_perf.go @@ -21,10 +21,10 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/limit_range.go b/test/e2e/limit_range.go index 0a2faa478dd..e97074a37ce 100644 --- a/test/e2e/limit_range.go +++ b/test/e2e/limit_range.go @@ -19,9 +19,9 @@ package e2e import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/load.go b/test/e2e/load.go index 820f126ffaa..a99fb4bd428 100644 --- a/test/e2e/load.go +++ b/test/e2e/load.go @@ -27,6 +27,9 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch" @@ -35,10 +38,7 @@ import ( "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/transport" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/util/intstr" - utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/mesos.go b/test/e2e/mesos.go index e459814ab93..5bc342f0062 100644 --- a/test/e2e/mesos.go +++ b/test/e2e/mesos.go @@ -19,11 +19,11 @@ package e2e import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/monitoring.go b/test/e2e/monitoring.go index 971757a7f52..6fcd97f9c52 100644 --- a/test/e2e/monitoring.go +++ b/test/e2e/monitoring.go @@ -23,10 +23,10 @@ import ( "time" influxdb "github.com/influxdata/influxdb/client" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/namespace.go b/test/e2e/namespace.go index 6afbfe508ba..ed226836630 100644 --- a/test/e2e/namespace.go +++ b/test/e2e/namespace.go @@ -22,11 +22,11 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/network_partition.go b/test/e2e/network_partition.go index ee9f4b88db6..d97143e52dd 100644 --- a/test/e2e/network_partition.go +++ b/test/e2e/network_partition.go @@ -21,16 +21,16 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/networking.go b/test/e2e/networking.go index c39c75af48d..619db459c58 100644 --- a/test/e2e/networking.go +++ b/test/e2e/networking.go @@ -21,7 +21,7 @@ import ( "net/http" . "github.com/onsi/ginkgo" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/node_problem_detector.go b/test/e2e/node_problem_detector.go index 052a308ca82..1e8fc441a66 100644 --- a/test/e2e/node_problem_detector.go +++ b/test/e2e/node_problem_detector.go @@ -22,15 +22,15 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" coreclientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" "k8s.io/kubernetes/pkg/util/system" "k8s.io/kubernetes/pkg/util/uuid" diff --git a/test/e2e/nodeoutofdisk.go b/test/e2e/nodeoutofdisk.go index fad1ec831a8..654b88a335f 100644 --- a/test/e2e/nodeoutofdisk.go +++ b/test/e2e/nodeoutofdisk.go @@ -22,12 +22,12 @@ import ( "time" cadvisorapi "github.com/google/cadvisor/info/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/opaque_resource.go b/test/e2e/opaque_resource.go index af40015f1ea..d2f91ccbdc7 100644 --- a/test/e2e/opaque_resource.go +++ b/test/e2e/opaque_resource.go @@ -22,15 +22,15 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/system" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/pd.go b/test/e2e/pd.go index 867a5d6dae7..013becb9f7d 100644 --- a/test/e2e/pd.go +++ b/test/e2e/pd.go @@ -31,14 +31,14 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" awscloud "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/persistent_volumes-disruptive.go b/test/e2e/persistent_volumes-disruptive.go index 6136369144d..2ef8fff6c8f 100644 --- a/test/e2e/persistent_volumes-disruptive.go +++ b/test/e2e/persistent_volumes-disruptive.go @@ -26,8 +26,8 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/persistent_volumes.go b/test/e2e/persistent_volumes.go index c73e9944842..a427a6b4798 100644 --- a/test/e2e/persistent_volumes.go +++ b/test/e2e/persistent_volumes.go @@ -22,13 +22,13 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/volume/util/volumehelper" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/petset.go b/test/e2e/petset.go index 735bdd6141c..d81876367c0 100644 --- a/test/e2e/petset.go +++ b/test/e2e/petset.go @@ -28,23 +28,23 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + klabels "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + utilyaml "k8s.io/apimachinery/pkg/util/yaml" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/controller/petset" - "k8s.io/kubernetes/pkg/labels" - klabels "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" - utilyaml "k8s.io/kubernetes/pkg/util/yaml" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/pod_gc.go b/test/e2e/pod_gc.go index 8121f5d1de0..8da6ee8db40 100644 --- a/test/e2e/pod_gc.go +++ b/test/e2e/pod_gc.go @@ -22,9 +22,9 @@ import ( . "github.com/onsi/ginkgo" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e/pods.go b/test/e2e/pods.go index db65f0db18e..efdc0da5a4e 100644 --- a/test/e2e/pods.go +++ b/test/e2e/pods.go @@ -24,13 +24,13 @@ import ( "strconv" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/portforward.go b/test/e2e/portforward.go index f7c3e70e7f8..a476999b571 100644 --- a/test/e2e/portforward.go +++ b/test/e2e/portforward.go @@ -28,9 +28,9 @@ import ( "syscall" "time" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" utilversion "k8s.io/kubernetes/pkg/util/version" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/pre_stop.go b/test/e2e/pre_stop.go index ecbc8ee666c..3a3e5075c14 100644 --- a/test/e2e/pre_stop.go +++ b/test/e2e/pre_stop.go @@ -21,13 +21,13 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" rbacv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/serviceaccount" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/proxy.go b/test/e2e/proxy.go index b30a8eee7fe..fbb97297cf0 100644 --- a/test/e2e/proxy.go +++ b/test/e2e/proxy.go @@ -24,12 +24,12 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/util/net" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/rc.go b/test/e2e/rc.go index 055bdff87fb..b2e43a9ab8b 100644 --- a/test/e2e/rc.go +++ b/test/e2e/rc.go @@ -20,13 +20,13 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/controller/replication" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/reboot.go b/test/e2e/reboot.go index 4d1880b655e..ecbd67b3997 100644 --- a/test/e2e/reboot.go +++ b/test/e2e/reboot.go @@ -22,13 +22,13 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/replica_set.go b/test/e2e/replica_set.go index b36eb60bffe..b6ba370e300 100644 --- a/test/e2e/replica_set.go +++ b/test/e2e/replica_set.go @@ -20,14 +20,14 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/controller/replicaset" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/rescheduler.go b/test/e2e/rescheduler.go index c1f3cde243a..7b524d4ce13 100644 --- a/test/e2e/rescheduler.go +++ b/test/e2e/rescheduler.go @@ -20,9 +20,9 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/resize_nodes.go b/test/e2e/resize_nodes.go index 37a236b53ca..3e31f49cd95 100644 --- a/test/e2e/resize_nodes.go +++ b/test/e2e/resize_nodes.go @@ -23,9 +23,9 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/resource_quota.go b/test/e2e/resource_quota.go index b7b78c2dfd6..6a7a0d9f1c7 100644 --- a/test/e2e/resource_quota.go +++ b/test/e2e/resource_quota.go @@ -20,14 +20,14 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/storage/util" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota/evaluator/core" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/restart.go b/test/e2e/restart.go index 946ee68b8d2..962f46c5a77 100644 --- a/test/e2e/restart.go +++ b/test/e2e/restart.go @@ -20,13 +20,13 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/fields" kubepod "k8s.io/kubernetes/pkg/kubelet/pod" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/scheduler_predicates.go b/test/e2e/scheduler_predicates.go index e42bc29d548..748a0ed774d 100644 --- a/test/e2e/scheduler_predicates.go +++ b/test/e2e/scheduler_predicates.go @@ -20,13 +20,13 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/security_context.go b/test/e2e/security_context.go index cdb240cb19d..ef4867a4299 100644 --- a/test/e2e/security_context.go +++ b/test/e2e/security_context.go @@ -25,8 +25,8 @@ package e2e import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/service.go b/test/e2e/service.go index c602000b4c5..524d593dfb2 100644 --- a/test/e2e/service.go +++ b/test/e2e/service.go @@ -23,16 +23,16 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1/service" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/controller/endpoint" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/service_accounts.go b/test/e2e/service_accounts.go index 31a46399148..e22b704bc47 100644 --- a/test/e2e/service_accounts.go +++ b/test/e2e/service_accounts.go @@ -20,12 +20,12 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" apierrors "k8s.io/kubernetes/pkg/api/errors" "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/plugin/pkg/admission/serviceaccount" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/service_latency.go b/test/e2e/service_latency.go index 03f5ab3879a..912c2e02a81 100644 --- a/test/e2e/service_latency.go +++ b/test/e2e/service_latency.go @@ -22,13 +22,13 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/flowcontrol" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/serviceloadbalancers.go b/test/e2e/serviceloadbalancers.go index b0aa9324e5d..92aed925989 100644 --- a/test/e2e/serviceloadbalancers.go +++ b/test/e2e/serviceloadbalancers.go @@ -21,13 +21,13 @@ import ( "io/ioutil" "net/http" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" + utilyaml "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" - utilyaml "k8s.io/kubernetes/pkg/util/yaml" "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/generated" diff --git a/test/e2e/third-party.go b/test/e2e/third-party.go index 7d759709514..5f43cb2611c 100644 --- a/test/e2e/third-party.go +++ b/test/e2e/third-party.go @@ -22,13 +22,13 @@ import ( "net/http" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e/ubernetes_lite.go b/test/e2e/ubernetes_lite.go index 92ba490f74d..30845df7b61 100644 --- a/test/e2e/ubernetes_lite.go +++ b/test/e2e/ubernetes_lite.go @@ -22,12 +22,12 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" testutils "k8s.io/kubernetes/test/utils" diff --git a/test/e2e/volume_provisioning.go b/test/e2e/volume_provisioning.go index 7c5425f9f31..356495db731 100644 --- a/test/e2e/volume_provisioning.go +++ b/test/e2e/volume_provisioning.go @@ -19,9 +19,9 @@ package e2e import ( "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/test/e2e/volumes.go b/test/e2e/volumes.go index a59e132fc2d..55215f7b00d 100644 --- a/test/e2e/volumes.go +++ b/test/e2e/volumes.go @@ -46,9 +46,9 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/BUILD b/test/e2e_node/BUILD index b4cc1569ef6..72e27c1d740 100644 --- a/test/e2e_node/BUILD +++ b/test/e2e_node/BUILD @@ -26,14 +26,9 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", "//pkg/apis/componentconfig/v1alpha1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", - "//pkg/labels:go_default_library", "//pkg/util/procfs:go_default_library", - "//pkg/util/runtime:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", "//test/e2e/common:go_default_library", "//test/e2e/framework:go_default_library", "//test/e2e/perftype:go_default_library", @@ -43,6 +38,11 @@ go_library( "//vendor:github.com/onsi/ginkgo", "//vendor:github.com/onsi/gomega", "//vendor:github.com/opencontainers/runc/libcontainer/cgroups", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) @@ -76,7 +76,6 @@ go_test( "//pkg/api/errors:go_default_library", "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet:go_default_library", @@ -86,15 +85,10 @@ go_test( "//pkg/kubelet/dockertools:go_default_library", "//pkg/kubelet/images:go_default_library", "//pkg/kubelet/metrics:go_default_library", - "//pkg/labels:go_default_library", "//pkg/metrics:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", "//pkg/security/apparmor:go_default_library", - "//pkg/types:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/watch:go_default_library", "//test/e2e/common:go_default_library", "//test/e2e/framework:go_default_library", "//test/e2e_node/services:go_default_library", @@ -111,6 +105,12 @@ go_test( "//vendor:github.com/onsi/gomega/gstruct", "//vendor:github.com/onsi/gomega/types", "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/test/e2e_node/apparmor_test.go b/test/e2e_node/apparmor_test.go index cb293b5bf8a..553790d168f 100644 --- a/test/e2e_node/apparmor_test.go +++ b/test/e2e_node/apparmor_test.go @@ -26,12 +26,12 @@ import ( "strconv" "strings" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/security/apparmor" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" "github.com/davecgh/go-spew/spew" diff --git a/test/e2e_node/benchmark_util.go b/test/e2e_node/benchmark_util.go index 940966091aa..fd30d46dd2f 100644 --- a/test/e2e_node/benchmark_util.go +++ b/test/e2e_node/benchmark_util.go @@ -23,7 +23,7 @@ import ( "sort" "time" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/perftype" diff --git a/test/e2e_node/container.go b/test/e2e_node/container.go index 2b5ca99c5c3..935a3a4c03a 100644 --- a/test/e2e_node/container.go +++ b/test/e2e_node/container.go @@ -19,9 +19,9 @@ package e2e_node import ( "fmt" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e_node/density_test.go b/test/e2e_node/density_test.go index 5bcccd37442..2936d65a3c1 100644 --- a/test/e2e_node/density_test.go +++ b/test/e2e_node/density_test.go @@ -25,15 +25,15 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" kubemetrics "k8s.io/kubernetes/pkg/kubelet/metrics" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/metrics" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e_node/disk_eviction_test.go b/test/e2e_node/disk_eviction_test.go index 50da555b220..6948411cf2a 100644 --- a/test/e2e_node/disk_eviction_test.go +++ b/test/e2e_node/disk_eviction_test.go @@ -21,8 +21,8 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/garbage_collector_test.go b/test/e2e_node/garbage_collector_test.go index fc560697931..3d40e22620c 100644 --- a/test/e2e_node/garbage_collector_test.go +++ b/test/e2e_node/garbage_collector_test.go @@ -21,8 +21,8 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" docker "k8s.io/kubernetes/pkg/kubelet/dockertools" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/image_id_test.go b/test/e2e_node/image_id_test.go index 8cead09863a..0a27951e9cc 100644 --- a/test/e2e_node/image_id_test.go +++ b/test/e2e_node/image_id_test.go @@ -17,8 +17,8 @@ limitations under the License. package e2e_node import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/dockertools" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/image_list.go b/test/e2e_node/image_list.go index b6a8b93bf40..d87530e22dd 100644 --- a/test/e2e_node/image_list.go +++ b/test/e2e_node/image_list.go @@ -23,7 +23,7 @@ import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/sets" commontest "k8s.io/kubernetes/test/e2e/common" "k8s.io/kubernetes/test/e2e/framework" ) diff --git a/test/e2e_node/kubelet_test.go b/test/e2e_node/kubelet_test.go index 8bc35c66533..672f543f003 100644 --- a/test/e2e_node/kubelet_test.go +++ b/test/e2e_node/kubelet_test.go @@ -21,8 +21,8 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/log_path_test.go b/test/e2e_node/log_path_test.go index 5ec742642e3..44466132d01 100644 --- a/test/e2e_node/log_path_test.go +++ b/test/e2e_node/log_path_test.go @@ -17,8 +17,8 @@ limitations under the License. package e2e_node import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/memory_eviction_test.go b/test/e2e_node/memory_eviction_test.go index 5558d5f5615..b892d4c851d 100644 --- a/test/e2e_node/memory_eviction_test.go +++ b/test/e2e_node/memory_eviction_test.go @@ -22,9 +22,9 @@ import ( "time" "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e_node/mirror_pod_test.go b/test/e2e_node/mirror_pod_test.go index 8d173820830..fa7c20ee62a 100644 --- a/test/e2e_node/mirror_pod_test.go +++ b/test/e2e_node/mirror_pod_test.go @@ -23,11 +23,11 @@ import ( "path/filepath" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" - "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/remote/BUILD b/test/e2e_node/remote/BUILD index 3860da316a7..ef4b7999603 100644 --- a/test/e2e_node/remote/BUILD +++ b/test/e2e_node/remote/BUILD @@ -19,9 +19,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/errors:go_default_library", "//test/e2e_node/builder:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/test/e2e_node/remote/remote.go b/test/e2e_node/remote/remote.go index cc6a6225c43..decf23d9dff 100644 --- a/test/e2e_node/remote/remote.go +++ b/test/e2e_node/remote/remote.go @@ -26,7 +26,7 @@ import ( "time" "github.com/golang/glog" - utilerrors "k8s.io/kubernetes/pkg/util/errors" + utilerrors "k8s.io/apimachinery/pkg/util/errors" ) var testTimeoutSeconds = flag.Duration("test-timeout", 45*time.Minute, "How long (in golang duration format) to wait for ginkgo tests to complete.") diff --git a/test/e2e_node/resource_collector.go b/test/e2e_node/resource_collector.go index 939ebd93da9..1dfff82170a 100644 --- a/test/e2e_node/resource_collector.go +++ b/test/e2e_node/resource_collector.go @@ -34,13 +34,13 @@ import ( cadvisorclient "github.com/google/cadvisor/client/v2" cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/opencontainers/runc/libcontainer/cgroups" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/util/procfs" - "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/gomega" diff --git a/test/e2e_node/services/BUILD b/test/e2e_node/services/BUILD index a22a9b8f652..67686467c2f 100644 --- a/test/e2e_node/services/BUILD +++ b/test/e2e_node/services/BUILD @@ -24,7 +24,6 @@ go_library( "//cmd/kube-apiserver/app:go_default_library", "//cmd/kube-apiserver/app/options:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/typed/dynamic:go_default_library", @@ -39,6 +38,7 @@ go_library( "//vendor:github.com/coreos/pkg/capnslog", "//vendor:github.com/golang/glog", "//vendor:github.com/kardianos/osext", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/test/e2e_node/services/namespace_controller.go b/test/e2e_node/services/namespace_controller.go index 2b9aad29ce9..94d2bb92014 100644 --- a/test/e2e_node/services/namespace_controller.go +++ b/test/e2e_node/services/namespace_controller.go @@ -19,8 +19,8 @@ package services import ( "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/dynamic" diff --git a/test/e2e_node/simple_mount.go b/test/e2e_node/simple_mount.go index 57be1241969..37f6022ab6d 100644 --- a/test/e2e_node/simple_mount.go +++ b/test/e2e_node/simple_mount.go @@ -17,8 +17,8 @@ limitations under the License. package e2e_node import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/test/e2e/framework" . "github.com/onsi/ginkgo" diff --git a/test/e2e_node/summary_test.go b/test/e2e_node/summary_test.go index 41eeee75cf3..fb1cb52788b 100644 --- a/test/e2e_node/summary_test.go +++ b/test/e2e_node/summary_test.go @@ -20,9 +20,9 @@ import ( "fmt" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/system/BUILD b/test/e2e_node/system/BUILD index 19315ce6770..6c7e7bdadba 100644 --- a/test/e2e_node/system/BUILD +++ b/test/e2e_node/system/BUILD @@ -21,11 +21,11 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util/errors:go_default_library", "//vendor:github.com/docker/engine-api/client", "//vendor:github.com/docker/engine-api/types", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/util/errors", ], ) diff --git a/test/e2e_node/system/kernel_validator.go b/test/e2e_node/system/kernel_validator.go index 19cd17fc7c6..000eaee4117 100644 --- a/test/e2e_node/system/kernel_validator.go +++ b/test/e2e_node/system/kernel_validator.go @@ -30,7 +30,7 @@ import ( "strings" "github.com/golang/glog" - "k8s.io/kubernetes/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/errors" ) var _ Validator = &KernelValidator{} diff --git a/test/e2e_node/system/validators.go b/test/e2e_node/system/validators.go index 277c30cb4de..29143b3bd3b 100644 --- a/test/e2e_node/system/validators.go +++ b/test/e2e_node/system/validators.go @@ -18,7 +18,7 @@ package system import ( "github.com/golang/glog" - "k8s.io/kubernetes/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/errors" ) // Validator is the interface for all validators. diff --git a/test/e2e_node/util.go b/test/e2e_node/util.go index 1c57e4fe386..d2966c7d063 100644 --- a/test/e2e_node/util.go +++ b/test/e2e_node/util.go @@ -28,12 +28,12 @@ import ( "github.com/golang/glog" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" k8serr "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" v1alpha1 "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" // utilconfig "k8s.io/kubernetes/pkg/util/config" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/images/clusterapi-tester/BUILD b/test/images/clusterapi-tester/BUILD index 7129a2579e1..1ba41c21d37 100644 --- a/test/images/clusterapi-tester/BUILD +++ b/test/images/clusterapi-tester/BUILD @@ -23,7 +23,7 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/labels", ], ) diff --git a/test/images/clusterapi-tester/main.go b/test/images/clusterapi-tester/main.go index ca3804da089..139ae57430f 100644 --- a/test/images/clusterapi-tester/main.go +++ b/test/images/clusterapi-tester/main.go @@ -24,11 +24,11 @@ import ( "fmt" "net/http" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" ) func main() { diff --git a/test/images/netexec/BUILD b/test/images/netexec/BUILD index 700d8e42de8..f54d30bbed0 100644 --- a/test/images/netexec/BUILD +++ b/test/images/netexec/BUILD @@ -18,7 +18,7 @@ go_library( name = "go_default_library", srcs = ["netexec.go"], tags = ["automanaged"], - deps = ["//pkg/util/net:go_default_library"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/net"], ) filegroup( diff --git a/test/images/netexec/netexec.go b/test/images/netexec/netexec.go index a3b231a612f..de9d9715108 100644 --- a/test/images/netexec/netexec.go +++ b/test/images/netexec/netexec.go @@ -33,7 +33,7 @@ import ( "sync/atomic" "time" - utilnet "k8s.io/kubernetes/pkg/util/net" + utilnet "k8s.io/apimachinery/pkg/util/net" ) var ( diff --git a/test/images/network-tester/BUILD b/test/images/network-tester/BUILD index 6dfcff8de6b..b5f3d58d2e3 100644 --- a/test/images/network-tester/BUILD +++ b/test/images/network-tester/BUILD @@ -19,10 +19,10 @@ go_library( srcs = ["webserver.go"], tags = ["automanaged"], deps = [ - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", - "//pkg/util/sets:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) diff --git a/test/images/network-tester/webserver.go b/test/images/network-tester/webserver.go index 8ee343035d5..2156b0951e5 100644 --- a/test/images/network-tester/webserver.go +++ b/test/images/network-tester/webserver.go @@ -43,10 +43,10 @@ import ( "syscall" "time" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/sets" ) var ( diff --git a/test/integration/BUILD b/test/integration/BUILD index 358082ccf5d..9ecdd074124 100644 --- a/test/integration/BUILD +++ b/test/integration/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", - "//pkg/util/wait:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/util/wait", ], ) diff --git a/test/integration/auth/accessreview_test.go b/test/integration/auth/accessreview_test.go index 6710c36747f..12585908d47 100644 --- a/test/integration/auth/accessreview_test.go +++ b/test/integration/auth/accessreview_test.go @@ -24,11 +24,11 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/apimachinery/registered" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" diff --git a/test/integration/auth/auth_test.go b/test/integration/auth/auth_test.go index 3227958fd6e..116c91e94cd 100644 --- a/test/integration/auth/auth_test.go +++ b/test/integration/auth/auth_test.go @@ -36,12 +36,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" authenticationv1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/extensions" diff --git a/test/integration/auth/rbac_test.go b/test/integration/auth/rbac_test.go index a068d261d5e..f5be6cb71b8 100644 --- a/test/integration/auth/rbac_test.go +++ b/test/integration/auth/rbac_test.go @@ -30,11 +30,13 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - "k8s.io/kubernetes/pkg/apimachinery/registered" rbacapi "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/auth/authenticator/bearertoken" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -50,8 +52,6 @@ import ( roleetcd "k8s.io/kubernetes/pkg/registry/rbac/role/etcd" "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" rolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/etcd" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/anytoken" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac" "k8s.io/kubernetes/test/integration/framework" diff --git a/test/integration/client/client_test.go b/test/integration/client/client_test.go index 24019228b71..7344a9a381c 100644 --- a/test/integration/client/client_test.go +++ b/test/integration/client/client_test.go @@ -27,19 +27,19 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" - "k8s.io/kubernetes/pkg/watch" e2e "k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/client/dynamic_client_test.go b/test/integration/client/dynamic_client_test.go index 99e1d215282..55ebb09183d 100644 --- a/test/integration/client/dynamic_client_test.go +++ b/test/integration/client/dynamic_client_test.go @@ -22,15 +22,15 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/apis/meta/v1/unstructured" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/dynamic" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/configmap/configmap_test.go b/test/integration/configmap/configmap_test.go index 63f543988ca..4043ba182b2 100644 --- a/test/integration/configmap/configmap_test.go +++ b/test/integration/configmap/configmap_test.go @@ -23,8 +23,8 @@ package configmap import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/test/integration" diff --git a/test/integration/evictions/evictions_test.go b/test/integration/evictions/evictions_test.go index 342c12881be..96d2ba98623 100644 --- a/test/integration/evictions/evictions_test.go +++ b/test/integration/evictions/evictions_test.go @@ -26,18 +26,18 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/controller/disruption" "k8s.io/kubernetes/pkg/controller/informers" - utilerrors "k8s.io/kubernetes/pkg/util/errors" "k8s.io/kubernetes/pkg/util/intstr" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/examples/BUILD b/test/integration/examples/BUILD index b6f70045ad0..133d8002c8b 100644 --- a/test/integration/examples/BUILD +++ b/test/integration/examples/BUILD @@ -14,9 +14,9 @@ go_test( deps = [ "//cmd/libs/go2idl/client-gen/test_apis/testgroup/v1:go_default_library", "//examples/apiserver:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/test/integration/examples/apiserver_test.go b/test/integration/examples/apiserver_test.go index fdb61a7d5bc..ff42cdac31e 100644 --- a/test/integration/examples/apiserver_test.go +++ b/test/integration/examples/apiserver_test.go @@ -29,8 +29,8 @@ import ( "github.com/golang/glog" "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/examples/apiserver" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" ) var groupVersion = v1.SchemeGroupVersion diff --git a/test/integration/federation/BUILD b/test/integration/federation/BUILD index 1f803e9a057..20435db187a 100644 --- a/test/integration/federation/BUILD +++ b/test/integration/federation/BUILD @@ -18,9 +18,9 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/apis/batch/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", - "//pkg/runtime/schema:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", ], ) diff --git a/test/integration/federation/server_test.go b/test/integration/federation/server_test.go index 5a676f49eef..cc6469a5097 100644 --- a/test/integration/federation/server_test.go +++ b/test/integration/federation/server_test.go @@ -27,14 +27,14 @@ import ( "github.com/stretchr/testify/assert" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" fed_v1b1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" "k8s.io/kubernetes/federation/cmd/federation-apiserver/app" "k8s.io/kubernetes/federation/cmd/federation-apiserver/app/options" "k8s.io/kubernetes/pkg/api/v1" batch_v1 "k8s.io/kubernetes/pkg/apis/batch/v1" ext_v1b1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/runtime/schema" ) var securePort = 6443 + 2 diff --git a/test/integration/framework/BUILD b/test/integration/framework/BUILD index 86c080b6aa8..8f5e447c8de 100644 --- a/test/integration/framework/BUILD +++ b/test/integration/framework/BUILD @@ -20,13 +20,11 @@ go_library( "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/certificates/v1alpha1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/apis/policy/v1alpha1:go_default_library", "//pkg/apis/rbac/v1alpha1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", @@ -45,14 +43,9 @@ go_library( "//pkg/kubectl:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/master:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/runtime/serializer/versioning:go_default_library", "//pkg/storage/storagebackend:go_default_library", "//pkg/util/env:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", - "//pkg/watch:go_default_library", "//plugin/pkg/admission/admit:go_default_library", "//plugin/pkg/auth/authenticator/request/union:go_default_library", "//test/e2e/framework:go_default_library", @@ -60,6 +53,13 @@ go_library( "//vendor:github.com/go-openapi/spec", "//vendor:github.com/golang/glog", "//vendor:github.com/pborman/uuid", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/versioning", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator", "//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authorization/authorizer", diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index b468aa324f8..0bb864e066e 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -27,19 +27,23 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" authauthenticator "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" authauthorizer "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1" "k8s.io/kubernetes/pkg/apis/batch" certificates "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" policy "k8s.io/kubernetes/pkg/apis/policy/v1alpha1" rbac "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" @@ -58,13 +62,9 @@ import ( "k8s.io/kubernetes/pkg/kubectl" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/schema" "k8s.io/kubernetes/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/util/env" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/version" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/plugin/pkg/admission/admit" authenticatorunion "k8s.io/kubernetes/plugin/pkg/auth/authenticator/request/union" diff --git a/test/integration/framework/serializer.go b/test/integration/framework/serializer.go index 28a3982b4e2..4d73b5b49e6 100644 --- a/test/integration/framework/serializer.go +++ b/test/integration/framework/serializer.go @@ -17,8 +17,8 @@ limitations under the License. package framework import ( - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/runtime/serializer/versioning" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer/versioning" ) // NewSingleContentTypeSerializer wraps a serializer in a NegotiatedSerializer that handles one content type diff --git a/test/integration/garbagecollector/garbage_collector_test.go b/test/integration/garbagecollector/garbage_collector_test.go index c95fcdb16b0..f664fb57b6b 100644 --- a/test/integration/garbagecollector/garbage_collector_test.go +++ b/test/integration/garbagecollector/garbage_collector_test.go @@ -30,19 +30,19 @@ import ( "github.com/golang/glog" dto "github.com/prometheus/client_model/go" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/typed/discovery" "k8s.io/kubernetes/pkg/client/typed/dynamic" "k8s.io/kubernetes/pkg/controller/garbagecollector" "k8s.io/kubernetes/pkg/controller/garbagecollector/metaonly" - "k8s.io/kubernetes/pkg/runtime/serializer" - "k8s.io/kubernetes/pkg/types" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/master/master_benchmark_test.go b/test/integration/master/master_benchmark_test.go index 889b5e91499..4441910e7d5 100644 --- a/test/integration/master/master_benchmark_test.go +++ b/test/integration/master/master_benchmark_test.go @@ -26,10 +26,10 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/labels" "k8s.io/kubernetes/pkg/api" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/master/master_test.go b/test/integration/master/master_test.go index d740edb31d9..9a03897bc43 100644 --- a/test/integration/master/master_test.go +++ b/test/integration/master/master_test.go @@ -33,16 +33,16 @@ import ( "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clienttypedv1 "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/metrics/metrics_test.go b/test/integration/metrics/metrics_test.go index 273fcdf8fe7..85a5ab2f857 100644 --- a/test/integration/metrics/metrics_test.go +++ b/test/integration/metrics/metrics_test.go @@ -25,8 +25,8 @@ import ( "net/http/httptest" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/test/integration/framework" diff --git a/test/integration/objectmeta/BUILD b/test/integration/objectmeta/BUILD index 65688b4bb13..67b675bc664 100644 --- a/test/integration/objectmeta/BUILD +++ b/test/integration/objectmeta/BUILD @@ -13,11 +13,11 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", "//test/integration/framework:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/test/integration/objectmeta/objectmeta_test.go b/test/integration/objectmeta/objectmeta_test.go index ba7f4901be6..cffc8825766 100644 --- a/test/integration/objectmeta/objectmeta_test.go +++ b/test/integration/objectmeta/objectmeta_test.go @@ -21,8 +21,8 @@ import ( "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/test/integration/framework" diff --git a/test/integration/pods/pods_test.go b/test/integration/pods/pods_test.go index 27715e95db8..cde2e027402 100644 --- a/test/integration/pods/pods_test.go +++ b/test/integration/pods/pods_test.go @@ -22,8 +22,8 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/test/integration" diff --git a/test/integration/quota/quota_test.go b/test/integration/quota/quota_test.go index 2e5c44d5bd1..404d2281a43 100644 --- a/test/integration/quota/quota_test.go +++ b/test/integration/quota/quota_test.go @@ -25,10 +25,13 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/record" @@ -39,10 +42,7 @@ import ( resourcequotacontroller "k8s.io/kubernetes/pkg/controller/resourcequota" "k8s.io/kubernetes/pkg/fields" kubeadmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" - "k8s.io/kubernetes/pkg/labels" quotainstall "k8s.io/kubernetes/pkg/quota/install" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/plugin/pkg/admission/resourcequota" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/replicaset/replicaset_test.go b/test/integration/replicaset/replicaset_test.go index 48558e117c4..f34ba27a321 100644 --- a/test/integration/replicaset/replicaset_test.go +++ b/test/integration/replicaset/replicaset_test.go @@ -25,16 +25,16 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/replicaset" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/replicationcontroller/replicationcontroller_test.go b/test/integration/replicationcontroller/replicationcontroller_test.go index 67e87593e89..186aa5ffb87 100644 --- a/test/integration/replicationcontroller/replicationcontroller_test.go +++ b/test/integration/replicationcontroller/replicationcontroller_test.go @@ -25,15 +25,15 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/replication" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/scheduler/extender_test.go b/test/integration/scheduler/extender_test.go index f7289df807a..46b883dece7 100644 --- a/test/integration/scheduler/extender_test.go +++ b/test/integration/scheduler/extender_test.go @@ -29,15 +29,15 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/scheduler" _ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" diff --git a/test/integration/scheduler/scheduler_test.go b/test/integration/scheduler/scheduler_test.go index dd0ff8d1987..d4110f15371 100644 --- a/test/integration/scheduler/scheduler_test.go +++ b/test/integration/scheduler/scheduler_test.go @@ -25,17 +25,17 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/plugin/pkg/scheduler" _ "k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider" "k8s.io/kubernetes/plugin/pkg/scheduler/factory" diff --git a/test/integration/scheduler_perf/BUILD b/test/integration/scheduler_perf/BUILD index 82d40e87531..dbf928413d1 100644 --- a/test/integration/scheduler_perf/BUILD +++ b/test/integration/scheduler_perf/BUILD @@ -14,7 +14,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api/v1:go_default_library", - "//pkg/apimachinery/registered:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/client/record:go_default_library", @@ -24,6 +23,7 @@ go_library( "//plugin/pkg/scheduler/factory:go_default_library", "//test/integration/framework:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", ], ) diff --git a/test/integration/scheduler_perf/util.go b/test/integration/scheduler_perf/util.go index 54ecbcbc8a1..53147d973d3 100644 --- a/test/integration/scheduler_perf/util.go +++ b/test/integration/scheduler_perf/util.go @@ -21,8 +21,8 @@ import ( "net/http/httptest" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" "k8s.io/kubernetes/pkg/client/record" diff --git a/test/integration/secrets/secrets_test.go b/test/integration/secrets/secrets_test.go index 005a4c33d2b..09a1db7f08a 100644 --- a/test/integration/secrets/secrets_test.go +++ b/test/integration/secrets/secrets_test.go @@ -23,8 +23,8 @@ package secrets import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/test/integration" diff --git a/test/integration/serviceaccount/service_account_test.go b/test/integration/serviceaccount/service_account_test.go index 546ae46ce0e..5f21b922ca1 100644 --- a/test/integration/serviceaccount/service_account_test.go +++ b/test/integration/serviceaccount/service_account_test.go @@ -31,14 +31,16 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/authentication/authenticator" "k8s.io/apiserver/pkg/authentication/user" "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/auth/authenticator/bearertoken" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -47,8 +49,6 @@ import ( "k8s.io/kubernetes/pkg/controller/informers" serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount" "k8s.io/kubernetes/pkg/serviceaccount" - "k8s.io/kubernetes/pkg/util/sets" - "k8s.io/kubernetes/pkg/util/wait" serviceaccountadmission "k8s.io/kubernetes/plugin/pkg/admission/serviceaccount" "k8s.io/kubernetes/plugin/pkg/auth/authenticator/request/union" "k8s.io/kubernetes/test/integration/framework" diff --git a/test/integration/storageclasses/storage_classes_test.go b/test/integration/storageclasses/storage_classes_test.go index 61bbde7c598..ef9f976bfa5 100644 --- a/test/integration/storageclasses/storage_classes_test.go +++ b/test/integration/storageclasses/storage_classes_test.go @@ -23,10 +23,10 @@ package storageclasses import ( "testing" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/test/integration/thirdparty/thirdparty_test.go b/test/integration/thirdparty/thirdparty_test.go index 8922a3ec465..cb48e6555b1 100644 --- a/test/integration/thirdparty/thirdparty_test.go +++ b/test/integration/thirdparty/thirdparty_test.go @@ -28,16 +28,16 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/diff" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" apierrors "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/diff" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/test/integration/framework" ) diff --git a/test/integration/utils.go b/test/integration/utils.go index b4537d9df0f..cc2276033d1 100644 --- a/test/integration/utils.go +++ b/test/integration/utils.go @@ -20,11 +20,11 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/errors" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" - "k8s.io/kubernetes/pkg/util/wait" ) func DeletePodOrErrorf(t *testing.T, c clientset.Interface, ns, name string) { diff --git a/test/integration/volume/attach_detach_test.go b/test/integration/volume/attach_detach_test.go index 34fa8f94582..d1f777c4d36 100644 --- a/test/integration/volume/attach_detach_test.go +++ b/test/integration/volume/attach_detach_test.go @@ -23,15 +23,15 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" fakecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/fake" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/controller/volume/attachdetach" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/test/integration/volume/persistent_volumes_test.go b/test/integration/volume/persistent_volumes_test.go index 0f1df457485..7ec81996211 100644 --- a/test/integration/volume/persistent_volumes_test.go +++ b/test/integration/volume/persistent_volumes_test.go @@ -27,11 +27,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/apimachinery/registered" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/apimachinery/registered" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -40,7 +41,6 @@ import ( persistentvolumecontroller "k8s.io/kubernetes/pkg/controller/volume/persistentvolume" "k8s.io/kubernetes/pkg/volume" volumetest "k8s.io/kubernetes/pkg/volume/testing" - "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/test/integration/framework" "github.com/golang/glog" diff --git a/test/soak/cauldron/BUILD b/test/soak/cauldron/BUILD index b70a0894b81..32d31080891 100644 --- a/test/soak/cauldron/BUILD +++ b/test/soak/cauldron/BUILD @@ -21,11 +21,11 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/test/soak/cauldron/cauldron.go b/test/soak/cauldron/cauldron.go index d1997c0f3d9..b80d3fddab0 100644 --- a/test/soak/cauldron/cauldron.go +++ b/test/soak/cauldron/cauldron.go @@ -30,9 +30,9 @@ import ( "time" "github.com/golang/glog" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" - v1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/util/intstr" diff --git a/test/soak/serve_hostnames/BUILD b/test/soak/serve_hostnames/BUILD index 70c4c1df6e3..3f4015e19d4 100644 --- a/test/soak/serve_hostnames/BUILD +++ b/test/soak/serve_hostnames/BUILD @@ -22,14 +22,14 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/errors:go_default_library", "//pkg/api/v1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/restclient:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library", - "//pkg/runtime:go_default_library", "//pkg/util/intstr:go_default_library", "//test/e2e/framework:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", ], ) diff --git a/test/soak/serve_hostnames/serve_hostnames.go b/test/soak/serve_hostnames/serve_hostnames.go index 09d6ab54cce..1e949bb6e0e 100644 --- a/test/soak/serve_hostnames/serve_hostnames.go +++ b/test/soak/serve_hostnames/serve_hostnames.go @@ -29,14 +29,14 @@ import ( "path/filepath" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd" - "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/intstr" e2e "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/utils/BUILD b/test/utils/BUILD index 9e37bf6c8b2..e6773bddeae 100644 --- a/test/utils/BUILD +++ b/test/utils/BUILD @@ -26,20 +26,20 @@ go_library( "//pkg/apis/batch/v1:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", - "//pkg/apis/meta/v1:go_default_library", "//pkg/client/cache:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/fields:go_default_library", - "//pkg/labels:go_default_library", - "//pkg/runtime:go_default_library", - "//pkg/runtime/schema:go_default_library", - "//pkg/util/sets:go_default_library", "//pkg/util/uuid:go_default_library", - "//pkg/util/wait:go_default_library", "//pkg/util/workqueue:go_default_library", - "//pkg/watch:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", ], ) diff --git a/test/utils/density_utils.go b/test/utils/density_utils.go index 38e35030979..1a6ddb39377 100644 --- a/test/utils/density_utils.go +++ b/test/utils/density_utils.go @@ -21,10 +21,10 @@ import ( "strings" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/v1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/golang/glog" diff --git a/test/utils/pod_store.go b/test/utils/pod_store.go index 11d35c622e9..49e2d88622a 100644 --- a/test/utils/pod_store.go +++ b/test/utils/pod_store.go @@ -17,13 +17,13 @@ limitations under the License. package utils import ( + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/cache" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime" - "k8s.io/kubernetes/pkg/watch" ) // Convenient wrapper around cache.Store that returns list of v1.Pod instead of interface{}. diff --git a/test/utils/runners.go b/test/utils/runners.go index fa43ac4dbb4..a71714117f2 100644 --- a/test/utils/runners.go +++ b/test/utils/runners.go @@ -23,6 +23,11 @@ import ( "sync" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" apierrs "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/resource" @@ -31,15 +36,10 @@ import ( batch "k8s.io/kubernetes/pkg/apis/batch/v1" extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" - metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/fields" - "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/uuid" - "k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/workqueue" "github.com/golang/glog" diff --git a/third_party/forked/golang/reflect/.readonly b/third_party/forked/golang/reflect/.readonly new file mode 100644 index 00000000000..e69de29bb2d diff --git a/vendor/BUILD b/vendor/BUILD index 31b2a2d1b28..11aa99e8ee1 100644 --- a/vendor/BUILD +++ b/vendor/BUILD @@ -12245,3 +12245,766 @@ go_library( tags = ["automanaged"], deps = ["//vendor:k8s.io/apiserver/pkg/authentication/user"], ) + +go_test( + name = "k8s.io/apimachinery/pkg/api/meta_test", + srcs = [ + "k8s.io/apimachinery/pkg/api/meta/multirestmapper_test.go", + "k8s.io/apimachinery/pkg/api/meta/priority_test.go", + "k8s.io/apimachinery/pkg/api/meta/restmapper_test.go", + ], + library = ":k8s.io/apimachinery/pkg/api/meta", + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/api/meta", + srcs = [ + "k8s.io/apimachinery/pkg/api/meta/doc.go", + "k8s.io/apimachinery/pkg/api/meta/errors.go", + "k8s.io/apimachinery/pkg/api/meta/firsthit_restmapper.go", + "k8s.io/apimachinery/pkg/api/meta/help.go", + "k8s.io/apimachinery/pkg/api/meta/interfaces.go", + "k8s.io/apimachinery/pkg/api/meta/meta.go", + "k8s.io/apimachinery/pkg/api/meta/multirestmapper.go", + "k8s.io/apimachinery/pkg/api/meta/priority.go", + "k8s.io/apimachinery/pkg/api/meta/restmapper.go", + "k8s.io/apimachinery/pkg/api/meta/unstructured.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/apimachinery_test", + srcs = ["k8s.io/apimachinery/pkg/apimachinery/types_test.go"], + library = ":k8s.io/apimachinery/pkg/apimachinery", + tags = ["automanaged"], + deps = ["//vendor:k8s.io/apimachinery/pkg/runtime/schema"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/apimachinery", + srcs = [ + "k8s.io/apimachinery/pkg/apimachinery/doc.go", + "k8s.io/apimachinery/pkg/apimachinery/types.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/apimachinery/registered_test", + srcs = ["k8s.io/apimachinery/pkg/apimachinery/registered/registered_test.go"], + library = ":k8s.io/apimachinery/pkg/apimachinery/registered", + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/apimachinery/registered", + srcs = ["k8s.io/apimachinery/pkg/apimachinery/registered/registered.go"], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/apimachinery", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/apis/meta/v1_test", + srcs = [ + "k8s.io/apimachinery/pkg/apis/meta/v1/duration_test.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/group_version_test.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/helpers_test.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/time_test.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/types_test.go", + ], + library = ":k8s.io/apimachinery/pkg/apis/meta/v1", + tags = ["automanaged"], + deps = [ + "//vendor:github.com/ghodss/yaml", + "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/labels", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/apis/meta/v1", + srcs = [ + "k8s.io/apimachinery/pkg/apis/meta/v1/doc.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/duration.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/group_version.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/helpers.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/meta.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/register.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/time.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/time_proto.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/types.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/watch.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/well_known_labels.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go", + "k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.defaults.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/go-openapi/spec", + "//vendor:github.com/gogo/protobuf/proto", + "//vendor:github.com/gogo/protobuf/sortkeys", + "//vendor:github.com/google/gofuzz", + "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/genericapiserver/openapi/common", + "//vendor:k8s.io/apimachinery/pkg/labels", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/selection", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/watch", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + srcs = ["k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructured.go"], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/json", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/conversion_test", + srcs = [ + "k8s.io/apimachinery/pkg/conversion/converter_test.go", + "k8s.io/apimachinery/pkg/conversion/deep_copy_test.go", + "k8s.io/apimachinery/pkg/conversion/helper_test.go", + ], + library = ":k8s.io/apimachinery/pkg/conversion", + tags = ["automanaged"], + deps = [ + "//vendor:github.com/google/gofuzz", + "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/conversion", + srcs = [ + "k8s.io/apimachinery/pkg/conversion/cloner.go", + "k8s.io/apimachinery/pkg/conversion/converter.go", + "k8s.io/apimachinery/pkg/conversion/deep_equal.go", + "k8s.io/apimachinery/pkg/conversion/doc.go", + "k8s.io/apimachinery/pkg/conversion/helper.go", + ], + tags = ["automanaged"], + deps = ["//vendor:k8s.io/apimachinery/third_party/forked/golang/reflect"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/conversion/queryparams", + srcs = [ + "k8s.io/apimachinery/pkg/conversion/queryparams/convert.go", + "k8s.io/apimachinery/pkg/conversion/queryparams/doc.go", + ], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/conversion/queryparams_xtest", + srcs = ["k8s.io/apimachinery/pkg/conversion/queryparams/convert_test.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion/queryparams", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/genericapiserver/openapi/common", + srcs = [ + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common/common.go", + "k8s.io/apimachinery/pkg/genericapiserver/openapi/common/doc.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/emicklei/go-restful", + "//vendor:github.com/go-openapi/spec", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/labels_test", + srcs = [ + "k8s.io/apimachinery/pkg/labels/labels_test.go", + "k8s.io/apimachinery/pkg/labels/selector_test.go", + ], + library = ":k8s.io/apimachinery/pkg/labels", + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/selection", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/labels", + srcs = [ + "k8s.io/apimachinery/pkg/labels/doc.go", + "k8s.io/apimachinery/pkg/labels/labels.go", + "k8s.io/apimachinery/pkg/labels/selector.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/selection", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + "//vendor:k8s.io/apimachinery/pkg/util/validation", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_test.go"], + library = ":k8s.io/apimachinery/pkg/runtime", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime", + srcs = [ + "k8s.io/apimachinery/pkg/runtime/codec.go", + "k8s.io/apimachinery/pkg/runtime/codec_check.go", + "k8s.io/apimachinery/pkg/runtime/conversion.go", + "k8s.io/apimachinery/pkg/runtime/doc.go", + "k8s.io/apimachinery/pkg/runtime/embedded.go", + "k8s.io/apimachinery/pkg/runtime/error.go", + "k8s.io/apimachinery/pkg/runtime/extension.go", + "k8s.io/apimachinery/pkg/runtime/generated.pb.go", + "k8s.io/apimachinery/pkg/runtime/helper.go", + "k8s.io/apimachinery/pkg/runtime/interfaces.go", + "k8s.io/apimachinery/pkg/runtime/register.go", + "k8s.io/apimachinery/pkg/runtime/scheme.go", + "k8s.io/apimachinery/pkg/runtime/scheme_builder.go", + "k8s.io/apimachinery/pkg/runtime/swagger_doc_generator.go", + "k8s.io/apimachinery/pkg/runtime/types.go", + "k8s.io/apimachinery/pkg/runtime/types_proto.go", + "k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/gogo/protobuf/proto", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/conversion/queryparams", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime_xtest", + srcs = [ + "k8s.io/apimachinery/pkg/runtime/conversion_test.go", + "k8s.io/apimachinery/pkg/runtime/embedded_test.go", + "k8s.io/apimachinery/pkg/runtime/extension_test.go", + "k8s.io/apimachinery/pkg/runtime/scheme_test.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/google/gofuzz", + "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/schema_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/schema/group_version_test.go"], + library = ":k8s.io/apimachinery/pkg/runtime/schema", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/schema", + srcs = [ + "k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go", + "k8s.io/apimachinery/pkg/runtime/schema/group_version.go", + "k8s.io/apimachinery/pkg/runtime/schema/interfaces.go", + ], + tags = ["automanaged"], + deps = ["//vendor:github.com/gogo/protobuf/proto"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/serializer_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/codec_test.go"], + library = ":k8s.io/apimachinery/pkg/runtime/serializer", + tags = ["automanaged"], + deps = [ + "//vendor:github.com/ghodss/yaml", + "//vendor:github.com/google/gofuzz", + "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer", + srcs = [ + "k8s.io/apimachinery/pkg/runtime/serializer/codec_factory.go", + "k8s.io/apimachinery/pkg/runtime/serializer/negotiated_codec.go", + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf_extension.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/protobuf", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/versioning", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/serializer/json_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/json/meta_test.go"], + library = ":k8s.io/apimachinery/pkg/runtime/serializer/json", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer/json", + srcs = [ + "k8s.io/apimachinery/pkg/runtime/serializer/json/json.go", + "k8s.io/apimachinery/pkg/runtime/serializer/json/meta.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/ghodss/yaml", + "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + "//vendor:k8s.io/apimachinery/pkg/util/framer", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/serializer/json_xtest", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/json/json_test.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", + srcs = [ + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf/doc.go", + "k8s.io/apimachinery/pkg/runtime/serializer/protobuf/protobuf.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/gogo/protobuf/proto", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + "//vendor:k8s.io/apimachinery/pkg/util/framer", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/recognizer/recognizer.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/serializer/recognizer/testing_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/recognizer/testing/recognizer_test.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/json", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/serializer/streaming_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming_test.go"], + library = ":k8s.io/apimachinery/pkg/runtime/serializer/streaming", + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/framer", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer/streaming", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/streaming/streaming.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/runtime/serializer/versioning_test", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning_test.go"], + library = ":k8s.io/apimachinery/pkg/runtime/serializer/versioning", + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/diff", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer/versioning", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/runtime/serializer/yaml", + srcs = ["k8s.io/apimachinery/pkg/runtime/serializer/yaml/yaml.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/yaml", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/selection", + srcs = ["k8s.io/apimachinery/pkg/selection/operator.go"], + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/types", + srcs = [ + "k8s.io/apimachinery/pkg/types/doc.go", + "k8s.io/apimachinery/pkg/types/namespacedname.go", + "k8s.io/apimachinery/pkg/types/nodename.go", + "k8s.io/apimachinery/pkg/types/uid.go", + "k8s.io/apimachinery/pkg/types/unix_user_id.go", + ], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/diff_test", + srcs = ["k8s.io/apimachinery/pkg/util/diff/diff_test.go"], + library = ":k8s.io/apimachinery/pkg/util/diff", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/diff", + srcs = ["k8s.io/apimachinery/pkg/util/diff/diff.go"], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/davecgh/go-spew/spew", + "//vendor:k8s.io/apimachinery/pkg/util/validation/field", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/errors_test", + srcs = ["k8s.io/apimachinery/pkg/util/errors/errors_test.go"], + library = ":k8s.io/apimachinery/pkg/util/errors", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/errors", + srcs = [ + "k8s.io/apimachinery/pkg/util/errors/doc.go", + "k8s.io/apimachinery/pkg/util/errors/errors.go", + ], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/framer_test", + srcs = ["k8s.io/apimachinery/pkg/util/framer/framer_test.go"], + library = ":k8s.io/apimachinery/pkg/util/framer", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/framer", + srcs = ["k8s.io/apimachinery/pkg/util/framer/framer.go"], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/json_test", + srcs = ["k8s.io/apimachinery/pkg/util/json/json_test.go"], + library = ":k8s.io/apimachinery/pkg/util/json", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/json", + srcs = ["k8s.io/apimachinery/pkg/util/json/json.go"], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/net_test", + srcs = [ + "k8s.io/apimachinery/pkg/util/net/http_test.go", + "k8s.io/apimachinery/pkg/util/net/interface_test.go", + "k8s.io/apimachinery/pkg/util/net/port_range_test.go", + "k8s.io/apimachinery/pkg/util/net/port_split_test.go", + "k8s.io/apimachinery/pkg/util/net/util_test.go", + ], + library = ":k8s.io/apimachinery/pkg/util/net", + tags = ["automanaged"], + deps = [ + "//vendor:github.com/spf13/pflag", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/net", + srcs = [ + "k8s.io/apimachinery/pkg/util/net/http.go", + "k8s.io/apimachinery/pkg/util/net/interface.go", + "k8s.io/apimachinery/pkg/util/net/port_range.go", + "k8s.io/apimachinery/pkg/util/net/port_split.go", + "k8s.io/apimachinery/pkg/util/net/util.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/golang/glog", + "//vendor:golang.org/x/net/http2", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/runtime_test", + srcs = ["k8s.io/apimachinery/pkg/util/runtime/runtime_test.go"], + library = ":k8s.io/apimachinery/pkg/util/runtime", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/runtime", + srcs = ["k8s.io/apimachinery/pkg/util/runtime/runtime.go"], + tags = ["automanaged"], + deps = ["//vendor:github.com/golang/glog"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/sets_test", + srcs = ["k8s.io/apimachinery/pkg/util/sets/set_test.go"], + library = ":k8s.io/apimachinery/pkg/util/sets", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/sets", + srcs = [ + "k8s.io/apimachinery/pkg/util/sets/byte.go", + "k8s.io/apimachinery/pkg/util/sets/doc.go", + "k8s.io/apimachinery/pkg/util/sets/empty.go", + "k8s.io/apimachinery/pkg/util/sets/int.go", + "k8s.io/apimachinery/pkg/util/sets/int64.go", + "k8s.io/apimachinery/pkg/util/sets/string.go", + ], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/validation_test", + srcs = ["k8s.io/apimachinery/pkg/util/validation/validation_test.go"], + library = ":k8s.io/apimachinery/pkg/util/validation", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/validation", + srcs = ["k8s.io/apimachinery/pkg/util/validation/validation.go"], + tags = ["automanaged"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/validation/field_test", + srcs = [ + "k8s.io/apimachinery/pkg/util/validation/field/errors_test.go", + "k8s.io/apimachinery/pkg/util/validation/field/path_test.go", + ], + library = ":k8s.io/apimachinery/pkg/util/validation/field", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/validation/field", + srcs = [ + "k8s.io/apimachinery/pkg/util/validation/field/errors.go", + "k8s.io/apimachinery/pkg/util/validation/field/path.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/util/errors", + "//vendor:k8s.io/apimachinery/pkg/util/sets", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/wait_test", + srcs = ["k8s.io/apimachinery/pkg/util/wait/wait_test.go"], + library = ":k8s.io/apimachinery/pkg/util/wait", + tags = ["automanaged"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/runtime"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/wait", + srcs = [ + "k8s.io/apimachinery/pkg/util/wait/doc.go", + "k8s.io/apimachinery/pkg/util/wait/wait.go", + ], + tags = ["automanaged"], + deps = ["//vendor:k8s.io/apimachinery/pkg/util/runtime"], +) + +go_test( + name = "k8s.io/apimachinery/pkg/util/yaml_test", + srcs = ["k8s.io/apimachinery/pkg/util/yaml/decoder_test.go"], + library = ":k8s.io/apimachinery/pkg/util/yaml", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/util/yaml", + srcs = ["k8s.io/apimachinery/pkg/util/yaml/decoder.go"], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/ghodss/yaml", + "//vendor:github.com/golang/glog", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/watch", + srcs = [ + "k8s.io/apimachinery/pkg/watch/doc.go", + "k8s.io/apimachinery/pkg/watch/filter.go", + "k8s.io/apimachinery/pkg/watch/mux.go", + "k8s.io/apimachinery/pkg/watch/streamwatcher.go", + "k8s.io/apimachinery/pkg/watch/until.go", + "k8s.io/apimachinery/pkg/watch/watch.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/net", + "//vendor:k8s.io/apimachinery/pkg/util/runtime", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/watch_xtest", + srcs = [ + "k8s.io/apimachinery/pkg/watch/filter_test.go", + "k8s.io/apimachinery/pkg/watch/mux_test.go", + "k8s.io/apimachinery/pkg/watch/streamwatcher_test.go", + "k8s.io/apimachinery/pkg/watch/watch_test.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apimachinery/pkg/watch", + ], +) + +go_test( + name = "k8s.io/apimachinery/third_party/forked/golang/reflect_test", + srcs = ["k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal_test.go"], + library = ":k8s.io/apimachinery/third_party/forked/golang/reflect", + tags = ["automanaged"], +) + +go_library( + name = "k8s.io/apimachinery/third_party/forked/golang/reflect", + srcs = [ + "k8s.io/apimachinery/third_party/forked/golang/reflect/deep_equal.go", + "k8s.io/apimachinery/third_party/forked/golang/reflect/type.go", + ], + tags = ["automanaged"], +)