Add basic Ceilometer alarm test
This sends a manual ceilometer sample to trigger the alarm,
then confirms that the autoscale policy/group reacts correctly.
Note: this doesn't used ScenarioBaseTest as it skips the test
unnecessarily on unused images and networks.
Change-Id: I5c842779d90497ba88df66bbfd8f447679645192
Depends-On: Ib3795bcca9d5ec3d68c6443a9854dbc56118ca40
diff --git a/scenario/templates/test_ceilometer_alarm.yaml b/scenario/templates/test_ceilometer_alarm.yaml
new file mode 100644
index 0000000..01bc790
--- /dev/null
+++ b/scenario/templates/test_ceilometer_alarm.yaml
@@ -0,0 +1,33 @@
+heat_template_version: 2013-05-23
+resources:
+ asg:
+ type: OS::Heat::AutoScalingGroup
+ properties:
+ max_size: 5
+ min_size: 1
+ resource:
+ type: OS::Heat::RandomString
+ scaleup_policy:
+ type: OS::Heat::ScalingPolicy
+ properties:
+ adjustment_type: change_in_capacity
+ auto_scaling_group_id: {get_resource: asg}
+ cooldown: 0
+ scaling_adjustment: 1
+ alarm:
+ type: OS::Ceilometer::Alarm
+ properties:
+ description: Scale-up if the average CPU > 50% for 1 minute
+ meter_name: test_meter
+ statistic: count
+ comparison_operator: ge
+ threshold: 1
+ period: 60
+ evaluation_periods: 1
+ alarm_actions:
+ - {get_attr: [scaleup_policy, alarm_url]}
+ matching_metadata:
+ metadata.metering.stack_id: {get_param: "OS::stack_id"}
+outputs:
+ asg_size:
+ value: {get_attr: [asg, current_size]}