コード例 #1
0
    def test_alarm_create_time_constraints(self):
        shell = base_shell.CeilometerShell()
        argv = ['alarm-threshold-create',
                '--name', 'cpu_high',
                '--meter-name', 'cpu_util',
                '--threshold', '70.0',
                '--time-constraint',
                'name=cons1;start="0 11 * * *";duration=300',
                '--time-constraint',
                'name=cons2;start="0 23 * * *";duration=600',
                ]
        _, args = shell.parse_args(argv)

        orig = sys.stdout
        sys.stdout = six.StringIO()
        alarm = alarms.Alarm(mock.Mock(), self.ALARM)
        self.cc.alarms.create.return_value = alarm

        try:
            ceilometer_shell.do_alarm_threshold_create(self.cc, args)
            _, kwargs = self.cc.alarms.create.call_args
            time_constraints = [dict(name='cons1', start='0 11 * * *',
                                     duration='300'),
                                dict(name='cons2', start='0 23 * * *',
                                     duration='600')]
            self.assertEqual(time_constraints, kwargs['time_constraints'])
        finally:
            sys.stdout.close()
            sys.stdout = orig
コード例 #2
0
    def test_alarm_create_time_constraints(self):
        shell = base_shell.CeilometerShell()
        argv = [
            'alarm-threshold-create',
            '--name',
            'cpu_high',
            '--meter-name',
            'cpu_util',
            '--threshold',
            '70.0',
            '--time-constraint',
            'name=cons1;start="0 11 * * *";duration=300',
            '--time-constraint',
            'name=cons2;start="0 23 * * *";duration=600',
        ]
        _, args = shell.parse_args(argv)

        alarm = alarms.Alarm(mock.Mock(), self.ALARM)
        self.cc.alarms.create.return_value = alarm

        ceilometer_shell.do_alarm_threshold_create(self.cc, args)
        _, kwargs = self.cc.alarms.create.call_args
        time_constraints = [
            dict(name='cons1', start='0 11 * * *', duration='300'),
            dict(name='cons2', start='0 23 * * *', duration='600')
        ]
        self.assertEqual(time_constraints, kwargs['time_constraints'])
コード例 #3
0
    def test_alarm_threshold_create_args(self):
        shell = base_shell.CeilometerShell()
        argv = ['alarm-threshold-create',
                '--name', 'cpu_high',
                '--description', 'instance running hot',
                '--meter-name', 'cpu_util',
                '--threshold', '70.0',
                '--comparison-operator', 'gt',
                '--statistic', 'avg',
                '--period', '600',
                '--evaluation-periods', '3',
                '--alarm-action', 'log://',
                '--alarm-action', 'http://example.com/alarm/state',
                '--query', 'resource_id=INSTANCE_ID']
        _, args = shell.parse_args(argv)

        orig = sys.stdout
        sys.stdout = six.StringIO()
        alarm = alarms.Alarm(mock.Mock(), self.ALARM)
        self.cc.alarms.create.return_value = alarm

        try:
            ceilometer_shell.do_alarm_threshold_create(self.cc, args)
            _, kwargs = self.cc.alarms.create.call_args
            self.assertEqual('cpu_high', kwargs.get('name'))
            self.assertEqual('instance running hot', kwargs.get('description'))
            actions = ['log://', 'http://example.com/alarm/state']
            self.assertEqual(actions, kwargs.get('alarm_actions'))
            self.assertTrue('threshold_rule' in kwargs)
            rule = kwargs['threshold_rule']
            self.assertEqual('cpu_util', rule.get('meter_name'))
            self.assertEqual(70.0, rule.get('threshold'))
            self.assertEqual('gt', rule.get('comparison_operator'))
            self.assertEqual('avg', rule.get('statistic'))
            self.assertEqual(600, rule.get('period'))
            self.assertEqual(3, rule.get('evaluation_periods'))
            query = dict(field='resource_id', type='',
                         value='INSTANCE_ID', op='eq')
            self.assertEqual([query], rule['query'])
        finally:
            sys.stdout.close()
            sys.stdout = orig
コード例 #4
0
    def test_alarm_threshold_create_args(self):
        shell = base_shell.CeilometerShell()
        argv = [
            'alarm-threshold-create', '--name', 'cpu_high', '--description',
            'instance running hot', '--meter-name', 'cpu_util', '--threshold',
            '70.0', '--comparison-operator', 'gt', '--statistic', 'avg',
            '--period', '600', '--evaluation-periods', '3', '--alarm-action',
            'log://', '--alarm-action', 'http://example.com/alarm/state',
            '--query', 'resource_id=INSTANCE_ID'
        ]
        _, args = shell.parse_args(argv)

        orig = sys.stdout
        sys.stdout = six.StringIO()
        alarm = alarms.Alarm(mock.Mock(), self.ALARM)
        self.cc.alarms.create.return_value = alarm

        try:
            ceilometer_shell.do_alarm_threshold_create(self.cc, args)
            _, kwargs = self.cc.alarms.create.call_args
            self.assertEqual('cpu_high', kwargs.get('name'))
            self.assertEqual('instance running hot', kwargs.get('description'))
            actions = ['log://', 'http://example.com/alarm/state']
            self.assertEqual(actions, kwargs.get('alarm_actions'))
            self.assertTrue('threshold_rule' in kwargs)
            rule = kwargs['threshold_rule']
            self.assertEqual('cpu_util', rule.get('meter_name'))
            self.assertEqual(70.0, rule.get('threshold'))
            self.assertEqual('gt', rule.get('comparison_operator'))
            self.assertEqual('avg', rule.get('statistic'))
            self.assertEqual(600, rule.get('period'))
            self.assertEqual(3, rule.get('evaluation_periods'))
            query = dict(field='resource_id',
                         type='',
                         value='INSTANCE_ID',
                         op='eq')
            self.assertEqual([query], rule['query'])
        finally:
            sys.stdout.close()
            sys.stdout = orig