Trove 的 Apache CouchDB 插件¶
Launchpad蓝图
https://blueprints.launchpad.net/trove/+spec/couchdb-plugin-trove
问题描述¶
此蓝图的目标是使 Trove 能够支持一种新的数据存储类型 - Ubuntu 和 Fedora 上的 Apache CouchDB v1.6.1,以及 Trove 支持的其他 NoSQL 数据库。
提议的变更¶
为了添加对这种新的数据存储的支持,我们需要实现以下内容:- 为 Ubuntu 和 Fedora 上的 Apache CouchDB 添加一个新的 diskimage-builder 元素 - 实现各种数据存储功能,例如
- Launch
- Reboot
- Terminate
- Backup
- Restore
- Resize
- Replication
配置¶
CouchDB 的一个新的配置组以及 /trove/common/cfg.py 中 CouchDB 特定的不同配置选项。
配置选项的一些示例是
- tcp_ports
- udp_ports
- backup_strategy
- mount_point
- usage_timeout
- volume_support
- device_path
数据库¶
无
公共 API¶
无
内部 API¶
无
Guest Agent¶
这需要为 Apache CouchDB 实现各种数据存储功能,例如启动、重启、终止、备份、恢复、调整大小和复制。 这将包括在 guestagent/datastore 模块下添加以下特定于 Apache CouchDB 的文件
- manager.py
- service.py
- system.py
此外,guestagent/strategies/backup 下还将有一个类来实现备份和恢复功能,guestagent/strategies/replication 下还将有一个类来实现复制功能。 CouchDB 使用复制接口进行备份,因此我们只会为本次发布实现完全备份。
这些更改不会影响 guestagent 的行为或其与其他组件的交互。
依赖项¶
无
测试¶
为 CouchDB guestAgent 添加新的单元测试
为端到端功能测试添加集成测试
- create/delete instance - create/restore backups - replication
文档影响¶
无