diff --git a/pkg/kubectl/cmd/rollingupdate.go b/pkg/kubectl/cmd/rollingupdate.go index 32a65c4ccbd..0b0293e506a 100644 --- a/pkg/kubectl/cmd/rollingupdate.go +++ b/pkg/kubectl/cmd/rollingupdate.go @@ -111,7 +111,7 @@ func RunRollingUpdate(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, arg return err } - updater := kubectl.NewRollingUpdater(newRc.Namespace, &kubectl.RealRollingUpdaterClient{client}) + updater := kubectl.NewRollingUpdater(newRc.Namespace, kubectl.NewRollingUpdaterClient(client)) // fetch rc oldRc, err := client.ReplicationControllers(newRc.Namespace).Get(oldName) diff --git a/pkg/kubectl/cmd/util/factory.go b/pkg/kubectl/cmd/util/factory.go index 2cd314940c0..0f712a4e867 100644 --- a/pkg/kubectl/cmd/util/factory.go +++ b/pkg/kubectl/cmd/util/factory.go @@ -197,7 +197,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory { if err != nil { return nil, err } - return kubectl.ResizerFor(mapping.Kind, &kubectl.RealResizerClient{client}) + return kubectl.ResizerFor(mapping.Kind, kubectl.NewResizerClient(client)) }, Reaper: func(mapping *meta.RESTMapping) (kubectl.Reaper, error) { client, err := clients.ClientForVersion(mapping.APIVersion) diff --git a/pkg/kubectl/resize.go b/pkg/kubectl/resize.go index ca82e65d84b..f35f48c1ba9 100644 --- a/pkg/kubectl/resize.go +++ b/pkg/kubectl/resize.go @@ -172,19 +172,23 @@ type ResizerClient interface { ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc } -// RealResizerClient is a ResizerClient which uses a Kube client. -type RealResizerClient struct { - Client client.Interface +func NewResizerClient(c client.Interface) ResizerClient { + return &realResizerClient{c} } -func (c *RealResizerClient) GetReplicationController(namespace, name string) (*api.ReplicationController, error) { - return c.Client.ReplicationControllers(namespace).Get(name) +// realResizerClient is a ResizerClient which uses a Kube client. +type realResizerClient struct { + client client.Interface } -func (c *RealResizerClient) UpdateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error) { - return c.Client.ReplicationControllers(namespace).Update(rc) +func (c *realResizerClient) GetReplicationController(namespace, name string) (*api.ReplicationController, error) { + return c.client.ReplicationControllers(namespace).Get(name) } -func (c *RealResizerClient) ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc { - return client.ControllerHasDesiredReplicas(c.Client, rc) +func (c *realResizerClient) UpdateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error) { + return c.client.ReplicationControllers(namespace).Update(rc) +} + +func (c *realResizerClient) ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc { + return client.ControllerHasDesiredReplicas(c.client, rc) } diff --git a/pkg/kubectl/resize_test.go b/pkg/kubectl/resize_test.go index 5c2d482af35..3a70751e81a 100644 --- a/pkg/kubectl/resize_test.go +++ b/pkg/kubectl/resize_test.go @@ -43,7 +43,7 @@ func (c *ErrorReplicationControllerClient) ReplicationControllers(namespace stri func TestReplicationControllerResizeRetry(t *testing.T) { fake := &ErrorReplicationControllerClient{Fake: testclient.Fake{}} - resizer := ReplicationControllerResizer{&RealResizerClient{fake}} + resizer := ReplicationControllerResizer{NewResizerClient(fake)} preconditions := ResizePrecondition{-1, ""} count := uint(3) name := "foo" @@ -67,7 +67,7 @@ func TestReplicationControllerResizeRetry(t *testing.T) { func TestReplicationControllerResize(t *testing.T) { fake := &testclient.Fake{} - resizer := ReplicationControllerResizer{&RealResizerClient{fake}} + resizer := ReplicationControllerResizer{NewResizerClient(fake)} preconditions := ResizePrecondition{-1, ""} count := uint(3) name := "foo" @@ -90,7 +90,7 @@ func TestReplicationControllerResizeFailsPreconditions(t *testing.T) { Replicas: 10, }, }) - resizer := ReplicationControllerResizer{&RealResizerClient{fake}} + resizer := ReplicationControllerResizer{NewResizerClient(fake)} preconditions := ResizePrecondition{2, ""} count := uint(3) name := "foo" diff --git a/pkg/kubectl/rolling_updater.go b/pkg/kubectl/rolling_updater.go index 0c4a901e8f7..7172b8663b6 100644 --- a/pkg/kubectl/rolling_updater.go +++ b/pkg/kubectl/rolling_updater.go @@ -207,27 +207,31 @@ type RollingUpdaterClient interface { ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc } -// RealRollingUpdaterClient is a RollingUpdaterClient which uses a Kube client. -type RealRollingUpdaterClient struct { - Client client.Interface +func NewRollingUpdaterClient(c client.Interface) RollingUpdaterClient { + return &realRollingUpdaterClient{c} } -func (c *RealRollingUpdaterClient) GetReplicationController(namespace, name string) (*api.ReplicationController, error) { - return c.Client.ReplicationControllers(namespace).Get(name) +// realRollingUpdaterClient is a RollingUpdaterClient which uses a Kube client. +type realRollingUpdaterClient struct { + client client.Interface } -func (c *RealRollingUpdaterClient) UpdateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error) { - return c.Client.ReplicationControllers(namespace).Update(rc) +func (c *realRollingUpdaterClient) GetReplicationController(namespace, name string) (*api.ReplicationController, error) { + return c.client.ReplicationControllers(namespace).Get(name) } -func (c *RealRollingUpdaterClient) CreateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error) { - return c.Client.ReplicationControllers(namespace).Create(rc) +func (c *realRollingUpdaterClient) UpdateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error) { + return c.client.ReplicationControllers(namespace).Update(rc) } -func (c *RealRollingUpdaterClient) DeleteReplicationController(namespace, name string) error { - return c.Client.ReplicationControllers(namespace).Delete(name) +func (c *realRollingUpdaterClient) CreateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error) { + return c.client.ReplicationControllers(namespace).Create(rc) } -func (c *RealRollingUpdaterClient) ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc { - return client.ControllerHasDesiredReplicas(c.Client, rc) +func (c *realRollingUpdaterClient) DeleteReplicationController(namespace, name string) error { + return c.client.ReplicationControllers(namespace).Delete(name) +} + +func (c *realRollingUpdaterClient) ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc { + return client.ControllerHasDesiredReplicas(c.client, rc) } diff --git a/pkg/kubectl/rolling_updater_test.go b/pkg/kubectl/rolling_updater_test.go index 2c05b79002c..144d7059c90 100644 --- a/pkg/kubectl/rolling_updater_test.go +++ b/pkg/kubectl/rolling_updater_test.go @@ -253,7 +253,7 @@ Update succeeded. Deleting foo-v1 for _, test := range tests { updater := RollingUpdater{ - &RealRollingUpdaterClient{fakeClientFor("default", test.responses)}, + NewRollingUpdaterClient(fakeClientFor("default", test.responses)), "default", } var buffer bytes.Buffer @@ -296,7 +296,7 @@ Update succeeded. Deleting foo-v1 {newRc(3, 3), nil}, {newRc(3, 3), nil}, } - updater := RollingUpdater{&RealRollingUpdaterClient{fakeClientFor("default", responses)}, "default"} + updater := RollingUpdater{NewRollingUpdaterClient(fakeClientFor("default", responses)), "default"} var buffer bytes.Buffer if err := updater.Update(&buffer, rc, rcExisting, 0, time.Millisecond, time.Millisecond); err != nil { diff --git a/pkg/kubectl/stop.go b/pkg/kubectl/stop.go index 771b16d6c6b..ba1d69d8442 100644 --- a/pkg/kubectl/stop.go +++ b/pkg/kubectl/stop.go @@ -65,7 +65,7 @@ type objInterface interface { func (reaper *ReplicationControllerReaper) Stop(namespace, name string) (string, error) { rc := reaper.ReplicationControllers(namespace) - resizer, err := ResizerFor("ReplicationController", &RealResizerClient{*reaper}) + resizer, err := ResizerFor("ReplicationController", NewResizerClient(*reaper)) if err != nil { return "", err }