From 8b20ee1d4e5697a8bd4904654fb1e81b792857ed Mon Sep 17 00:00:00 2001 From: David Eads Date: Fri, 3 Aug 2018 07:47:05 -0400 Subject: [PATCH] remove internal factory client --- pkg/kubectl/cmd/BUILD | 3 +- pkg/kubectl/cmd/certificates.go | 35 +++++++-------- pkg/kubectl/cmd/portforward.go | 17 ++++--- pkg/kubectl/cmd/rollingupdate.go | 6 ++- pkg/kubectl/cmd/run.go | 45 +++++++++---------- pkg/kubectl/cmd/run_test.go | 24 +++++----- pkg/kubectl/cmd/testing/BUILD | 1 - pkg/kubectl/cmd/testing/fake.go | 21 --------- pkg/kubectl/cmd/top_node.go | 4 +- pkg/kubectl/cmd/top_pod.go | 4 +- pkg/kubectl/cmd/util/factory.go | 4 -- pkg/kubectl/cmd/util/factory_client_access.go | 9 ---- pkg/kubectl/metricsutil/metrics_client.go | 10 ++--- 13 files changed, 72 insertions(+), 111 deletions(-) diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index 3f34eeca55..a4de00ff0e 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -57,10 +57,8 @@ go_library( ], deps = [ "//pkg/api/legacyscheme:go_default_library", - "//pkg/apis/certificates:go_default_library", "//pkg/apis/core:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", - "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/apply/parse:go_default_library", "//pkg/kubectl/apply/strategy:go_default_library", @@ -94,6 +92,7 @@ go_library( "//pkg/util/taints:go_default_library", "//pkg/version:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library", + "//staging/src/k8s.io/api/certificates/v1beta1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/policy/v1beta1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", diff --git a/pkg/kubectl/cmd/certificates.go b/pkg/kubectl/cmd/certificates.go index d45d83958e..75d3135095 100644 --- a/pkg/kubectl/cmd/certificates.go +++ b/pkg/kubectl/cmd/certificates.go @@ -20,12 +20,13 @@ import ( "fmt" "io" + "github.com/spf13/cobra" + + certificatesv1beta1 "k8s.io/api/certificates/v1beta1" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/api/legacyscheme" - "k8s.io/kubernetes/pkg/apis/certificates" - "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" + "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/genericclioptions" @@ -33,8 +34,6 @@ import ( "k8s.io/kubernetes/pkg/kubectl/genericclioptions/resource" "k8s.io/kubernetes/pkg/kubectl/scheme" "k8s.io/kubernetes/pkg/kubectl/util/i18n" - - "github.com/spf13/cobra" ) func NewCmdCertificate(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { @@ -63,7 +62,7 @@ type CertificateOptions struct { csrNames []string outputStyle string - clientSet internalclientset.Interface + clientSet kubernetes.Interface builder *resource.Builder genericclioptions.IOStreams @@ -83,7 +82,7 @@ func (o *CertificateOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg } o.builder = f.NewBuilder() - o.clientSet, err = f.ClientSet() + o.clientSet, err = f.KubernetesClientSet() if err != nil { return err } @@ -135,18 +134,18 @@ func NewCmdCertificateApprove(f cmdutil.Factory, ioStreams genericclioptions.IOS } func (o *CertificateOptions) RunCertificateApprove(force bool) error { - return o.modifyCertificateCondition(o.builder, o.clientSet, force, func(csr *certificates.CertificateSigningRequest) (*certificates.CertificateSigningRequest, bool) { + return o.modifyCertificateCondition(o.builder, o.clientSet, force, func(csr *certificatesv1beta1.CertificateSigningRequest) (*certificatesv1beta1.CertificateSigningRequest, bool) { var alreadyApproved bool for _, c := range csr.Status.Conditions { - if c.Type == certificates.CertificateApproved { + if c.Type == certificatesv1beta1.CertificateApproved { alreadyApproved = true } } if alreadyApproved { return csr, true } - csr.Status.Conditions = append(csr.Status.Conditions, certificates.CertificateSigningRequestCondition{ - Type: certificates.CertificateApproved, + csr.Status.Conditions = append(csr.Status.Conditions, certificatesv1beta1.CertificateSigningRequestCondition{ + Type: certificatesv1beta1.CertificateApproved, Reason: "KubectlApprove", Message: "This CSR was approved by kubectl certificate approve.", LastUpdateTime: metav1.Now(), @@ -187,18 +186,18 @@ func NewCmdCertificateDeny(f cmdutil.Factory, ioStreams genericclioptions.IOStre } func (o *CertificateOptions) RunCertificateDeny(force bool) error { - return o.modifyCertificateCondition(o.builder, o.clientSet, force, func(csr *certificates.CertificateSigningRequest) (*certificates.CertificateSigningRequest, bool) { + return o.modifyCertificateCondition(o.builder, o.clientSet, force, func(csr *certificatesv1beta1.CertificateSigningRequest) (*certificatesv1beta1.CertificateSigningRequest, bool) { var alreadyDenied bool for _, c := range csr.Status.Conditions { - if c.Type == certificates.CertificateDenied { + if c.Type == certificatesv1beta1.CertificateDenied { alreadyDenied = true } } if alreadyDenied { return csr, true } - csr.Status.Conditions = append(csr.Status.Conditions, certificates.CertificateSigningRequestCondition{ - Type: certificates.CertificateDenied, + csr.Status.Conditions = append(csr.Status.Conditions, certificatesv1beta1.CertificateSigningRequestCondition{ + Type: certificatesv1beta1.CertificateDenied, Reason: "KubectlDeny", Message: "This CSR was denied by kubectl certificate deny.", LastUpdateTime: metav1.Now(), @@ -207,10 +206,10 @@ func (o *CertificateOptions) RunCertificateDeny(force bool) error { }) } -func (options *CertificateOptions) modifyCertificateCondition(builder *resource.Builder, clientSet internalclientset.Interface, force bool, modify func(csr *certificates.CertificateSigningRequest) (*certificates.CertificateSigningRequest, bool)) error { +func (options *CertificateOptions) modifyCertificateCondition(builder *resource.Builder, clientSet kubernetes.Interface, force bool, modify func(csr *certificatesv1beta1.CertificateSigningRequest) (*certificatesv1beta1.CertificateSigningRequest, bool)) error { var found int r := builder. - WithScheme(legacyscheme.Scheme). + WithScheme(scheme.Scheme, scheme.Scheme.PrioritizedVersionsAllGroups()...). ContinueOnError(). FilenameParam(false, &options.FilenameOptions). ResourceNames("certificatesigningrequest", options.csrNames...). @@ -223,7 +222,7 @@ func (options *CertificateOptions) modifyCertificateCondition(builder *resource. return err } for i := 0; ; i++ { - csr := info.Object.(*certificates.CertificateSigningRequest) + csr := info.Object.(*certificatesv1beta1.CertificateSigningRequest) csr, hasCondition := modify(csr) if !hasCondition || force { csr, err = clientSet.Certificates(). diff --git a/pkg/kubectl/cmd/portforward.go b/pkg/kubectl/cmd/portforward.go index ce818dcd41..01fc57469c 100644 --- a/pkg/kubectl/cmd/portforward.go +++ b/pkg/kubectl/cmd/portforward.go @@ -28,14 +28,13 @@ import ( "github.com/spf13/cobra" - "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/scheme" + corev1client "k8s.io/client-go/kubernetes/typed/core/v1" restclient "k8s.io/client-go/rest" "k8s.io/client-go/tools/portforward" "k8s.io/client-go/transport/spdy" - api "k8s.io/kubernetes/pkg/apis/core" - coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/genericclioptions" @@ -50,7 +49,7 @@ type PortForwardOptions struct { PodName string RESTClient *restclient.RESTClient Config *restclient.Config - PodClient coreclient.PodsGetter + PodClient corev1client.PodsGetter Ports []string PortForwarder portForwarder StopChannel chan struct{} @@ -143,7 +142,7 @@ func (f *defaultPortForwarder) ForwardPorts(method string, url *url.URL, opts Po // It rewrites ports as needed if the Service port declares targetPort. // It returns an error when a named targetPort can't find a match in the pod, or the Service did not declare // the port. -func translateServicePortToTargetPort(ports []string, svc v1.Service, pod v1.Pod) ([]string, error) { +func translateServicePortToTargetPort(ports []string, svc corev1.Service, pod corev1.Pod) ([]string, error) { var translated []string for _, port := range ports { // port is in the form of [LOCAL PORT]:REMOTE PORT @@ -210,7 +209,7 @@ func (o *PortForwardOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg // handle service port mapping to target port if needed switch t := obj.(type) { - case *v1.Service: + case *corev1.Service: o.Ports, err = translateServicePortToTargetPort(args[1:], *t, *forwardablePod) if err != nil { return err @@ -219,12 +218,12 @@ func (o *PortForwardOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, arg o.Ports = args[1:] } - clientset, err := f.ClientSet() + clientset, err := f.KubernetesClientSet() if err != nil { return err } - o.PodClient = clientset.Core() + o.PodClient = clientset.CoreV1() o.Config, err = f.ToRESTConfig() if err != nil { @@ -263,7 +262,7 @@ func (o PortForwardOptions) RunPortForward() error { return err } - if pod.Status.Phase != api.PodRunning { + if pod.Status.Phase != corev1.PodRunning { return fmt.Errorf("unable to forward port because pod is not running. Current status=%v", pod.Status.Phase) } diff --git a/pkg/kubectl/cmd/rollingupdate.go b/pkg/kubectl/cmd/rollingupdate.go index c304fdcaa1..68e4f4159e 100644 --- a/pkg/kubectl/cmd/rollingupdate.go +++ b/pkg/kubectl/cmd/rollingupdate.go @@ -219,7 +219,11 @@ func (o *RollingUpdateOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, a return err } - o.ClientSet, err = f.ClientSet() + clientConfig, err := f.ToRESTConfig() + if err != nil { + return err + } + o.ClientSet, err = internalclientset.NewForConfig(clientConfig) if err != nil { return err } diff --git a/pkg/kubectl/cmd/run.go b/pkg/kubectl/cmd/run.go index e90c297f78..268cdf8c07 100644 --- a/pkg/kubectl/cmd/run.go +++ b/pkg/kubectl/cmd/run.go @@ -33,9 +33,8 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" - coreclientv1 "k8s.io/client-go/kubernetes/typed/core/v1" + corev1client "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/kubernetes/pkg/api/legacyscheme" - api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" @@ -274,7 +273,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e if err != nil { return err } - if restartPolicy != api.RestartPolicyAlways && replicas != 1 { + if restartPolicy != corev1.RestartPolicyAlways && replicas != 1 { return cmdutil.UsageErrorf(cmd, "--restart=%s requires that --replicas=1, found %d", restartPolicy, replicas) } @@ -291,7 +290,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e return err } - clientset, err := f.ClientSet() + clientset, err := f.KubernetesClientSet() if err != nil { return err } @@ -302,11 +301,11 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e } if len(generatorName) == 0 { switch restartPolicy { - case api.RestartPolicyAlways: + case corev1.RestartPolicyAlways: generatorName = cmdutil.DeploymentAppsV1Beta1GeneratorName - case api.RestartPolicyOnFailure: + case corev1.RestartPolicyOnFailure: generatorName = cmdutil.JobV1GeneratorName - case api.RestartPolicyNever: + case corev1.RestartPolicyNever: generatorName = cmdutil.RunPodV1GeneratorName } @@ -397,7 +396,7 @@ func (o *RunOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e var pod *corev1.Pod leaveStdinOpen := o.LeaveStdinOpen - waitForExitCode := !leaveStdinOpen && restartPolicy == api.RestartPolicyNever + waitForExitCode := !leaveStdinOpen && restartPolicy == corev1.RestartPolicyNever if waitForExitCode { pod, err = waitForPod(clientset.CoreV1(), attachablePod.Namespace, attachablePod.Name, kubectl.PodCompleted) if err != nil { @@ -468,7 +467,7 @@ func (o *RunOptions) removeCreatedObjects(f cmdutil.Factory, createdObjects []*R } // waitForPod watches the given pod until the exitCondition is true -func waitForPod(podClient coreclientv1.PodsGetter, ns, name string, exitCondition watch.ConditionFunc) (*corev1.Pod, error) { +func waitForPod(podClient corev1client.PodsGetter, ns, name string, exitCondition watch.ConditionFunc) (*corev1.Pod, error) { w, err := podClient.Pods(ns).Watch(metav1.SingleObject(metav1.ObjectMeta{Name: name})) if err != nil { return nil, err @@ -488,13 +487,13 @@ func waitForPod(podClient coreclientv1.PodsGetter, ns, name string, exitConditio // Fix generic not found error. if err != nil && errors.IsNotFound(err) { - err = errors.NewNotFound(api.Resource("pods"), name) + err = errors.NewNotFound(corev1.Resource("pods"), name) } return result, err } -func handleAttachPod(f cmdutil.Factory, podClient coreclientv1.PodsGetter, ns, name string, opts *AttachOptions) error { +func handleAttachPod(f cmdutil.Factory, podClient corev1client.PodsGetter, ns, name string, opts *AttachOptions) error { pod, err := waitForPod(podClient, ns, name, kubectl.PodRunningAndReady) if err != nil && err != kubectl.ErrPodCompleted { return err @@ -539,30 +538,30 @@ func logOpts(restClientGetter genericclioptions.RESTClientGetter, pod *corev1.Po return nil } -func getRestartPolicy(cmd *cobra.Command, interactive bool) (api.RestartPolicy, error) { +func getRestartPolicy(cmd *cobra.Command, interactive bool) (corev1.RestartPolicy, error) { restart := cmdutil.GetFlagString(cmd, "restart") if len(restart) == 0 { if interactive { - return api.RestartPolicyOnFailure, nil + return corev1.RestartPolicyOnFailure, nil } else { - return api.RestartPolicyAlways, nil + return corev1.RestartPolicyAlways, nil } } - switch api.RestartPolicy(restart) { - case api.RestartPolicyAlways: - return api.RestartPolicyAlways, nil - case api.RestartPolicyOnFailure: - return api.RestartPolicyOnFailure, nil - case api.RestartPolicyNever: - return api.RestartPolicyNever, nil + switch corev1.RestartPolicy(restart) { + case corev1.RestartPolicyAlways: + return corev1.RestartPolicyAlways, nil + case corev1.RestartPolicyOnFailure: + return corev1.RestartPolicyOnFailure, nil + case corev1.RestartPolicyNever: + return corev1.RestartPolicyNever, nil } return "", cmdutil.UsageErrorf(cmd, "invalid restart policy: %s", restart) } func verifyImagePullPolicy(cmd *cobra.Command) error { pullPolicy := cmdutil.GetFlagString(cmd, "image-pull-policy") - switch api.PullPolicy(pullPolicy) { - case api.PullAlways, api.PullIfNotPresent, api.PullNever: + switch corev1.PullPolicy(pullPolicy) { + case corev1.PullAlways, corev1.PullIfNotPresent, corev1.PullNever: return nil case "": return nil diff --git a/pkg/kubectl/cmd/run_test.go b/pkg/kubectl/cmd/run_test.go index c649f1cc47..a30f92066f 100644 --- a/pkg/kubectl/cmd/run_test.go +++ b/pkg/kubectl/cmd/run_test.go @@ -29,6 +29,7 @@ import ( "github.com/spf13/cobra" "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -54,35 +55,35 @@ func TestGetRestartPolicy(t *testing.T) { tests := []struct { input string interactive bool - expected api.RestartPolicy + expected corev1.RestartPolicy expectErr bool }{ { input: "", - expected: api.RestartPolicyAlways, + expected: corev1.RestartPolicyAlways, }, { input: "", interactive: true, - expected: api.RestartPolicyOnFailure, + expected: corev1.RestartPolicyOnFailure, }, { - input: string(api.RestartPolicyAlways), + input: string(corev1.RestartPolicyAlways), interactive: true, - expected: api.RestartPolicyAlways, + expected: corev1.RestartPolicyAlways, }, { - input: string(api.RestartPolicyNever), + input: string(corev1.RestartPolicyNever), interactive: true, - expected: api.RestartPolicyNever, + expected: corev1.RestartPolicyNever, }, { - input: string(api.RestartPolicyAlways), - expected: api.RestartPolicyAlways, + input: string(corev1.RestartPolicyAlways), + expected: corev1.RestartPolicyAlways, }, { - input: string(api.RestartPolicyNever), - expected: api.RestartPolicyNever, + input: string(corev1.RestartPolicyNever), + expected: corev1.RestartPolicyNever, }, { input: "foo", @@ -234,7 +235,6 @@ func TestRunArgsFollowDashRules(t *testing.T) { } func TestGenerateService(t *testing.T) { - tests := []struct { port string args []string diff --git a/pkg/kubectl/cmd/testing/BUILD b/pkg/kubectl/cmd/testing/BUILD index 4cc7d969c0..626e4d9220 100644 --- a/pkg/kubectl/cmd/testing/BUILD +++ b/pkg/kubectl/cmd/testing/BUILD @@ -10,7 +10,6 @@ go_library( visibility = ["//build/visible_to:pkg_kubectl_cmd_testing_CONSUMERS"], deps = [ "//pkg/api/legacyscheme:go_default_library", - "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/cmd/util/openapi:go_default_library", diff --git a/pkg/kubectl/cmd/testing/fake.go b/pkg/kubectl/cmd/testing/fake.go index 2740b3544a..5058a95222 100644 --- a/pkg/kubectl/cmd/testing/fake.go +++ b/pkg/kubectl/cmd/testing/fake.go @@ -42,7 +42,6 @@ import ( "k8s.io/client-go/tools/clientcmd" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" "k8s.io/kubernetes/pkg/api/legacyscheme" - "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/kubectl" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi" @@ -366,26 +365,6 @@ func (f *TestFactory) KubernetesClientSet() (*kubernetes.Clientset, error) { return clientset, nil } -func (f *TestFactory) ClientSet() (internalclientset.Interface, error) { - // Swap the HTTP client out of the REST client with the fake - // version. - fakeClient := f.Client.(*fake.RESTClient) - clientset := internalclientset.NewForConfigOrDie(f.ClientConfigVal) - clientset.Core().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Authentication().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Authorization().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Autoscaling().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Batch().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Certificates().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Extensions().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Rbac().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Storage().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Apps().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.Policy().RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - clientset.DiscoveryClient.RESTClient().(*restclient.RESTClient).Client = fakeClient.Client - return clientset, nil -} - func (f *TestFactory) DynamicClient() (dynamic.Interface, error) { if f.FakeDynamicClient != nil { return f.FakeDynamicClient, nil diff --git a/pkg/kubectl/cmd/top_node.go b/pkg/kubectl/cmd/top_node.go index 95294d8df0..2af0831998 100644 --- a/pkg/kubectl/cmd/top_node.go +++ b/pkg/kubectl/cmd/top_node.go @@ -25,7 +25,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/discovery" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" + corev1client "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/genericclioptions" @@ -40,7 +40,7 @@ import ( type TopNodeOptions struct { ResourceName string Selector string - NodeClient corev1.CoreV1Interface + NodeClient corev1client.CoreV1Interface HeapsterOptions HeapsterTopOptions Client *metricsutil.HeapsterMetricsClient Printer *metricsutil.TopCmdPrinter diff --git a/pkg/kubectl/cmd/top_pod.go b/pkg/kubectl/cmd/top_pod.go index 56c478ad0b..0eaeae1969 100644 --- a/pkg/kubectl/cmd/top_pod.go +++ b/pkg/kubectl/cmd/top_pod.go @@ -25,7 +25,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/discovery" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" + corev1client "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/metricsutil" @@ -45,7 +45,7 @@ type TopPodOptions struct { Selector string AllNamespaces bool PrintContainers bool - PodClient corev1.PodsGetter + PodClient corev1client.PodsGetter HeapsterOptions HeapsterTopOptions Client *metricsutil.HeapsterMetricsClient Printer *metricsutil.TopCmdPrinter diff --git a/pkg/kubectl/cmd/util/factory.go b/pkg/kubectl/cmd/util/factory.go index 3a0fc5d97c..2d49b7168c 100644 --- a/pkg/kubectl/cmd/util/factory.go +++ b/pkg/kubectl/cmd/util/factory.go @@ -21,7 +21,6 @@ import ( "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" restclient "k8s.io/client-go/rest" - "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi" "k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions/resource" @@ -41,9 +40,6 @@ import ( type Factory interface { genericclioptions.RESTClientGetter - // ClientSet gives you back an internal, generated clientset - ClientSet() (internalclientset.Interface, error) - // DynamicClient returns a dynamic client ready for use DynamicClient() (dynamic.Interface, error) diff --git a/pkg/kubectl/cmd/util/factory_client_access.go b/pkg/kubectl/cmd/util/factory_client_access.go index 43b4a1a9b0..b87fe1acda 100644 --- a/pkg/kubectl/cmd/util/factory_client_access.go +++ b/pkg/kubectl/cmd/util/factory_client_access.go @@ -31,7 +31,6 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/kubernetes/pkg/api/legacyscheme" api "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi" openapivalidation "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi/validation" "k8s.io/kubernetes/pkg/kubectl/genericclioptions" @@ -87,14 +86,6 @@ func (f *factoryImpl) KubernetesClientSet() (*kubernetes.Clientset, error) { return kubernetes.NewForConfig(clientConfig) } -func (f *factoryImpl) ClientSet() (internalclientset.Interface, error) { - clientConfig, err := f.ToRESTConfig() - if err != nil { - return nil, err - } - return internalclientset.NewForConfig(clientConfig) -} - func (f *factoryImpl) DynamicClient() (dynamic.Interface, error) { clientConfig, err := f.ToRESTConfig() if err != nil { diff --git a/pkg/kubectl/metricsutil/metrics_client.go b/pkg/kubectl/metricsutil/metrics_client.go index e8d48182d0..95309608f0 100644 --- a/pkg/kubectl/metricsutil/metrics_client.go +++ b/pkg/kubectl/metricsutil/metrics_client.go @@ -24,7 +24,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime/schema" - corev1 "k8s.io/client-go/kubernetes/typed/core/v1" + corev1client "k8s.io/client-go/kubernetes/typed/core/v1" "k8s.io/kubernetes/pkg/apis/core/validation" metricsapi "k8s.io/metrics/pkg/apis/metrics" metricsv1alpha1api "k8s.io/metrics/pkg/apis/metrics/v1alpha1" @@ -47,14 +47,14 @@ var ( ) type HeapsterMetricsClient struct { - SVCClient corev1.ServicesGetter + SVCClient corev1client.ServicesGetter HeapsterNamespace string HeapsterScheme string HeapsterService string HeapsterPort string } -func NewHeapsterMetricsClient(svcClient corev1.ServicesGetter, namespace, scheme, service, port string) *HeapsterMetricsClient { +func NewHeapsterMetricsClient(svcClient corev1client.ServicesGetter, namespace, scheme, service, port string) *HeapsterMetricsClient { return &HeapsterMetricsClient{ SVCClient: svcClient, HeapsterNamespace: namespace, @@ -64,10 +64,6 @@ func NewHeapsterMetricsClient(svcClient corev1.ServicesGetter, namespace, scheme } } -func DefaultHeapsterMetricsClient(svcClient corev1.ServicesGetter) *HeapsterMetricsClient { - return NewHeapsterMetricsClient(svcClient, DefaultHeapsterNamespace, DefaultHeapsterScheme, DefaultHeapsterService, DefaultHeapsterPort) -} - func podMetricsUrl(namespace string, name string) (string, error) { if namespace == metav1.NamespaceAll { return fmt.Sprintf("%s/pods", metricsRoot), nil