diff options
author | Peter Stachowski <peter@tesora.com> | 2016-02-01 14:42:03 -0500 |
---|---|---|
committer | Peter Stachowski <peter@tesora.com> | 2016-04-22 20:12:47 +0000 |
commit | 9e3860d54cc0fea59e80b1705c02c78cca8e1953 (patch) | |
tree | 7c6cacaea97082aae412d195f021d9465cc7c37c /devstack | |
parent | a3b3fcbd7dd01b51dbaea12993c177e6ca6a1b5a (diff) | |
download | trove-9e3860d54cc0fea59e80b1705c02c78cca8e1953.tar.gz |
Add variables for quota configuration
Many configuration values are hard-coded in the Trove devstack
plugin, however they would be better served letting the
user/developer decide what limits to impose.
The following variables were added to facilitate this:
TROVE_MAX_ACCEPTED_VOLUME_SIZE
TROVE_MAX_INSTANCES_PER_TENANT
TROVE_MAX_VOLUMES_PER_TENANT
TROVE_AGENT_CALL_LOW_TIMEOUT
TROVE_AGENT_CALL_HIGH_TIMEOUT
TROVE_RESIZE_TIME_OUT
TROVE_USAGE_TIMEOUT
TROVE_STATE_CHANGE_WAIT_TIME
These values are only inserted if they are set. If not set,
the Trove defaults are used instead.
Change-Id: I2c568fdfa05064682f372b996a5aebcdd4e93ef3
Diffstat (limited to 'devstack')
-rw-r--r-- | devstack/plugin.sh | 55 | ||||
-rw-r--r-- | devstack/settings | 12 |
2 files changed, 48 insertions, 19 deletions
diff --git a/devstack/plugin.sh b/devstack/plugin.sh index d19526d6..dca80b76 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -79,6 +79,20 @@ function cleanup_trove { } +# iniset_conditional() - Sets the value in the inifile, but only if it's +# actually got a value +function iniset_conditional { + local FILE=$1 + local SECTION=$2 + local OPTION=$3 + local VALUE=$4 + + if [[ -n "$VALUE" ]]; then + iniset ${FILE} ${SECTION} ${OPTION} ${VALUE} + fi +} + + # configure_trove() - Set config files, create data dirs, etc function configure_trove { setup_develop $TROVE_DIR @@ -94,24 +108,34 @@ function configure_trove { rm -f $TROVE_TASKMANAGER_CONF rm -f $TROVE_CONDUCTOR_CONF - iniset $TROVE_CONF DEFAULT rabbit_userid $RABBIT_USERID - iniset $TROVE_CONF DEFAULT rabbit_password $RABBIT_PASSWORD - iniset $TROVE_CONF database connection `database_connection_url trove` - iniset $TROVE_CONF DEFAULT default_datastore $TROVE_DATASTORE_TYPE - setup_trove_logging $TROVE_CONF - iniset $TROVE_CONF DEFAULT trove_api_workers "$API_WORKERS" - - # Increase default quota. - iniset $TROVE_CONF DEFAULT max_accepted_volume_size 10 - iniset $TROVE_CONF DEFAULT max_instances_per_user 10 - iniset $TROVE_CONF DEFAULT max_volumes_per_user 10 - - configure_auth_token_middleware $TROVE_CONF trove $TROVE_AUTH_CACHE_DIR + # (Re)create trove api conf file if needed + if is_service_enabled tr-api; then + # Set common configuration values (but only if they're defined) + iniset_conditional $TROVE_CONF DEFAULT max_accepted_volume_size $TROVE_MAX_ACCEPTED_VOLUME_SIZE + iniset_conditional $TROVE_CONF DEFAULT max_instances_per_tenant $TROVE_MAX_INSTANCES_PER_TENANT + iniset_conditional $TROVE_CONF DEFAULT max_volumes_per_tenant $TROVE_MAX_VOLUMES_PER_TENANT + + iniset $TROVE_CONF DEFAULT rabbit_userid $RABBIT_USERID + iniset $TROVE_CONF DEFAULT rabbit_password $RABBIT_PASSWORD + iniset $TROVE_CONF database connection `database_connection_url trove` + iniset $TROVE_CONF DEFAULT default_datastore $TROVE_DATASTORE_TYPE + setup_trove_logging $TROVE_CONF + iniset $TROVE_CONF DEFAULT trove_api_workers "$API_WORKERS" + + configure_auth_token_middleware $TROVE_CONF trove $TROVE_AUTH_CACHE_DIR + fi # (Re)create trove taskmanager conf file if needed if is_service_enabled tr-tmgr; then TROVE_AUTH_ENDPOINT=$KEYSTONE_AUTH_URI/v$IDENTITY_API_VERSION + # Use these values only if they're set + iniset_conditional $TROVE_TASKMANAGER_CONF DEFAULT agent_call_low_timeout $TROVE_AGENT_CALL_LOW_TIMEOUT + iniset_conditional $TROVE_TASKMANAGER_CONF DEFAULT agent_call_high_timeout $TROVE_AGENT_CALL_HIGH_TIMEOUT + iniset_conditional $TROVE_TASKMANAGER_CONF DEFAULT resize_time_out $TROVE_RESIZE_TIME_OUT + iniset_conditional $TROVE_TASKMANAGER_CONF DEFAULT usage_timeout $TROVE_USAGE_TIMEOUT + iniset_conditional $TROVE_TASKMANAGER_CONF DEFAULT state_change_wait_time $TROVE_STATE_CHANGE_WAIT_TIME + iniset $TROVE_TASKMANAGER_CONF DEFAULT rabbit_userid $RABBIT_USERID iniset $TROVE_TASKMANAGER_CONF DEFAULT rabbit_password $RABBIT_PASSWORD iniset $TROVE_TASKMANAGER_CONF database connection `database_connection_url trove` @@ -121,11 +145,6 @@ function configure_trove { iniset $TROVE_TASKMANAGER_CONF DEFAULT nova_proxy_admin_pass $RADMIN_USER_PASS iniset $TROVE_TASKMANAGER_CONF DEFAULT trove_auth_url $TROVE_AUTH_ENDPOINT setup_trove_logging $TROVE_TASKMANAGER_CONF - - # Increase default timeouts (required by the tests). - iniset $TROVE_TASKMANAGER_CONF DEFAULT agent_call_low_timeout 15 - iniset $TROVE_TASKMANAGER_CONF DEFAULT agent_call_high_timeout 300 - iniset $TROVE_TASKMANAGER_CONF DEFAULT usage_timeout 1200 fi # (Re)create trove conductor conf file if needed diff --git a/devstack/settings b/devstack/settings index d63a7a72..99647540 100644 --- a/devstack/settings +++ b/devstack/settings @@ -23,7 +23,17 @@ TROVE_DATASTORE_TYPE=${TROVE_DATASTORE_TYPE:-"mysql"} TROVE_DATASTORE_VERSION=${TROVE_DATASTORE_VERSION:-"5.6"} TROVE_DATASTORE_PACKAGE=${TROVE_DATASTORE_PACKAGE:-"mysql-server-5.6"} -# Setup the host gateway +# 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} +TROVE_RESIZE_TIME_OUT=${TROVE_RESIZE_TIME_OUT} +TROVE_USAGE_TIMEOUT=${TROVE_USAGE_TIMEOUT} +TROVE_STATE_CHANGE_WAIT_TIME=${TROVE_STATE_CHANGE_WAIT_TIME} + +# Set up the host gateway if is_service_enabled neutron; then TROVE_HOST_GATEWAY=${PUBLIC_NETWORK_GATEWAY:-172.24.4.1} else |