Пример #1
0
def usage(request):
    (date_start, date_end, datetime_start, datetime_end) = _get_start_and_end_date(request)
    service_list = []
    usage_list = []
    max_vcpus = max_gigabytes = 0
    total_ram = 0

    if date_start > _current_month():
        messages.error(request, 'No data for the selected period')
        date_end = date_start
        datetime_end = datetime_start
    else:
        try:
            service_list = api.service_list(request)
        except api_exceptions.ApiException, e:
            LOG.error('ApiException fetching service list in instance usage',
                      exc_info=True)
            messages.error(request,
                           'Unable to get service info: %s' % e.message)

        for service in service_list:
            if service.type == 'nova-compute':
                max_vcpus += service.stats['max_vcpus']
                max_gigabytes += service.stats['max_gigabytes']
                total_ram += settings.COMPUTE_HOST_RAM_GB

        try:
            usage_list = api.usage_list(request, datetime_start, datetime_end)
        except api_exceptions.ApiException, e:
            LOG.error('ApiException fetching usage list in instance usage'
                      ' on date range "%s to %s"' % (datetime_start,
                                                     datetime_end),
                      exc_info=True)
            messages.error(request, 'Unable to get usage info: %s' % e.message)
Пример #2
0
def usage(request):
    (date_start, date_end, datetime_start, datetime_end) = _get_start_and_end_date(request)
    service_list = []
    usage_list = []
    max_vcpus = max_gigabytes = 0

    if date_start > _current_month():
        messages.error(request, 'No data for the selected period')
        date_end = date_start
        datetime_end = datetime_start
    else:
        try:
            service_list = api.service_list(request)
        except api_exceptions.ApiException, e:
            messages.error(request, 'Unable to get service info: %s' % e.message)

        for service in service_list:
            if service.type == 'nova-compute':
                max_vcpus += service.stats['max_vcpus']
                max_gigabytes += service.stats['max_gigabytes']

        try:
            usage_list = api.usage_list(request, datetime_start, datetime_end)
        except api_exceptions.ApiException, e:
            messages.error(request, 'Unable to get usage info: %s' % e.message)
Пример #3
0
    def test_usage_list(self):
        usages = (TEST_RETURN, TEST_RETURN + "2")

        extras_api = self.stub_extras_api()

        extras_api.usage = self.mox.CreateMockAnything()
        extras_api.usage.list("start", "end").AndReturn(usages)

        self.mox.ReplayAll()

        ret_val = api.usage_list(self.request, "start", "end")

        self.assertEqual(len(ret_val), len(usages))
        for usage in ret_val:
            self.assertIsInstance(usage, api.Usage)
            self.assertIn(usage._apiresource, usages)

        self.mox.VerifyAll()