Merge "Disable Cinder v1 API support by default"
diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst
index e8de7c4..e897e50 100644
--- a/doc/source/configuration.rst
+++ b/doc/source/configuration.rst
@@ -588,6 +588,13 @@
VOLUME_BACKING_FILE_SIZE=10250M
+Cinder v1 API is depricated and disabled by default. You can enable v1 API by
+setting ``CINDER_ENABLE_V1_API`` to ``True``.
+
+ ::
+ CINDER_ENABLE_V1_API=True
+
+
Keystone
~~~~~~~~
diff --git a/lib/cinder b/lib/cinder
index 26277cc..f0b0f1d 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -27,6 +27,9 @@
# Defaults
# --------
+# NOTE (e0ne): Cinder API v1 is deprecated and will be disabled by default.
+CINDER_ENABLE_V1_API=$(trueorfalse False CINDER_ENABLE_V1_API)
+
# set up default driver
CINDER_DRIVER=${CINDER_DRIVER:-default}
CINDER_PLUGINS=$TOP_DIR/lib/cinder_plugins
@@ -225,9 +228,12 @@
iniset $CINDER_CONF oslo_concurrency lock_path $CINDER_STATE_PATH
iniset $CINDER_CONF DEFAULT periodic_interval $CINDER_PERIODIC_INTERVAL
# NOTE(thingee): Cinder V1 API is deprecated and defaults to off as of
- # Juno. Keep it enabled so we can continue testing while it's still
- # supported.
- iniset $CINDER_CONF DEFAULT enable_v1_api true
+ # Juno.
+ if [[ ${CINDER_ENABLE_V1_API} = True ]]; then
+ iniset $CINDER_CONF DEFAULT enable_v1_api true
+ else
+ iniset $CINDER_CONF DEFAULT enable_v1_api false
+ fi
iniset $CINDER_CONF DEFAULT os_region_name "$REGION_NAME"
@@ -326,12 +332,13 @@
if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
- get_or_create_service "cinder" "volume" "Cinder Volume Service"
- get_or_create_endpoint "volume" "$REGION_NAME" \
- "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(tenant_id)s" \
- "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(tenant_id)s" \
- "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(tenant_id)s"
-
+ if [[ ${CINDER_ENABLE_V1_API} = True ]]; then
+ get_or_create_service "cinder" "volume" "Cinder Volume Service"
+ get_or_create_endpoint "volume" "$REGION_NAME" \
+ "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(tenant_id)s" \
+ "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(tenant_id)s" \
+ "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(tenant_id)s"
+ fi
get_or_create_service "cinderv2" "volumev2" "Cinder Volume Service V2"
get_or_create_endpoint "volumev2" "$REGION_NAME" \
"$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v2/\$(tenant_id)s" \
@@ -482,9 +489,7 @@
local be be_name
for be in ${CINDER_ENABLED_BACKENDS//,/ }; do
be_name=${be##*:}
- # FIXME(jamielennox): Remove --os-volume-api-version pinning when
- # osc supports volume type create on v2 api. bug #1475060
- openstack volume type create --os-volume-api-version 1 --property volume_backend_name="${be_name}" ${be_name}
+ openstack volume type create --os-volume-api-version 2 --property volume_backend_name="${be_name}" ${be_name}
done
fi
}
diff --git a/lib/tempest b/lib/tempest
index f4d0a6d..30cc201 100644
--- a/lib/tempest
+++ b/lib/tempest
@@ -492,6 +492,15 @@
iniset $TEMPEST_CONFIG volume-feature-enabled backup False
fi
+ # Use only Cinder API v2
+ if [[ ${CINDER_ENABLE_V1_API} = True ]]; then
+ iniset $TEMPEST_CONFIG volume-feature-enabled api_v1 True
+ iniset $TEMPEST_CONFIG volume catalog_type volume
+ else
+ iniset $TEMPEST_CONFIG volume-feature-enabled api_v1 False
+ iniset $TEMPEST_CONFIG volume catalog_type volumev2
+ fi
+
# Using ``CINDER_ENABLED_BACKENDS``
if [[ -n "$CINDER_ENABLED_BACKENDS" ]] && [[ $CINDER_ENABLED_BACKENDS =~ .*,.* ]]; then
iniset $TEMPEST_CONFIG volume-feature-enabled multi_backend "True"