Difference between revisions of "Heat/AutoScaling"
< Heat
(→When an alarm is triggered in watchrule.py the following happens:) |
(→Current) |
||
Line 3: | Line 3: | ||
AS == AutoScaling | AS == AutoScaling | ||
− | === | + | === Now === |
The AWS AS is broken into a number of logical objects | The AWS AS is broken into a number of logical objects |
Revision as of 02:49, 21 June 2013
Contents
Heat Autoscaling now and beyond
AS == AutoScaling
Now
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()