共享大小可以由共享类型限制¶
https://blueprints.launchpad.net/manila/+spec/share-size-limited-by-share-type
添加支持通过共享类型限制共享的大小,用户创建的共享大小不得大于在共享类型中设置的最大值,也不得小于设置的最小值。当然,根据使用场景,可以只设置最大值或最小值。
问题描述¶
在某些使用场景中,我们不希望用户创建过大的共享大小,从而影响可以创建的共享数量,可能受到项目配额或后端存储的限制,或者在某些使用场景中,创建过小的共享没有意义。因此,管理员迫切需要一种限制用户创建的共享大小的方法。
用例¶
在存储后端容量较小或项目配额有限且用户数量较多的情况下,为了使更多用户能够创建自己的共享,管理员需要限制每个共享的最大大小。在其他场景中,如果共享太小无法保证业务的正常运行,管理员需要设置每个共享的最小值。管理员还可以根据实际需要设置共享的最大值和最小值。
提议的变更¶
提出以下更改:
添加了共享类型两个新的 extra_specs 键,用于支持设置最小共享大小和最大共享大小。
provisioning:min_share_size 通过共享类型设置共享的最小大小。
provisioning:max_share_size 通过共享类型设置共享的最大大小。
这些键的值是正整数,单位默认为 GB。
这两个 extra specifications 将对最终用户可见。如果未设置,则假定共享类型没有强制执行共享大小限制,但限制可能由服务和用户的配额强制执行。
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
将在 API 级别检查大小限制,作为共享创建、扩展、缩小或迁移的一部分。
安全影响¶
无
通知影响¶
无。
其他最终用户影响¶
如果设置了共享类型中 extra_specs 中的指定键,则最终用户创建的共享大小将受到共享类型的限制。扩展、缩小和迁移操作也受到此限制的约束。
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
haixin<haixin@inspur.com>
工作项¶
在 API 级别添加大小检查
添加相关的单元测试和功能测试
添加文档更新
依赖项¶
无
测试¶
单元测试,以测试这些键的限制是否生效。
Tempest 测试,以测试从 API 角度设置的键是否工作正常。
文档影响¶
Manila API 文档需要更新,以反映 extra_specs of 共享类型支持两个额外的键。
参考资料¶
无