UsageStatsSpec


 * Launchpad Entry: NovaSpec:austin-stats-utilization
 * Created:
 * Contributors:

Summary
Gather utilization data from Nova resources. (for the purpose of billing, organizational governance, etc.)

Release Note
The end user impact of this is a subsystem to collect utilization.

Different organizations will likely have different ideas and different needs, so ideally this will be a flexible and configurable feature.

Our current plans separate collection, aggregation, storage, query and representation, but we would like to hear more about what people want/need.

Rationale
If a vm launches in a cloud and there is no one there to hear it, can we pay any bills?

Organizations who intend to provide cloud services need a way to gather system usage by users. For those who will be selling services this is core to the business. Organization who will mainly support a private deployment may desire auditing and governance based on utilization.

User stories
As a service provider, I want to know who is using how much of what on my service, so I can keep the lights on.

As an organization, I want to know who is using the cloud service, so I can audit and govern usage.

Assumptions
Different organizations will have different needs. We intend to focus on gathering stats appropriate for an organization providing services.

Design
The design is a WIP, will update.

Also, we solicit suggestions.

Implementation
Current plan is a combination of processing logs, events from the queue and polling the hypervisors.

UI Changes
This pass the intended usage is api only

Code Changes
WIP

Test/Demo Plan
Use resources in the system and make sure the stats reflect the actual usage.