
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
87 lines
3.8 KiB
Plaintext
87 lines
3.8 KiB
Plaintext
# Settings needed for Trove plugin
|
|
# --------------------------------
|
|
|
|
# Set up default directories
|
|
TROVE_DIR=${TROVE_DIR:-${DEST}/trove}
|
|
TROVE_REPO=${TROVE_REPO:-${GIT_BASE}/openstack/trove.git}
|
|
TROVE_BRANCH=${TROVE_BRANCH:-master}
|
|
|
|
TROVE_CLIENT_DIR=${TROVE_CLIENT_DIR:-${TROVECLIENT_DIR:-${DEST}/python-troveclient}}
|
|
TROVE_CLIENT_REPO=${TROVE_CLIENT_REPO:-${TROVECLIENT_REPO:-${GIT_BASE}/openstack/python-troveclient.git}}
|
|
TROVE_CLIENT_BRANCH=${TROVE_CLIENT_BRANCH:-${TROVECLIENT_BRANCH:-master}}
|
|
|
|
TROVE_DASHBOARD_DIR=${TROVE_DASHBOARD_DIR:-${DEST}/trove-dashboard}
|
|
TROVE_DASHBOARD_REPO=${TROVE_DASHBOARD_REPO:-${GIT_BASE}/openstack/trove-dashboard.git}
|
|
TROVE_DASHBOARD_BRANCH=${TROVE_DASHBOARD_BRANCH:-master}
|
|
|
|
TRIPLEO_IMAGES_DIR=${TRIPLEO_IMAGES_DIR:-${DEST}/tripleo-image-elements}
|
|
TRIPLEO_IMAGES_REPO=${TRIPLEO_IMAGES_REPO:-${GIT_BASE}/openstack/tripleo-image-elements.git}
|
|
TRIPLEO_IMAGES_BRANCH=${TRIPLEO_IMAGES_BRANCH:-master}
|
|
|
|
# Set up configuration directory and files
|
|
TROVE_CONF_DIR=${TROVE_CONF_DIR:-/etc/trove}
|
|
TROVE_CONF=${TROVE_CONF:-${TROVE_CONF_DIR}/trove.conf}
|
|
TROVE_TASKMANAGER_CONF=${TROVE_TASKMANAGER_CONF:-${TROVE_CONF_DIR}/trove-taskmanager.conf}
|
|
TROVE_CONDUCTOR_CONF=${TROVE_CONDUCTOR_CONF:-${TROVE_CONF_DIR}/trove-conductor.conf}
|
|
TROVE_GUESTAGENT_CONF=${TROVE_GUESTAGENT_CONF:-${TROVE_CONF_DIR}/trove-guestagent.conf}
|
|
TROVE_API_PASTE_INI=${TROVE_API_PASTE_INI:-${TROVE_CONF_DIR}/api-paste.ini}
|
|
|
|
TROVE_LOCAL_CONF_DIR=${TROVE_LOCAL_CONF_DIR:-${TROVE_DIR}/etc/trove}
|
|
TROVE_LOCAL_API_PASTE_INI=${TROVE_LOCAL_API_PASTE_INI:-${TROVE_LOCAL_CONF_DIR}/api-paste.ini}
|
|
TROVE_LOCAL_POLICY_JSON=${TROVE_LOCAL_POLICY_JSON:-${TROVE_LOCAL_CONF_DIR}/policy.json}
|
|
|
|
TROVE_DATASTORE_TYPE=${TROVE_DATASTORE_TYPE:-"mysql"}
|
|
if [[ "$DISTRO" == "xenial" || "$DISTRO" == "bionic" ]]; then
|
|
TROVE_DATASTORE_VERSION=${TROVE_DATASTORE_VERSION:-"5.7"}
|
|
TROVE_DATASTORE_PACKAGE=${TROVE_DATASTORE_PACKAGE:-"mysql-server-5.7"}
|
|
else
|
|
TROVE_DATASTORE_VERSION=${TROVE_DATASTORE_VERSION:-"5.6"}
|
|
TROVE_DATASTORE_PACKAGE=${TROVE_DATASTORE_PACKAGE:-"mysql-server-5.6"}
|
|
fi
|
|
|
|
# Configuration values listed here for reference
|
|
TROVE_MAX_ACCEPTED_VOLUME_SIZE=${TROVE_MAX_ACCEPTED_VOLUME_SIZE}
|
|
TROVE_MAX_INSTANCES_PER_TENANT=${TROVE_MAX_INSTANCES_PER_TENANT}
|
|
TROVE_MAX_VOLUMES_PER_TENANT=${TROVE_MAX_VOLUMES_PER_TENANT}
|
|
TROVE_AGENT_CALL_LOW_TIMEOUT=${TROVE_AGENT_CALL_LOW_TIMEOUT}
|
|
TROVE_AGENT_CALL_HIGH_TIMEOUT=${TROVE_AGENT_CALL_HIGH_TIMEOUT:-1200}
|
|
TROVE_RESIZE_TIME_OUT=${TROVE_RESIZE_TIME_OUT}
|
|
TROVE_USAGE_TIMEOUT=${TROVE_USAGE_TIMEOUT:-900}
|
|
TROVE_STATE_CHANGE_WAIT_TIME=${TROVE_STATE_CHANGE_WAIT_TIME}
|
|
TROVE_COMMAND_PROCESS_TIMEOUT=${TROVE_COMMAND_PROCESS_TIMEOUT:-60}
|
|
|
|
# Set up the host gateway
|
|
if is_service_enabled neutron; then
|
|
TROVE_HOST_GATEWAY=${PUBLIC_NETWORK_GATEWAY:-172.24.4.1}
|
|
TROVE_MGMT_NETWORK_NAME=${TROVE_MGMT_NETWORK_NAME:-"trove-mgmt"}
|
|
TROVE_MGMT_SUBNET_NAME=${TROVE_MGMT_SUBNET_NAME:-${TROVE_MGMT_NETWORK_NAME}-subnet}
|
|
TROVE_MGMT_SUBNET_RANGE=${TROVE_MGMT_SUBNET_RANGE:-"192.168.254.0/24"}
|
|
else
|
|
TROVE_HOST_GATEWAY=${NETWORK_GATEWAY:-10.0.0.1}
|
|
fi
|
|
TROVE_SHARE_NETWORKS=$(trueorfalse TRUE TROVE_SHARE_NETWORKS)
|
|
|
|
# Support entry points installation of console scripts
|
|
if [[ -d $TROVE_DIR/bin ]]; then
|
|
TROVE_BIN_DIR=$TROVE_DIR/bin
|
|
else
|
|
TROVE_BIN_DIR=$(get_python_exec_prefix)
|
|
fi
|
|
TROVE_MANAGE=$TROVE_BIN_DIR/trove-manage
|
|
|
|
# By default enable Trove API behind mod-wsgi. Change this to FALSE
|
|
# if you don't want Apache/mod-wsgi
|
|
TROVE_USE_MOD_WSGI=$(trueorfalse TRUE TROVE_USE_MOD_WSGI)
|
|
|
|
TROVE_SERVICE_PORT=${TROVE_SERVICE_PORT:-8779}
|
|
TROVE_DEVSTACK_DIR=${TROVE_DIR}/devstack
|
|
TROVE_DEVSTACK_FILES=${TROVE_DEVSTACK_DIR}/files
|
|
TROVE_WSGI_DIR=${TROVE_WSGI_DIR:-/var/www/trove}
|
|
|
|
enable_service trove tr-api tr-tmgr tr-cond
|
|
|
|
# Trove CI tests server group anti-affinity policies and therefore needs
|
|
# Nova to use a single MQ for the computes to talk to the scheduler.
|
|
CELLSV2_SETUP=singleconductor
|
|
|