Good Health via Stack Update-By-Deltas and Scaling Group Excluded Member Property

Registered by Mike Spreitzer

This blueprint describes how OS::Heat::AutoScalingGroup can maintain member health, as determined for a member's OS::Neutron::PoolMember, via the stack-updater-by-deltas resource type and the excluded_members property of the group. Each group member will be a resource with some ID (you might think of this as a name, but see http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#resources-section), call it X, and a defining snippet that will be a nested stack that contains: (a) an instance of the user-provided resource snippet, which necessarily includes an OS::Neutron::PoolMember and exposes its ID; (b) a stack-updater-by-deltas that updates the scaling group resource (in its parent stack) by adding X to the list of excluded member IDs; (c) a Ceilometer alarm that reacts to sufficiently persistent bad health readings from (a)'s PoolMember by invoking the webhook of (b). The upward references needed by (b) are discoverable by the resource group code, which puts them in the appropriate places in the template it generates.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Mike Spreitzer
Direction:
Needs approval
Assignee:
None
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Thomas Herve

Related branches

Sprints

Whiteboard

The delta cited in (b) in the introductory outline is deliberately chosen to be "add ... to the list" instead of "set the list to be ...", for the sake of robustness in the face of concurrency. The scaling group is defined to automatically prune that list, which means we do not have the problem of getting some other agent to do it.

The list being modified in (b) is a distinct property, rather than the value associated with a key in a map that is a member of a unified policy list; this makes easier demands on the language for expressing template deltas.

This outline will not change when automatic convergence becomes available for scaling group members.

See https://blueprints.launchpad.net/heat/+spec/asg-health-via-remove-members for an alternative.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.