Skip to content

Commit ee864a5

Browse files
committed
fit the new scaler impl
1 parent 27e3e2f commit ee864a5

File tree

12 files changed

+167
-314
lines changed

12 files changed

+167
-314
lines changed

pkg/apps/strategy/recreate/recreate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ func (s *RecreateDeploymentStrategy) scaleAndWait(deployment *kapi.ReplicationCo
230230
}
231231
var scaleErr error
232232
err := wait.PollImmediate(1*time.Second, 30*time.Second, func() (bool, error) {
233-
scaleErr = s.scaler.Scale(deployment.Namespace, deployment.Name, uint(replicas), &kubectl.ScalePrecondition{Size: -1, ResourceVersion: ""}, retry, retryParams)
233+
scaleErr = s.scaler.Scale(deployment.Namespace, deployment.Name, uint(replicas), &kubectl.ScalePrecondition{Size: -1, ResourceVersion: ""}, retry, retryParams, kapi.Resource("replicationcontrollers"))
234234
if scaleErr == nil {
235235
return true, nil
236236
}

pkg/apps/strategy/rolling/rolling.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ func NewRollingDeploymentStrategy(namespace string, client kclientset.Interface,
9393
if errOut == nil {
9494
errOut = ioutil.Discard
9595
}
96+
9697
return &RollingDeploymentStrategy{
9798
out: out,
9899
errOut: errOut,
@@ -105,7 +106,7 @@ func NewRollingDeploymentStrategy(namespace string, client kclientset.Interface,
105106
apiRetryPeriod: defaultApiRetryPeriod,
106107
apiRetryTimeout: defaultApiRetryTimeout,
107108
rollingUpdate: func(config *kubectl.RollingUpdaterConfig) error {
108-
updater := kubectl.NewRollingUpdater(namespace, client.Core(), client.Core())
109+
updater := kubectl.NewRollingUpdater(namespace, client.Core(), client.Core(), appsutil.NewReplicationControllerV1ScaleClient(client))
109110
return updater.Update(config)
110111
},
111112
hookExecutor: stratsupport.NewHookExecutor(client.Core(), tags, client.Core(), os.Stdout, decoder),

pkg/apps/util/test/support.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ type ScaleEvent struct {
1717
Size uint
1818
}
1919

20-
func (t *FakeScaler) Scale(namespace, name string, newSize uint, preconditions *kubectl.ScalePrecondition, retry, wait *kubectl.RetryParams) error {
20+
func (t *FakeScaler) Scale(namespace, name string, newSize uint, preconditions *kubectl.ScalePrecondition, retry, wait *kubectl.RetryParams, resource schema.GroupResource) error {
2121
t.Events = append(t.Events, ScaleEvent{name, newSize})
2222
return nil
2323
}
2424

25-
func (t *FakeScaler) ScaleSimple(namespace, name string, preconditions *kubectl.ScalePrecondition, newSize uint) (string, error) {
25+
func (t *FakeScaler) ScaleSimple(namespace, name string, preconditions *kubectl.ScalePrecondition, newSize uint, resource schema.GroupResource) (string, error) {
2626
return "", fmt.Errorf("unexpected call to ScaleSimple")
2727
}
2828

@@ -31,17 +31,17 @@ type FakeLaggedScaler struct {
3131
RetryCount int
3232
}
3333

34-
func (t *FakeLaggedScaler) Scale(namespace, name string, newSize uint, preconditions *kubectl.ScalePrecondition, retry, wait *kubectl.RetryParams) error {
34+
func (t *FakeLaggedScaler) Scale(namespace, name string, newSize uint, preconditions *kubectl.ScalePrecondition, retry, wait *kubectl.RetryParams, resource schema.GroupResource) error {
3535
if t.RetryCount != 2 {
3636
t.RetryCount += 1
3737
// This is faking a real error from the
3838
// "k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle" package.
39-
return errors.NewForbidden(schema.GroupResource{Resource: "ReplicationController"}, name, fmt.Errorf("%s: not yet ready to handle request", name))
39+
return errors.NewForbidden(resource, name, fmt.Errorf("%s: not yet ready to handle request", name))
4040
}
4141
t.Events = append(t.Events, ScaleEvent{name, newSize})
4242
return nil
4343
}
4444

45-
func (t *FakeLaggedScaler) ScaleSimple(namespace, name string, preconditions *kubectl.ScalePrecondition, newSize uint) (string, error) {
45+
func (t *FakeLaggedScaler) ScaleSimple(namespace, name string, preconditions *kubectl.ScalePrecondition, newSize uint, resource schema.GroupResource) (string, error) {
4646
return "", nil
4747
}

pkg/apps/util/util.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,11 @@ import (
3737
)
3838

3939
func NewReplicationControllerV1Scaler(client kclientset.Interface) kubectl.Scaler {
40-
return kubectl.ScalerFor(
41-
kapi.Kind("ReplicationController"),
42-
nil,
43-
scaleclient.New(client.Core().RESTClient(), rcv1mapper{}, dynamic.LegacyAPIPathResolverFunc, rcv1mapper{}),
44-
kapi.Resource("replicationcontrollers"),
45-
)
40+
return kubectl.NewScaler(NewReplicationControllerV1ScaleClient(client))
41+
}
42+
43+
func NewReplicationControllerV1ScaleClient(client kclientset.Interface) scaleclient.ScalesGetter {
44+
return scaleclient.New(client.Core().RESTClient(), rcv1mapper{}, dynamic.LegacyAPIPathResolverFunc, rcv1mapper{})
4645
}
4746

4847
// rcv1mapper pins preferred version to v1 and scale kind to autoscaling/v1 Scale

pkg/cmd/infra/deployer/deployer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ func (d *Deployer) Deploy(namespace, rcName string) error {
238238
}
239239
// Scale the deployment down to zero.
240240
retryWaitParams := kubectl.NewRetryParams(1*time.Second, 120*time.Second)
241-
if err := d.scaler.Scale(candidate.Namespace, candidate.Name, uint(0), &kubectl.ScalePrecondition{Size: -1, ResourceVersion: ""}, retryWaitParams, retryWaitParams); err != nil {
241+
if err := d.scaler.Scale(candidate.Namespace, candidate.Name, uint(0), &kubectl.ScalePrecondition{Size: -1, ResourceVersion: ""}, retryWaitParams, retryWaitParams, kapi.Resource("replicationcontrollers")); err != nil {
242242
fmt.Fprintf(d.errOut, "error: Couldn't scale down prior deployment %s: %v\n", appsutil.LabelForDeployment(candidate), err)
243243
} else {
244244
fmt.Fprintf(d.out, "--> Scaled older deployment %s down\n", candidate.Name)

pkg/oc/admin/diagnostics/diagnostics/cluster/app_create/setup_cleanup.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
99
"k8s.io/apimachinery/pkg/util/wait"
1010

11+
appsutil "github.com/openshift/origin/pkg/apps/util"
1112
"github.com/openshift/origin/pkg/cmd/server/bootstrappolicy"
1213
newproject "github.com/openshift/origin/pkg/oc/admin/project"
1314
appscmd "github.com/openshift/origin/pkg/oc/cli/deploymentconfigs"
@@ -82,7 +83,7 @@ func (d *AppCreate) cleanupApp() {
8283
d.out.Debug("DCluAC043", fmt.Sprintf("%s: Deleting components of app '%s' if present.", now(), d.appName))
8384

8485
// reap the DC's deployments first
85-
if err := appscmd.NewDeploymentConfigReaper(d.AppsClient, d.KubeClient).Stop(d.project, d.appName, time.Duration(1)*time.Second, nil); err != nil {
86+
if err := appscmd.NewDeploymentConfigReaper(d.AppsClient, d.KubeClient, appsutil.NewReplicationControllerV1ScaleClient(d.KubeClient)).Stop(d.project, d.appName, time.Duration(1)*time.Second, nil); err != nil {
8687
errs = append(errs, err)
8788
}
8889

pkg/oc/cli/deploymentconfigs/delete.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
99
"k8s.io/apimachinery/pkg/types"
1010
"k8s.io/apimachinery/pkg/util/wait"
11+
scaleclient "k8s.io/client-go/scale"
1112
kapi "k8s.io/kubernetes/pkg/apis/core"
1213
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
1314
"k8s.io/kubernetes/pkg/kubectl"
@@ -18,14 +19,15 @@ import (
1819
)
1920

2021
// NewDeploymentConfigReaper returns a new reaper for deploymentConfigs
21-
func NewDeploymentConfigReaper(appsClient appsclient.Interface, kc kclientset.Interface) kubectl.Reaper {
22-
return &DeploymentConfigReaper{appsClient: appsClient, kc: kc, pollInterval: kubectl.Interval, timeout: kubectl.Timeout}
22+
func NewDeploymentConfigReaper(appsClient appsclient.Interface, kc kclientset.Interface, scaleClient scaleclient.ScalesGetter) kubectl.Reaper {
23+
return &DeploymentConfigReaper{appsClient: appsClient, kc: kc, scaleClient: scaleClient, pollInterval: kubectl.Interval, timeout: kubectl.Timeout}
2324
}
2425

2526
// DeploymentConfigReaper implements the Reaper interface for deploymentConfigs
2627
type DeploymentConfigReaper struct {
2728
appsClient appsclient.Interface
2829
kc kclientset.Interface
30+
scaleClient scaleclient.ScalesGetter
2931
pollInterval, timeout time.Duration
3032
}
3133

@@ -85,7 +87,7 @@ func (reaper *DeploymentConfigReaper) Stop(namespace, name string, timeout time.
8587
if err != nil {
8688
return err
8789
}
88-
rcReaper, err := kubectl.ReaperFor(kapi.Kind("ReplicationController"), reaper.kc)
90+
rcReaper, err := kubectl.ReaperFor(kapi.Kind("ReplicationController"), reaper.kc, reaper.scaleClient)
8991
if err != nil {
9092
return err
9193
}

pkg/oc/cli/deploymentconfigs/scale.go

Lines changed: 0 additions & 101 deletions
This file was deleted.

pkg/oc/cli/deploymentconfigs/scale_test.go

Lines changed: 0 additions & 92 deletions
This file was deleted.

pkg/oc/cli/util/clientcmd/factory.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ var _ kcmdutil.Factory = &Factory{}
5858
func NewFactory(optionalClientConfig kclientcmd.ClientConfig) *Factory {
5959
clientAccessFactory := NewClientAccessFactory(optionalClientConfig)
6060
objectMappingFactory := NewObjectMappingFactory(clientAccessFactory)
61-
builderFactory := kcmdutil.NewBuilderFactory(clientAccessFactory, objectMappingFactory)
61+
builderFactory := NewBuilderFactory(clientAccessFactory, objectMappingFactory)
6262

6363
return &Factory{
6464
ClientAccessFactory: clientAccessFactory,

0 commit comments

Comments
 (0)