- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cinder 配额使用介绍
封装抽象
quota相关功能实现在cinder\quota.py实现,包含了引擎、资源、驱动三个大类抽象封装。看起来quota.py用的是设计模式“抽象工厂模式”,可选择引擎做不同的操作,引擎里又可选择驱动来操作管理资源,资源里可注册不同的配额项。
资源
资源其实就是对配额的封装,封装了资源名、默认值、数据库统计函数dbapi等。
资源分类列表:
类名
描述
属性
cinder.quota.BaseResource
定义单个配额资源
name(资源名)、flag(控制默认值)、parent_project_id(当前租户的附租户)、quota方法用于获取资源的使用量、default方法用户获取默认值
cinder.quota.AbsoluteResource
无预留的资源
pass无定义
cinder.quota.ReservableResource
可预留的资源
sync (dbapi 方法名,统计配额使用信息。如范例)
cinder.quota.CountableResource
可统计的资源,cinder代码里没看到使用
count(统计函数)
cinder.quota.VolumeTypeResource
为卷类型定义的资源,继承ReservableResource
volume_type_name(卷类型名)、volume_type_id(卷类型id)
HYPERLINK file:///C:/Users/wangyue/AppData/Local/Youdao/YNote/markdown/index.html \l 注意 注意:
ReservableResource:相比BaseResource,多了sync方法,sync会被驱动调用,用于在计算配额之前,先同步配额信息(到本地和数据库)。ReservableResource只能用于project绑定的资源。
CountableResource:相比BaseResource,多了count方法,count方法必须给出一个函数,自己计算配额,其返回值里会包含配额实际使用值。
sync范例:ReservableResource资源volume的sync:
cinder.db.sqlalchemy.api._sync_volumes:
def _sync_volumes(context, project_id, session, volume_type_id=None,
volume_type_name=None):
# 根据volume_type_id和project_id统计卷数量和卷空间使用量
(volumes, _gigs) = _volume_data_get_for_project(
context, project_id, volume_type_id=volume_type_id, session=session)
key = volumes
if volume_type_name:
key += _ + volume_type_name
return {key: volumes}
HYPERLINK file:///C:/Users/wangyue/AppData/Local/Youdao/YNote/markdown/index.html \l 二-引擎 引擎
定义了资源集。调用驱动来实现查询统计功能。
引擎列表:
类名
描述
resources
cinder.quota.QuotaEngine
配额引擎,基类
cinder.quota.VolumeTypeQuotaEngine
卷类型配额引擎
volumes,
per_volume_gigabytes,
snapshots,
gigabytes,
backups,
backup_gigabytes
cinder.quota.CGQuotaEngine
一致性组的配额的引擎
consistencygroups
cinder.quota.GroupQuotaEngine
组配额的引擎
groups
HYPERLINK file:///C:/Users/wangyue/AppData/Local/Youdao/YNote/markdown/index.html \l 三-驱动 驱动
驱动是可配置的,对应配置项quota_driver,默认值是cinder.quota.DbQuotaDriver
cfg.StrOpt(quota_driver,
default=cinder.quota.DbQuotaDriver,
您可能关注的文档
- 客户服务管理七大原则.docx
- 中班下学期游戏化计划.docx
- 高压缸疏水管道超温爆破失效分析.pdf
- 风险地质勘探案例分析.pdf
- 客户经理岗位职责.doc
- 银行网点选址的分析模型.pdf
- 共享单车发展研究分析_刘亚楠.pdf
- 超高层办公建筑电梯配置分析.pdf
- 摄像头的工作原理与构成分析.pdf
- 动力学分析中的阻尼问题.pdf
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)