'Default': 'true',
'Description': _('True if alarm evaluation/actioning is enabled')
},
+ 'repeat_actions': {
+ 'Type': 'Boolean',
+ 'Default': 'false',
+ 'Description': _('True to trigger actions each time the threshold '
+ 'is reached. '
+ 'By default, actions are called when : '
+ 'the threshold is reached AND the alarm\'s state '
+ 'have changed')
+ },
'matching_metadata': {
'Type': 'Map',
'Description': _('Counter should match this resource metadata '
'evaluation_periods', 'period', 'statistic',
'alarm_actions', 'ok_actions',
'insufficient_data_actions', 'threshold',
- 'enabled')
+ 'enabled', 'repeat_actions')
def _actions_to_urls(self, props):
kwargs = {}
for k, v in iter(props.items()):
- if k.endswith('_actions') and v is not None:
+ if k in ['alarm_actions', 'ok_actions',
+ 'insufficient_data_actions'] and v is not None:
kwargs[k] = []
for act in v:
# if the action is a resource name
snippet['Properties']['evaluation_periods'] = '2'
snippet['Properties']['period'] = '90'
snippet['Properties']['enabled'] = 'true'
+ snippet['Properties']['repeat_actions'] = True
snippet['Properties']['statistic'] = 'max'
snippet['Properties']['threshold'] = '39'
snippet['Properties']['insufficient_data_actions'] = []
python-keystoneclient>=0.3.2
python-swiftclient>=1.2
python-neutronclient>=2.3.0,<3
-python-ceilometerclient>=1.0.2
+python-ceilometerclient>=1.0.3
python-cinderclient>=1.0.4
PyYAML>=3.1.0
paramiko>=1.8.0