summaryrefslogtreecommitdiff
path: root/devstack
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2020-04-07 10:52:16 +1200
committerLingxian Kong <anlin.kong@gmail.com>2020-05-27 10:31:50 +1200
commitaa1d4d224674f44d9cd882eddb2537907adf5382 (patch)
treeb9baf26bfb4b15497696d020fea41364bd0576c8 /devstack
parent523d66e8fd5d29be8dbae9aa79c5348d3dce8c64 (diff)
downloadtrove-aa1d4d224674f44d9cd882eddb2537907adf5382.tar.gz
Datastore containerization
Significant changes: * Using docker image to install datastore. * Datastore image is common to different datastores. * Using backup docker image to do backup and restore. * Support MariaDB replication * Set most of the functional jobs as non-voting as nested virtualization is not supported in CI. Change-Id: Ia9c97a63a961eebc336b70d28dc77638144c1834
Diffstat (limited to 'devstack')
-rw-r--r--devstack/plugin.sh23
-rw-r--r--devstack/settings16
2 files changed, 16 insertions, 23 deletions
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index 4de219e4..8bbcbac7 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -362,7 +362,7 @@ function create_subnet_v6 {
if [[ -n "$IPV6_PRIVATE_NETWORK_GATEWAY" ]]; then
subnet_params+="--gateway $IPV6_PRIVATE_NETWORK_GATEWAY "
fi
- if [ -n $SUBNETPOOL_V6_ID ]; then
+ if [[ -n $SUBNETPOOL_V6_ID ]]; then
subnet_params+="--subnet-pool $SUBNETPOOL_V6_ID "
else
subnet_params+="--subnet-range $FIXED_RANGE_V6 $ipv6_modes} "
@@ -447,27 +447,26 @@ function create_guest_image {
return 0
fi
- image_name="trove-datastore-${TROVE_IMAGE_OS}-${TROVE_IMAGE_OS_RELEASE}-${TROVE_DATASTORE_TYPE}"
- image_url_var="TROVE_NON_DEV_IMAGE_URL_${TROVE_DATASTORE_TYPE^^}"
- image_url=`eval echo '$'"$image_url_var"`
+ image_name="trove-guest-${TROVE_IMAGE_OS}-${TROVE_IMAGE_OS_RELEASE}"
mkdir -p $HOME/images
image_file=$HOME/images/${image_name}.qcow2
- if [[ -n ${image_url} ]]; then
- echo "Downloading guest image from ${image_url}"
- curl -sSL ${image_url} -o ${image_file}
+ if [[ -n ${TROVE_NON_DEV_IMAGE_URL} ]]; then
+ echo "Downloading guest image from ${TROVE_NON_DEV_IMAGE_URL}"
+ curl -sSL ${TROVE_NON_DEV_IMAGE_URL} -o ${image_file}
else
echo "Starting to create guest image"
- TROVE_BRANCH=${TROVE_BRANCH} $DEST/trove/integration/scripts/trovestack \
+ $DEST/trove/integration/scripts/trovestack \
build-image \
- ${TROVE_DATASTORE_TYPE} \
${TROVE_IMAGE_OS} \
${TROVE_IMAGE_OS_RELEASE} \
- true
+ true \
+ ${TROVE_IMAGE_OS} \
+ ${image_file}
fi
- if [ ! -f ${image_file} ]; then
+ if [[ ! -f ${image_file} ]]; then
echo "Image file was not found at ${image_file}"
exit 1
fi
@@ -485,7 +484,7 @@ function create_guest_image {
$TROVE_MANAGE datastore_update $TROVE_DATASTORE_TYPE $TROVE_DATASTORE_VERSION
echo "Add parameter validation rules if available"
- if [ -f $DEST/trove/trove/templates/$TROVE_DATASTORE_TYPE/validation-rules.json ]; then
+ if [[ -f $DEST/trove/trove/templates/$TROVE_DATASTORE_TYPE/validation-rules.json ]]; then
$TROVE_MANAGE db_load_datastore_config_parameters "$TROVE_DATASTORE_TYPE" "$TROVE_DATASTORE_VERSION" \
$DEST/trove/trove/templates/$TROVE_DATASTORE_TYPE/validation-rules.json
fi
diff --git a/devstack/settings b/devstack/settings
index 44b71bb6..541d0f7d 100644
--- a/devstack/settings
+++ b/devstack/settings
@@ -29,15 +29,9 @@ TROVE_LOCAL_API_PASTE_INI=${TROVE_LOCAL_API_PASTE_INI:-${TROVE_LOCAL_CONF_DIR}/a
TROVE_LOCAL_POLICY_JSON=${TROVE_LOCAL_POLICY_JSON:-${TROVE_LOCAL_CONF_DIR}/policy.json}
TROVE_IMAGE_OS=${TROVE_IMAGE_OS:-"ubuntu"}
-TROVE_IMAGE_OS_RELEASE=${TROVE_IMAGE_OS_RELEASE:-"xenial"}
+TROVE_IMAGE_OS_RELEASE=${TROVE_IMAGE_OS_RELEASE:-"bionic"}
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
+TROVE_DATASTORE_VERSION=${TROVE_DATASTORE_VERSION:-"5.7.29"}
# Configuration values listed here for reference
TROVE_MAX_ACCEPTED_VOLUME_SIZE=${TROVE_MAX_ACCEPTED_VOLUME_SIZE}
@@ -46,8 +40,8 @@ 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_USAGE_TIMEOUT=${TROVE_USAGE_TIMEOUT:-1800}
+TROVE_STATE_CHANGE_WAIT_TIME=${TROVE_STATE_CHANGE_WAIT_TIME:-600}
TROVE_COMMAND_PROCESS_TIMEOUT=${TROVE_COMMAND_PROCESS_TIMEOUT:-60}
# Set up the host gateway
@@ -90,4 +84,4 @@ CELLSV2_SETUP=singleconductor
# Enable or disable the Trove guest image build during devstack installation.
TROVE_ENABLE_IMAGE_BUILD=${TROVE_ENABLE_IMAGE_BUILD:-"true"}
-TROVE_NON_DEV_IMAGE_URL_MYSQL=${TROVE_NON_DEV_IMAGE_URL_MYSQL:-""}
+TROVE_NON_DEV_IMAGE_URL=${TROVE_NON_DEV_IMAGE_URL:-""}