配额(Quota)模块在openstack中是一个比较小的模块,具有比较好的扩展性。
功能
配额能够以user、project以及 quota class 这三个单位计算配额。默认情况下,是以project为计算单元。
抽象
配额在使用的过程中,抽象出三个概念:资源、驱动、引擎。
资源
BaseResource
定义了一个配额单元的基本属性,如下
class BaseResource(object):
def __init__(self, name, flag=None):
def quota(self, driver, context, **kwargs):
def default(self):
quota方法用于获取资源的使用量,default方法用户获取默认值。
默认情况下,BaseResource使用context中的project_id和quota_class,决定使用何种规律获取资源的使用量。(按照用户呢