Skip to content

Commit 7e13199

Browse files
committed
fix check against desired number of instances to scale down to
1 parent 320e9fa commit 7e13199

File tree

3 files changed

+9
-16
lines changed

3 files changed

+9
-16
lines changed

lib/cloud_controller/deployment_updater/actions/scale.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,19 @@ def call
3737
end
3838

3939
ScaleDownCanceled.new(deployment).call
40-
ScaleDownOldProcess.new(deployment, oldest_web_process_with_instances, instances_to_scale_down).call
40+
ScaleDownOldProcess.new(deployment, oldest_web_process_with_instances, desired_old_instances).call
4141

42-
deploying_web_process.update(instances: instances_to_scale_up)
42+
deploying_web_process.update(instances: desired_new_instances)
4343
end
4444
end
4545

4646
private
4747

48-
def instances_to_scale_down
48+
def desired_old_instances
4949
[(oldest_web_process_with_instances.instances - deployment.max_in_flight), 0].max
5050
end
5151

52-
def instances_to_scale_up
52+
def desired_new_instances
5353
[deploying_web_process.instances + deployment.max_in_flight, deployment.original_web_process_instance_count].min
5454
end
5555

lib/cloud_controller/deployment_updater/actions/scale_down_old_process.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@ module VCAP::CloudController
22
module DeploymentUpdater
33
module Actions
44
class ScaleDownOldProcess
5-
attr_reader :deployment, :process, :app, :instances_to_scale_down
5+
attr_reader :deployment, :process, :app, :desired_instances
66

7-
def initialize(deployment, process, instances_to_scale_down)
7+
def initialize(deployment, process, desired_instances)
88
@deployment = deployment
99
@app = deployment.app
1010
@process = process
11-
@instances_to_scale_down = instances_to_scale_down
11+
@desired_instances = desired_instances
1212
end
1313

1414
def call
15-
if process.instances <= instances_to_scale_down && is_interim_process?(process)
15+
if desired_instances == 0 && is_interim_process?(process)
1616
process.destroy
1717
return
1818
end
1919

20-
process.update(instances: instances_to_scale_down)
20+
process.update(instances: desired_instances)
2121
end
2222

2323
private

spec/unit/lib/cloud_controller/deployment_updater/actions/scale_spec.rb

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -267,18 +267,11 @@ module VCAP::CloudController
267267
)
268268
end
269269

270-
let!(:oldest_route_mapping) do
271-
RouteMappingModel.make(app: oldest_web_process_with_instances.app, process_type: oldest_web_process_with_instances.type)
272-
end
273-
274-
let!(:oldest_label) { ProcessLabelModel.make(resource_guid: oldest_web_process_with_instances.guid, key_name: 'test', value: 'bommel') }
275-
276270
it 'destroys the oldest web process and ignores the original web process' do
277271
expect do
278272
subject.call
279273
end.not_to(change { ProcessModel.find(guid: web_process.guid) })
280274
expect(ProcessModel.find(guid: oldest_web_process_with_instances.guid)).to be_nil
281-
expect(oldest_label).not_to exist
282275
end
283276
end
284277

0 commit comments

Comments
 (0)