convert more command to use a generated clientset

This commit is contained in:
deads2k
2016-09-07 16:29:57 -04:00
parent fc30bf7e8b
commit 9d43f7e52c
14 changed files with 130 additions and 88 deletions

View File

@@ -25,9 +25,10 @@ import (
"github.com/renstrom/dedent"
"github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api"
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/unversioned"
"k8s.io/kubernetes/pkg/client/restclient"
client "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/client/unversioned/portforward"
"k8s.io/kubernetes/pkg/client/unversioned/remotecommand"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
@@ -37,8 +38,9 @@ import (
type PortForwardOptions struct {
Namespace string
PodName string
RESTClient *restclient.RESTClient
Config *restclient.Config
Client *client.Client
PodClient coreclient.PodsGetter
Ports []string
PortForwarder portForwarder
StopChannel chan struct{}
@@ -130,15 +132,20 @@ func (o *PortForwardOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, ar
return err
}
o.Client, err = f.Client()
clientset, err := f.ClientSet()
if err != nil {
return err
}
o.PodClient = clientset.Core()
o.Config, err = f.ClientConfig()
if err != nil {
return err
}
o.RESTClient, err = f.RESTClient()
if err != nil {
return err
}
o.StopChannel = make(chan struct{}, 1)
o.ReadyChannel = make(chan struct{})
@@ -155,15 +162,15 @@ func (o PortForwardOptions) Validate() error {
return fmt.Errorf("at least 1 PORT is required for port-forward")
}
if o.PortForwarder == nil || o.Client == nil || o.Config == nil {
return fmt.Errorf("client, client config, and portforwarder must be provided")
if o.PortForwarder == nil || o.PodClient == nil || o.RESTClient == nil || o.Config == nil {
return fmt.Errorf("client, client config, restClient, and portforwarder must be provided")
}
return nil
}
// RunPortForward implements all the necessary functionality for port-forward cmd.
func (o PortForwardOptions) RunPortForward() error {
pod, err := o.Client.Pods(o.Namespace).Get(o.PodName)
pod, err := o.PodClient.Pods(o.Namespace).Get(o.PodName)
if err != nil {
return err
}
@@ -183,7 +190,7 @@ func (o PortForwardOptions) RunPortForward() error {
}
}()
req := o.Client.RESTClient.Post().
req := o.RESTClient.Post().
Resource("pods").
Namespace(o.Namespace).
Name(pod.Name).