Difference between revisions of "Heat/AutoScaling"
< Heat
(→When a stack is created with these resources the following happens:) |
(→When an alarm is triggered in watchrule.py the following happens:) |
||
Line 21: | Line 21: | ||
==== When an alarm is triggered in watchrule.py the following happens: ==== | ==== When an alarm is triggered in watchrule.py the following happens: ==== | ||
+ | # the periodic task runs the watch rule | ||
+ | # when an alarm is triggered it calls (python call) the policy resource (policy.alarm()) | ||
+ | # the policy figures out if it needs to adjust the group size, if it does it calls (via python again) group.adjust() |
Revision as of 02:49, 21 June 2013
Contents
Heat Autoscaling now and beyond
AS == AutoScaling
Current
The AWS AS is broken into a number of logical objects
- AS group (heat/engine/resources/autoscaling.py)
- AS policy (heat/engine/resources/autoscaling.py)
- AS Launch Config (heat/engine/resources/autoscaling.py)
- Cloud Watch Alarms (heat/engine/resources/cloud_watch.py, heat/engine/watchrule.py)
When a stack is created with these resources the following happens:
- Alarm: the alarm rule is written into the DB
- Policy: nothing interesting
- LaunchConfig: it is just storage
- Group: the Launch config is used to create the initial number of servers.
- the new server starts posting samples back to the cloud watch API
When an alarm is triggered in watchrule.py the following happens:
- the periodic task runs the watch rule
- when an alarm is triggered it calls (python call) the policy resource (policy.alarm())
- the policy figures out if it needs to adjust the group size, if it does it calls (via python again) group.adjust()