def get_alarm_count(request): alarm_count = {'alarm': 0, 'ok': 0, 'insufficient_data': 0} token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) try: alarm_count['alarm'] = len(new_ceilometer_api.get_alarms(state='alarm')) alarm_count['ok'] = len(new_ceilometer_api.get_alarms(state='ok')) alarm_count['insufficient_data'] = len(new_ceilometer_api.get_alarms( state='insufficient+data')) return HttpResponse(json.dumps(alarm_count), content_type='application/json') except KeyError, e: return _report_error('ServerSideError: Alarm counting failed')
def get_alarm_count(request): alarm_count = {'alarm': 0, 'ok': 0, 'insufficient_data': 0} token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) try: alarm_count['alarm'] = len( new_ceilometer_api.get_alarms(state='alarm')) alarm_count['ok'] = len(new_ceilometer_api.get_alarms(state='ok')) alarm_count['insufficient_data'] = len( new_ceilometer_api.get_alarms(state='insufficient+data')) return HttpResponse(json.dumps(alarm_count), content_type='application/json') except KeyError, e: return _report_error('ServerSideError: Alarm counting failed')
def get_alarms(request): ''' Fetch alarms for a query. Filter options supported by Ceilometer includes: name: alarm name, user: user_id, project: project_id, meter: meter_name enabled, state, alarm_id, alarm_type Additional filter enabled by editing pymongo_base: resource: resource_id :param request: :return: ''' arrays, filters = _request_GET_to_dict(request.GET) filters = sanitize_arguments(filters, capabilities.ALARM_LIST_CAPABILITIES) token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) try: result = {} result['status'] = 'success' result['data'] = new_ceilometer_api.get_alarms(**filters) result['recordsTotal'] = len(result['data']) result['recordsFiltered'] = len(result['data']) print 'success' return HttpResponse(json.dumps(result), content_type='application/json') except (err.ClientSideError, err.ServerSideError), e: print 'fail' return _report_error(e.message)