summaryrefslogtreecommitdiff
path: root/devstack
diff options
context:
space:
mode:
authorPeter Stachowski <peter@tesora.com>2016-02-01 14:42:03 -0500
committerPeter Stachowski <peter@tesora.com>2016-04-22 20:12:47 +0000
commit9e3860d54cc0fea59e80b1705c02c78cca8e1953 (patch)
tree7c6cacaea97082aae412d195f021d9465cc7c37c /devstack
parenta3b3fcbd7dd01b51dbaea12993c177e6ca6a1b5a (diff)
downloadtrove-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.sh55
-rw-r--r--devstack/settings12
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