将实例风味与数据存储关联¶
Launchpad蓝图
https://blueprints.launchpad.net/trove/+spec/associate-flavors-datastores
动机:每种数据存储类型都有其自身的硬件要求(最小值和最大值)。目前,trove 缺乏强制执行这些要求的机制。此更改使 trove 能够将虚拟硬件模板(风味)与数据存储类型关联。
问题描述¶
Trove 支持多种数据存储类型。但是,每种数据存储类型都有其自身的硬件要求,目前无法在 trove 中强制执行。
例如:MySQL - 最小系统要求:- 2 个或更多 CPU 核心 - 2GB 或更多内存 - 适用于写密集型数据库的磁盘 I/O 子系统
有关其他数据存储特定硬件要求的更多信息,请参阅参考部分。
Trove 使用 OpenStack 中的虚拟硬件模板,称为“风味”。为了使 trove 能够强制执行数据存储特定的硬件要求,需要一种方法将数据存储类型与其最小风味(硬件)要求关联起来。这样,用户/管理员至少可以在使用不满足最小硬件要求的风味配置数据存储时收到通知。
提议的变更¶
trove-manage 工具将提供添加和删除数据存储版本-风味关联的功能。
将有一个额外的 API 调用,以便获取指定数据存储版本 ID 的风味列表。
配置¶
无
数据库¶
对现有表没有影响。
将在 trove 数据库中创建一个新的实体:datastore_version_metadata。这将存储与数据存储版本相关的任何其他元数据,包括其与风味的关系:key=flavor,value=flavor_id。
蓝图详细说明了表属性。
公共 API¶
不影响用户可访问的任何其他 API。
公共 API 安全¶
无
内部 API¶
无
Guest Agent¶
无
备选方案¶
无
实现¶
负责人¶
Launchpad: riddhi89
IRC: Riddhi
Email: ridhi.j.shah@gmail.com
里程碑¶
Kilo-1
工作项¶
添加数据存储版本元数据的新数据库模式。
trove-manage 工具扩展,用于将风味列表与数据存储版本 ID 关联
trove-manage 工具扩展,用于删除与数据存储版本 ID 关联的风味。
REST API 调用,用于列出数据存储版本 ID 的风味 (/{tenant_id}/flavors/{datastore_version_id})
单元和集成测试
依赖项¶
无
测试¶
单个组件的单元测试。
端到端测试的集成测试。
文档影响¶
新的 API 调用,用于根据数据存储版本 ID 列出风味。
trove-manage 工具扩展,用于添加/删除数据存储版本 - 风味关联。
参考资料¶
不同数据存储类型的进一步硬件要求:https://wiki.openstack.org/wiki/TroveFlavorsPerDatastore