[devstack] [trove] Enabling other datastores, plugin variable design less than tidy

Mark Kirkwood mark.kirkwood at catalyst.net.nz
Mon Jul 15 23:21:44 UTC 2019


Hi,

I'm doing some work with the Trove Postgres datastore. So the first 
thing I did was attempt to get Devstack to set up a stack with Postgres 
instead of Mysql.

Reading the docs, it seemed that all I needed to do was this:

$ cat local.conf

[[local|localrc]]
ADMIN_PASSWORD=password
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
TROVE_DATASTORE_TYPE=postgresql
TROVE_DATASTORE_VERSION=9.6
TROVE_DATASTORE_PACKAGE=postgresql-9.6
enable_plugin trove https://opendev.org/openstack/trove

Wrong! After watching the plugin try to build a Mysql guest image of 
version 9.6 (!), I realized that more reading of the plugin source was 
required. So iteration 2 (or maybe it was 3...lol), of my local.conf is:

[[local|localrc]]
ADMIN_PASSWORD=password
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
TROVE_DATASTORE_TYPE=postgresql
TROVE_DATASTORE_VERSION=9.6
TROVE_DATASTORE_PACKAGE=postgresql-9.6
SERVICE_TYPE=$TROVE_DATASTORE_TYPE
DATASTORE_VERSION=$TROVE_DATASTORE_VERSION
VM=/opt/stack/images/ubuntu_postgresql/ubuntu_postgresql
enable_plugin trove https://opendev.org/openstack/trove

This works. However, it seems like those last 3 variable substitutions 
should not be required. i.e:

- SERVICE_TYPE should not exist (we should use TROVE_DATASTORE_TYPE)

- DATASTORE_VERSION should not exist (we should use 
TROVE_DATASTORE_VERSION)

- VM should be constructed out of DISTRO and TROVE_DATASTORE_TYPE

Thoughts?

regards

Mark




More information about the openstack-discuss mailing list