This is to add a new Vertica datastore for Trove in addition to the existing datastores supported currently. The guestagent for this will include some of the basic functions like launch, terminate, resize instance. Change-Id: I0782cac5d7325f95daac259eb6400106a027e541 Implements: blueprint vertica-db-support
3.5 KiB
Add Vertica datastore for Trove
Launchpad blueprint:
https://blueprints.launchpad.net/trove/+spec/vertica-db-support
Problem Description
The aim of this blueprint is to enable Trove to support a new datastore type -HP Vertica 7.1 CE on Ubuntu.
Proposed Change
To add support for this new datastore, we need to implement the following:
Add a new diskimage-builder element for Vertica
Implement the various datastore features like:
- Launch - Reboot - Terminate - Resize
Configuration
A new configuration group for Vertica and the different configuration options specific to Vertica in trove/common/cfg.py.
Some of the examples for the configuration options are:
- tcp_ports
- udp_ports
- backup_strategy
- backup_incremental_strategy
- replication_strategy
- backup_namespace
- restore_namespace
- root_on_create
- mount_point
- volume_support
- device_path
Database
None
Public API
None
Internal API
None
Guest Agent
This requires implementing the various datastore feature for Vertica like Launch, Reboot, Terminate, Resize.
This will include adding the following files specific to Vertica under the guestagent/datastore module:
- manager.py - service.py - system.py
These changes will not affect the behavior of the guestagent or its interaction with other components.
Disk-Image-Builder Elements
Disk-Image-Building would be a 2-step process, basically:
- Download the Vertica package. - Execute the image-builder
CE is the free edition of HP Vertica database available at www.vertica.com
One needs to go through a free registration process, which enables a user to download the Vertica package.
Image-building elements would expect user to copy $VERTICA_PACKAGE_FILE at $VERTICA_SOURCE.
It would be then the job of DIB elements to:
- 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.
Implementation
Assignee(s)
- sushil.kumar3@hp.com (Primary Assignee)
- saurabh.surana@hp.com
- jonathan.halterman@hp.com
Milestones
"Kilo-3"
Dependencies
None
Testing
Vertica datastore would be tested using a 3rd party CI hosted by HP.
New unit tests would be added for the Vertica guestagent.
Integration tests needs to be added for end-to-end feature testing:
- create/delete instance - resize instance
Documentation Impact
Documentation would need the update on:
- 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.
References
[1] https://my.vertica.com/docs/7.1.x/HTML/index.htm
[2] https://my.vertica.com/download-community-edition/#EE
[3] https://my.vertica.com/hp-vertica-community-edition-software-license-agreement/