为 Trove 添加 Vertica 数据存储¶
Launchpad蓝图
https://blueprints.launchpad.net/trove/+spec/vertica-db-support
问题描述¶
此蓝图的目标是使 Trove 能够支持一种新的数据存储类型 - Ubuntu 上的 HP Vertica 7.1 CE。
提议的变更¶
为了添加对这种新的数据存储的支持,我们需要实现以下内容
为 Vertica 添加一个新的 diskimage-builder 元素
实现各种数据存储功能,例如
- Launch - Reboot - Terminate - Resize
配置¶
为 Vertica 创建一个新的配置组,以及 trove/common/cfg.py 中特定于 Vertica 的不同配置选项。
配置选项的一些示例是
- tcp_ports
- udp_ports
- backup_strategy
- backup_incremental_strategy
- replication_strategy
- backup_namespace
- restore_namespace
- root_on_create
- mount_point
- volume_support
- device_path
数据库¶
无
公共 API¶
无
内部 API¶
无
Guest Agent¶
这需要实现 Vertica 的各种数据存储功能,例如启动、重启、终止、调整大小。
这将包括在 guestagent/datastore 模块下添加以下特定于 Vertica 的文件
- manager.py - service.py - system.py
这些更改不会影响 guestagent 的行为或其与其它组件的交互。
Disk-Image-Builder 元素¶
Disk-Image 构建将是一个两步过程,基本上
- Download the Vertica package. - Execute the image-builder
CE 是在 www.vertica.com 上提供的 HP Vertica 数据库的免费版本
需要进行免费注册过程,这使用户能够下载 Vertica 包。
Image 构建元素需要用户将 $VERTICA_PACKAGE_FILE 复制到 $VERTICA_SOURCE。
然后 DIB 元素的工作将是
- Copy $VERTICA_PACKAGE_FILE from $VERTICA_SOURCE and host in the guest-image. - Install the essential requisite packages. - Install the Vertica package to guest-image. - Create the Vertica dba user named as "dbadmin", with desired group and path & time-zone settings setup to profile. - Create a base location to host database files.
依赖项¶
无
测试¶
Vertica 数据存储将使用 HP 托管的第三方 CI 进行测试。
将为 Vertica guestagent 添加新的单元测试。
需要添加集成测试以进行端到端功能测试
- create/delete instance - resize instance
文档影响¶
文档需要更新以下内容
- HP Vertica being added as new datastore. - Capabilities of Trove for HP Vertica datastore. - How to build the guest-image required for hosting HP Vertica guest.