2e052b0262
The service tenant deployment model means Trove creates most of the resources(vm, volume, security group, etc.) relating to a database instance in the Trove service tenant rather than the end user. With this deployment model, most of the related resources behind the scenes are invisible to the user, which is a more secure deployment model for either private or public cloud provider. DevStack should follow this model as it will be recommended for Trove deployment in production. Changes included in this patch that are necessary in order to make that happen: - Add 'admin' role to Trove service user(username: trove, project: service) in DevStack. - Create Trove management network resources for Trove service user in DevStack. - Enable Trove remote client configuration by default in DevStack. - Mainly use alt_demo user in alt_demo project for integration tests, config trove user as the admin role user in integration tests. - Disable the module related tests(module_groups) for now because of no use cases but need effort to fix all the failed tests in the service tenant model. Story: #2005445 Task: #30489 Change-Id: I2efb69d3d50344914a875b773f62a227dba2ccaf
111 lines
4.5 KiB
Plaintext
111 lines
4.5 KiB
Plaintext
# Paths inside the VM.
|
|
[ -z $SERVICE_HOST ] && SERVICE_HOST=`get_default_host_ip`
|
|
[ -z $DEST ] && DEST=/opt/stack
|
|
[ -z $BRIDGE_IP ] && BRIDGE_IP=172.24.4.1
|
|
[ -z $PATH_DEVSTACK_SRC ] && PATH_DEVSTACK_SRC=~/devstack
|
|
[ -z $TROVE_CONF_DIR ] && TROVE_CONF_DIR=/etc/trove
|
|
[ -z $MYSQL_HOST ] && MYSQL_HOST=$SERVICE_HOST
|
|
|
|
# Set up the region name
|
|
# Try REGION_NAME then OS_REGION_NAME then RegionOne (the devstack default)
|
|
REGION_NAME=${REGION_NAME:-${OS_REGION_NAME:-RegionOne}}
|
|
|
|
# Enable Neutron
|
|
ENABLE_NEUTRON=$(get_bool ENABLE_NEUTRON true)
|
|
|
|
# Enable Swift
|
|
ENABLE_SWIFT=$(get_bool ENABLE_SWIFT true)
|
|
|
|
# Enable osprofiler - note: Enables Ceilometer as well
|
|
ENABLE_PROFILER=$(get_bool ENABLE_PROFILER false)
|
|
PROFILER_TRACE_SQL=$(get_bool PROFILER_TRACE_SQL false)
|
|
[ -z $PROFILER_HMAC_KEYS ] && PROFILER_HMAC_KEYS=SECRET_KEY
|
|
|
|
# Enable ceilometer
|
|
ENABLE_CEILOMETER=$(get_bool ENABLE_CEILOMETER $ENABLE_PROFILER)
|
|
|
|
# Enable Mistral
|
|
ENABLE_MISTRAL=$(get_bool ENABLE_MISTRAL false)
|
|
|
|
# Don't include certain .rc files in local.conf.d by default
|
|
USING_VAGRANT=$(get_bool USING_VAGRANT false)
|
|
USE_KVM=$(get_bool USE_KVM false)
|
|
USE_UUID_TOKEN=$(get_bool USE_UUID_TOKEN false)
|
|
|
|
# Specify configuration for Ceilometer
|
|
CEILOMETER_SERVICES_CONF=$(get_bool CEILOMETER_SERVICES_CONF $ENABLE_CEILOMETER)
|
|
CEILOMETER_CINDER_CONF=$(get_bool CEILOMETER_CINDER_CONF false)
|
|
CEILOMETER_NOVA_CONF=$(get_bool CEILOMETER_NOVA_CONF false)
|
|
|
|
# Paths for various OpenStack components
|
|
PATH_DEVSTACK_OUTPUT=$DEST
|
|
PATH_NOVA=$DEST/nova
|
|
PATH_KEYSTONE=$DEST/keystone
|
|
PATH_GLANCE=$DEST/glance
|
|
PATH_SWIFT=$DEST/swift
|
|
# PATH_TROVE is set at the top of trovestack
|
|
PATH_PYTHON_NOVACLIENT=$DEST/python-novaclient
|
|
PATH_KEYSTONECLIENT=$DEST/python-keystoneclient
|
|
PATH_OPENSTACKCLIENT=$DEST/python-openstackclient
|
|
PATH_PYTHON_SWIFTCLIENT=$DEST/python-swiftclient
|
|
PATH_PYTHON_TROVECLIENT=$DEST/python-troveclient
|
|
PATH_TROVE_DASHBOARD=$DEST/trove-dashboard
|
|
PATH_DISKIMAGEBUILDER_ELEMENTS=$(python -c 'import os, diskimage_builder, pkg_resources;print(os.path.abspath(pkg_resources.resource_filename(diskimage_builder.__name__, "elements")))')
|
|
PATH_TRIPLEO_ELEMENTS=$DEST/tripleo-image-elements
|
|
|
|
# Save the state of TROVE_BRANCH first, since it's used in trovestack
|
|
TROVE_BRANCH_ORIG=${TROVE_BRANCH}
|
|
# Devstack and OpenStack git repo source paths, etc.
|
|
GIT_BASE=${GIT_BASE:-https://opendev.org}
|
|
GIT_OPENSTACK=${GIT_OPENSTACK:-${GIT_BASE}/openstack}
|
|
DEVSTACK_REPO=${DEVSTACK_REPO:-${GIT_BASE}/openstack-dev/devstack.git}
|
|
TROVE_REPO=${TROVE_REPO:-${GIT_OPENSTACK}/trove.git}
|
|
TROVE_DIR=${TROVE_DIR:-${PATH_TROVE}}
|
|
TROVE_BRANCH=${TROVE_BRANCH:-master}
|
|
TROVE_CLIENT_REPO=${TROVE_CLIENT_REPO:-${TROVECLIENT_REPO:-${GIT_OPENSTACK}/python-troveclient.git}}
|
|
TROVE_CLIENT_DIR=${TROVE_CLIENT_DIR:-${TROVECLIENT_DIR:-${PATH_PYTHON_TROVECLIENT}}}
|
|
TROVE_CLIENT_BRANCH=${TROVE_CLIENT_BRANCH:-${TROVECLIENT_BRANCH:-master}}
|
|
TROVE_DASHBOARD_REPO=${TROVE_DASHBOARD_REPO:-${TROVEDASHBOARD_REPO:-${GIT_OPENSTACK}/trove-dashboard.git}}
|
|
TROVE_DASHBOARD_DIR=${TROVE_DASHBOARD_DIR:-${TROVEDASHBOARD_DIR:-${PATH_TROVE_DASHBOARD}}}
|
|
TROVE_DASHBOARD_BRANCH=${TROVE_DASHBOARD_BRANCH:-${TROVEDASHBOARD_BRANCH:-master}}
|
|
# Trove specific networking options
|
|
TROVE_PRIVATE_NETWORK_NAME=private
|
|
TROVE_PRIVATE_SUBNET_NAME=private-subnet
|
|
|
|
# Destination for working data
|
|
DATA_DIR=${DEST}/data
|
|
# Destination for status files
|
|
SERVICE_DIR=${DEST}/status
|
|
|
|
# Cinder Volume Group Name
|
|
VOLUME_GROUP=${VOLUME_GROUP:-stack-volumes}
|
|
VOLUME_BACKING_FILE=${VOLUME_BACKING_FILE:-${DATA_DIR}/${VOLUME_GROUP}-backing-file}
|
|
VOLUME_BACKING_FILE_SIZE=${VOLUME_BACKING_FILE_SIZE:-51200M}
|
|
|
|
# Passwords used by devstack.
|
|
MYSQL_PASSWORD=e1a2c042c828d3566d0a
|
|
RABBIT_PASSWORD=f7999d1955c5014aa32c
|
|
SERVICE_TOKEN=be19c524ddc92109a224
|
|
ADMIN_PASSWORD=${ADMIN_PASSWORD:-${OS_PASSWORD:-3de4922d8b6ac5a1aad9}}
|
|
SERVICE_PASSWORD=${SERVICE_PASSWORD:-"secretservice"}
|
|
|
|
# Swift hash used by devstack.
|
|
SWIFT_HASH=12go358snjw24501
|
|
|
|
# Swift Disk Image
|
|
SWIFT_DATA_DIR=${DATA_DIR}/swift
|
|
SWIFT_DISK_IMAGE=${SWIFT_DATA_DIR}/drives/images/swift.img
|
|
|
|
# The following values can be used to tweak how devstack sets
|
|
# up Trove. If not explicitly set, the defaults in the code are used.
|
|
# To make changes without modifying the repo, add these variables
|
|
# to options.rc or ~/trovestack.options.rc
|
|
#export TROVE_MAX_ACCEPTED_VOLUME_SIZE=10
|
|
#export TROVE_MAX_INSTANCES_PER_TENANT=10
|
|
#export TROVE_MAX_VOLUMES_PER_TENANT=40
|
|
#export TROVE_AGENT_CALL_LOW_TIMEOUT=15
|
|
#export TROVE_AGENT_CALL_HIGH_TIMEOUT=300
|
|
#export TROVE_RESIZE_TIME_OUT=3600
|
|
#export TROVE_USAGE_TIMEOUT=1500
|
|
#export TROVE_STATE_CHANGE_WAIT_TIME=180
|