Simple usage extension for nova. Uses db to calculate tenant_usage for specified time periods.
Methods: * index: return a list of tenant_usages, with option of incuding detailed server_usage * show: returns a specific tenant_usage object tenant_usage object: * tenant_usage.total_memory_mb_usage: sum of memory_mb * hours for all instances in tenant for this period * tenant_usage.total_local_gb_usage: sum of local_gb * hours for all instances in tenant for this period * tenant_usage.total_vcpus_usage: sum of vcpus * hours for all instances in tenant for this period * tenant_usage.total_hours: sum of all instance hours for this period * tenant_usage.server_usages: A detailed list of server_usages, which describe the usage of a specific server For larger instances db tables, indexes on instance.launched_at and instance.terminated_at should significantly help performance.
This commit is contained in:
@@ -102,9 +102,8 @@ if __name__ == '__main__':
|
||||
logging.setup()
|
||||
begin, end = time_period(FLAGS.instance_usage_audit_period)
|
||||
print "Creating usages for %s until %s" % (str(begin), str(end))
|
||||
instances = db.instance_get_active_by_window(context.get_admin_context(),
|
||||
begin,
|
||||
end)
|
||||
ctxt = context.get_admin_context()
|
||||
instances = db.instance_get_active_by_window_joined(ctxt, begin, end)
|
||||
print "%s instances" % len(instances)
|
||||
for instance_ref in instances:
|
||||
usage_info = utils.usage_from_instance(instance_ref,
|
||||
|
||||
Reference in New Issue
Block a user