~ubuntu-cloud-archive/ubuntu/precise/nova/trunk

« back to all changes in this revision

Viewing changes to nova/api/openstack/compute/contrib/simple_tenant_usage.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Chuck Short, Adam Gandelman
  • Date: 2012-06-22 12:39:57 UTC
  • mfrom: (1.1.57)
  • Revision ID: package-import@ubuntu.com-20120622123957-hbzwg84nt9rqwg8r
Tags: 2012.2~f2~20120621.14517-0ubuntu1
[ Chuck Short ]
* New upstream version.

[ Adam Gandelman ]
* debian/rules: Temporarily disable test suite while blocking
  tests are investigated. 
* debian/patches/kombu_tests_timeout.patch: Dropped.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
from nova.compute import api
25
25
from nova import exception
26
26
from nova import flags
27
 
from nova import utils
 
27
from nova.openstack.common import timeutils
28
28
 
29
29
 
30
30
FLAGS = flags.FLAGS
44
44
    server_usages = xmlutil.SubTemplateElement(elem, 'server_usages')
45
45
    server_usage = xmlutil.SubTemplateElement(server_usages, 'server_usage',
46
46
                                              selector='server_usages')
47
 
    for subelem_tag in ('name', 'hours', 'memory_mb', 'local_gb', 'vcpus',
48
 
                        'tenant_id', 'flavor', 'started_at', 'ended_at',
49
 
                        'state', 'uptime'):
 
47
    for subelem_tag in ('instance_id', 'name', 'hours', 'memory_mb',
 
48
                        'local_gb', 'vcpus', 'tenant_id', 'flavor',
 
49
                        'started_at', 'ended_at', 'state', 'uptime'):
50
50
        subelem = xmlutil.SubTemplateElement(server_usage, subelem_tag)
51
51
        subelem.text = subelem_tag
52
52
 
73
73
        terminated_at = instance['terminated_at']
74
74
        if terminated_at is not None:
75
75
            if not isinstance(terminated_at, datetime.datetime):
76
 
                terminated_at = utils.parse_strtime(terminated_at,
77
 
                                                    "%Y-%m-%d %H:%M:%S.%f")
 
76
                terminated_at = timeutils.parse_strtime(terminated_at,
 
77
                                                        "%Y-%m-%d %H:%M:%S.%f")
78
78
 
79
79
        if launched_at is not None:
80
80
            if not isinstance(launched_at, datetime.datetime):
81
 
                launched_at = utils.parse_strtime(launched_at,
82
 
                                                  "%Y-%m-%d %H:%M:%S.%f")
 
81
                launched_at = timeutils.parse_strtime(launched_at,
 
82
                                                      "%Y-%m-%d %H:%M:%S.%f")
83
83
 
84
84
        if terminated_at and terminated_at < period_start:
85
85
            return 0
133
133
 
134
134
            flavor = flavors[flavor_type]
135
135
 
 
136
            info['instance_id'] = instance['uuid']
136
137
            info['name'] = instance['display_name']
137
138
 
138
139
            info['memory_mb'] = flavor['memory_mb']
152
153
            else:
153
154
                info['state'] = instance['vm_state']
154
155
 
155
 
            now = utils.utcnow()
 
156
            now = timeutils.utcnow()
156
157
 
157
158
            if info['state'] == 'terminated':
158
159
                delta = info['ended_at'] - info['started_at']
188
189
 
189
190
    def _parse_datetime(self, dtstr):
190
191
        if not dtstr:
191
 
            return utils.utcnow()
 
192
            return timeutils.utcnow()
192
193
        elif isinstance(dtstr, datetime.datetime):
193
194
            return dtstr
194
195
        try:
195
 
            return utils.parse_strtime(dtstr, "%Y-%m-%dT%H:%M:%S")
 
196
            return timeutils.parse_strtime(dtstr, "%Y-%m-%dT%H:%M:%S")
196
197
        except Exception:
197
198
            try:
198
 
                return utils.parse_strtime(dtstr, "%Y-%m-%dT%H:%M:%S.%f")
 
199
                return timeutils.parse_strtime(dtstr, "%Y-%m-%dT%H:%M:%S.%f")
199
200
            except Exception:
200
 
                return utils.parse_strtime(dtstr, "%Y-%m-%d %H:%M:%S.%f")
 
201
                return timeutils.parse_strtime(dtstr, "%Y-%m-%d %H:%M:%S.%f")
201
202
 
202
203
    def _get_datetime_range(self, req):
203
204
        qs = req.environ.get('QUERY_STRING', '')