Back To Schedule
Monday, April 16 • 11:30am - 11:55am
Dough: OpenStack Billing Project

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Presentation of a billing project for OpenStack projects. github.com/lzyeval/dough The items that we plan to charge our customers are instance usage, floating ip usage, Swift storage usage and throughput, and external network output. We have devised a billing system where the admin can register products of their cloud and periodically charge the user. Properties of a Product are region, item, item_type, payment_type, measure_unit, and price etc. Admin can register its own regions, items(instance, ips, network-io, storage-io), item_types(m1.tiny, m1.large), payment_types(hourly, daily, monthly), and map these four properties to a price and measure_unit. For example, when a user creates a instance from Horizon, a client code informs the billing API server and the billing system subscribes a instance product to the tenant_id. Based on the payment_type the user chose, the billing system will periodically check the status of the product and charge the tenant_id for its use. When the user terminates the instance, Horizon will send a unsubscribe request to the API server and stop charging the tenant from that point on. The billing system consists of three components. 1) API Server, which receives subscribe/unsubscribe and usage query requests. 2) Farmer, which periodically checks all subscriptions and requests billing to the collector. 3) Collector, gets work from the farmer and uses python-novaclient, kanyun-client, swift-client to retrieve usage information of a product the tenant has subscribed and charges money to the accordingly. The database used is MySQL and all communication between components uses ZeroMQ. Currently in testing and all source code is on Github. (Session lead is luozhongyue)

Monday April 16, 2012 11:30am - 11:55am PDT
Bayview B

Attendees (0)