Reorganize AutoScalingGroup Implementation

Registered by Qiming Teng on 2014-08-11

The blueprint aims at reorganizing the current code layout and class hierarchy of auto-scaling group implementations.

Blueprint information

Status:
Complete
Approver:
Thomas Spatzier
Priority:
Medium
Drafter:
Qiming Teng
Direction:
Approved
Assignee:
Qiming Teng
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Qiming Teng on 2014-09-07
Completed by
Steve Baker on 2015-08-27

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/reorg-asg-code,n,z

Addressed by: https://review.openstack.org/114167
    Move CooldownMixin into separate file

Addressed by: https://review.openstack.org/117080
    Split scaling policy into separate files

Addressed by: https://review.openstack.org/119619
    Make InstanceGroup subclass of ResourceGroup

Addressed by: https://review.openstack.org/120409
    Remove _environment method from ASG.

Addressed by: https://review.openstack.org/120676
    Remove timeout from ResourceGroup method call.

Addressed by: https://review.openstack.org/120756
    Remove unncecessary child_params parameter.

Addressed by: https://review.openstack.org/123176
    Split autoscaling.py into separate files.

Addressed by: https://review.openstack.org/123481
    Further split autoscaling code

One other mismatch, besides AWS vs. Heat native, concerns the difference in scale-down behavior for OS::Heat::ResourceGroup vs. OS::Heat::AutoScalingGroup. The latter removes the oldest members when scaling down, and I think this is helpful behavior. The former does not pay attention to resource age.

Addressed by: https://review.openstack.org/129620
    Further split ASG code.

Addressed by: https://review.openstack.org/137077
    Add InstanceList attr to AutoScalingGroup.

Addressed by: https://review.openstack.org/137356
    Extract group functions into a utility module.

Addressed by: https://review.openstack.org/139222
    Revert "Extract group functions into a utility module."

Gerrit topic: https://review.openstack.org/#q,topic:bp/as-lib,n,z

Addressed by: https://review.openstack.org/143605
    Move LB reload logic into scaling library

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.