From 00b9ead02c37921011ebe5293558cea5277cd295 Mon Sep 17 00:00:00 2001 From: Abirdcfly Date: Sun, 24 Apr 2022 20:58:04 +0800 Subject: [PATCH] cleanup: remove duplicate import Signed-off-by: Abirdcfly --- cmd/kube-apiserver/app/apiextensions.go | 3 +- .../app/phases/upgrade/compute_test.go | 7 +- cmd/kubeadm/app/preflight/checks.go | 6 +- cmd/kubeadm/app/util/dryrun/dryrun.go | 7 +- pkg/apis/core/validation/validation.go | 5 +- pkg/apis/core/validation/validation_test.go | 22 +- .../endpointslice/metrics/cache_test.go | 11 +- pkg/controller/endpointslice/utils.go | 39 ++-- .../endpointslicemirroring/utils_test.go | 19 +- .../garbagecollector/garbagecollector.go | 5 +- .../statefulset/stateful_set_utils.go | 3 +- pkg/controller/volume/ephemeral/controller.go | 13 +- .../volume/ephemeral/controller_test.go | 3 +- .../volume/expand/expand_controller.go | 11 +- .../volume/persistentvolume/framework_test.go | 37 ++- pkg/controlplane/instance_test.go | 3 +- .../stats/cadvisor_stats_provider_test.go | 5 +- .../core/persistent_volume_claims_test.go | 51 ++--- .../apps/deployment/storage/storage_test.go | 7 +- .../apps/replicaset/storage/storage_test.go | 3 +- .../apps/statefulset/storage/storage_test.go | 3 +- .../ipallocator/controller/repair_test.go | 41 ++-- pkg/registry/rbac/rest/storage_rbac.go | 3 +- .../requested_to_capacity_ratio_test.go | 5 +- pkg/volume/csi/csi_mounter_test.go | 96 ++++---- pkg/volume/iscsi/iscsi.go | 3 +- pkg/volume/testing/testing.go | 213 +++++++++--------- .../admission_test.go | 5 +- .../pkg/admission/serviceaccount/admission.go | 3 +- .../serviceaccount/admission_test.go | 9 +- .../apiserver/conversion/webhook_converter.go | 5 +- .../apiserver/customresource_handler_test.go | 3 +- .../pkg/cmd/server/options/options.go | 5 +- .../test/integration/fixtures/server.go | 3 +- .../fieldmanager/scalehandler_test.go | 3 +- .../handlers/responsewriters/writers.go | 3 +- .../src/k8s.io/apiserver/pkg/server/config.go | 6 +- .../plugins/azure_disk_test.go | 17 +- .../pkg/apiserver/apiserver.go | 5 +- .../kube-scheduler/extender/v1/types_test.go | 3 +- .../kubectl/pkg/cmd/create/create_pdb.go | 3 +- .../kubectl/pkg/cmd/create/create_quota.go | 5 +- .../test/fixtures_procMount.go | 17 +- test/e2e/apimachinery/aggregator.go | 3 +- test/e2e/apimachinery/crd_publish_openapi.go | 3 +- test/e2e/storage/drivers/csi.go | 3 +- test/e2e/storage/testsuites/disruptive.go | 11 +- test/e2e/storage/testsuites/multivolume.go | 21 +- test/e2e/storage/testsuites/snapshottable.go | 5 +- test/e2e/storage/testsuites/subpath.go | 13 +- test/e2e/storage/utils/deployment.go | 3 +- .../admissionwebhook/admission_test.go | 114 +++++----- .../admissionwebhook/client_auth_test.go | 5 +- .../admissionwebhook/load_balance_test.go | 7 +- .../admissionwebhook/reinvocation_test.go | 9 +- .../admissionwebhook/timeout_test.go | 7 +- .../integration/apiserver/apply/apply_test.go | 11 +- .../certificates/controller_approval_test.go | 5 +- .../controlplane/audit/audit_test.go | 13 +- .../endpointslicemirroring_test.go | 6 +- test/integration/node/lifecycle_test.go | 3 +- .../scheduler/preemption/preemption_test.go | 3 +- .../serviceaccount/service_account_test.go | 3 +- 63 files changed, 448 insertions(+), 519 deletions(-) diff --git a/cmd/kube-apiserver/app/apiextensions.go b/cmd/kube-apiserver/app/apiextensions.go index 92284cad7e2..901a7f20fcb 100644 --- a/cmd/kube-apiserver/app/apiextensions.go +++ b/cmd/kube-apiserver/app/apiextensions.go @@ -30,7 +30,6 @@ import ( "k8s.io/apiserver/pkg/features" genericapiserver "k8s.io/apiserver/pkg/server" genericoptions "k8s.io/apiserver/pkg/server/options" - "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/apiserver/pkg/util/webhook" kubeexternalinformers "k8s.io/client-go/informers" @@ -58,7 +57,7 @@ func createAPIExtensionsConfig( &genericConfig, externalInformers, genericConfig.LoopbackClientConfig, - feature.DefaultFeatureGate, + utilfeature.DefaultFeatureGate, pluginInitializers...) if err != nil { return nil, err diff --git a/cmd/kubeadm/app/phases/upgrade/compute_test.go b/cmd/kubeadm/app/phases/upgrade/compute_test.go index 2b0296bb7fd..7471cb18f49 100644 --- a/cmd/kubeadm/app/phases/upgrade/compute_test.go +++ b/cmd/kubeadm/app/phases/upgrade/compute_test.go @@ -26,7 +26,6 @@ import ( apps "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/version" versionutil "k8s.io/apimachinery/pkg/util/version" clientsetfake "k8s.io/client-go/kubernetes/fake" @@ -98,11 +97,11 @@ func TestGetAvailableUpgrades(t *testing.T) { // variables are in the form v{MAJOR}{MINOR}{PATCH}, where MINOR is a variable so test are automatically uptodate to the latest MinimumControlPlaneVersion/ // v1.X series, e.g. v1.14 - v1X0 := version.MustParseSemantic("v1.14.0") + v1X0 := versionutil.MustParseSemantic("v1.14.0") v1X5 := v1X0.WithPatch(5) // v1.Y series, where Y = X+1, e.g. v1.15 - v1Y0 := version.MustParseSemantic("v1.15.0") + v1Y0 := versionutil.MustParseSemantic("v1.15.0") v1Y0alpha0 := v1Y0.WithPreRelease("alpha.0") v1Y0alpha1 := v1Y0.WithPreRelease("alpha.1") v1Y1 := v1Y0.WithPatch(1) @@ -111,7 +110,7 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y5 := v1Y0.WithPatch(5) // v1.Z series, where Z = Y+1, e.g. v1.16 - v1Z0 := version.MustParseSemantic("v1.16.0") + v1Z0 := versionutil.MustParseSemantic("v1.16.0") v1Z0alpha1 := v1Z0.WithPreRelease("alpha.1") v1Z0alpha2 := v1Z0.WithPreRelease("alpha.2") v1Z0beta1 := v1Z0.WithPreRelease("beta.1") diff --git a/cmd/kubeadm/app/preflight/checks.go b/cmd/kubeadm/app/preflight/checks.go index 0a2b6bc3cb5..149382b1b0f 100644 --- a/cmd/kubeadm/app/preflight/checks.go +++ b/cmd/kubeadm/app/preflight/checks.go @@ -39,7 +39,6 @@ import ( netutil "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation" - "k8s.io/apimachinery/pkg/util/version" versionutil "k8s.io/apimachinery/pkg/util/version" kubeadmversion "k8s.io/component-base/version" "k8s.io/klog/v2" @@ -48,7 +47,6 @@ import ( netutils "k8s.io/utils/net" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/images" "k8s.io/kubernetes/cmd/kubeadm/app/util/initsystem" @@ -598,7 +596,7 @@ func (kubever KubernetesVersionCheck) Check() (warnings, errorList []error) { // KubeletVersionCheck validates installed kubelet version type KubeletVersionCheck struct { KubernetesVersion string - minKubeletVersion *version.Version + minKubeletVersion *versionutil.Version exec utilsexec.Interface } @@ -615,7 +613,7 @@ func (kubever KubeletVersionCheck) Check() (warnings, errorList []error) { return nil, []error{errors.Wrap(err, "couldn't get kubelet version")} } if kubever.minKubeletVersion == nil { - kubever.minKubeletVersion = constants.MinimumKubeletVersion + kubever.minKubeletVersion = kubeadmconstants.MinimumKubeletVersion } if kubeletVersion.LessThan(kubever.minKubeletVersion) { return nil, []error{errors.Errorf("Kubelet version %q is lower than kubeadm can support. Please upgrade kubelet", kubeletVersion)} diff --git a/cmd/kubeadm/app/util/dryrun/dryrun.go b/cmd/kubeadm/app/util/dryrun/dryrun.go index e924616aa04..0e150eca31b 100644 --- a/cmd/kubeadm/app/util/dryrun/dryrun.go +++ b/cmd/kubeadm/app/util/dryrun/dryrun.go @@ -26,7 +26,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" errorsutil "k8s.io/apimachinery/pkg/util/errors" - "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" ) @@ -124,9 +123,9 @@ func (w *Waiter) SetTimeout(_ time.Duration) {} // WaitForStaticPodControlPlaneHashes returns an empty hash for all control plane images; func (w *Waiter) WaitForStaticPodControlPlaneHashes(_ string) (map[string]string, error) { return map[string]string{ - constants.KubeAPIServer: "", - constants.KubeControllerManager: "", - constants.KubeScheduler: "", + kubeadmconstants.KubeAPIServer: "", + kubeadmconstants.KubeControllerManager: "", + kubeadmconstants.KubeScheduler: "", }, nil } diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index 0e07a8e2a95..108e5b6661e 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -45,7 +45,6 @@ import ( schedulinghelper "k8s.io/component-helpers/scheduling/corev1" apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/apis/core" - api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/apis/core/helper" podshelper "k8s.io/kubernetes/pkg/apis/core/pods" corev1 "k8s.io/kubernetes/pkg/apis/core/v1" @@ -4715,7 +4714,7 @@ func validateServicePort(sp *core.ServicePort, requireName, isHeadlessService bo return allErrs } -func needsExternalTrafficPolicy(svc *api.Service) bool { +func needsExternalTrafficPolicy(svc *core.Service) bool { return svc.Spec.Type == core.ServiceTypeLoadBalancer || svc.Spec.Type == core.ServiceTypeNodePort } @@ -4760,7 +4759,7 @@ func validateServiceExternalTrafficPolicy(service *core.Service) field.ErrorList return allErrs } -func validateServiceExternalTrafficFieldsUpdate(before, after *api.Service) field.ErrorList { +func validateServiceExternalTrafficFieldsUpdate(before, after *core.Service) field.ErrorList { allErrs := field.ErrorList{} if apiservice.NeedsHealthCheck(before) && apiservice.NeedsHealthCheck(after) { diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index 75e4ef413ff..86cfa16edfb 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -27,7 +27,6 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" - asserttestify "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "google.golang.org/protobuf/proto" v1 "k8s.io/api/core/v1" @@ -43,7 +42,6 @@ import ( "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/features" - "k8s.io/utils/pointer" utilpointer "k8s.io/utils/pointer" ) @@ -18944,7 +18942,7 @@ func TestValidateTopologySpreadConstraints(t *testing.T) { MaxSkew: 1, TopologyKey: "k8s.io/zone", WhenUnsatisfiable: core.DoNotSchedule, - MinDomains: pointer.Int32(3), + MinDomains: utilpointer.Int32(3), }, }, wantFieldErrors: field.ErrorList{}, @@ -18982,10 +18980,10 @@ func TestValidateTopologySpreadConstraints(t *testing.T) { MaxSkew: 1, TopologyKey: "k8s.io/zone", WhenUnsatisfiable: core.DoNotSchedule, - MinDomains: pointer.Int32(-1), + MinDomains: utilpointer.Int32(-1), }, }, - wantFieldErrors: []*field.Error{field.Invalid(fieldPathMinDomains, pointer.Int32(-1), isNotPositiveErrorMsg)}, + wantFieldErrors: []*field.Error{field.Invalid(fieldPathMinDomains, utilpointer.Int32(-1), isNotPositiveErrorMsg)}, }, { name: "cannot use non-nil MinDomains with ScheduleAnyway", @@ -18994,10 +18992,10 @@ func TestValidateTopologySpreadConstraints(t *testing.T) { MaxSkew: 1, TopologyKey: "k8s.io/zone", WhenUnsatisfiable: core.ScheduleAnyway, - MinDomains: pointer.Int32(10), + MinDomains: utilpointer.Int32(10), }, }, - wantFieldErrors: []*field.Error{field.Invalid(fieldPathMinDomains, pointer.Int32(10), fmt.Sprintf("can only use minDomains if whenUnsatisfiable=%s, not %s", string(core.DoNotSchedule), string(core.ScheduleAnyway)))}, + wantFieldErrors: []*field.Error{field.Invalid(fieldPathMinDomains, utilpointer.Int32(10), fmt.Sprintf("can only use minDomains if whenUnsatisfiable=%s, not %s", string(core.DoNotSchedule), string(core.ScheduleAnyway)))}, }, { name: "use negative MinDomains with ScheduleAnyway(invalid)", @@ -19006,12 +19004,12 @@ func TestValidateTopologySpreadConstraints(t *testing.T) { MaxSkew: 1, TopologyKey: "k8s.io/zone", WhenUnsatisfiable: core.ScheduleAnyway, - MinDomains: pointer.Int32(-1), + MinDomains: utilpointer.Int32(-1), }, }, wantFieldErrors: []*field.Error{ - field.Invalid(fieldPathMinDomains, pointer.Int32(-1), isNotPositiveErrorMsg), - field.Invalid(fieldPathMinDomains, pointer.Int32(-1), fmt.Sprintf("can only use minDomains if whenUnsatisfiable=%s, not %s", string(core.DoNotSchedule), string(core.ScheduleAnyway))), + field.Invalid(fieldPathMinDomains, utilpointer.Int32(-1), isNotPositiveErrorMsg), + field.Invalid(fieldPathMinDomains, utilpointer.Int32(-1), fmt.Sprintf("can only use minDomains if whenUnsatisfiable=%s, not %s", string(core.DoNotSchedule), string(core.ScheduleAnyway))), }, }, { @@ -19668,7 +19666,7 @@ func TestValidateSeccompAnnotationsAndFieldsMatch(t *testing.T) { for i, test := range tests { err := validateSeccompAnnotationsAndFieldsMatch(test.annotationValue, test.seccompField, test.fldPath) - asserttestify.Equal(t, test.expectedErr, err, "TestCase[%d]: %s", i, test.description) + assert.Equal(t, test.expectedErr, err, "TestCase[%d]: %s", i, test.description) } } @@ -19797,7 +19795,7 @@ func TestValidatePodTemplateSpecSeccomp(t *testing.T) { for i, test := range tests { err := ValidatePodTemplateSpec(test.spec, rootFld, PodValidationOptions{}) - asserttestify.Equal(t, test.expectedErr, err, "TestCase[%d]: %s", i, test.description) + assert.Equal(t, test.expectedErr, err, "TestCase[%d]: %s", i, test.description) } } diff --git a/pkg/controller/endpointslice/metrics/cache_test.go b/pkg/controller/endpointslice/metrics/cache_test.go index 5cfd58bad9e..5f77329a16d 100644 --- a/pkg/controller/endpointslice/metrics/cache_test.go +++ b/pkg/controller/endpointslice/metrics/cache_test.go @@ -23,7 +23,6 @@ import ( discovery "k8s.io/api/discovery/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/controller/util/endpoint" - endpointutil "k8s.io/kubernetes/pkg/controller/util/endpoint" utilpointer "k8s.io/utils/pointer" ) @@ -33,8 +32,8 @@ func TestNumEndpointsAndSlices(t *testing.T) { p80 := int32(80) p443 := int32(443) - pmKey80443 := endpointutil.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}, {Port: &p443}}) - pmKey80 := endpointutil.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}}) + pmKey80443 := endpoint.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}, {Port: &p443}}) + pmKey80 := endpoint.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}}) spCacheEfficient := NewServicePortCache() spCacheEfficient.Set(pmKey80, EfficiencyInfo{Endpoints: 45, Slices: 1}) @@ -66,8 +65,8 @@ func TestPlaceHolderSlice(t *testing.T) { p80 := int32(80) p443 := int32(443) - pmKey80443 := endpointutil.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}, {Port: &p443}}) - pmKey80 := endpointutil.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}}) + pmKey80443 := endpoint.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}, {Port: &p443}}) + pmKey80 := endpoint.NewPortMapKey([]discovery.EndpointPort{{Port: &p80}}) sp := NewServicePortCache() sp.Set(pmKey80, EfficiencyInfo{Endpoints: 0, Slices: 1}) @@ -95,7 +94,7 @@ func benchmarkUpdateServicePortCache(b *testing.B, num int) { ns := "benchmark" httpKey := endpoint.NewPortMapKey([]discovery.EndpointPort{{Port: utilpointer.Int32Ptr(80)}}) httpsKey := endpoint.NewPortMapKey([]discovery.EndpointPort{{Port: utilpointer.Int32Ptr(443)}}) - spCache := &ServicePortCache{items: map[endpointutil.PortMapKey]EfficiencyInfo{ + spCache := &ServicePortCache{items: map[endpoint.PortMapKey]EfficiencyInfo{ httpKey: { Endpoints: 182, Slices: 2, diff --git a/pkg/controller/endpointslice/utils.go b/pkg/controller/endpointslice/utils.go index ab347eff77d..742427a0289 100644 --- a/pkg/controller/endpointslice/utils.go +++ b/pkg/controller/endpointslice/utils.go @@ -20,8 +20,7 @@ import ( "fmt" "time" - corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" + "k8s.io/api/core/v1" discovery "k8s.io/api/discovery/v1" apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -33,7 +32,7 @@ import ( "k8s.io/klog/v2" podutil "k8s.io/kubernetes/pkg/api/v1/pod" api "k8s.io/kubernetes/pkg/apis/core" - helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" + "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/apis/discovery/validation" endpointutil "k8s.io/kubernetes/pkg/controller/util/endpoint" "k8s.io/kubernetes/pkg/features" @@ -41,7 +40,7 @@ import ( ) // podToEndpoint returns an Endpoint object generated from a Pod, a Node, and a Service for a particular addressType. -func podToEndpoint(pod *corev1.Pod, node *corev1.Node, service *corev1.Service, addressType discovery.AddressType) discovery.Endpoint { +func podToEndpoint(pod *v1.Pod, node *v1.Node, service *v1.Service, addressType discovery.AddressType) discovery.Endpoint { serving := podutil.IsPodReady(pod) terminating := pod.DeletionTimestamp != nil // For compatibility reasons, "ready" should never be "true" if a pod is terminatng, unless @@ -52,7 +51,7 @@ func podToEndpoint(pod *corev1.Pod, node *corev1.Node, service *corev1.Service, Conditions: discovery.EndpointConditions{ Ready: &ready, }, - TargetRef: &corev1.ObjectReference{ + TargetRef: &v1.ObjectReference{ Kind: "Pod", Namespace: pod.ObjectMeta.Namespace, Name: pod.ObjectMeta.Name, @@ -69,8 +68,8 @@ func podToEndpoint(pod *corev1.Pod, node *corev1.Node, service *corev1.Service, ep.NodeName = &pod.Spec.NodeName } - if node != nil && node.Labels[corev1.LabelTopologyZone] != "" { - zone := node.Labels[corev1.LabelTopologyZone] + if node != nil && node.Labels[v1.LabelTopologyZone] != "" { + zone := node.Labels[v1.LabelTopologyZone] ep.Zone = &zone } @@ -83,7 +82,7 @@ func podToEndpoint(pod *corev1.Pod, node *corev1.Node, service *corev1.Service, // getEndpointPorts returns a list of EndpointPorts generated from a Service // and Pod. -func getEndpointPorts(service *corev1.Service, pod *corev1.Pod) []discovery.EndpointPort { +func getEndpointPorts(service *v1.Service, pod *v1.Pod) []discovery.EndpointPort { endpointPorts := []discovery.EndpointPort{} // Allow headless service not to have ports. @@ -115,7 +114,7 @@ func getEndpointPorts(service *corev1.Service, pod *corev1.Pod) []discovery.Endp } // getEndpointAddresses returns a list of addresses generated from a pod status. -func getEndpointAddresses(podStatus corev1.PodStatus, service *corev1.Service, addressType discovery.AddressType) []string { +func getEndpointAddresses(podStatus v1.PodStatus, service *v1.Service, addressType discovery.AddressType) []string { addresses := []string{} for _, podIP := range podStatus.PodIPs { @@ -134,7 +133,7 @@ func getEndpointAddresses(podStatus corev1.PodStatus, service *corev1.Service, a // newEndpointSlice returns an EndpointSlice generated from a service and // endpointMeta. -func newEndpointSlice(service *corev1.Service, endpointMeta *endpointMeta) *discovery.EndpointSlice { +func newEndpointSlice(service *v1.Service, endpointMeta *endpointMeta) *discovery.EndpointSlice { gvk := schema.GroupVersionKind{Version: "v1", Kind: "Service"} ownerRef := metav1.NewControllerRef(service, gvk) epSlice := &discovery.EndpointSlice{ @@ -166,7 +165,7 @@ func getEndpointSlicePrefix(serviceName string) string { // ownedBy returns true if the provided EndpointSlice is owned by the provided // Service. -func ownedBy(endpointSlice *discovery.EndpointSlice, svc *corev1.Service) bool { +func ownedBy(endpointSlice *discovery.EndpointSlice, svc *v1.Service) bool { for _, o := range endpointSlice.OwnerReferences { if o.UID == svc.UID && o.Kind == "Service" && o.APIVersion == "v1" { return true @@ -222,9 +221,9 @@ func addTriggerTimeAnnotation(endpointSlice *discovery.EndpointSlice, triggerTim } if !triggerTime.IsZero() { - endpointSlice.Annotations[corev1.EndpointsLastChangeTriggerTime] = triggerTime.UTC().Format(time.RFC3339Nano) + endpointSlice.Annotations[v1.EndpointsLastChangeTriggerTime] = triggerTime.UTC().Format(time.RFC3339Nano) } else { // No new trigger time, clear the annotation. - delete(endpointSlice.Annotations, corev1.EndpointsLastChangeTriggerTime) + delete(endpointSlice.Annotations, v1.EndpointsLastChangeTriggerTime) } } @@ -244,7 +243,7 @@ func serviceControllerKey(endpointSlice *discovery.EndpointSlice) (string, error // setEndpointSliceLabels returns a map with the new endpoint slices labels and true if there was an update. // Slices labels must be equivalent to the Service labels except for the reserved IsHeadlessService, LabelServiceName and LabelManagedBy labels // Changes to IsHeadlessService, LabelServiceName and LabelManagedBy labels on the Service do not result in updates to EndpointSlice labels. -func setEndpointSliceLabels(epSlice *discovery.EndpointSlice, service *corev1.Service) (map[string]string, bool) { +func setEndpointSliceLabels(epSlice *discovery.EndpointSlice, service *v1.Service) (map[string]string, bool) { updated := false epLabels := make(map[string]string) svcLabels := make(map[string]string) @@ -308,7 +307,7 @@ func (sl endpointSliceEndpointLen) Less(i, j int) bool { } // returns a map of address types used by a service -func getAddressTypesForService(service *corev1.Service) map[discovery.AddressType]struct{} { +func getAddressTypesForService(service *v1.Service) map[discovery.AddressType]struct{} { serviceSupportedAddresses := make(map[discovery.AddressType]struct{}) // TODO: (khenidak) when address types are removed in favor of // v1.IPFamily this will need to be removed, and work directly with @@ -317,11 +316,11 @@ func getAddressTypesForService(service *corev1.Service) map[discovery.AddressTyp // IMPORTANT: we assume that IP of (discovery.AddressType enum) is never in use // as it gets deprecated for _, family := range service.Spec.IPFamilies { - if family == corev1.IPv4Protocol { + if family == v1.IPv4Protocol { serviceSupportedAddresses[discovery.AddressTypeIPv4] = struct{}{} } - if family == corev1.IPv6Protocol { + if family == v1.IPv6Protocol { serviceSupportedAddresses[discovery.AddressTypeIPv6] = struct{}{} } } @@ -345,7 +344,7 @@ func getAddressTypesForService(service *corev1.Service) map[discovery.AddressTyp // this ensures that traffic is not disrupted until then. But *may* // include undesired families for headless services until then. - if len(service.Spec.ClusterIP) > 0 && service.Spec.ClusterIP != corev1.ClusterIPNone { // headfull + if len(service.Spec.ClusterIP) > 0 && service.Spec.ClusterIP != v1.ClusterIPNone { // headfull addrType := discovery.AddressTypeIPv4 if utilnet.IsIPv6String(service.Spec.ClusterIP) { addrType = discovery.AddressTypeIPv6 @@ -385,9 +384,9 @@ func unchangedSlices(existingSlices, slicesToUpdate, slicesToDelete []*discovery } // hintsEnabled returns true if the provided annotations include a -// corev1.AnnotationTopologyAwareHints key with a value set to "Auto" or "auto". +// v1.AnnotationTopologyAwareHints key with a value set to "Auto" or "auto". func hintsEnabled(annotations map[string]string) bool { - val, ok := annotations[corev1.AnnotationTopologyAwareHints] + val, ok := annotations[v1.AnnotationTopologyAwareHints] if !ok { return false } diff --git a/pkg/controller/endpointslicemirroring/utils_test.go b/pkg/controller/endpointslicemirroring/utils_test.go index 0988739fb4e..e77a0629d3c 100644 --- a/pkg/controller/endpointslicemirroring/utils_test.go +++ b/pkg/controller/endpointslicemirroring/utils_test.go @@ -21,8 +21,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" + "k8s.io/api/core/v1" discovery "k8s.io/api/discovery/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -54,12 +53,12 @@ func TestNewEndpointSlice(t *testing.T) { testCases := []struct { name string - tweakEndpoint func(ep *corev1.Endpoints) + tweakEndpoint func(ep *v1.Endpoints) expectedSlice discovery.EndpointSlice }{ { name: "create slice from endpoints", - tweakEndpoint: func(ep *corev1.Endpoints) { + tweakEndpoint: func(ep *v1.Endpoints) { }, expectedSlice: discovery.EndpointSlice{ ObjectMeta: metav1.ObjectMeta{ @@ -79,7 +78,7 @@ func TestNewEndpointSlice(t *testing.T) { }, { name: "create slice from endpoints with annotations", - tweakEndpoint: func(ep *corev1.Endpoints) { + tweakEndpoint: func(ep *v1.Endpoints) { annotations := map[string]string{"foo": "bar"} ep.Annotations = annotations }, @@ -101,7 +100,7 @@ func TestNewEndpointSlice(t *testing.T) { }, { name: "create slice from endpoints with labels", - tweakEndpoint: func(ep *corev1.Endpoints) { + tweakEndpoint: func(ep *v1.Endpoints) { labels := map[string]string{"foo": "bar"} ep.Labels = labels }, @@ -124,7 +123,7 @@ func TestNewEndpointSlice(t *testing.T) { }, { name: "create slice from endpoints with labels and annotations", - tweakEndpoint: func(ep *corev1.Endpoints) { + tweakEndpoint: func(ep *v1.Endpoints) { labels := map[string]string{"foo": "bar"} ep.Labels = labels annotations := map[string]string{"foo2": "bar2"} @@ -149,12 +148,12 @@ func TestNewEndpointSlice(t *testing.T) { }, { name: "create slice from endpoints with labels and annotations triggertime", - tweakEndpoint: func(ep *corev1.Endpoints) { + tweakEndpoint: func(ep *v1.Endpoints) { labels := map[string]string{"foo": "bar"} ep.Labels = labels annotations := map[string]string{ - "foo2": "bar2", - corev1.EndpointsLastChangeTriggerTime: "date", + "foo2": "bar2", + v1.EndpointsLastChangeTriggerTime: "date", } ep.Annotations = annotations }, diff --git a/pkg/controller/garbagecollector/garbagecollector.go b/pkg/controller/garbagecollector/garbagecollector.go index 74df517668a..9da1ee1f903 100644 --- a/pkg/controller/garbagecollector/garbagecollector.go +++ b/pkg/controller/garbagecollector/garbagecollector.go @@ -35,7 +35,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/discovery" - clientset "k8s.io/client-go/kubernetes" + clientset "k8s.io/client-go/kubernetes" // import known versions v1core "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/client-go/metadata" "k8s.io/client-go/tools/cache" @@ -47,9 +47,6 @@ import ( c "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/apis/config/scheme" "k8s.io/kubernetes/pkg/controller/garbagecollector/metrics" - - // import known versions - _ "k8s.io/client-go/kubernetes" ) // ResourceResyncTime defines the resync period of the garbage collector's informers. diff --git a/pkg/controller/statefulset/stateful_set_utils.go b/pkg/controller/statefulset/stateful_set_utils.go index 3ebfc35f002..2f3eec47055 100644 --- a/pkg/controller/statefulset/stateful_set_utils.go +++ b/pkg/controller/statefulset/stateful_set_utils.go @@ -28,7 +28,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/intstr" - intstrutil "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/client-go/kubernetes/scheme" "k8s.io/klog/v2" @@ -592,7 +591,7 @@ func (ao ascendingOrdinal) Less(i, j int) bool { // Note that API validation has already guaranteed the maxUnavailable field to be >1 if it is an integer // or 0% < value <= 100% if it is a percentage, so we don't have to consider other cases. func getStatefulSetMaxUnavailable(maxUnavailable *intstr.IntOrString, replicaCount int) (int, error) { - maxUnavailableNum, err := intstrutil.GetScaledValueFromIntOrPercent(intstrutil.ValueOrDefault(maxUnavailable, intstrutil.FromInt(1)), replicaCount, false) + maxUnavailableNum, err := intstr.GetScaledValueFromIntOrPercent(intstr.ValueOrDefault(maxUnavailable, intstr.FromInt(1)), replicaCount, false) if err != nil { return 0, err } diff --git a/pkg/controller/volume/ephemeral/controller.go b/pkg/controller/volume/ephemeral/controller.go index f40527cba76..6b5f27a9ad6 100644 --- a/pkg/controller/volume/ephemeral/controller.go +++ b/pkg/controller/volume/ephemeral/controller.go @@ -34,7 +34,6 @@ import ( v1core "k8s.io/client-go/kubernetes/typed/core/v1" corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" - kcache "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" "k8s.io/component-helpers/storage/ephemeral" @@ -57,13 +56,13 @@ type ephemeralController struct { // objects from the API server. It is shared with other controllers and // therefore the PVC objects in its store should be treated as immutable. pvcLister corelisters.PersistentVolumeClaimLister - pvcsSynced kcache.InformerSynced + pvcsSynced cache.InformerSynced // podLister is the shared Pod lister used to fetch Pod // objects from the API server. It is shared with other controllers and // therefore the Pod objects in its store should be treated as immutable. podLister corelisters.PodLister - podSynced kcache.InformerSynced + podSynced cache.InformerSynced // podIndexer has the common PodPVC indexer indexer installed To // limit iteration over pods to those of interest. @@ -98,7 +97,7 @@ func NewController( eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")}) ec.recorder = eventBroadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "ephemeral_volume"}) - podInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ + podInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: ec.enqueuePod, // The pod spec is immutable. Therefore the controller can ignore pod updates // because there cannot be any changes that have to be copied into the generated @@ -106,7 +105,7 @@ func NewController( // Deletion of the PVC is handled through the owner reference and garbage collection. // Therefore pod deletions also can be ignored. }) - pvcInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ + pvcInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ DeleteFunc: ec.onPVCDelete, }) if err := common.AddPodPVCIndexerIfNotPresent(ec.podIndexer); err != nil { @@ -130,7 +129,7 @@ func (ec *ephemeralController) enqueuePod(obj interface{}) { for _, vol := range pod.Spec.Volumes { if vol.Ephemeral != nil { // It has at least one ephemeral inline volume, work on it. - key, err := kcache.DeletionHandlingMetaNamespaceKeyFunc(pod) + key, err := cache.DeletionHandlingMetaNamespaceKeyFunc(pod) if err != nil { runtime.HandleError(fmt.Errorf("couldn't get key for object %#v: %v", pod, err)) return @@ -208,7 +207,7 @@ func (ec *ephemeralController) processNextWorkItem(ctx context.Context) bool { // syncHandler is invoked for each pod which might need to be processed. // If an error is returned from this function, the pod will be requeued. func (ec *ephemeralController) syncHandler(ctx context.Context, key string) error { - namespace, name, err := kcache.SplitMetaNamespaceKey(key) + namespace, name, err := cache.SplitMetaNamespaceKey(key) if err != nil { return err } diff --git a/pkg/controller/volume/ephemeral/controller_test.go b/pkg/controller/volume/ephemeral/controller_test.go index e6c8d6d396f..c8b5ef4de75 100644 --- a/pkg/controller/volume/ephemeral/controller_test.go +++ b/pkg/controller/volume/ephemeral/controller_test.go @@ -33,7 +33,6 @@ import ( "k8s.io/client-go/kubernetes/fake" k8stesting "k8s.io/client-go/testing" "k8s.io/client-go/tools/cache" - kcache "k8s.io/client-go/tools/cache" "k8s.io/component-base/metrics/testutil" "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/controller" @@ -213,7 +212,7 @@ func makePod(name, namespace string, uid types.UID, volumes ...v1.Volume) *v1.Po } func podKey(pod *v1.Pod) string { - key, _ := kcache.DeletionHandlingMetaNamespaceKeyFunc(testPodWithEphemeral) + key, _ := cache.DeletionHandlingMetaNamespaceKeyFunc(testPodWithEphemeral) return key } diff --git a/pkg/controller/volume/expand/expand_controller.go b/pkg/controller/volume/expand/expand_controller.go index 93f04d6bac6..9196d285661 100644 --- a/pkg/controller/volume/expand/expand_controller.go +++ b/pkg/controller/volume/expand/expand_controller.go @@ -40,7 +40,6 @@ import ( v1core "k8s.io/client-go/kubernetes/typed/core/v1" corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" - kcache "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" cloudprovider "k8s.io/cloud-provider" @@ -80,10 +79,10 @@ type expandController struct { // objects from the API server. It is shared with other controllers and // therefore the PVC objects in its store should be treated as immutable. pvcLister corelisters.PersistentVolumeClaimLister - pvcsSynced kcache.InformerSynced + pvcsSynced cache.InformerSynced pvLister corelisters.PersistentVolumeLister - pvSynced kcache.InformerSynced + pvSynced cache.InformerSynced // cloud provider used by volume host cloud cloudprovider.Interface @@ -145,7 +144,7 @@ func NewExpandController( expc.recorder, blkutil) - pvcInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{ + pvcInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: expc.enqueuePVC, UpdateFunc: func(old, new interface{}) { oldPVC, ok := old.(*v1.PersistentVolumeClaim) @@ -181,7 +180,7 @@ func (expc *expandController) enqueuePVC(obj interface{}) { } if pvc.Status.Phase == v1.ClaimBound { - key, err := kcache.DeletionHandlingMetaNamespaceKeyFunc(pvc) + key, err := cache.DeletionHandlingMetaNamespaceKeyFunc(pvc) if err != nil { runtime.HandleError(fmt.Errorf("couldn't get key for object %#v: %v", pvc, err)) return @@ -212,7 +211,7 @@ func (expc *expandController) processNextWorkItem(ctx context.Context) bool { // syncHandler performs actual expansion of volume. If an error is returned // from this function - PVC will be requeued for resizing. func (expc *expandController) syncHandler(ctx context.Context, key string) error { - namespace, name, err := kcache.SplitMetaNamespaceKey(key) + namespace, name, err := cache.SplitMetaNamespaceKey(key) if err != nil { return err } diff --git a/pkg/controller/volume/persistentvolume/framework_test.go b/pkg/controller/volume/persistentvolume/framework_test.go index feca867f1b6..1207b0d566f 100644 --- a/pkg/controller/volume/persistentvolume/framework_test.go +++ b/pkg/controller/volume/persistentvolume/framework_test.go @@ -45,7 +45,6 @@ import ( "k8s.io/kubernetes/pkg/controller" pvtesting "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/testing" "k8s.io/kubernetes/pkg/volume" - vol "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util/recyclerclient" ) @@ -226,7 +225,7 @@ func newTestController(kubeClient clientset.Interface, informerFactory informers params := ControllerParameters{ KubeClient: kubeClient, SyncPeriod: 5 * time.Second, - VolumePlugins: []vol.VolumePlugin{}, + VolumePlugins: []volume.VolumePlugin{}, VolumeInformer: informerFactory.Core().V1().PersistentVolumes(), ClaimInformer: informerFactory.Core().V1().PersistentVolumeClaims(), ClassInformer: informerFactory.Storage().V1().StorageClasses(), @@ -614,7 +613,7 @@ func wrapTestWithPluginCalls(expectedRecycleCalls, expectedDeleteCalls []error, deleteCalls: expectedDeleteCalls, provisionCalls: expectedProvisionCalls, } - ctrl.volumePluginMgr.InitPlugins([]vol.VolumePlugin{plugin}, nil /* prober */, ctrl) + ctrl.volumePluginMgr.InitPlugins([]volume.VolumePlugin{plugin}, nil /* prober */, ctrl) return toWrap(ctrl, reactor, test) } } @@ -657,7 +656,7 @@ func (t fakeCSIMigratedPluginManager) IsMigrationEnabledForPlugin(pluginName str func wrapTestWithCSIMigrationProvisionCalls(toWrap testCall) testCall { plugin := &mockVolumePlugin{} return func(ctrl *PersistentVolumeController, reactor *pvtesting.VolumeReactor, test controllerTest) error { - ctrl.volumePluginMgr.InitPlugins([]vol.VolumePlugin{plugin}, nil /* prober */, ctrl) + ctrl.volumePluginMgr.InitPlugins([]volume.VolumePlugin{plugin}, nil /* prober */, ctrl) ctrl.translator = fakeCSINameTranslator{} ctrl.csiMigratedPluginManager = fakeCSIMigratedPluginManager{} return toWrap(ctrl, reactor, test) @@ -924,7 +923,7 @@ type mockVolumePlugin struct { deleteCallCounter int recycleCalls []error recycleCallCounter int - provisionOptions vol.VolumeOptions + provisionOptions volume.VolumeOptions } type provisionCall struct { @@ -932,12 +931,12 @@ type provisionCall struct { ret error } -var _ vol.VolumePlugin = &mockVolumePlugin{} -var _ vol.RecyclableVolumePlugin = &mockVolumePlugin{} -var _ vol.DeletableVolumePlugin = &mockVolumePlugin{} -var _ vol.ProvisionableVolumePlugin = &mockVolumePlugin{} +var _ volume.VolumePlugin = &mockVolumePlugin{} +var _ volume.RecyclableVolumePlugin = &mockVolumePlugin{} +var _ volume.DeletableVolumePlugin = &mockVolumePlugin{} +var _ volume.ProvisionableVolumePlugin = &mockVolumePlugin{} -func (plugin *mockVolumePlugin) Init(host vol.VolumeHost) error { +func (plugin *mockVolumePlugin) Init(host volume.VolumeHost) error { return nil } @@ -945,11 +944,11 @@ func (plugin *mockVolumePlugin) GetPluginName() string { return mockPluginName } -func (plugin *mockVolumePlugin) GetVolumeName(spec *vol.Spec) (string, error) { +func (plugin *mockVolumePlugin) GetVolumeName(spec *volume.Spec) (string, error) { return spec.Name(), nil } -func (plugin *mockVolumePlugin) CanSupport(spec *vol.Spec) bool { +func (plugin *mockVolumePlugin) CanSupport(spec *volume.Spec) bool { return true } @@ -965,21 +964,21 @@ func (plugin *mockVolumePlugin) SupportsBulkVolumeVerification() bool { return false } -func (plugin *mockVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*vol.Spec, error) { +func (plugin *mockVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*volume.Spec, error) { return nil, nil } -func (plugin *mockVolumePlugin) NewMounter(spec *vol.Spec, podRef *v1.Pod, opts vol.VolumeOptions) (vol.Mounter, error) { +func (plugin *mockVolumePlugin) NewMounter(spec *volume.Spec, podRef *v1.Pod, opts volume.VolumeOptions) (volume.Mounter, error) { return nil, fmt.Errorf("Mounter is not supported by this plugin") } -func (plugin *mockVolumePlugin) NewUnmounter(name string, podUID types.UID) (vol.Unmounter, error) { +func (plugin *mockVolumePlugin) NewUnmounter(name string, podUID types.UID) (volume.Unmounter, error) { return nil, fmt.Errorf("Unmounter is not supported by this plugin") } // Provisioner interfaces -func (plugin *mockVolumePlugin) NewProvisioner(options vol.VolumeOptions) (vol.Provisioner, error) { +func (plugin *mockVolumePlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { if len(plugin.provisionCalls) > 0 { // mockVolumePlugin directly implements Provisioner interface klog.V(4).Infof("mock plugin NewProvisioner called, returning mock provisioner") @@ -1033,7 +1032,7 @@ func (plugin *mockVolumePlugin) Provision(selectedNode *v1.Node, allowedTopologi // Deleter interfaces -func (plugin *mockVolumePlugin) NewDeleter(spec *vol.Spec) (vol.Deleter, error) { +func (plugin *mockVolumePlugin) NewDeleter(spec *volume.Spec) (volume.Deleter, error) { if len(plugin.deleteCalls) > 0 { // mockVolumePlugin directly implements Deleter interface klog.V(4).Infof("mock plugin NewDeleter called, returning mock deleter") @@ -1059,13 +1058,13 @@ func (plugin *mockVolumePlugin) GetPath() string { return "" } -func (plugin *mockVolumePlugin) GetMetrics() (*vol.Metrics, error) { +func (plugin *mockVolumePlugin) GetMetrics() (*volume.Metrics, error) { return nil, nil } // Recycler interfaces -func (plugin *mockVolumePlugin) Recycle(pvName string, spec *vol.Spec, eventRecorder recyclerclient.RecycleEventRecorder) error { +func (plugin *mockVolumePlugin) Recycle(pvName string, spec *volume.Spec, eventRecorder recyclerclient.RecycleEventRecorder) error { if len(plugin.recycleCalls) == 0 { return fmt.Errorf("Mock plugin error: no recycleCalls configured") } diff --git a/pkg/controlplane/instance_test.go b/pkg/controlplane/instance_test.go index a37a4a2ccf8..a497d080fe7 100644 --- a/pkg/controlplane/instance_test.go +++ b/pkg/controlplane/instance_test.go @@ -47,7 +47,6 @@ import ( genericapiserver "k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server/options" "k8s.io/apiserver/pkg/server/resourceconfig" - "k8s.io/apiserver/pkg/server/storage" serverstorage "k8s.io/apiserver/pkg/server/storage" etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing" "k8s.io/client-go/discovery" @@ -156,7 +155,7 @@ func TestLegacyRestStorageStrategies(t *testing.T) { LoopbackClientConfig: apiserverCfg.GenericConfig.LoopbackClientConfig, } - _, apiGroupInfo, err := storageProvider.NewLegacyRESTStorage(storage.NewResourceConfig(), apiserverCfg.GenericConfig.RESTOptionsGetter) + _, apiGroupInfo, err := storageProvider.NewLegacyRESTStorage(serverstorage.NewResourceConfig(), apiserverCfg.GenericConfig.RESTOptionsGetter) if err != nil { t.Errorf("failed to create legacy REST storage: %v", err) } diff --git a/pkg/kubelet/stats/cadvisor_stats_provider_test.go b/pkg/kubelet/stats/cadvisor_stats_provider_test.go index 9cc560d6a89..5ad6ace5edc 100644 --- a/pkg/kubelet/stats/cadvisor_stats_provider_test.go +++ b/pkg/kubelet/stats/cadvisor_stats_provider_test.go @@ -19,7 +19,7 @@ package stats import ( "testing" - gomock "github.com/golang/mock/gomock" + "github.com/golang/mock/gomock" cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/stretchr/testify/assert" @@ -30,7 +30,6 @@ import ( cadvisortest "k8s.io/kubernetes/pkg/kubelet/cadvisor/testing" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" - kubecontainertest "k8s.io/kubernetes/pkg/kubelet/container/testing" "k8s.io/kubernetes/pkg/kubelet/kuberuntime" "k8s.io/kubernetes/pkg/kubelet/leaky" serverstats "k8s.io/kubernetes/pkg/kubelet/server/stats" @@ -564,7 +563,7 @@ func TestCadvisorListPodStatsWhenContainerLogFound(t *testing.T) { kuberuntime.BuildContainerLogsDirectory(prf0.Namespace, prf0.Name, types.UID(prf0.UID), cName01): containerLogStats1, } fakeStatsSlice := []*volume.Metrics{containerLogStats0, containerLogStats1} - fakeOS := &kubecontainertest.FakeOS{} + fakeOS := &containertest.FakeOS{} freeRootfsInodes := rootfsInodesFree totalRootfsInodes := rootfsInodes diff --git a/pkg/quota/v1/evaluator/core/persistent_volume_claims_test.go b/pkg/quota/v1/evaluator/core/persistent_volume_claims_test.go index ac20d468714..afa9c764589 100644 --- a/pkg/quota/v1/evaluator/core/persistent_volume_claims_test.go +++ b/pkg/quota/v1/evaluator/core/persistent_volume_claims_test.go @@ -29,12 +29,11 @@ import ( utilfeature "k8s.io/apiserver/pkg/util/feature" featuregatetesting "k8s.io/component-base/featuregate/testing" "k8s.io/kubernetes/pkg/apis/core" - api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/features" ) -func testVolumeClaim(name string, namespace string, spec api.PersistentVolumeClaimSpec) *api.PersistentVolumeClaim { - return &api.PersistentVolumeClaim{ +func testVolumeClaim(name string, namespace string, spec core.PersistentVolumeClaimSpec) *core.PersistentVolumeClaim { + return &core.PersistentVolumeClaim{ ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace}, Spec: spec, } @@ -42,7 +41,7 @@ func testVolumeClaim(name string, namespace string, spec api.PersistentVolumeCla func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) { classGold := "gold" - validClaim := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{ + validClaim := testVolumeClaim("foo", "ns", core.PersistentVolumeClaimSpec{ Selector: &metav1.LabelSelector{ MatchExpressions: []metav1.LabelSelectorRequirement{ { @@ -51,17 +50,17 @@ func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) { }, }, }, - AccessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, - api.ReadOnlyMany, + AccessModes: []core.PersistentVolumeAccessMode{ + core.ReadWriteOnce, + core.ReadOnlyMany, }, - Resources: api.ResourceRequirements{ - Requests: api.ResourceList{ - api.ResourceName(api.ResourceStorage): resource.MustParse("10Gi"), + Resources: core.ResourceRequirements{ + Requests: core.ResourceList{ + core.ResourceName(core.ResourceStorage): resource.MustParse("10Gi"), }, }, }) - validClaimByStorageClass := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{ + validClaimByStorageClass := testVolumeClaim("foo", "ns", core.PersistentVolumeClaimSpec{ Selector: &metav1.LabelSelector{ MatchExpressions: []metav1.LabelSelectorRequirement{ { @@ -70,27 +69,27 @@ func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) { }, }, }, - AccessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, - api.ReadOnlyMany, + AccessModes: []core.PersistentVolumeAccessMode{ + core.ReadWriteOnce, + core.ReadOnlyMany, }, - Resources: api.ResourceRequirements{ - Requests: api.ResourceList{ - api.ResourceName(api.ResourceStorage): resource.MustParse("10Gi"), + Resources: core.ResourceRequirements{ + Requests: core.ResourceList{ + core.ResourceName(core.ResourceStorage): resource.MustParse("10Gi"), }, }, StorageClassName: &classGold, }) validClaimWithNonIntegerStorage := validClaim.DeepCopy() - validClaimWithNonIntegerStorage.Spec.Resources.Requests[api.ResourceName(api.ResourceStorage)] = resource.MustParse("1001m") + validClaimWithNonIntegerStorage.Spec.Resources.Requests[core.ResourceName(core.ResourceStorage)] = resource.MustParse("1001m") validClaimByStorageClassWithNonIntegerStorage := validClaimByStorageClass.DeepCopy() - validClaimByStorageClassWithNonIntegerStorage.Spec.Resources.Requests[api.ResourceName(api.ResourceStorage)] = resource.MustParse("1001m") + validClaimByStorageClassWithNonIntegerStorage.Spec.Resources.Requests[core.ResourceName(core.ResourceStorage)] = resource.MustParse("1001m") evaluator := NewPersistentVolumeClaimEvaluator(nil) testCases := map[string]struct { - pvc *api.PersistentVolumeClaim + pvc *core.PersistentVolumeClaim usage corev1.ResourceList enableRecoverFromExpansion bool }{ @@ -169,16 +168,16 @@ func TestPersistentVolumeClaimEvaluatorUsage(t *testing.T) { } } -func getPVCWithAllocatedResource(pvcSize, allocatedSize string) *api.PersistentVolumeClaim { - validPVCWithAllocatedResources := testVolumeClaim("foo", "ns", api.PersistentVolumeClaimSpec{ - Resources: api.ResourceRequirements{ - Requests: api.ResourceList{ +func getPVCWithAllocatedResource(pvcSize, allocatedSize string) *core.PersistentVolumeClaim { + validPVCWithAllocatedResources := testVolumeClaim("foo", "ns", core.PersistentVolumeClaimSpec{ + Resources: core.ResourceRequirements{ + Requests: core.ResourceList{ core.ResourceStorage: resource.MustParse(pvcSize), }, }, }) - validPVCWithAllocatedResources.Status.AllocatedResources = api.ResourceList{ - api.ResourceName(api.ResourceStorage): resource.MustParse(allocatedSize), + validPVCWithAllocatedResources.Status.AllocatedResources = core.ResourceList{ + core.ResourceName(core.ResourceStorage): resource.MustParse(allocatedSize), } return validPVCWithAllocatedResources } diff --git a/pkg/registry/apps/deployment/storage/storage_test.go b/pkg/registry/apps/deployment/storage/storage_test.go index 8317acb5a10..d7b371040d2 100644 --- a/pkg/registry/apps/deployment/storage/storage_test.go +++ b/pkg/registry/apps/deployment/storage/storage_test.go @@ -26,7 +26,6 @@ import ( "testing" apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -280,7 +279,7 @@ func TestScaleUpdate(t *testing.T) { update.ResourceVersion = deployment.ResourceVersion update.Spec.Replicas = 15 - if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil && !errors.IsConflict(err) { + if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil && !apierrors.IsConflict(err) { t.Fatalf("unexpected error, expecting an update conflict but got %v", err) } } @@ -427,7 +426,7 @@ func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) { if err == nil { t.Fatalf("Expected not-found-error but got nothing") } - if !errors.IsNotFound(storeerr.InterpretGetError(err, apps.Resource("deployments"), name)) { + if !apierrors.IsNotFound(storeerr.InterpretGetError(err, apps.Resource("deployments"), name)) { t.Fatalf("Unexpected error returned: %#v", err) } @@ -435,7 +434,7 @@ func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) { if err == nil { t.Fatalf("Expected not-found-error but got nothing") } - if !errors.IsNotFound(storeerr.InterpretGetError(err, apps.Resource("deployments"), name)) { + if !apierrors.IsNotFound(storeerr.InterpretGetError(err, apps.Resource("deployments"), name)) { t.Fatalf("Unexpected error: %v", err) } } diff --git a/pkg/registry/apps/replicaset/storage/storage_test.go b/pkg/registry/apps/replicaset/storage/storage_test.go index bd4d739a360..392c1f95b21 100644 --- a/pkg/registry/apps/replicaset/storage/storage_test.go +++ b/pkg/registry/apps/replicaset/storage/storage_test.go @@ -23,7 +23,6 @@ import ( "testing" apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -342,7 +341,7 @@ func TestScaleUpdate(t *testing.T) { update.ResourceVersion = rs.ResourceVersion update.Spec.Replicas = 15 - if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil && !errors.IsConflict(err) { + if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil && !apierrors.IsConflict(err) { t.Fatalf("unexpected error, expecting an update conflict but got %v", err) } } diff --git a/pkg/registry/apps/statefulset/storage/storage_test.go b/pkg/registry/apps/statefulset/storage/storage_test.go index 82505925dd4..cdce909bd77 100644 --- a/pkg/registry/apps/statefulset/storage/storage_test.go +++ b/pkg/registry/apps/statefulset/storage/storage_test.go @@ -23,7 +23,6 @@ import ( "testing" apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -292,7 +291,7 @@ func TestScaleUpdate(t *testing.T) { update.ResourceVersion = sts.ResourceVersion update.Spec.Replicas = 15 - if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil && !errors.IsConflict(err) { + if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update), rest.ValidateAllObjectFunc, rest.ValidateAllObjectUpdateFunc, false, &metav1.UpdateOptions{}); err != nil && !apierrors.IsConflict(err) { t.Fatalf("unexpected error, expecting an update conflict but got %v", err) } } diff --git a/pkg/registry/core/service/ipallocator/controller/repair_test.go b/pkg/registry/core/service/ipallocator/controller/repair_test.go index f2cf9bb098f..a3d2144ecc3 100644 --- a/pkg/registry/core/service/ipallocator/controller/repair_test.go +++ b/pkg/registry/core/service/ipallocator/controller/repair_test.go @@ -23,7 +23,6 @@ import ( "testing" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" api "k8s.io/kubernetes/pkg/apis/core" @@ -148,7 +147,7 @@ func TestRepairWithExisting(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.1.1", ClusterIPs: []string{"192.168.1.1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, &corev1.Service{ @@ -156,7 +155,7 @@ func TestRepairWithExisting(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.1.100", ClusterIPs: []string{"192.168.1.100"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, &corev1.Service{ // outside CIDR, will be dropped @@ -164,7 +163,7 @@ func TestRepairWithExisting(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.0.1", ClusterIPs: []string{"192.168.0.1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, &corev1.Service{ // empty, ignored @@ -179,7 +178,7 @@ func TestRepairWithExisting(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.1.1", ClusterIPs: []string{"192.168.1.1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, &corev1.Service{ // headless @@ -250,31 +249,31 @@ func makeIPNet(cidr string) *net.IPNet { func TestShouldWorkOnSecondary(t *testing.T) { testCases := []struct { name string - expectedFamilies []v1.IPFamily + expectedFamilies []corev1.IPFamily primaryNet *net.IPNet secondaryNet *net.IPNet }{ { name: "primary only (v4)", - expectedFamilies: []v1.IPFamily{v1.IPv4Protocol}, + expectedFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, primaryNet: makeIPNet("10.0.0.0/16"), secondaryNet: nil, }, { name: "primary only (v6)", - expectedFamilies: []v1.IPFamily{v1.IPv6Protocol}, + expectedFamilies: []corev1.IPFamily{corev1.IPv6Protocol}, primaryNet: makeIPNet("2000::/120"), secondaryNet: nil, }, { name: "primary and secondary provided (v4,v6)", - expectedFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol}, + expectedFamilies: []corev1.IPFamily{corev1.IPv4Protocol, corev1.IPv6Protocol}, primaryNet: makeIPNet("10.0.0.0/16"), secondaryNet: makeIPNet("2000::/120"), }, { name: "primary and secondary provided (v6,v4)", - expectedFamilies: []v1.IPFamily{v1.IPv6Protocol, v1.IPv4Protocol}, + expectedFamilies: []corev1.IPFamily{corev1.IPv6Protocol, corev1.IPv4Protocol}, primaryNet: makeIPNet("2000::/120"), secondaryNet: makeIPNet("10.0.0.0/16"), }, @@ -295,7 +294,7 @@ func TestShouldWorkOnSecondary(t *testing.T) { t.Fatalf("expected to have allocator by family count:%v got %v", len(tc.expectedFamilies), len(repair.allocatorByFamily)) } - seen := make(map[v1.IPFamily]bool) + seen := make(map[corev1.IPFamily]bool) for _, family := range tc.expectedFamilies { familySeen := true @@ -488,7 +487,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.1.1", ClusterIPs: []string{"192.168.1.1", "2000::1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol, corev1.IPv6Protocol}, }, }, &corev1.Service{ @@ -496,7 +495,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "2000::1", ClusterIPs: []string{"2000::1", "192.168.1.100"}, - IPFamilies: []v1.IPFamily{v1.IPv6Protocol, v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv6Protocol, corev1.IPv4Protocol}, }, }, &corev1.Service{ @@ -504,7 +503,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "2000::2", ClusterIPs: []string{"2000::2"}, - IPFamilies: []v1.IPFamily{v1.IPv6Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv6Protocol}, }, }, &corev1.Service{ @@ -512,7 +511,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.1.90", ClusterIPs: []string{"192.168.1.90"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, // outside CIDR, will be dropped @@ -521,7 +520,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.0.1", ClusterIPs: []string{"192.168.0.1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, &corev1.Service{ // outside CIDR, will be dropped @@ -529,7 +528,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "3000::1", ClusterIPs: []string{"3000::1"}, - IPFamilies: []v1.IPFamily{v1.IPv6Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv6Protocol}, }, }, &corev1.Service{ @@ -537,7 +536,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.0.1", ClusterIPs: []string{"192.168.0.1", "3000::1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol, v1.IPv6Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol, corev1.IPv6Protocol}, }, }, &corev1.Service{ @@ -545,7 +544,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "3000::1", ClusterIPs: []string{"3000::1", "192.168.0.1"}, - IPFamilies: []v1.IPFamily{v1.IPv6Protocol, v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv6Protocol, corev1.IPv4Protocol}, }, }, @@ -558,7 +557,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "192.168.1.1", ClusterIPs: []string{"192.168.1.1"}, - IPFamilies: []v1.IPFamily{v1.IPv4Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv4Protocol}, }, }, &corev1.Service{ // duplicate, dropped @@ -566,7 +565,7 @@ func TestRepairWithExistingDualStack(t *testing.T) { Spec: corev1.ServiceSpec{ ClusterIP: "2000::2", ClusterIPs: []string{"2000::2"}, - IPFamilies: []v1.IPFamily{v1.IPv6Protocol}, + IPFamilies: []corev1.IPFamily{corev1.IPv6Protocol}, }, }, diff --git a/pkg/registry/rbac/rest/storage_rbac.go b/pkg/registry/rbac/rest/storage_rbac.go index ae3218eb0b5..16502c476c2 100644 --- a/pkg/registry/rbac/rest/storage_rbac.go +++ b/pkg/registry/rbac/rest/storage_rbac.go @@ -24,7 +24,6 @@ import ( "k8s.io/klog/v2" rbacapiv1 "k8s.io/api/rbac/v1" - "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" @@ -153,7 +152,7 @@ type PolicyData struct { } func isConflictOrServiceUnavailable(err error) bool { - return errors.IsConflict(err) || errors.IsServiceUnavailable(err) + return apierrors.IsConflict(err) || apierrors.IsServiceUnavailable(err) } func retryOnConflictOrServiceUnavailable(backoff wait.Backoff, fn func() error) error { diff --git a/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio_test.go b/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio_test.go index a487fc57adc..0e72b8d2f84 100644 --- a/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio_test.go +++ b/pkg/scheduler/framework/plugins/noderesources/requested_to_capacity_ratio_test.go @@ -28,7 +28,6 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/pkg/scheduler/framework" - "k8s.io/kubernetes/pkg/scheduler/framework/plugins/feature" plfeature "k8s.io/kubernetes/pkg/scheduler/framework/plugins/feature" "k8s.io/kubernetes/pkg/scheduler/framework/plugins/helper" "k8s.io/kubernetes/pkg/scheduler/framework/runtime" @@ -317,7 +316,7 @@ func TestResourceBinPackingSingleExtended(t *testing.T) { }, }, } - p, err := NewFit(&args, fh, feature.Features{}) + p, err := NewFit(&args, fh, plfeature.Features{}) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -540,7 +539,7 @@ func TestResourceBinPackingMultipleExtended(t *testing.T) { }, } - p, err := NewFit(&args, fh, feature.Features{}) + p, err := NewFit(&args, fh, plfeature.Features{}) if err != nil { t.Fatalf("unexpected error: %v", err) } diff --git a/pkg/volume/csi/csi_mounter_test.go b/pkg/volume/csi/csi_mounter_test.go index 61229eb1c82..e30697c6117 100644 --- a/pkg/volume/csi/csi_mounter_test.go +++ b/pkg/volume/csi/csi_mounter_test.go @@ -24,16 +24,14 @@ import ( "os" "path" "path/filepath" + "reflect" "testing" "time" - "reflect" - "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" authenticationv1 "k8s.io/api/authentication/v1" - api "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -91,7 +89,7 @@ func TestMounterGetPath(t *testing.T) { spec := volume.NewSpecFromPersistentVolume(pv, pv.Spec.PersistentVolumeSource.CSI.ReadOnly) mounter, err := plug.NewMounter( spec, - &api.Pod{ObjectMeta: meta.ObjectMeta{UID: testPodUID, Namespace: testns}}, + &corev1.Pod{ObjectMeta: meta.ObjectMeta{UID: testPodUID, Namespace: testns}}, volume.VolumeOptions{}, ) if err != nil { @@ -186,9 +184,9 @@ func TestMounterSetUp(t *testing.T) { mounter, err := plug.NewMounter( volume.NewSpecFromPersistentVolume(pv, pv.Spec.PersistentVolumeSource.CSI.ReadOnly), - &api.Pod{ + &corev1.Pod{ ObjectMeta: meta.ObjectMeta{UID: testPodUID, Namespace: testns, Name: testPod}, - Spec: api.PodSpec{ + Spec: corev1.PodSpec{ ServiceAccountName: testAccount, }, }, @@ -328,7 +326,7 @@ func TestMounterSetUpSimple(t *testing.T) { t.Run(tc.name, func(t *testing.T) { mounter, err := plug.NewMounter( tc.spec(tc.fsType, tc.options), - &api.Pod{ObjectMeta: meta.ObjectMeta{UID: tc.podUID, Namespace: testns}}, + &corev1.Pod{ObjectMeta: meta.ObjectMeta{UID: tc.podUID, Namespace: testns}}, volume.VolumeOptions{}, ) if tc.shouldFail && err != nil { @@ -445,7 +443,7 @@ func TestMounterSetupWithStatusTracking(t *testing.T) { podUID: types.UID(fmt.Sprintf("%08X", rand.Uint64())), spec: func(fsType string, options []string) *volume.Spec { pv := makeTestPV("pv5", 20, testDriver, "vol6") - pv.Spec.PersistentVolumeSource.CSI.NodePublishSecretRef = &api.SecretReference{ + pv.Spec.PersistentVolumeSource.CSI.NodePublishSecretRef = &corev1.SecretReference{ Name: "foo", Namespace: "default", } @@ -462,7 +460,7 @@ func TestMounterSetupWithStatusTracking(t *testing.T) { t.Run(tc.name, func(t *testing.T) { mounter, err := plug.NewMounter( tc.spec("ext4", []string{}), - &api.Pod{ObjectMeta: meta.ObjectMeta{UID: tc.podUID, Namespace: testns}}, + &corev1.Pod{ObjectMeta: meta.ObjectMeta{UID: tc.podUID, Namespace: testns}}, volume.VolumeOptions{}, ) if err != nil { @@ -565,7 +563,7 @@ func TestMounterSetUpWithInline(t *testing.T) { t.Run(tc.name, func(t *testing.T) { mounter, err := plug.NewMounter( tc.spec(tc.fsType, tc.options), - &api.Pod{ObjectMeta: meta.ObjectMeta{UID: tc.podUID, Namespace: testns}}, + &corev1.Pod{ObjectMeta: meta.ObjectMeta{UID: tc.podUID, Namespace: testns}}, volume.VolumeOptions{}, ) if tc.shouldFail && err != nil { @@ -650,7 +648,7 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { testCases := []struct { name string - accessModes []api.PersistentVolumeAccessMode + accessModes []corev1.PersistentVolumeAccessMode readOnly bool fsType string setFsGroup bool @@ -663,16 +661,16 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }{ { name: "default fstype, with no fsgroup (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: false, fsType: "", }, { name: "default fstype with fsgroup (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: false, fsType: "", @@ -681,9 +679,9 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWM, ROM provided (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteMany, - api.ReadOnlyMany, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteMany, + corev1.ReadOnlyMany, }, fsType: "ext4", setFsGroup: true, @@ -691,8 +689,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWO, but readOnly (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: true, fsType: "ext4", @@ -701,8 +699,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWO provided (should apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, fsType: "ext4", setFsGroup: true, @@ -710,8 +708,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWO provided, FSGroupPolicy ReadWriteOnceWithFSType (should apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, fsType: "ext4", setFsGroup: true, @@ -721,8 +719,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "default fstype with no fsgroup, FSGroupPolicy ReadWriteOnceWithFSType (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: false, fsType: "", @@ -731,8 +729,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "default fstype with fsgroup, FSGroupPolicy ReadWriteOnceWithFSType (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: false, fsType: "", @@ -743,8 +741,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWO provided, readonly, FSGroupPolicy ReadWriteOnceWithFSType (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: true, fsType: "ext4", @@ -755,8 +753,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWX provided, FSGroupPolicy ReadWriteOnceWithFSType (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteMany, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteMany, }, readOnly: false, fsType: "ext4", @@ -767,8 +765,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWO provided, FSGroupPolicy None (should not apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, fsType: "ext4", setFsGroup: true, @@ -778,8 +776,8 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { }, { name: "fstype, fsgroup, RWO provided, readOnly, FSGroupPolicy File (should apply fsgroup)", - accessModes: []api.PersistentVolumeAccessMode{ - api.ReadWriteOnce, + accessModes: []corev1.PersistentVolumeAccessMode{ + corev1.ReadWriteOnce, }, readOnly: true, fsType: "ext4", @@ -844,7 +842,7 @@ func TestMounterSetUpWithFSGroup(t *testing.T) { mounter, err := plug.NewMounter( spec, - &api.Pod{ObjectMeta: meta.ObjectMeta{UID: testPodUID, Namespace: testns}}, + &corev1.Pod{ObjectMeta: meta.ObjectMeta{UID: testPodUID, Namespace: testns}}, volume.VolumeOptions{}, ) if err != nil { @@ -1063,9 +1061,9 @@ func TestPodServiceAccountTokenAttrs(t *testing.T) { defer os.RemoveAll(tmpDir) mounter, err := plug.NewMounter( volume.NewSpecFromVolume(makeTestVol("test", testDriver)), - &api.Pod{ + &corev1.Pod{ ObjectMeta: meta.ObjectMeta{UID: testPodUID, Namespace: testns, Name: testPod}, - Spec: api.PodSpec{ + Spec: corev1.PodSpec{ ServiceAccountName: testAccount, }, }, @@ -1107,7 +1105,7 @@ func Test_csiMountMgr_supportsFSGroup(t *testing.T) { readOnly bool supportsSELinux bool spec *volume.Spec - pod *api.Pod + pod *corev1.Pod podUID types.UID publishContext map[string]string kubeVolHost volume.KubeletVolumeHost @@ -1177,9 +1175,9 @@ func Test_csiMountMgr_supportsFSGroup(t *testing.T) { driverPolicy: storage.ReadWriteOnceWithFSTypeFSGroupPolicy, }, fields: fields{ - spec: volume.NewSpecFromPersistentVolume(&api.PersistentVolume{ - Spec: api.PersistentVolumeSpec{ - AccessModes: []api.PersistentVolumeAccessMode{}, + spec: volume.NewSpecFromPersistentVolume(&corev1.PersistentVolume{ + Spec: corev1.PersistentVolumeSpec{ + AccessModes: []corev1.PersistentVolumeAccessMode{}, }, }, true), }, @@ -1193,9 +1191,9 @@ func Test_csiMountMgr_supportsFSGroup(t *testing.T) { driverPolicy: storage.ReadWriteOnceWithFSTypeFSGroupPolicy, }, fields: fields{ - spec: volume.NewSpecFromPersistentVolume(&api.PersistentVolume{ - Spec: api.PersistentVolumeSpec{ - AccessModes: []api.PersistentVolumeAccessMode{api.ReadWriteOnce}, + spec: volume.NewSpecFromPersistentVolume(&corev1.PersistentVolume{ + Spec: corev1.PersistentVolumeSpec{ + AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteOnce}, }, }, true), }, @@ -1209,9 +1207,9 @@ func Test_csiMountMgr_supportsFSGroup(t *testing.T) { driverPolicy: storage.ReadWriteOnceWithFSTypeFSGroupPolicy, }, fields: fields{ - spec: volume.NewSpecFromVolume(&api.Volume{ - VolumeSource: api.VolumeSource{ - CSI: &api.CSIVolumeSource{ + spec: volume.NewSpecFromVolume(&corev1.Volume{ + VolumeSource: corev1.VolumeSource{ + CSI: &corev1.CSIVolumeSource{ Driver: testDriver, }, }, diff --git a/pkg/volume/iscsi/iscsi.go b/pkg/volume/iscsi/iscsi.go index 3d6cb58dbec..445b828ae43 100644 --- a/pkg/volume/iscsi/iscsi.go +++ b/pkg/volume/iscsi/iscsi.go @@ -35,7 +35,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/volume" - "k8s.io/kubernetes/pkg/volume/util" ioutil "k8s.io/kubernetes/pkg/volume/util" "k8s.io/kubernetes/pkg/volume/util/volumepathhandler" ) @@ -224,7 +223,7 @@ func (plugin *iscsiPlugin) ConstructVolumeSpec(volumeName, mountPath string) (*v // leave the global mount still mounted, while marking the volume as unused. // The volume can then be mounted on several nodes, resulting in volume // corruption. - paths, err := util.GetReliableMountRefs(mounter, mountPath) + paths, err := ioutil.GetReliableMountRefs(mounter, mountPath) if io.IsInconsistentReadError(err) { klog.Errorf("Failed to read mount refs from /proc/mounts for %s: %s", mountPath, err) klog.Errorf("Kubelet cannot unmount volume at %s, please unmount it and all mounts of the same device manually.", mountPath) diff --git a/pkg/volume/testing/testing.go b/pkg/volume/testing/testing.go index 72e45fa78ad..ef2f12056df 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -37,7 +37,6 @@ import ( "k8s.io/apimachinery/pkg/util/uuid" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/volume" - . "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util" "k8s.io/kubernetes/pkg/volume/util/recyclerclient" volumetypes "k8s.io/kubernetes/pkg/volume/util/types" @@ -150,9 +149,9 @@ func makeFakeOutput(output string, rc int) testingexec.FakeAction { } } -func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin { +func ProbeVolumePlugins(config volume.VolumeConfig) []volume.VolumePlugin { if _, ok := config.OtherAttributes["fake-property"]; ok { - return []VolumePlugin{ + return []volume.VolumePlugin{ &FakeVolumePlugin{ PluginName: "fake-plugin", Host: nil, @@ -160,7 +159,7 @@ func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin { }, } } - return []VolumePlugin{&FakeVolumePlugin{PluginName: "fake-plugin"}} + return []volume.VolumePlugin{&FakeVolumePlugin{PluginName: "fake-plugin"}} } // FakeVolumePlugin is useful for testing. It tries to be a fully compliant @@ -170,9 +169,9 @@ func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin { type FakeVolumePlugin struct { sync.RWMutex PluginName string - Host VolumeHost - Config VolumeConfig - LastProvisionerOptions VolumeOptions + Host volume.VolumeHost + Config volume.VolumeConfig + LastProvisionerOptions volume.VolumeOptions NewAttacherCallCount int NewDetacherCallCount int NodeExpandCallCount int @@ -187,7 +186,7 @@ type FakeVolumePlugin struct { NonAttachable bool // Add callbacks as needed - WaitForAttachHook func(spec *Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error) + WaitForAttachHook func(spec *volume.Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error) UnmountDeviceHook func(globalMountPath string) error Mounters []*FakeVolume @@ -198,15 +197,15 @@ type FakeVolumePlugin struct { BlockVolumeUnmappers []*FakeVolume } -var _ VolumePlugin = &FakeVolumePlugin{} -var _ BlockVolumePlugin = &FakeVolumePlugin{} -var _ RecyclableVolumePlugin = &FakeVolumePlugin{} -var _ DeletableVolumePlugin = &FakeVolumePlugin{} -var _ ProvisionableVolumePlugin = &FakeVolumePlugin{} -var _ AttachableVolumePlugin = &FakeVolumePlugin{} -var _ VolumePluginWithAttachLimits = &FakeVolumePlugin{} -var _ DeviceMountableVolumePlugin = &FakeVolumePlugin{} -var _ NodeExpandableVolumePlugin = &FakeVolumePlugin{} +var _ volume.VolumePlugin = &FakeVolumePlugin{} +var _ volume.BlockVolumePlugin = &FakeVolumePlugin{} +var _ volume.RecyclableVolumePlugin = &FakeVolumePlugin{} +var _ volume.DeletableVolumePlugin = &FakeVolumePlugin{} +var _ volume.ProvisionableVolumePlugin = &FakeVolumePlugin{} +var _ volume.AttachableVolumePlugin = &FakeVolumePlugin{} +var _ volume.VolumePluginWithAttachLimits = &FakeVolumePlugin{} +var _ volume.DeviceMountableVolumePlugin = &FakeVolumePlugin{} +var _ volume.NodeExpandableVolumePlugin = &FakeVolumePlugin{} func (plugin *FakeVolumePlugin) getFakeVolume(list *[]*FakeVolume) *FakeVolume { if list != nil { @@ -233,7 +232,7 @@ func (plugin *FakeVolumePlugin) getFakeVolume(list *[]*FakeVolume) *FakeVolume { return volume } -func (plugin *FakeVolumePlugin) Init(host VolumeHost) error { +func (plugin *FakeVolumePlugin) Init(host volume.VolumeHost) error { plugin.Lock() defer plugin.Unlock() plugin.Host = host @@ -246,7 +245,7 @@ func (plugin *FakeVolumePlugin) GetPluginName() string { return plugin.PluginName } -func (plugin *FakeVolumePlugin) GetVolumeName(spec *Spec) (string, error) { +func (plugin *FakeVolumePlugin) GetVolumeName(spec *volume.Spec) (string, error) { var volumeName string if spec.Volume != nil && spec.Volume.GCEPersistentDisk != nil { volumeName = spec.Volume.GCEPersistentDisk.PDName @@ -262,7 +261,7 @@ func (plugin *FakeVolumePlugin) GetVolumeName(spec *Spec) (string, error) { return volumeName, nil } -func (plugin *FakeVolumePlugin) CanSupport(spec *Spec) bool { +func (plugin *FakeVolumePlugin) CanSupport(spec *volume.Spec) bool { // TODO: maybe pattern-match on spec.Name() to decide? return true } @@ -279,17 +278,17 @@ func (plugin *FakeVolumePlugin) SupportsBulkVolumeVerification() bool { return false } -func (plugin *FakeVolumePlugin) NewMounter(spec *Spec, pod *v1.Pod, opts VolumeOptions) (Mounter, error) { +func (plugin *FakeVolumePlugin) NewMounter(spec *volume.Spec, pod *v1.Pod, opts volume.VolumeOptions) (volume.Mounter, error) { plugin.Lock() defer plugin.Unlock() - volume := plugin.getFakeVolume(&plugin.Mounters) - volume.Lock() - defer volume.Unlock() - volume.PodUID = pod.UID - volume.VolName = spec.Name() - volume.Plugin = plugin - volume.MetricsNil = MetricsNil{} - return volume, nil + fakeVolume := plugin.getFakeVolume(&plugin.Mounters) + fakeVolume.Lock() + defer fakeVolume.Unlock() + fakeVolume.PodUID = pod.UID + fakeVolume.VolName = spec.Name() + fakeVolume.Plugin = plugin + fakeVolume.MetricsNil = volume.MetricsNil{} + return fakeVolume, nil } func (plugin *FakeVolumePlugin) GetMounters() (Mounters []*FakeVolume) { @@ -298,17 +297,17 @@ func (plugin *FakeVolumePlugin) GetMounters() (Mounters []*FakeVolume) { return plugin.Mounters } -func (plugin *FakeVolumePlugin) NewUnmounter(volName string, podUID types.UID) (Unmounter, error) { +func (plugin *FakeVolumePlugin) NewUnmounter(volName string, podUID types.UID) (volume.Unmounter, error) { plugin.Lock() defer plugin.Unlock() - volume := plugin.getFakeVolume(&plugin.Unmounters) - volume.Lock() - defer volume.Unlock() - volume.PodUID = podUID - volume.VolName = volName - volume.Plugin = plugin - volume.MetricsNil = MetricsNil{} - return volume, nil + fakeVolume := plugin.getFakeVolume(&plugin.Unmounters) + fakeVolume.Lock() + defer fakeVolume.Unlock() + fakeVolume.PodUID = podUID + fakeVolume.VolName = volName + fakeVolume.Plugin = plugin + fakeVolume.MetricsNil = volume.MetricsNil{} + return fakeVolume, nil } func (plugin *FakeVolumePlugin) GetUnmounters() (Unmounters []*FakeVolume) { @@ -318,7 +317,7 @@ func (plugin *FakeVolumePlugin) GetUnmounters() (Unmounters []*FakeVolume) { } // Block volume support -func (plugin *FakeVolumePlugin) NewBlockVolumeMapper(spec *Spec, pod *v1.Pod, opts VolumeOptions) (BlockVolumeMapper, error) { +func (plugin *FakeVolumePlugin) NewBlockVolumeMapper(spec *volume.Spec, pod *v1.Pod, opts volume.VolumeOptions) (volume.BlockVolumeMapper, error) { plugin.Lock() defer plugin.Unlock() volume := plugin.getFakeVolume(&plugin.BlockVolumeMappers) @@ -340,7 +339,7 @@ func (plugin *FakeVolumePlugin) GetBlockVolumeMapper() (BlockVolumeMappers []*Fa } // Block volume support -func (plugin *FakeVolumePlugin) NewBlockVolumeUnmapper(volName string, podUID types.UID) (BlockVolumeUnmapper, error) { +func (plugin *FakeVolumePlugin) NewBlockVolumeUnmapper(volName string, podUID types.UID) (volume.BlockVolumeUnmapper, error) { plugin.Lock() defer plugin.Unlock() volume := plugin.getFakeVolume(&plugin.BlockVolumeUnmappers) @@ -359,14 +358,14 @@ func (plugin *FakeVolumePlugin) GetBlockVolumeUnmapper() (BlockVolumeUnmappers [ return plugin.BlockVolumeUnmappers } -func (plugin *FakeVolumePlugin) NewAttacher() (Attacher, error) { +func (plugin *FakeVolumePlugin) NewAttacher() (volume.Attacher, error) { plugin.Lock() defer plugin.Unlock() plugin.NewAttacherCallCount = plugin.NewAttacherCallCount + 1 return plugin.getFakeVolume(&plugin.Attachers), nil } -func (plugin *FakeVolumePlugin) NewDeviceMounter() (DeviceMounter, error) { +func (plugin *FakeVolumePlugin) NewDeviceMounter() (volume.DeviceMounter, error) { return plugin.NewAttacher() } @@ -382,7 +381,7 @@ func (plugin *FakeVolumePlugin) GetNewAttacherCallCount() int { return plugin.NewAttacherCallCount } -func (plugin *FakeVolumePlugin) NewDetacher() (Detacher, error) { +func (plugin *FakeVolumePlugin) NewDetacher() (volume.Detacher, error) { plugin.Lock() defer plugin.Unlock() plugin.NewDetacherCallCount = plugin.NewDetacherCallCount + 1 @@ -398,7 +397,7 @@ func (plugin *FakeVolumePlugin) NewDetacher() (Detacher, error) { return detacher, nil } -func (plugin *FakeVolumePlugin) NewDeviceUnmounter() (DeviceUnmounter, error) { +func (plugin *FakeVolumePlugin) NewDeviceUnmounter() (volume.DeviceUnmounter, error) { return plugin.NewDetacher() } @@ -414,23 +413,23 @@ func (plugin *FakeVolumePlugin) GetNewDetacherCallCount() int { return plugin.NewDetacherCallCount } -func (plugin *FakeVolumePlugin) CanAttach(spec *Spec) (bool, error) { +func (plugin *FakeVolumePlugin) CanAttach(spec *volume.Spec) (bool, error) { return !plugin.NonAttachable, nil } -func (plugin *FakeVolumePlugin) CanDeviceMount(spec *Spec) (bool, error) { +func (plugin *FakeVolumePlugin) CanDeviceMount(spec *volume.Spec) (bool, error) { return true, nil } -func (plugin *FakeVolumePlugin) Recycle(pvName string, spec *Spec, eventRecorder recyclerclient.RecycleEventRecorder) error { +func (plugin *FakeVolumePlugin) Recycle(pvName string, spec *volume.Spec, eventRecorder recyclerclient.RecycleEventRecorder) error { return nil } -func (plugin *FakeVolumePlugin) NewDeleter(spec *Spec) (Deleter, error) { - return &FakeDeleter{"/attributesTransferredFromSpec", MetricsNil{}}, nil +func (plugin *FakeVolumePlugin) NewDeleter(spec *volume.Spec) (volume.Deleter, error) { + return &FakeDeleter{"/attributesTransferredFromSpec", volume.MetricsNil{}}, nil } -func (plugin *FakeVolumePlugin) NewProvisioner(options VolumeOptions) (Provisioner, error) { +func (plugin *FakeVolumePlugin) NewProvisioner(options volume.VolumeOptions) (volume.Provisioner, error) { plugin.Lock() defer plugin.Unlock() plugin.LastProvisionerOptions = options @@ -441,8 +440,8 @@ func (plugin *FakeVolumePlugin) GetAccessModes() []v1.PersistentVolumeAccessMode return []v1.PersistentVolumeAccessMode{} } -func (plugin *FakeVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*Spec, error) { - return &Spec{ +func (plugin *FakeVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*volume.Spec, error) { + return &volume.Spec{ Volume: &v1.Volume{ Name: volumeName, }, @@ -450,8 +449,8 @@ func (plugin *FakeVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string } // Block volume support -func (plugin *FakeVolumePlugin) ConstructBlockVolumeSpec(podUID types.UID, volumeName, mountPath string) (*Spec, error) { - return &Spec{ +func (plugin *FakeVolumePlugin) ConstructBlockVolumeSpec(podUID types.UID, volumeName, mountPath string) (*volume.Spec, error) { + return &volume.Spec{ Volume: &v1.Volume{ Name: volumeName, }, @@ -463,7 +462,7 @@ func (plugin *FakeVolumePlugin) GetDeviceMountRefs(deviceMountPath string) ([]st } // Expandable volume support -func (plugin *FakeVolumePlugin) ExpandVolumeDevice(spec *Spec, newSize resource.Quantity, oldSize resource.Quantity) (resource.Quantity, error) { +func (plugin *FakeVolumePlugin) ExpandVolumeDevice(spec *volume.Spec, newSize resource.Quantity, oldSize resource.Quantity) (resource.Quantity, error) { return resource.Quantity{}, nil } @@ -471,7 +470,7 @@ func (plugin *FakeVolumePlugin) RequiresFSResize() bool { return !plugin.DisableNodeExpansion } -func (plugin *FakeVolumePlugin) NodeExpand(resizeOptions NodeResizeOptions) (bool, error) { +func (plugin *FakeVolumePlugin) NodeExpand(resizeOptions volume.NodeResizeOptions) (bool, error) { plugin.NodeExpandCallCount++ if resizeOptions.VolumeSpec.Name() == FailWithInUseVolumeName { return false, volumetypes.NewFailedPreconditionError("volume-in-use") @@ -490,7 +489,7 @@ func (plugin *FakeVolumePlugin) GetVolumeLimits() (map[string]int64, error) { return plugin.VolumeLimits, plugin.VolumeLimitsError } -func (plugin *FakeVolumePlugin) VolumeLimitKey(spec *Spec) string { +func (plugin *FakeVolumePlugin) VolumeLimitKey(spec *volume.Spec) string { return plugin.LimitKey } @@ -505,30 +504,30 @@ func (f *FakeBasicVolumePlugin) GetPluginName() string { return f.Plugin.GetPluginName() } -func (f *FakeBasicVolumePlugin) GetVolumeName(spec *Spec) (string, error) { +func (f *FakeBasicVolumePlugin) GetVolumeName(spec *volume.Spec) (string, error) { return f.Plugin.GetVolumeName(spec) } // CanSupport tests whether the plugin supports a given volume specification by // testing volume spec name begins with plugin name or not. // This is useful to choose plugin by volume in testing. -func (f *FakeBasicVolumePlugin) CanSupport(spec *Spec) bool { +func (f *FakeBasicVolumePlugin) CanSupport(spec *volume.Spec) bool { return strings.HasPrefix(spec.Name(), f.GetPluginName()) } -func (f *FakeBasicVolumePlugin) ConstructVolumeSpec(ame, mountPath string) (*Spec, error) { +func (f *FakeBasicVolumePlugin) ConstructVolumeSpec(ame, mountPath string) (*volume.Spec, error) { return f.Plugin.ConstructVolumeSpec(ame, mountPath) } -func (f *FakeBasicVolumePlugin) Init(ost VolumeHost) error { +func (f *FakeBasicVolumePlugin) Init(ost volume.VolumeHost) error { return f.Plugin.Init(ost) } -func (f *FakeBasicVolumePlugin) NewMounter(spec *Spec, pod *v1.Pod, opts VolumeOptions) (Mounter, error) { +func (f *FakeBasicVolumePlugin) NewMounter(spec *volume.Spec, pod *v1.Pod, opts volume.VolumeOptions) (volume.Mounter, error) { return f.Plugin.NewMounter(spec, pod, opts) } -func (f *FakeBasicVolumePlugin) NewUnmounter(volName string, podUID types.UID) (Unmounter, error) { +func (f *FakeBasicVolumePlugin) NewUnmounter(volName string, podUID types.UID) (volume.Unmounter, error) { return f.Plugin.NewUnmounter(volName, podUID) } @@ -544,22 +543,22 @@ func (f *FakeBasicVolumePlugin) SupportsMountOption() bool { return f.Plugin.SupportsMountOption() } -var _ VolumePlugin = &FakeBasicVolumePlugin{} +var _ volume.VolumePlugin = &FakeBasicVolumePlugin{} // FakeDeviceMountableVolumePlugin implements an device mountable plugin based on FakeBasicVolumePlugin. type FakeDeviceMountableVolumePlugin struct { FakeBasicVolumePlugin } -func (f *FakeDeviceMountableVolumePlugin) CanDeviceMount(spec *Spec) (bool, error) { +func (f *FakeDeviceMountableVolumePlugin) CanDeviceMount(spec *volume.Spec) (bool, error) { return true, nil } -func (f *FakeDeviceMountableVolumePlugin) NewDeviceMounter() (DeviceMounter, error) { +func (f *FakeDeviceMountableVolumePlugin) NewDeviceMounter() (volume.DeviceMounter, error) { return f.Plugin.NewDeviceMounter() } -func (f *FakeDeviceMountableVolumePlugin) NewDeviceUnmounter() (DeviceUnmounter, error) { +func (f *FakeDeviceMountableVolumePlugin) NewDeviceUnmounter() (volume.DeviceUnmounter, error) { return f.Plugin.NewDeviceUnmounter() } @@ -567,33 +566,33 @@ func (f *FakeDeviceMountableVolumePlugin) GetDeviceMountRefs(deviceMountPath str return f.Plugin.GetDeviceMountRefs(deviceMountPath) } -var _ VolumePlugin = &FakeDeviceMountableVolumePlugin{} -var _ DeviceMountableVolumePlugin = &FakeDeviceMountableVolumePlugin{} +var _ volume.VolumePlugin = &FakeDeviceMountableVolumePlugin{} +var _ volume.DeviceMountableVolumePlugin = &FakeDeviceMountableVolumePlugin{} // FakeAttachableVolumePlugin implements an attachable plugin based on FakeDeviceMountableVolumePlugin. type FakeAttachableVolumePlugin struct { FakeDeviceMountableVolumePlugin } -func (f *FakeAttachableVolumePlugin) NewAttacher() (Attacher, error) { +func (f *FakeAttachableVolumePlugin) NewAttacher() (volume.Attacher, error) { return f.Plugin.NewAttacher() } -func (f *FakeAttachableVolumePlugin) NewDetacher() (Detacher, error) { +func (f *FakeAttachableVolumePlugin) NewDetacher() (volume.Detacher, error) { return f.Plugin.NewDetacher() } -func (f *FakeAttachableVolumePlugin) CanAttach(spec *Spec) (bool, error) { +func (f *FakeAttachableVolumePlugin) CanAttach(spec *volume.Spec) (bool, error) { return true, nil } -var _ VolumePlugin = &FakeAttachableVolumePlugin{} -var _ AttachableVolumePlugin = &FakeAttachableVolumePlugin{} +var _ volume.VolumePlugin = &FakeAttachableVolumePlugin{} +var _ volume.AttachableVolumePlugin = &FakeAttachableVolumePlugin{} type FakeFileVolumePlugin struct { } -func (plugin *FakeFileVolumePlugin) Init(host VolumeHost) error { +func (plugin *FakeFileVolumePlugin) Init(host volume.VolumeHost) error { return nil } @@ -601,11 +600,11 @@ func (plugin *FakeFileVolumePlugin) GetPluginName() string { return "fake-file-plugin" } -func (plugin *FakeFileVolumePlugin) GetVolumeName(spec *Spec) (string, error) { +func (plugin *FakeFileVolumePlugin) GetVolumeName(spec *volume.Spec) (string, error) { return "", nil } -func (plugin *FakeFileVolumePlugin) CanSupport(spec *Spec) bool { +func (plugin *FakeFileVolumePlugin) CanSupport(spec *volume.Spec) bool { return true } @@ -621,20 +620,20 @@ func (plugin *FakeFileVolumePlugin) SupportsBulkVolumeVerification() bool { return false } -func (plugin *FakeFileVolumePlugin) NewMounter(spec *Spec, podRef *v1.Pod, opts VolumeOptions) (Mounter, error) { +func (plugin *FakeFileVolumePlugin) NewMounter(spec *volume.Spec, podRef *v1.Pod, opts volume.VolumeOptions) (volume.Mounter, error) { return nil, nil } -func (plugin *FakeFileVolumePlugin) NewUnmounter(name string, podUID types.UID) (Unmounter, error) { +func (plugin *FakeFileVolumePlugin) NewUnmounter(name string, podUID types.UID) (volume.Unmounter, error) { return nil, nil } -func (plugin *FakeFileVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*Spec, error) { +func (plugin *FakeFileVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*volume.Spec, error) { return nil, nil } -func NewFakeFileVolumePlugin() []VolumePlugin { - return []VolumePlugin{&FakeFileVolumePlugin{}} +func NewFakeFileVolumePlugin() []volume.VolumePlugin { + return []volume.VolumePlugin{&FakeFileVolumePlugin{}} } type FakeVolume struct { @@ -642,13 +641,13 @@ type FakeVolume struct { PodUID types.UID VolName string Plugin *FakeVolumePlugin - MetricsNil + volume.MetricsNil VolumesAttached map[string]sets.String DeviceMountState map[string]string VolumeMountState map[string]string // Add callbacks as needed - WaitForAttachHook func(spec *Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error) + WaitForAttachHook func(spec *volume.Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error) UnmountDeviceHook func(globalMountPath string) error SetUpCallCount int @@ -667,7 +666,7 @@ type FakeVolume struct { PodDeviceMapPathCallCount int } -func getUniqueVolumeName(spec *Spec) (string, error) { +func getUniqueVolumeName(spec *volume.Spec) (string, error) { var volumeName string if spec.Volume != nil && spec.Volume.GCEPersistentDisk != nil { volumeName = spec.Volume.GCEPersistentDisk.PDName @@ -681,15 +680,15 @@ func getUniqueVolumeName(spec *Spec) (string, error) { return volumeName, nil } -func (_ *FakeVolume) GetAttributes() Attributes { - return Attributes{ +func (_ *FakeVolume) GetAttributes() volume.Attributes { + return volume.Attributes{ ReadOnly: false, Managed: true, SELinuxRelabel: true, } } -func (fv *FakeVolume) SetUp(mounterArgs MounterArgs) error { +func (fv *FakeVolume) SetUp(mounterArgs volume.MounterArgs) error { fv.Lock() defer fv.Unlock() err := fv.setupInternal(mounterArgs) @@ -697,7 +696,7 @@ func (fv *FakeVolume) SetUp(mounterArgs MounterArgs) error { return err } -func (fv *FakeVolume) setupInternal(mounterArgs MounterArgs) error { +func (fv *FakeVolume) setupInternal(mounterArgs volume.MounterArgs) error { if fv.VolName == TimeoutOnSetupVolumeName { fv.VolumeMountState[fv.VolName] = volumeMountUncertain return volumetypes.NewUncertainProgressError("time out on setup") @@ -745,7 +744,7 @@ func (fv *FakeVolume) GetSetUpCallCount() int { return fv.SetUpCallCount } -func (fv *FakeVolume) SetUpAt(dir string, mounterArgs MounterArgs) error { +func (fv *FakeVolume) SetUpAt(dir string, mounterArgs volume.MounterArgs) error { return os.MkdirAll(dir, 0750) } @@ -831,7 +830,7 @@ func (fv *FakeVolume) GetSetUpDeviceCallCount() int { } // Block volume support -func (fv *FakeVolume) GetGlobalMapPath(spec *Spec) (string, error) { +func (fv *FakeVolume) GetGlobalMapPath(spec *volume.Spec) (string, error) { fv.RLock() defer fv.RUnlock() fv.GlobalMapPathCallCount++ @@ -954,7 +953,7 @@ func (fv *FakeVolume) GetMapPodDeviceCallCount() int { return fv.MapPodDeviceCallCount } -func (fv *FakeVolume) Attach(spec *Spec, nodeName types.NodeName) (string, error) { +func (fv *FakeVolume) Attach(spec *volume.Spec, nodeName types.NodeName) (string, error) { fv.Lock() defer fv.Unlock() fv.AttachCallCount++ @@ -993,7 +992,7 @@ func (fv *FakeVolume) GetAttachCallCount() int { return fv.AttachCallCount } -func (fv *FakeVolume) WaitForAttach(spec *Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error) { +func (fv *FakeVolume) WaitForAttach(spec *volume.Spec, devicePath string, pod *v1.Pod, spectimeout time.Duration) (string, error) { fv.Lock() defer fv.Unlock() fv.WaitForAttachCallCount++ @@ -1009,14 +1008,14 @@ func (fv *FakeVolume) GetWaitForAttachCallCount() int { return fv.WaitForAttachCallCount } -func (fv *FakeVolume) GetDeviceMountPath(spec *Spec) (string, error) { +func (fv *FakeVolume) GetDeviceMountPath(spec *volume.Spec) (string, error) { fv.Lock() defer fv.Unlock() fv.GetDeviceMountPathCallCount++ return "", nil } -func (fv *FakeVolume) mountDeviceInternal(spec *Spec, devicePath string, deviceMountPath string) error { +func (fv *FakeVolume) mountDeviceInternal(spec *volume.Spec, devicePath string, deviceMountPath string) error { fv.Lock() defer fv.Unlock() if spec.Name() == TimeoutOnMountDeviceVolumeName { @@ -1058,7 +1057,7 @@ func (fv *FakeVolume) mountDeviceInternal(spec *Spec, devicePath string, deviceM return nil } -func (fv *FakeVolume) MountDevice(spec *Spec, devicePath string, deviceMountPath string, _ volume.DeviceMounterArgs) error { +func (fv *FakeVolume) MountDevice(spec *volume.Spec, devicePath string, deviceMountPath string, _ volume.DeviceMounterArgs) error { return fv.mountDeviceInternal(spec, devicePath, deviceMountPath) } @@ -1097,7 +1096,7 @@ func (fv *FakeVolume) Detach(volumeName string, nodeName types.NodeName) error { return nil } -func (fv *FakeVolume) VolumesAreAttached(spec []*Spec, nodeName types.NodeName) (map[*Spec]bool, error) { +func (fv *FakeVolume) VolumesAreAttached(spec []*volume.Spec, nodeName types.NodeName) (map[*volume.Spec]bool, error) { fv.Lock() defer fv.Unlock() return nil, nil @@ -1121,7 +1120,7 @@ func (fv *FakeVolume) UnmountDevice(globalMountPath string) error { type FakeDeleter struct { path string - MetricsNil + volume.MetricsNil } func (fd *FakeDeleter) Delete() error { @@ -1134,8 +1133,8 @@ func (fd *FakeDeleter) GetPath() string { } type FakeProvisioner struct { - Options VolumeOptions - Host VolumeHost + Options volume.VolumeOptions + Host volume.VolumeHost ProvisionDelaySeconds int } @@ -1626,8 +1625,8 @@ func VerifyGetMapPodDeviceCallCount( // GetTestVolumePluginMgr creates, initializes, and returns a test volume plugin // manager and fake volume plugin using a fake volume host. -func GetTestVolumePluginMgr(t *testing.T) (*VolumePluginMgr, *FakeVolumePlugin) { - plugins := ProbeVolumePlugins(VolumeConfig{}) +func GetTestVolumePluginMgr(t *testing.T) (*volume.VolumePluginMgr, *FakeVolumePlugin) { + plugins := ProbeVolumePlugins(volume.VolumeConfig{}) v := NewFakeVolumeHost( t, "", /* rootDir */ @@ -1637,8 +1636,8 @@ func GetTestVolumePluginMgr(t *testing.T) (*VolumePluginMgr, *FakeVolumePlugin) return v.GetPluginMgr(), plugins[0].(*FakeVolumePlugin) } -func GetTestKubeletVolumePluginMgr(t *testing.T) (*VolumePluginMgr, *FakeVolumePlugin) { - plugins := ProbeVolumePlugins(VolumeConfig{}) +func GetTestKubeletVolumePluginMgr(t *testing.T) (*volume.VolumePluginMgr, *FakeVolumePlugin) { + plugins := ProbeVolumePlugins(volume.VolumeConfig{}) v := NewFakeKubeletVolumeHost( t, "", /* rootDir */ @@ -1648,8 +1647,8 @@ func GetTestKubeletVolumePluginMgr(t *testing.T) (*VolumePluginMgr, *FakeVolumeP return v.GetPluginMgr(), plugins[0].(*FakeVolumePlugin) } -func GetTestKubeletVolumePluginMgrWithNode(t *testing.T, node *v1.Node) (*VolumePluginMgr, *FakeVolumePlugin) { - plugins := ProbeVolumePlugins(VolumeConfig{}) +func GetTestKubeletVolumePluginMgrWithNode(t *testing.T, node *v1.Node) (*volume.VolumePluginMgr, *FakeVolumePlugin) { + plugins := ProbeVolumePlugins(volume.VolumeConfig{}) v := NewFakeKubeletVolumeHost( t, "", /* rootDir */ @@ -1680,7 +1679,7 @@ func CreateTestPVC(capacity string, accessModes []v1.PersistentVolumeAccessMode) return &claim } -func MetricsEqualIgnoreTimestamp(a *Metrics, b *Metrics) bool { +func MetricsEqualIgnoreTimestamp(a *volume.Metrics, b *volume.Metrics) bool { available := a.Available == b.Available capacity := a.Capacity == b.Capacity used := a.Used == b.Used diff --git a/plugin/pkg/admission/podtolerationrestriction/admission_test.go b/plugin/pkg/admission/podtolerationrestriction/admission_test.go index ae440e23486..de79148deec 100644 --- a/plugin/pkg/admission/podtolerationrestriction/admission_test.go +++ b/plugin/pkg/admission/podtolerationrestriction/admission_test.go @@ -24,7 +24,6 @@ import ( "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/admission" @@ -193,7 +192,7 @@ func TestPodAdmission(t *testing.T) { whitelist: []api.Toleration{}, podTolerations: []api.Toleration{}, mergedTolerations: []api.Toleration{ - {Key: v1.TaintNodeMemoryPressure, Operator: api.TolerationOpExists, Effect: api.TaintEffectNoSchedule, TolerationSeconds: nil}, + {Key: corev1.TaintNodeMemoryPressure, Operator: api.TolerationOpExists, Effect: api.TaintEffectNoSchedule, TolerationSeconds: nil}, {Key: "testKey", Operator: "Equal", Value: "testValue", Effect: "NoSchedule", TolerationSeconds: nil}, }, admit: true, @@ -219,7 +218,7 @@ func TestPodAdmission(t *testing.T) { whitelist: []api.Toleration{}, podTolerations: []api.Toleration{}, mergedTolerations: []api.Toleration{ - {Key: v1.TaintNodeMemoryPressure, Operator: api.TolerationOpExists, Effect: api.TaintEffectNoSchedule, TolerationSeconds: nil}, + {Key: corev1.TaintNodeMemoryPressure, Operator: api.TolerationOpExists, Effect: api.TaintEffectNoSchedule, TolerationSeconds: nil}, {Key: "testKey", Operator: "Equal", Value: "testValue", Effect: "NoSchedule", TolerationSeconds: nil}, }, admit: true, diff --git a/plugin/pkg/admission/serviceaccount/admission.go b/plugin/pkg/admission/serviceaccount/admission.go index 035d54ea8ea..769a115aef5 100644 --- a/plugin/pkg/admission/serviceaccount/admission.go +++ b/plugin/pkg/admission/serviceaccount/admission.go @@ -26,7 +26,6 @@ import ( "time" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" @@ -422,7 +421,7 @@ func (s *Plugin) mountServiceAccountToken(serviceAccount *corev1.ServiceAccount, func TokenVolumeSource() *api.ProjectedVolumeSource { return &api.ProjectedVolumeSource{ // explicitly set default value, see #104464 - DefaultMode: pointer.Int32(v1.ProjectedVolumeSourceDefaultMode), + DefaultMode: pointer.Int32(corev1.ProjectedVolumeSourceDefaultMode), Sources: []api.VolumeProjection{ { ServiceAccountToken: &api.ServiceAccountTokenProjection{ diff --git a/plugin/pkg/admission/serviceaccount/admission_test.go b/plugin/pkg/admission/serviceaccount/admission_test.go index ca43abf9c3f..d50f321a8be 100644 --- a/plugin/pkg/admission/serviceaccount/admission_test.go +++ b/plugin/pkg/admission/serviceaccount/admission_test.go @@ -25,7 +25,6 @@ import ( "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/diff" @@ -177,9 +176,9 @@ func TestAssignsDefaultServiceAccountAndBoundTokenWithNoSecretTokens(t *testing. }, }) - v1PodIn := &v1.Pod{ - Spec: v1.PodSpec{ - Containers: []v1.Container{{}}, + v1PodIn := &corev1.Pod{ + Spec: corev1.PodSpec{ + Containers: []corev1.Container{{}}, }, } v1defaults.SetObjectDefaults_Pod(v1PodIn) @@ -232,7 +231,7 @@ func TestAssignsDefaultServiceAccountAndBoundTokenWithNoSecretTokens(t *testing. } // ensure result converted to v1 matches defaulted object - v1PodOut := &v1.Pod{} + v1PodOut := &corev1.Pod{} if err := v1defaults.Convert_core_Pod_To_v1_Pod(pod, v1PodOut, nil); err != nil { t.Fatal(err) } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/webhook_converter.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/webhook_converter.go index 0651f411a95..a7ef99ce346 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/webhook_converter.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/webhook_converter.go @@ -22,7 +22,6 @@ import ( "fmt" "time" - apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" apivalidation "k8s.io/apimachinery/pkg/api/validation" @@ -73,7 +72,7 @@ type webhookConverter struct { conversionReviewVersions []string } -func webhookClientConfigForCRD(crd *apiextensionsv1.CustomResourceDefinition) *webhook.ClientConfig { +func webhookClientConfigForCRD(crd *v1.CustomResourceDefinition) *webhook.ClientConfig { apiConfig := crd.Spec.Conversion.Webhook.ClientConfig ret := webhook.ClientConfig{ Name: fmt.Sprintf("conversion_webhook_for_%s", crd.Name), @@ -97,7 +96,7 @@ func webhookClientConfigForCRD(crd *apiextensionsv1.CustomResourceDefinition) *w var _ crConverterInterface = &webhookConverter{} -func (f *webhookConverterFactory) NewWebhookConverter(crd *apiextensionsv1.CustomResourceDefinition) (*webhookConverter, error) { +func (f *webhookConverterFactory) NewWebhookConverter(crd *v1.CustomResourceDefinition) (*webhookConverter, error) { restClient, err := f.clientManager.HookClient(*webhookClientConfigForCRD(crd)) if err != nil { return nil, err diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler_test.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler_test.go index 8944b3d6342..d4be6a9331f 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler_test.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler_test.go @@ -55,7 +55,6 @@ import ( "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/apiserver/pkg/endpoints/discovery" apirequest "k8s.io/apiserver/pkg/endpoints/request" - genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/generic" genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" "k8s.io/apiserver/pkg/registry/rest" @@ -478,7 +477,7 @@ func testHandlerConversion(t *testing.T, enableWatchCache bool) { crd := multiVersionFixture.DeepCopy() // Create a context with metav1.NamespaceNone as the namespace since multiVersionFixture // is a cluster scoped CRD. - ctx := genericapirequest.WithNamespace(genericapirequest.NewContext(), metav1.NamespaceNone) + ctx := apirequest.WithNamespace(apirequest.NewContext(), metav1.NamespaceNone) if _, err := cl.ApiextensionsV1().CustomResourceDefinitions().Create(ctx, crd, metav1.CreateOptions{}); err != nil { t.Fatal(err) } diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options/options.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options/options.go index 975da555ecb..b81ece7775a 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options/options.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/cmd/server/options/options.go @@ -31,7 +31,6 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" genericregistry "k8s.io/apiserver/pkg/registry/generic" genericapiserver "k8s.io/apiserver/pkg/server" - "k8s.io/apiserver/pkg/server/options" genericoptions "k8s.io/apiserver/pkg/server/options" "k8s.io/apiserver/pkg/util/proxy" "k8s.io/apiserver/pkg/util/webhook" @@ -43,7 +42,7 @@ const defaultEtcdPathPrefix = "/registry/apiextensions.kubernetes.io" // CustomResourceDefinitionsServerOptions describes the runtime options of an apiextensions-apiserver. type CustomResourceDefinitionsServerOptions struct { - ServerRunOptions *options.ServerRunOptions + ServerRunOptions *genericoptions.ServerRunOptions RecommendedOptions *genericoptions.RecommendedOptions APIEnablement *genericoptions.APIEnablementOptions @@ -54,7 +53,7 @@ type CustomResourceDefinitionsServerOptions struct { // NewCustomResourceDefinitionsServerOptions creates default options of an apiextensions-apiserver. func NewCustomResourceDefinitionsServerOptions(out, errOut io.Writer) *CustomResourceDefinitionsServerOptions { o := &CustomResourceDefinitionsServerOptions{ - ServerRunOptions: options.NewServerRunOptions(), + ServerRunOptions: genericoptions.NewServerRunOptions(), RecommendedOptions: genericoptions.NewRecommendedOptions( defaultEtcdPathPrefix, apiserver.Codecs.LegacyCodec(v1beta1.SchemeGroupVersion, v1.SchemeGroupVersion), diff --git a/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go b/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go index 5d525eb7322..ad6bfe0a7d8 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go +++ b/staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/server.go @@ -26,7 +26,6 @@ import ( "go.etcd.io/etcd/client/pkg/v3/transport" clientv3 "go.etcd.io/etcd/client/v3" "google.golang.org/grpc" - "k8s.io/apiextensions-apiserver/pkg/cmd/server/options" serveroptions "k8s.io/apiextensions-apiserver/pkg/cmd/server/options" "k8s.io/apimachinery/pkg/runtime/schema" @@ -37,7 +36,7 @@ import ( ) // StartDefaultServer starts a test server. -func StartDefaultServer(t servertesting.Logger, flags ...string) (func(), *rest.Config, *options.CustomResourceDefinitionsServerOptions, error) { +func StartDefaultServer(t servertesting.Logger, flags ...string) (func(), *rest.Config, *serveroptions.CustomResourceDefinitionsServerOptions, error) { // create kubeconfig which will not actually be used. But authz/authn needs it to startup. fakeKubeConfig, err := ioutil.TempFile("", "kubeconfig") if err != nil { diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/scalehandler_test.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/scalehandler_test.go index 96d40e70d5a..5d86dd64a02 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/scalehandler_test.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/scalehandler_test.go @@ -22,14 +22,13 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "sigs.k8s.io/structured-merge-diff/v4/fieldpath" ) func TestTransformManagedFieldsToSubresource(t *testing.T) { testTime, _ := time.ParseInLocation("2006-Jan-02", "2013-Feb-03", time.Local) - managedFieldTime := v1.NewTime(testTime) + managedFieldTime := metav1.NewTime(testTime) tests := []struct { desc string diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go index 87ab7b4dfe4..0bc72726525 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go @@ -36,7 +36,6 @@ import ( "k8s.io/apiserver/pkg/endpoints/handlers/negotiation" "k8s.io/apiserver/pkg/endpoints/metrics" "k8s.io/apiserver/pkg/endpoints/request" - endpointsrequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/apiserver/pkg/util/flushwriter" @@ -272,7 +271,7 @@ func WriteObjectNegotiated(s runtime.NegotiatedSerializer, restrictions negotiat audit.LogResponseObject(req.Context(), object, gv, s) encoder := s.EncoderForVersion(serializer.Serializer, gv) - endpointsrequest.TrackSerializeResponseObjectLatency(req.Context(), func() { + request.TrackSerializeResponseObjectLatency(req.Context(), func() { SerializeObject(serializer.MediaType, encoder, w, req, statusCode, object) }) } diff --git a/staging/src/k8s.io/apiserver/pkg/server/config.go b/staging/src/k8s.io/apiserver/pkg/server/config.go index 60be44a7a21..76e01295689 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/config.go +++ b/staging/src/k8s.io/apiserver/pkg/server/config.go @@ -52,7 +52,6 @@ import ( genericapifilters "k8s.io/apiserver/pkg/endpoints/filters" apiopenapi "k8s.io/apiserver/pkg/endpoints/openapi" apirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/features" genericfeatures "k8s.io/apiserver/pkg/features" genericregistry "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/server/dynamiccertificates" @@ -62,7 +61,6 @@ import ( "k8s.io/apiserver/pkg/server/routes" serverstore "k8s.io/apiserver/pkg/server/storage" "k8s.io/apiserver/pkg/storageversion" - "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature" utilflowcontrol "k8s.io/apiserver/pkg/util/flowcontrol" flowcontrolrequest "k8s.io/apiserver/pkg/util/flowcontrol/request" @@ -323,7 +321,7 @@ type AuthorizationInfo struct { func NewConfig(codecs serializer.CodecFactory) *Config { defaultHealthChecks := []healthz.HealthChecker{healthz.PingHealthz, healthz.LogHealthz} var id string - if feature.DefaultFeatureGate.Enabled(features.APIServerIdentity) { + if utilfeature.DefaultFeatureGate.Enabled(genericfeatures.APIServerIdentity) { id = "kube-apiserver-" + uuid.New().String() } lifecycleSignals := newLifecycleSignals() @@ -890,7 +888,7 @@ func installAPI(s *GenericAPIServer, c *Config) { if c.EnableDiscovery { s.Handler.GoRestfulContainer.Add(s.DiscoveryGroupManager.WebService()) } - if c.FlowControl != nil && feature.DefaultFeatureGate.Enabled(features.APIPriorityAndFairness) { + if c.FlowControl != nil && utilfeature.DefaultFeatureGate.Enabled(genericfeatures.APIPriorityAndFairness) { c.FlowControl.Install(s.Handler.NonGoRestfulMux) } } diff --git a/staging/src/k8s.io/csi-translation-lib/plugins/azure_disk_test.go b/staging/src/k8s.io/csi-translation-lib/plugins/azure_disk_test.go index 73fe1d72ffa..e7c0aa83797 100644 --- a/staging/src/k8s.io/csi-translation-lib/plugins/azure_disk_test.go +++ b/staging/src/k8s.io/csi-translation-lib/plugins/azure_disk_test.go @@ -22,7 +22,6 @@ import ( "testing" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" storage "k8s.io/api/storage/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -98,7 +97,7 @@ func TestGetDiskName(t *testing.T) { } func TestTranslateAzureDiskInTreeInlineVolumeToCSI(t *testing.T) { - sharedBlobDiskKind := v1.AzureDedicatedBlobDisk + sharedBlobDiskKind := corev1.AzureDedicatedBlobDisk translator := NewAzureDiskCSITranslator() cases := []struct { @@ -177,7 +176,7 @@ func TestTranslateAzureDiskInTreeInlineVolumeToCSI(t *testing.T) { func TestTranslateAzureDiskInTreePVToCSI(t *testing.T) { translator := NewAzureDiskCSITranslator() - sharedBlobDiskKind := v1.AzureDedicatedBlobDisk + sharedBlobDiskKind := corev1.AzureDedicatedBlobDisk cachingMode := corev1.AzureDataDiskCachingMode("cachingmode") fsType := "fstype" readOnly := true @@ -273,7 +272,7 @@ func TestTranslateTranslateCSIPVToInTree(t *testing.T) { fsType := "fstype" readOnly := true diskURI := "/subscriptions/12/resourceGroups/23/providers/Microsoft.Compute/disks/name" - managed := v1.AzureManagedDisk + managed := corev1.AzureManagedDisk translator := NewAzureDiskCSITranslator() cases := []struct { @@ -482,12 +481,12 @@ func TestTranslateInTreeStorageClassToCSI(t *testing.T) { }, { name: "some translated topology", - options: NewStorageClass(map[string]string{}, generateToplogySelectors(v1.LabelTopologyZone, []string{"foo"})), + options: NewStorageClass(map[string]string{}, generateToplogySelectors(corev1.LabelTopologyZone, []string{"foo"})), expOptions: NewStorageClass(map[string]string{}, generateToplogySelectors(AzureDiskTopologyKey, []string{"foo"})), }, { name: "some translated topology with beta labels", - options: NewStorageClass(map[string]string{}, generateToplogySelectors(v1.LabelFailureDomainBetaZone, []string{"foo"})), + options: NewStorageClass(map[string]string{}, generateToplogySelectors(corev1.LabelFailureDomainBetaZone, []string{"foo"})), expOptions: NewStorageClass(map[string]string{}, generateToplogySelectors(AzureDiskTopologyKey, []string{"foo"})), }, { @@ -497,17 +496,17 @@ func TestTranslateInTreeStorageClassToCSI(t *testing.T) { }, { name: "topology in regions without zones", - options: NewStorageClass(map[string]string{}, generateToplogySelectors(v1.LabelTopologyZone, []string{"0"})), + options: NewStorageClass(map[string]string{}, generateToplogySelectors(corev1.LabelTopologyZone, []string{"0"})), expOptions: NewStorageClass(map[string]string{}, generateToplogySelectors(AzureDiskTopologyKey, []string{""})), }, { name: "longer topology in regions without zones", - options: NewStorageClass(map[string]string{}, generateToplogySelectors(v1.LabelTopologyZone, []string{"1234"})), + options: NewStorageClass(map[string]string{}, generateToplogySelectors(corev1.LabelTopologyZone, []string{"1234"})), expOptions: NewStorageClass(map[string]string{}, generateToplogySelectors(AzureDiskTopologyKey, []string{""})), }, { name: "topology in regions with zones", - options: NewStorageClass(map[string]string{}, generateToplogySelectors(v1.LabelTopologyZone, []string{"centralus-1"})), + options: NewStorageClass(map[string]string{}, generateToplogySelectors(corev1.LabelTopologyZone, []string{"centralus-1"})), expOptions: NewStorageClass(map[string]string{}, generateToplogySelectors(AzureDiskTopologyKey, []string{"centralus-1"})), }, } diff --git a/staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go b/staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go index e945fb4899a..116f657ce77 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go @@ -27,7 +27,6 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/apiserver/pkg/features" genericfeatures "k8s.io/apiserver/pkg/features" genericapiserver "k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server/egressselector" @@ -371,7 +370,7 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) { }) } - if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) { + if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(genericfeatures.OpenAPIV3) { s.GenericAPIServer.AddPostStartHookOrDie("apiservice-openapiv3-controller", func(context genericapiserver.PostStartHookContext) error { go s.openAPIV3AggregationController.Run(context.StopCh) return nil @@ -395,7 +394,7 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) { s.openAPIAggregationController = openapicontroller.NewAggregationController(&specDownloader, openAPIAggregator) } - if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) { + if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(genericfeatures.OpenAPIV3) { specDownloaderV3 := openapiv3aggregator.NewDownloader() openAPIV3Aggregator, err := openapiv3aggregator.BuildAndRegisterAggregator( specDownloaderV3, diff --git a/staging/src/k8s.io/kube-scheduler/extender/v1/types_test.go b/staging/src/k8s.io/kube-scheduler/extender/v1/types_test.go index c692eae11d5..9f7cc6ce924 100644 --- a/staging/src/k8s.io/kube-scheduler/extender/v1/types_test.go +++ b/staging/src/k8s.io/kube-scheduler/extender/v1/types_test.go @@ -25,7 +25,6 @@ import ( "github.com/google/go-cmp/cmp" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" ) @@ -50,7 +49,7 @@ func TestCompatibility(t *testing.T) { emptyObj: &ExtenderPreemptionArgs{}, obj: &ExtenderPreemptionArgs{ Pod: &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "podname"}}, - NodeNameToVictims: map[string]*Victims{"foo": {Pods: []*v1.Pod{&corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "podname"}}}, NumPDBViolations: 1}}, + NodeNameToVictims: map[string]*Victims{"foo": {Pods: []*corev1.Pod{{ObjectMeta: metav1.ObjectMeta{Name: "podname"}}}, NumPDBViolations: 1}}, NodeNameToMetaVictims: map[string]*MetaVictims{"foo": {Pods: []*MetaPod{{UID: "myuid"}}, NumPDBViolations: 1}}, }, expectJSON: `{"Pod":{"metadata":{"name":"podname","creationTimestamp":null},"spec":{"containers":null},"status":{}},"NodeNameToVictims":{"foo":{"Pods":[{"metadata":{"name":"podname","creationTimestamp":null},"spec":{"containers":null},"status":{}}],"NumPDBViolations":1}},"NodeNameToMetaVictims":{"foo":{"Pods":[{"UID":"myuid"}],"NumPDBViolations":1}}}`, diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_pdb.go b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_pdb.go index 5abb6790720..59156d3d5aa 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_pdb.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_pdb.go @@ -29,7 +29,6 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/cli-runtime/pkg/resource" - resourcecli "k8s.io/cli-runtime/pkg/resource" policyv1client "k8s.io/client-go/kubernetes/typed/policy/v1" cmdutil "k8s.io/kubectl/pkg/cmd/util" "k8s.io/kubectl/pkg/scheme" @@ -72,7 +71,7 @@ type PodDisruptionBudgetOpts struct { Client *policyv1client.PolicyV1Client DryRunStrategy cmdutil.DryRunStrategy - DryRunVerifier *resourcecli.QueryParamVerifier + DryRunVerifier *resource.QueryParamVerifier ValidationDirective string genericclioptions.IOStreams diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_quota.go b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_quota.go index 373d6aff2dc..f3cfa644f3a 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_quota.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_quota.go @@ -29,7 +29,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/cli-runtime/pkg/resource" - resourcecli "k8s.io/cli-runtime/pkg/resource" coreclient "k8s.io/client-go/kubernetes/typed/core/v1" cmdutil "k8s.io/kubectl/pkg/cmd/util" "k8s.io/kubectl/pkg/scheme" @@ -68,7 +67,7 @@ type QuotaOpts struct { Client *coreclient.CoreV1Client DryRunStrategy cmdutil.DryRunStrategy - DryRunVerifier *resourcecli.QueryParamVerifier + DryRunVerifier *resource.QueryParamVerifier ValidationDirective string genericclioptions.IOStreams @@ -138,7 +137,7 @@ func (o *QuotaOpts) Complete(f cmdutil.Factory, cmd *cobra.Command, args []strin if err != nil { return err } - o.DryRunVerifier = resourcecli.NewQueryParamVerifier(dynamicClient, f.OpenAPIGetter(), resource.QueryParamDryRun) + o.DryRunVerifier = resource.NewQueryParamVerifier(dynamicClient, f.OpenAPIGetter(), resource.QueryParamDryRun) o.Namespace, o.EnforceNamespace, err = f.ToRawKubeConfigLoader().Namespace() if err != nil { diff --git a/staging/src/k8s.io/pod-security-admission/test/fixtures_procMount.go b/staging/src/k8s.io/pod-security-admission/test/fixtures_procMount.go index bfae3a33a3e..a2e7405e307 100644 --- a/staging/src/k8s.io/pod-security-admission/test/fixtures_procMount.go +++ b/staging/src/k8s.io/pod-security-admission/test/fixtures_procMount.go @@ -18,7 +18,6 @@ package test import ( corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" "k8s.io/component-base/featuregate" "k8s.io/pod-security-admission/api" ) @@ -26,29 +25,29 @@ import ( func init() { fixtureData_1_0 := fixtureGenerator{ expectErrorSubstring: "procMount", - generatePass: func(p *v1.Pod) []*v1.Pod { + generatePass: func(p *corev1.Pod) []*corev1.Pod { p = ensureSecurityContext(p) return []*corev1.Pod{ // set proc mount of container and init container to a valid value - tweak(p, func(copy *v1.Pod) { - validProcMountType := v1.DefaultProcMount + tweak(p, func(copy *corev1.Pod) { + validProcMountType := corev1.DefaultProcMount copy.Spec.Containers[0].SecurityContext.ProcMount = &validProcMountType copy.Spec.InitContainers[0].SecurityContext.ProcMount = &validProcMountType }), } }, failRequiresFeatures: []featuregate.Feature{"ProcMountType"}, - generateFail: func(p *v1.Pod) []*v1.Pod { + generateFail: func(p *corev1.Pod) []*corev1.Pod { p = ensureSecurityContext(p) return []*corev1.Pod{ // set proc mount of container to a forbidden value - tweak(p, func(copy *v1.Pod) { - unmaskedProcMountType := v1.UnmaskedProcMount + tweak(p, func(copy *corev1.Pod) { + unmaskedProcMountType := corev1.UnmaskedProcMount copy.Spec.Containers[0].SecurityContext.ProcMount = &unmaskedProcMountType }), // set proc mount of init container to a forbidden value - tweak(p, func(copy *v1.Pod) { - unmaskedProcMountType := v1.UnmaskedProcMount + tweak(p, func(copy *corev1.Pod) { + unmaskedProcMountType := corev1.UnmaskedProcMount copy.Spec.InitContainers[0].SecurityContext.ProcMount = &unmaskedProcMountType }), } diff --git a/test/e2e/apimachinery/aggregator.go b/test/e2e/apimachinery/aggregator.go index 63fbe693ada..a88253d0733 100644 --- a/test/e2e/apimachinery/aggregator.go +++ b/test/e2e/apimachinery/aggregator.go @@ -32,7 +32,6 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - unstructuredv1 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" @@ -594,7 +593,7 @@ func TestSampleAPIServer(f *framework.Framework, aggrclient *aggregatorclient.Cl } jsonFlunder, err := json.Marshal(testFlunder) framework.ExpectNoError(err, "marshalling test-flunder for create using dynamic client") - unstruct := &unstructuredv1.Unstructured{} + unstruct := &unstructured.Unstructured{} err = unstruct.UnmarshalJSON(jsonFlunder) framework.ExpectNoError(err, "unmarshalling test-flunder as unstructured for create using dynamic client") _, err = dynamicClient.Create(context.TODO(), unstruct, metav1.CreateOptions{}) diff --git a/test/e2e/apimachinery/crd_publish_openapi.go b/test/e2e/apimachinery/crd_publish_openapi.go index fe31e87fabd..58a10effbc0 100644 --- a/test/e2e/apimachinery/crd_publish_openapi.go +++ b/test/e2e/apimachinery/crd_publish_openapi.go @@ -28,7 +28,6 @@ import ( "github.com/onsi/ginkgo/v2" openapiutil "k8s.io/kube-openapi/pkg/util" - kubeopenapispec "k8s.io/kube-openapi/pkg/validation/spec" "k8s.io/utils/pointer" "sigs.k8s.io/yaml" @@ -696,7 +695,7 @@ func convertJSONSchemaProps(in []byte, out *spec.Schema) error { if err := apiextensionsv1.Convert_v1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&external, &internal, nil); err != nil { return err } - kubeOut := kubeopenapispec.Schema{} + kubeOut := spec.Schema{} if err := validation.ConvertJSONSchemaPropsWithPostProcess(&internal, &kubeOut, validation.StripUnsupportedFormatsPostProcess); err != nil { return err } diff --git a/test/e2e/storage/drivers/csi.go b/test/e2e/storage/drivers/csi.go index af238ce59d3..51f8d3e0299 100644 --- a/test/e2e/storage/drivers/csi.go +++ b/test/e2e/storage/drivers/csi.go @@ -59,7 +59,6 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" "k8s.io/klog/v2" "k8s.io/kubernetes/test/e2e/framework" @@ -309,7 +308,7 @@ type mockCSIDriver struct { embeddedCSIDriver *mockdriver.CSIDriver // Additional values set during PrepareTest - clientSet kubernetes.Interface + clientSet clientset.Interface driverNamespace *v1.Namespace } diff --git a/test/e2e/storage/testsuites/disruptive.go b/test/e2e/storage/testsuites/disruptive.go index 7ff11b8eb9d..16e2707b7c1 100644 --- a/test/e2e/storage/testsuites/disruptive.go +++ b/test/e2e/storage/testsuites/disruptive.go @@ -20,14 +20,13 @@ import ( "github.com/onsi/ginkgo/v2" v1 "k8s.io/api/core/v1" - errors "k8s.io/apimachinery/pkg/util/errors" + "k8s.io/apimachinery/pkg/util/errors" clientset "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/test/e2e/framework" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2epv "k8s.io/kubernetes/test/e2e/framework/pv" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" storageframework "k8s.io/kubernetes/test/e2e/storage/framework" - "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils" admissionapi "k8s.io/pod-security-admission/api" ) @@ -133,18 +132,18 @@ func (s *disruptiveTestSuite) DefineTests(driver storageframework.TestDriver, pa disruptiveTestTable := []disruptiveTest{ { testItStmt: "Should test that pv written before kubelet restart is readable after restart.", - runTestFile: utils.TestKubeletRestartsAndRestoresMount, - runTestBlock: utils.TestKubeletRestartsAndRestoresMap, + runTestFile: storageutils.TestKubeletRestartsAndRestoresMount, + runTestBlock: storageutils.TestKubeletRestartsAndRestoresMap, }, { testItStmt: "Should test that pv used in a pod that is deleted while the kubelet is down cleans up when the kubelet returns.", // File test is covered by subpath testsuite - runTestBlock: utils.TestVolumeUnmapsFromDeletedPod, + runTestBlock: storageutils.TestVolumeUnmapsFromDeletedPod, }, { testItStmt: "Should test that pv used in a pod that is force deleted while the kubelet is down cleans up when the kubelet returns.", // File test is covered by subpath testsuite - runTestBlock: utils.TestVolumeUnmapsFromForceDeletedPod, + runTestBlock: storageutils.TestVolumeUnmapsFromForceDeletedPod, }, } diff --git a/test/e2e/storage/testsuites/multivolume.go b/test/e2e/storage/testsuites/multivolume.go index 6197ce08679..2718dc51289 100644 --- a/test/e2e/storage/testsuites/multivolume.go +++ b/test/e2e/storage/testsuites/multivolume.go @@ -32,7 +32,6 @@ import ( e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" storageframework "k8s.io/kubernetes/test/e2e/storage/framework" - "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils" imageutils "k8s.io/kubernetes/test/utils/image" admissionapi "k8s.io/pod-security-admission/api" @@ -506,14 +505,14 @@ func testAccessMultipleVolumes(f *framework.Framework, cs clientset.Interface, n if readSeedBase > 0 { ginkgo.By(fmt.Sprintf("Checking if read from the volume%d works properly", index)) - utils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, false, path, byteLen, readSeedBase+int64(i)) + storageutils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, false, path, byteLen, readSeedBase+int64(i)) } ginkgo.By(fmt.Sprintf("Checking if write to the volume%d works properly", index)) - utils.CheckWriteToPath(f, pod, *pvc.Spec.VolumeMode, false, path, byteLen, writeSeedBase+int64(i)) + storageutils.CheckWriteToPath(f, pod, *pvc.Spec.VolumeMode, false, path, byteLen, writeSeedBase+int64(i)) ginkgo.By(fmt.Sprintf("Checking if read from the volume%d works properly", index)) - utils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, false, path, byteLen, writeSeedBase+int64(i)) + storageutils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, false, path, byteLen, writeSeedBase+int64(i)) } pod, err = cs.CoreV1().Pods(pod.Namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{}) @@ -599,7 +598,7 @@ func TestConcurrentAccessToSingleVolume(f *framework.Framework, cs clientset.Int framework.Failf("Number of pods shouldn't be less than 1, but got %d", len(pods)) } // byteLen should be the size of a sector to enable direct I/O - byteLen = utils.GetSectorSize(f, pods[0], path) + byteLen = storageutils.GetSectorSize(f, pods[0], path) directIO = true } @@ -617,17 +616,17 @@ func TestConcurrentAccessToSingleVolume(f *framework.Framework, cs clientset.Int if i != 0 { ginkgo.By(fmt.Sprintf("From pod%d, checking if reading the data that pod%d write works properly", index, index-1)) // For 1st pod, no one has written data yet, so pass the read check - utils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) + storageutils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) } // Update the seed and check if write/read works properly seed = time.Now().UTC().UnixNano() ginkgo.By(fmt.Sprintf("Checking if write to the volume in pod%d works properly", index)) - utils.CheckWriteToPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) + storageutils.CheckWriteToPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) ginkgo.By(fmt.Sprintf("Checking if read from the volume in pod%d works properly", index)) - utils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) + storageutils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) } if len(pods) < 2 { @@ -656,16 +655,16 @@ func TestConcurrentAccessToSingleVolume(f *framework.Framework, cs clientset.Int } else { ginkgo.By(fmt.Sprintf("From pod%d, rechecking if reading the data that pod%d write works properly", index, index-1)) } - utils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) + storageutils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) // Update the seed and check if write/read works properly seed = time.Now().UTC().UnixNano() ginkgo.By(fmt.Sprintf("Rechecking if write to the volume in pod%d works properly", index)) - utils.CheckWriteToPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) + storageutils.CheckWriteToPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) ginkgo.By(fmt.Sprintf("Rechecking if read from the volume in pod%d works properly", index)) - utils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) + storageutils.CheckReadFromPath(f, pod, *pvc.Spec.VolumeMode, directIO, path, byteLen, seed) } } diff --git a/test/e2e/storage/testsuites/snapshottable.go b/test/e2e/storage/testsuites/snapshottable.go index 7e313d9368b..54f22f7868b 100644 --- a/test/e2e/storage/testsuites/snapshottable.go +++ b/test/e2e/storage/testsuites/snapshottable.go @@ -39,7 +39,6 @@ import ( e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" storageframework "k8s.io/kubernetes/test/e2e/storage/framework" - "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils" admissionapi "k8s.io/pod-security-admission/api" ) @@ -442,11 +441,11 @@ func deleteVolumeSnapshot(f *framework.Framework, dc dynamic.Interface, sr *stor switch pattern.SnapshotDeletionPolicy { case storageframework.DeleteSnapshot: ginkgo.By("checking the SnapshotContent has been deleted") - err = utils.WaitForGVRDeletion(dc, storageutils.SnapshotContentGVR, vscontent.GetName(), framework.Poll, f.Timeouts.SnapshotDelete) + err = storageutils.WaitForGVRDeletion(dc, storageutils.SnapshotContentGVR, vscontent.GetName(), framework.Poll, f.Timeouts.SnapshotDelete) framework.ExpectNoError(err) case storageframework.RetainSnapshot: ginkgo.By("checking the SnapshotContent has not been deleted") - err = utils.WaitForGVRDeletion(dc, storageutils.SnapshotContentGVR, vscontent.GetName(), 1*time.Second /* poll */, 30*time.Second /* timeout */) + err = storageutils.WaitForGVRDeletion(dc, storageutils.SnapshotContentGVR, vscontent.GetName(), 1*time.Second /* poll */, 30*time.Second /* timeout */) framework.ExpectError(err) } } diff --git a/test/e2e/storage/testsuites/subpath.go b/test/e2e/storage/testsuites/subpath.go index fb01cb9c065..db1bcb0ca37 100644 --- a/test/e2e/storage/testsuites/subpath.go +++ b/test/e2e/storage/testsuites/subpath.go @@ -40,7 +40,6 @@ import ( e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" storageframework "k8s.io/kubernetes/test/e2e/storage/framework" - "k8s.io/kubernetes/test/e2e/storage/utils" storageutils "k8s.io/kubernetes/test/e2e/storage/utils" imageutils "k8s.io/kubernetes/test/utils/image" admissionapi "k8s.io/pod-security-admission/api" @@ -101,7 +100,7 @@ func (s *subPathTestSuite) DefineTests(driver storageframework.TestDriver, patte config *storageframework.PerTestConfig driverCleanup func() - hostExec utils.HostExec + hostExec storageutils.HostExec resource *storageframework.VolumeResource roVolSource *v1.VolumeSource pod *v1.Pod @@ -127,7 +126,7 @@ func (s *subPathTestSuite) DefineTests(driver storageframework.TestDriver, patte l.migrationCheck = newMigrationOpCheck(f.ClientSet, f.ClientConfig(), driver.GetDriverInfo().InTreePluginName) testVolumeSizeRange := s.GetTestSuiteInfo().SupportedSizeRange l.resource = storageframework.CreateVolumeResource(driver, l.config, pattern, testVolumeSizeRange) - l.hostExec = utils.NewHostExec(f) + l.hostExec = storageutils.NewHostExec(f) // Setup subPath test dependent resource volType := pattern.VolType @@ -962,7 +961,7 @@ func TestPodContainerRestartWithConfigmapModified(f *framework.Framework, origin } -func testSubpathReconstruction(f *framework.Framework, hostExec utils.HostExec, pod *v1.Pod, forceDelete bool) { +func testSubpathReconstruction(f *framework.Framework, hostExec storageutils.HostExec, pod *v1.Pod, forceDelete bool) { // This is mostly copied from TestVolumeUnmountsFromDeletedPodWithForceOption() // Disruptive test run serially, we can cache all voluem global mount @@ -971,7 +970,7 @@ func testSubpathReconstruction(f *framework.Framework, hostExec utils.HostExec, framework.ExpectNoError(err, "while listing schedulable nodes") globalMountPointsByNode := make(map[string]sets.String, len(nodeList.Items)) for _, node := range nodeList.Items { - globalMountPointsByNode[node.Name] = utils.FindVolumeGlobalMountPoints(hostExec, &node) + globalMountPointsByNode[node.Name] = storageutils.FindVolumeGlobalMountPoints(hostExec, &node) } // Change to busybox @@ -1004,11 +1003,11 @@ func testSubpathReconstruction(f *framework.Framework, hostExec utils.HostExec, } framework.ExpectNotEqual(podNode, nil, "pod node should exist in schedulable nodes") - utils.TestVolumeUnmountsFromDeletedPodWithForceOption(f.ClientSet, f, pod, forceDelete, true) + storageutils.TestVolumeUnmountsFromDeletedPodWithForceOption(f.ClientSet, f, pod, forceDelete, true) if podNode != nil { mountPoints := globalMountPointsByNode[podNode.Name] - mountPointsAfter := utils.FindVolumeGlobalMountPoints(hostExec, podNode) + mountPointsAfter := storageutils.FindVolumeGlobalMountPoints(hostExec, podNode) s1 := mountPointsAfter.Difference(mountPoints) s2 := mountPoints.Difference(mountPointsAfter) gomega.Expect(s1).To(gomega.BeEmpty(), "global mount points leaked: %v", s1) diff --git a/test/e2e/storage/utils/deployment.go b/test/e2e/storage/utils/deployment.go index a0a964b1ba7..0fee58222e0 100644 --- a/test/e2e/storage/utils/deployment.go +++ b/test/e2e/storage/utils/deployment.go @@ -23,7 +23,6 @@ import ( appsv1 "k8s.io/api/apps/v1" v1 "k8s.io/api/core/v1" storagev1 "k8s.io/api/storage/v1" - "k8s.io/kubernetes/test/e2e/framework" e2eframework "k8s.io/kubernetes/test/e2e/framework" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" ) @@ -49,7 +48,7 @@ import ( // // Driver deployments that are different will have to do the patching // without this function, or skip patching entirely. -func PatchCSIDeployment(f *framework.Framework, o PatchCSIOptions, object interface{}) error { +func PatchCSIDeployment(f *e2eframework.Framework, o PatchCSIOptions, object interface{}) error { rename := o.OldDriverName != "" && o.NewDriverName != "" && o.OldDriverName != o.NewDriverName diff --git a/test/integration/apiserver/admissionwebhook/admission_test.go b/test/integration/apiserver/admissionwebhook/admission_test.go index 4c64bdca26f..eee81848208 100644 --- a/test/integration/apiserver/admissionwebhook/admission_test.go +++ b/test/integration/apiserver/admissionwebhook/admission_test.go @@ -36,12 +36,10 @@ import ( admissionreviewv1 "k8s.io/api/admission/v1" "k8s.io/api/admission/v1beta1" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" - admissionv1 "k8s.io/api/admissionregistration/v1" - admissionv1beta1 "k8s.io/api/admissionregistration/v1beta1" + admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1" appsv1beta1 "k8s.io/api/apps/v1beta1" authenticationv1 "k8s.io/api/authentication/v1" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" extensionsv1beta1 "k8s.io/api/extensions/v1beta1" policyv1 "k8s.io/api/policy/v1" apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" @@ -54,7 +52,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - dynamic "k8s.io/client-go/dynamic" + "k8s.io/client-go/dynamic" clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/util/retry" @@ -513,7 +511,7 @@ func testWebhookAdmission(t *testing.T, watchCache bool) { // create CRDs etcd.CreateTestCRDs(t, apiextensionsclientset.NewForConfigOrDie(server.ClientConfig), false, etcd.GetCustomResourceDefinitionData()...) - if _, err := client.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: testNamespace}}, metav1.CreateOptions{}); err != nil { + if _, err := client.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: testNamespace}}, metav1.CreateOptions{}); err != nil { t.Fatal(err) } @@ -577,8 +575,8 @@ func testWebhookAdmission(t *testing.T, watchCache bool) { // Note: this only works because there are no overlapping resource names in-process that are not co-located convertedResources := map[string]schema.GroupVersionResource{} // build the webhook rules enumerating the specific group/version/resources we want - convertedV1beta1Rules := []admissionv1beta1.RuleWithOperations{} - convertedV1Rules := []admissionv1.RuleWithOperations{} + convertedV1beta1Rules := []admissionregistrationv1beta1.RuleWithOperations{} + convertedV1Rules := []admissionregistrationv1.RuleWithOperations{} for _, gvr := range gvrsToTest { metaGVR := metav1.GroupVersionResource{Group: gvr.Group, Version: gvr.Version, Resource: gvr.Resource} @@ -589,13 +587,13 @@ func testWebhookAdmission(t *testing.T, watchCache bool) { convertedGVR = gvr convertedResources[gvr.Resource] = gvr // add an admission rule indicating we can receive this version - convertedV1beta1Rules = append(convertedV1beta1Rules, admissionv1beta1.RuleWithOperations{ - Operations: []admissionv1beta1.OperationType{admissionv1beta1.OperationAll}, - Rule: admissionv1beta1.Rule{APIGroups: []string{gvr.Group}, APIVersions: []string{gvr.Version}, Resources: []string{gvr.Resource}}, + convertedV1beta1Rules = append(convertedV1beta1Rules, admissionregistrationv1beta1.RuleWithOperations{ + Operations: []admissionregistrationv1beta1.OperationType{admissionregistrationv1beta1.OperationAll}, + Rule: admissionregistrationv1beta1.Rule{APIGroups: []string{gvr.Group}, APIVersions: []string{gvr.Version}, Resources: []string{gvr.Resource}}, }) - convertedV1Rules = append(convertedV1Rules, admissionv1.RuleWithOperations{ - Operations: []admissionv1.OperationType{admissionv1.OperationAll}, - Rule: admissionv1.Rule{APIGroups: []string{gvr.Group}, APIVersions: []string{gvr.Version}, Resources: []string{gvr.Resource}}, + convertedV1Rules = append(convertedV1Rules, admissionregistrationv1.RuleWithOperations{ + Operations: []admissionregistrationv1.OperationType{admissionregistrationv1.OperationAll}, + Rule: admissionregistrationv1.Rule{APIGroups: []string{gvr.Group}, APIVersions: []string{gvr.Version}, Resources: []string{gvr.Resource}}, }) } @@ -1533,28 +1531,28 @@ func shouldTestResourceVerb(gvr schema.GroupVersionResource, resource metav1.API // webhook registration helpers // -func createV1beta1ValidationWebhook(etcdClient *clientv3.Client, etcdStoragePrefix string, client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionv1beta1.RuleWithOperations) error { - fail := admissionv1beta1.Fail - equivalent := admissionv1beta1.Equivalent - webhookConfig := &admissionv1beta1.ValidatingWebhookConfiguration{ +func createV1beta1ValidationWebhook(etcdClient *clientv3.Client, etcdStoragePrefix string, client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionregistrationv1beta1.RuleWithOperations) error { + fail := admissionregistrationv1beta1.Fail + equivalent := admissionregistrationv1beta1.Equivalent + webhookConfig := &admissionregistrationv1beta1.ValidatingWebhookConfiguration{ ObjectMeta: metav1.ObjectMeta{Name: "admission.integration.test"}, - Webhooks: []admissionv1beta1.ValidatingWebhook{ + Webhooks: []admissionregistrationv1beta1.ValidatingWebhook{ { Name: "admission.integration.test", - ClientConfig: admissionv1beta1.WebhookClientConfig{ + ClientConfig: admissionregistrationv1beta1.WebhookClientConfig{ URL: &endpoint, CABundle: localhostCert, }, - Rules: []admissionv1beta1.RuleWithOperations{{ - Operations: []admissionv1beta1.OperationType{admissionv1beta1.OperationAll}, - Rule: admissionv1beta1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, + Rules: []admissionregistrationv1beta1.RuleWithOperations{{ + Operations: []admissionregistrationv1beta1.OperationType{admissionregistrationv1beta1.OperationAll}, + Rule: admissionregistrationv1beta1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, }}, FailurePolicy: &fail, AdmissionReviewVersions: []string{"v1beta1"}, }, { Name: "admission.integration.testconversion", - ClientConfig: admissionv1beta1.WebhookClientConfig{ + ClientConfig: admissionregistrationv1beta1.WebhookClientConfig{ URL: &convertedEndpoint, CABundle: localhostCert, }, @@ -1586,28 +1584,28 @@ func createV1beta1ValidationWebhook(etcdClient *clientv3.Client, etcdStoragePref return nil } -func createV1beta1MutationWebhook(etcdClient *clientv3.Client, etcdStoragePrefix string, client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionv1beta1.RuleWithOperations) error { - fail := admissionv1beta1.Fail - equivalent := admissionv1beta1.Equivalent - webhookConfig := &admissionv1beta1.MutatingWebhookConfiguration{ +func createV1beta1MutationWebhook(etcdClient *clientv3.Client, etcdStoragePrefix string, client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionregistrationv1beta1.RuleWithOperations) error { + fail := admissionregistrationv1beta1.Fail + equivalent := admissionregistrationv1beta1.Equivalent + webhookConfig := &admissionregistrationv1beta1.MutatingWebhookConfiguration{ ObjectMeta: metav1.ObjectMeta{Name: "mutation.integration.test"}, - Webhooks: []admissionv1beta1.MutatingWebhook{ + Webhooks: []admissionregistrationv1beta1.MutatingWebhook{ { Name: "mutation.integration.test", - ClientConfig: admissionv1beta1.WebhookClientConfig{ + ClientConfig: admissionregistrationv1beta1.WebhookClientConfig{ URL: &endpoint, CABundle: localhostCert, }, - Rules: []admissionv1beta1.RuleWithOperations{{ - Operations: []admissionv1beta1.OperationType{admissionv1beta1.OperationAll}, - Rule: admissionv1beta1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, + Rules: []admissionregistrationv1beta1.RuleWithOperations{{ + Operations: []admissionregistrationv1beta1.OperationType{admissionregistrationv1beta1.OperationAll}, + Rule: admissionregistrationv1beta1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, }}, FailurePolicy: &fail, AdmissionReviewVersions: []string{"v1beta1"}, }, { Name: "mutation.integration.testconversion", - ClientConfig: admissionv1beta1.WebhookClientConfig{ + ClientConfig: admissionregistrationv1beta1.WebhookClientConfig{ URL: &convertedEndpoint, CABundle: localhostCert, }, @@ -1639,31 +1637,31 @@ func createV1beta1MutationWebhook(etcdClient *clientv3.Client, etcdStoragePrefix return nil } -func createV1ValidationWebhook(client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionv1.RuleWithOperations) error { - fail := admissionv1.Fail - equivalent := admissionv1.Equivalent - none := admissionv1.SideEffectClassNone +func createV1ValidationWebhook(client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionregistrationv1.RuleWithOperations) error { + fail := admissionregistrationv1.Fail + equivalent := admissionregistrationv1.Equivalent + none := admissionregistrationv1.SideEffectClassNone // Attaching Admission webhook to API server - _, err := client.AdmissionregistrationV1().ValidatingWebhookConfigurations().Create(context.TODO(), &admissionv1.ValidatingWebhookConfiguration{ - ObjectMeta: metav1.ObjectMeta{Name: "admissionv1.integration.test"}, - Webhooks: []admissionv1.ValidatingWebhook{ + _, err := client.AdmissionregistrationV1().ValidatingWebhookConfigurations().Create(context.TODO(), &admissionregistrationv1.ValidatingWebhookConfiguration{ + ObjectMeta: metav1.ObjectMeta{Name: "admissionregistrationv1.integration.test"}, + Webhooks: []admissionregistrationv1.ValidatingWebhook{ { - Name: "admissionv1.integration.test", - ClientConfig: admissionv1.WebhookClientConfig{ + Name: "admissionregistrationv1.integration.test", + ClientConfig: admissionregistrationv1.WebhookClientConfig{ URL: &endpoint, CABundle: localhostCert, }, - Rules: []admissionv1.RuleWithOperations{{ - Operations: []admissionv1.OperationType{admissionv1.OperationAll}, - Rule: admissionv1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, + Rules: []admissionregistrationv1.RuleWithOperations{{ + Operations: []admissionregistrationv1.OperationType{admissionregistrationv1.OperationAll}, + Rule: admissionregistrationv1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, }}, FailurePolicy: &fail, AdmissionReviewVersions: []string{"v1", "v1beta1"}, SideEffects: &none, }, { - Name: "admissionv1.integration.testconversion", - ClientConfig: admissionv1.WebhookClientConfig{ + Name: "admissionregistrationv1.integration.testconversion", + ClientConfig: admissionregistrationv1.WebhookClientConfig{ URL: &convertedEndpoint, CABundle: localhostCert, }, @@ -1678,23 +1676,23 @@ func createV1ValidationWebhook(client clientset.Interface, endpoint, convertedEn return err } -func createV1MutationWebhook(client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionv1.RuleWithOperations) error { - fail := admissionv1.Fail - equivalent := admissionv1.Equivalent - none := admissionv1.SideEffectClassNone +func createV1MutationWebhook(client clientset.Interface, endpoint, convertedEndpoint string, convertedRules []admissionregistrationv1.RuleWithOperations) error { + fail := admissionregistrationv1.Fail + equivalent := admissionregistrationv1.Equivalent + none := admissionregistrationv1.SideEffectClassNone // Attaching Mutation webhook to API server - _, err := client.AdmissionregistrationV1().MutatingWebhookConfigurations().Create(context.TODO(), &admissionv1.MutatingWebhookConfiguration{ + _, err := client.AdmissionregistrationV1().MutatingWebhookConfigurations().Create(context.TODO(), &admissionregistrationv1.MutatingWebhookConfiguration{ ObjectMeta: metav1.ObjectMeta{Name: "mutationv1.integration.test"}, - Webhooks: []admissionv1.MutatingWebhook{ + Webhooks: []admissionregistrationv1.MutatingWebhook{ { Name: "mutationv1.integration.test", - ClientConfig: admissionv1.WebhookClientConfig{ + ClientConfig: admissionregistrationv1.WebhookClientConfig{ URL: &endpoint, CABundle: localhostCert, }, - Rules: []admissionv1.RuleWithOperations{{ - Operations: []admissionv1.OperationType{admissionv1.OperationAll}, - Rule: admissionv1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, + Rules: []admissionregistrationv1.RuleWithOperations{{ + Operations: []admissionregistrationv1.OperationType{admissionregistrationv1.OperationAll}, + Rule: admissionregistrationv1.Rule{APIGroups: []string{"*"}, APIVersions: []string{"*"}, Resources: []string{"*/*"}}, }}, FailurePolicy: &fail, AdmissionReviewVersions: []string{"v1", "v1beta1"}, @@ -1702,7 +1700,7 @@ func createV1MutationWebhook(client clientset.Interface, endpoint, convertedEndp }, { Name: "mutationv1.integration.testconversion", - ClientConfig: admissionv1.WebhookClientConfig{ + ClientConfig: admissionregistrationv1.WebhookClientConfig{ URL: &convertedEndpoint, CABundle: localhostCert, }, diff --git a/test/integration/apiserver/admissionwebhook/client_auth_test.go b/test/integration/apiserver/admissionwebhook/client_auth_test.go index da1ad7b2c1f..816a373eab3 100644 --- a/test/integration/apiserver/admissionwebhook/client_auth_test.go +++ b/test/integration/apiserver/admissionwebhook/client_auth_test.go @@ -34,7 +34,6 @@ import ( "k8s.io/api/admission/v1beta1" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" @@ -160,7 +159,7 @@ plugins: upCh := recorder.Reset() ns := "load-balance" - _, err = client.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, metav1.CreateOptions{}) + _, err = client.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, metav1.CreateOptions{}) if err != nil { t.Fatal(err) } @@ -293,7 +292,7 @@ var clientAuthMarkerFixture = &corev1.Pod{ Name: "marker", }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, diff --git a/test/integration/apiserver/admissionwebhook/load_balance_test.go b/test/integration/apiserver/admissionwebhook/load_balance_test.go index 0ed6c3911f3..9423b0f0dc1 100644 --- a/test/integration/apiserver/admissionwebhook/load_balance_test.go +++ b/test/integration/apiserver/admissionwebhook/load_balance_test.go @@ -33,7 +33,6 @@ import ( "k8s.io/api/admission/v1beta1" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" @@ -109,7 +108,7 @@ func TestWebhookLoadBalance(t *testing.T) { upCh := recorder.Reset() ns := "load-balance" - _, err = client.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, metav1.CreateOptions{}) + _, err = client.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, metav1.CreateOptions{}) if err != nil { t.Fatal(err) } @@ -163,7 +162,7 @@ func TestWebhookLoadBalance(t *testing.T) { GenerateName: "loadbalance-", }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, @@ -287,7 +286,7 @@ var loadBalanceMarkerFixture = &corev1.Pod{ Name: "marker", }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, diff --git a/test/integration/apiserver/admissionwebhook/reinvocation_test.go b/test/integration/apiserver/admissionwebhook/reinvocation_test.go index a0fed0f25b5..61051f1101c 100644 --- a/test/integration/apiserver/admissionwebhook/reinvocation_test.go +++ b/test/integration/apiserver/admissionwebhook/reinvocation_test.go @@ -36,7 +36,6 @@ import ( "k8s.io/api/admission/v1beta1" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" schedulingv1 "k8s.io/api/scheduling/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" @@ -319,7 +318,7 @@ func testWebhookReinvocationPolicy(t *testing.T, watchCache bool) { testCaseID := strconv.Itoa(i) ns := "reinvoke-" + testCaseID nsLabels := map[string]string{"test-case": testCaseID} - _, err = client.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns, Labels: nsLabels}}, metav1.CreateOptions{}) + _, err = client.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns, Labels: nsLabels}}, metav1.CreateOptions{}) if err != nil { t.Fatal(err) } @@ -327,7 +326,7 @@ func testWebhookReinvocationPolicy(t *testing.T, watchCache bool) { // Write markers to a separate namespace to avoid cross-talk markerNs := ns + "-markers" markerNsLabels := map[string]string{"test-markers": testCaseID} - _, err = client.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: markerNs, Labels: markerNsLabels}}, metav1.CreateOptions{}) + _, err = client.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: markerNs, Labels: markerNsLabels}}, metav1.CreateOptions{}) if err != nil { t.Fatal(err) } @@ -414,7 +413,7 @@ func testWebhookReinvocationPolicy(t *testing.T, watchCache bool) { Labels: map[string]string{"x": "true"}, }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, @@ -637,7 +636,7 @@ func newReinvocationMarkerFixture(namespace string) *corev1.Pod { }, }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, diff --git a/test/integration/apiserver/admissionwebhook/timeout_test.go b/test/integration/apiserver/admissionwebhook/timeout_test.go index 11e3966030d..c5985f00409 100644 --- a/test/integration/apiserver/admissionwebhook/timeout_test.go +++ b/test/integration/apiserver/admissionwebhook/timeout_test.go @@ -34,7 +34,6 @@ import ( "k8s.io/api/admission/v1beta1" admissionregistrationv1 "k8s.io/api/admissionregistration/v1" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" @@ -190,7 +189,7 @@ func testWebhookTimeout(t *testing.T, watchCache bool) { t.Run(tt.name, func(t *testing.T) { recorder.Reset() ns := fmt.Sprintf("reinvoke-%d", i) - _, err = client.CoreV1().Namespaces().Create(context.TODO(), &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, metav1.CreateOptions{}) + _, err = client.CoreV1().Namespaces().Create(context.TODO(), &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: ns}}, metav1.CreateOptions{}) if err != nil { t.Fatal(err) } @@ -290,7 +289,7 @@ func testWebhookTimeout(t *testing.T, watchCache bool) { Labels: map[string]string{"x": "true"}, }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, @@ -476,7 +475,7 @@ var timeoutMarkerFixture = &corev1.Pod{ Name: "marker", }, Spec: corev1.PodSpec{ - Containers: []v1.Container{{ + Containers: []corev1.Container{{ Name: "fake-name", Image: "fakeimage", }}, diff --git a/test/integration/apiserver/apply/apply_test.go b/test/integration/apiserver/apply/apply_test.go index a59585a8c53..d474e896aa3 100644 --- a/test/integration/apiserver/apply/apply_test.go +++ b/test/integration/apiserver/apply/apply_test.go @@ -40,7 +40,6 @@ import ( yamlutil "k8s.io/apimachinery/pkg/util/yaml" genericfeatures "k8s.io/apiserver/pkg/features" utilfeature "k8s.io/apiserver/pkg/util/feature" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" restclient "k8s.io/client-go/rest" featuregatetesting "k8s.io/component-base/featuregate/testing" @@ -2552,7 +2551,7 @@ func BenchmarkServerSideApply(b *testing.B) { benchAll(b, client, decodePod(podBytesWhenEnabled)) } -func benchAll(b *testing.B, client kubernetes.Interface, pod v1.Pod) { +func benchAll(b *testing.B, client clientset.Interface, pod v1.Pod) { // Make sure pod is ready to post pod.ObjectMeta.CreationTimestamp = metav1.Time{} pod.ObjectMeta.ResourceVersion = "" @@ -2580,7 +2579,7 @@ func benchAll(b *testing.B, client kubernetes.Interface, pod v1.Pod) { b.Run("Post50", benchPostPod(client, pod, 50)) } -func benchPostPod(client kubernetes.Interface, pod v1.Pod, parallel int) func(*testing.B) { +func benchPostPod(client clientset.Interface, pod v1.Pod, parallel int) func(*testing.B) { return func(b *testing.B) { b.ResetTimer() b.ReportAllocs() @@ -2610,7 +2609,7 @@ func benchPostPod(client kubernetes.Interface, pod v1.Pod, parallel int) func(*t } } -func createNamespace(client kubernetes.Interface, name string) error { +func createNamespace(client clientset.Interface, name string) error { namespace := v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: name}} namespaceBytes, err := yaml.Marshal(namespace) if err != nil { @@ -2626,7 +2625,7 @@ func createNamespace(client kubernetes.Interface, name string) error { return nil } -func benchListPod(client kubernetes.Interface, pod v1.Pod, num int) func(*testing.B) { +func benchListPod(client clientset.Interface, pod v1.Pod, num int) func(*testing.B) { return func(b *testing.B) { namespace := fmt.Sprintf("get-%d-%d", num, b.N) if err := createNamespace(client, namespace); err != nil { @@ -2661,7 +2660,7 @@ func benchListPod(client kubernetes.Interface, pod v1.Pod, num int) func(*testin } } -func benchRepeatedUpdate(client kubernetes.Interface, podName string) func(*testing.B) { +func benchRepeatedUpdate(client clientset.Interface, podName string) func(*testing.B) { return func(b *testing.B) { b.ResetTimer() b.ReportAllocs() diff --git a/test/integration/certificates/controller_approval_test.go b/test/integration/certificates/controller_approval_test.go index 7f00df42eeb..7ef14dd1d37 100644 --- a/test/integration/certificates/controller_approval_test.go +++ b/test/integration/certificates/controller_approval_test.go @@ -30,7 +30,6 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" restclient "k8s.io/client-go/rest" kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" @@ -152,7 +151,7 @@ const ( timeout = 5 * time.Second ) -func waitForCertificateRequestApproved(client kubernetes.Interface, name string) error { +func waitForCertificateRequestApproved(client clientset.Interface, name string) error { if err := wait.Poll(interval, timeout, func() (bool, error) { csr, err := client.CertificatesV1().CertificateSigningRequests().Get(context.TODO(), name, metav1.GetOptions{}) if err != nil { @@ -168,7 +167,7 @@ func waitForCertificateRequestApproved(client kubernetes.Interface, name string) return nil } -func ensureCertificateRequestNotApproved(client kubernetes.Interface, name string) error { +func ensureCertificateRequestNotApproved(client clientset.Interface, name string) error { // If waiting for the CSR to be approved times out, we class this as 'not auto approved'. // There is currently no way to explicitly check if the CSR has been rejected for auto-approval. err := waitForCertificateRequestApproved(client, name) diff --git a/test/integration/controlplane/audit/audit_test.go b/test/integration/controlplane/audit/audit_test.go index 6bda88ed0aa..b934a9ec444 100644 --- a/test/integration/controlplane/audit/audit_test.go +++ b/test/integration/controlplane/audit/audit_test.go @@ -40,7 +40,6 @@ import ( "k8s.io/apiserver/pkg/admission/plugin/webhook/mutating" auditinternal "k8s.io/apiserver/pkg/apis/audit" auditv1 "k8s.io/apiserver/pkg/apis/audit/v1" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" "k8s.io/kubernetes/test/integration/framework" @@ -258,7 +257,7 @@ func runTestWithVersion(t *testing.T, version string) { framework.SharedEtcd()) defer result.TearDownFn() - kubeclient, err := kubernetes.NewForConfig(result.ClientConfig) + kubeclient, err := clientset.NewForConfig(result.ClientConfig) if err != nil { t.Fatalf("Unexpected error: %v", err) } @@ -391,7 +390,7 @@ func runTestWithVersion(t *testing.T, version string) { } } -func testAudit(t *testing.T, version string, level auditinternal.Level, enableMutatingWebhook bool, namespace string, kubeclient kubernetes.Interface, logFile *os.File) { +func testAudit(t *testing.T, version string, level auditinternal.Level, enableMutatingWebhook bool, namespace string, kubeclient clientset.Interface, logFile *os.File) { var lastMissingReport string createNamespace(t, kubeclient, namespace) @@ -419,7 +418,7 @@ func testAudit(t *testing.T, version string, level auditinternal.Level, enableMu } } -func testAuditCrossGroupSubResource(t *testing.T, version string, expEvents []utils.AuditEvent, namespace string, kubeclient kubernetes.Interface, logFile *os.File) { +func testAuditCrossGroupSubResource(t *testing.T, version string, expEvents []utils.AuditEvent, namespace string, kubeclient clientset.Interface, logFile *os.File) { var ( lastMissingReport string sa *apiv1.ServiceAccount @@ -526,7 +525,7 @@ func getExpectedEvents(level auditinternal.Level, enableMutatingWebhook bool, na // configMapOperations is a set of known operations performed on the configmap type // which correspond to the expected events. // This is shared by the dynamic test -func configMapOperations(t *testing.T, kubeclient kubernetes.Interface, namespace string) { +func configMapOperations(t *testing.T, kubeclient clientset.Interface, namespace string) { // create, get, watch, update, patch, list and delete configmap. configMap := &apiv1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ @@ -571,7 +570,7 @@ func configMapOperations(t *testing.T, kubeclient kubernetes.Interface, namespac expectNoError(t, err, "failed to delete audit-configmap") } -func tokenRequestOperations(t *testing.T, kubeClient kubernetes.Interface, namespace, name string) { +func tokenRequestOperations(t *testing.T, kubeClient clientset.Interface, namespace, name string) { var ( treq = &authenticationv1.TokenRequest{ Spec: authenticationv1.TokenRequestSpec{ @@ -584,7 +583,7 @@ func tokenRequestOperations(t *testing.T, kubeClient kubernetes.Interface, names expectNoError(t, err, "failed to create audit-tokenRequest") } -func scaleOperations(t *testing.T, kubeClient kubernetes.Interface, namespace, name string) { +func scaleOperations(t *testing.T, kubeClient clientset.Interface, namespace, name string) { var ( scale = &autoscalingv1.Scale{ ObjectMeta: metav1.ObjectMeta{ diff --git a/test/integration/endpointslice/endpointslicemirroring_test.go b/test/integration/endpointslice/endpointslicemirroring_test.go index 2b0e0fdb50e..be71e60e4fa 100644 --- a/test/integration/endpointslice/endpointslicemirroring_test.go +++ b/test/integration/endpointslice/endpointslicemirroring_test.go @@ -24,13 +24,11 @@ import ( "time" corev1 "k8s.io/api/core/v1" - v1 "k8s.io/api/core/v1" discovery "k8s.io/api/discovery/v1" apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing" "k8s.io/kubernetes/pkg/controller/endpoint" @@ -285,7 +283,7 @@ func TestEndpointSliceMirroringUpdates(t *testing.T) { { testName: "Update addresses", tweakEndpoint: func(ep *corev1.Endpoints) { - ep.Subsets[0].Addresses = []v1.EndpointAddress{{IP: "1.2.3.4"}, {IP: "1.2.3.6"}} + ep.Subsets[0].Addresses = []corev1.EndpointAddress{{IP: "1.2.3.4"}, {IP: "1.2.3.6"}} }, }, } @@ -530,7 +528,7 @@ func TestEndpointSliceMirroringSelectorTransition(t *testing.T) { } } -func waitForMirroredSlices(t *testing.T, client *kubernetes.Clientset, nsName, svcName string, num int) error { +func waitForMirroredSlices(t *testing.T, client *clientset.Clientset, nsName, svcName string, num int) error { t.Helper() return wait.PollImmediate(1*time.Second, wait.ForeverTestTimeout, func() (bool, error) { lSelector := discovery.LabelServiceName + "=" + svcName diff --git a/test/integration/node/lifecycle_test.go b/test/integration/node/lifecycle_test.go index 2c7190dbfc8..e3e8ff8cbbf 100644 --- a/test/integration/node/lifecycle_test.go +++ b/test/integration/node/lifecycle_test.go @@ -28,7 +28,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/admission" "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" restclient "k8s.io/client-go/rest" podutil "k8s.io/kubernetes/pkg/api/v1/pod" @@ -124,7 +123,7 @@ func TestTaintBasedEvictions(t *testing.T) { // Build clientset and informers for controllers. externalClientConfig := restclient.CopyConfig(testCtx.KubeConfig) externalClientConfig.QPS = -1 - externalClientset := kubernetes.NewForConfigOrDie(externalClientConfig) + externalClientset := clientset.NewForConfigOrDie(externalClientConfig) externalInformers := informers.NewSharedInformerFactory(externalClientset, time.Second) podTolerations.SetExternalKubeClientSet(externalClientset) podTolerations.SetExternalKubeInformerFactory(externalInformers) diff --git a/test/integration/scheduler/preemption/preemption_test.go b/test/integration/scheduler/preemption/preemption_test.go index cc68a8bc0e1..099ebb01f09 100644 --- a/test/integration/scheduler/preemption/preemption_test.go +++ b/test/integration/scheduler/preemption/preemption_test.go @@ -34,7 +34,6 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes" restclient "k8s.io/client-go/rest" "k8s.io/klog/v2" @@ -623,7 +622,7 @@ func TestPodPriorityResolution(t *testing.T) { // Build clientset and informers for controllers. externalClientConfig := restclient.CopyConfig(testCtx.KubeConfig) externalClientConfig.QPS = -1 - externalClientset := kubernetes.NewForConfigOrDie(externalClientConfig) + externalClientset := clientset.NewForConfigOrDie(externalClientConfig) externalInformers := informers.NewSharedInformerFactory(externalClientset, time.Second) admission.SetExternalKubeClientSet(externalClientset) admission.SetExternalKubeInformerFactory(externalInformers) diff --git a/test/integration/serviceaccount/service_account_test.go b/test/integration/serviceaccount/service_account_test.go index b33dbb99ec5..2e7fae9d7c5 100644 --- a/test/integration/serviceaccount/service_account_test.go +++ b/test/integration/serviceaccount/service_account_test.go @@ -50,7 +50,6 @@ import ( featuregatetesting "k8s.io/component-base/featuregate/testing" "k8s.io/kubernetes/pkg/controller" serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount" - "k8s.io/kubernetes/pkg/features" kubefeatures "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/serviceaccount" serviceaccountadmission "k8s.io/kubernetes/plugin/pkg/admission/serviceaccount" @@ -103,7 +102,7 @@ func TestServiceAccountAutoCreate(t *testing.T) { } func TestServiceAccountTokenAutoCreate(t *testing.T) { - defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.LegacyServiceAccountTokenNoAutoGeneration, false)() + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, kubefeatures.LegacyServiceAccountTokenNoAutoGeneration, false)() c, _, stopFunc, err := startServiceAccountTestServerAndWaitForCaches(t) defer stopFunc() if err != nil {