From f9ae7aab057b282f42517718f8e38c20d0c34924 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Tue, 10 Jul 2018 17:23:12 +0000 Subject: [PATCH] Test share type per test suite changes Make default share type and group type creation optional in manila-tempest-minimal-dsvm-dummy job. Depends-On: https://review.openstack.org/#/c/540070/ Change-Id: I585c15d9eb4eefb843df62f7aad08838c83611e2 --- contrib/ci/post_test_hook.sh | 11 +++++++++-- contrib/ci/pre_test_hook.sh | 2 ++ devstack/plugin.sh | 14 +++++++++++--- devstack/settings | 4 ++++ 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/contrib/ci/post_test_hook.sh b/contrib/ci/post_test_hook.sh index f002e76242..378f38868a 100755 --- a/contrib/ci/post_test_hook.sh +++ b/contrib/ci/post_test_hook.sh @@ -101,6 +101,7 @@ MANILA_CONF=${MANILA_CONF:-/etc/manila/manila.conf} # Capabilitities CAPABILITY_CREATE_SHARE_FROM_SNAPSHOT_SUPPORT=${CAPABILITY_CREATE_SHARE_FROM_SNAPSHOT_SUPPORT:-True} +MANILA_CONFIGURE_DEFAULT_TYPES=${MANILA_CONFIGURE_DEFAULT_TYPES:-True} if [[ -z "$MULTITENANCY_ENABLED" ]]; then # Define whether share drivers handle share servers or not. @@ -238,6 +239,7 @@ elif [[ "$DRIVER" == "zfsonlinux" ]]; then iniset $TEMPEST_CONFIG share capability_snapshot_support True elif [[ "$DRIVER" == "dummy" ]]; then MANILA_TEMPEST_CONCURRENCY=24 + MANILA_CONFIGURE_DEFAULT_TYPES=False RUN_MANILA_SG_TESTS=True RUN_MANILA_MANAGE_TESTS=False RUN_MANILA_DRIVER_ASSISTED_MIGRATION_TESTS=True @@ -321,7 +323,9 @@ iniset $TEMPEST_CONFIG share capability_create_share_from_snapshot_support $CAPA iniset $TEMPEST_CONFIG validation ip_version_for_ssh 4 iniset $TEMPEST_CONFIG validation network_for_ssh ${PRIVATE_NETWORK_NAME:-"private"} -iniset $TEMPEST_CONFIG share default_share_type_name ${MANILA_DEFAULT_SHARE_TYPE:-default} +if [ $(trueorfalse False MANILA_CONFIGURE_DEFAULT_TYPES) == True ]; then + iniset $TEMPEST_CONFIG share default_share_type_name ${MANILA_DEFAULT_SHARE_TYPE:-default} +fi # check if tempest plugin was installed correctly echo 'import pkg_resources; print list(pkg_resources.iter_entry_points("tempest.test_plugins"))' | python @@ -392,7 +396,10 @@ if [[ "$DRIVER" == "dummy" ]]; then iniset $TEMPEST_CONFIG share backend_replication_type 'readable' # Change driver mode for default share type to make tempest use - # DHSS=False backends. + # DHSS=False backends. This is just done here for semantics, if + # the default share type hasn't been configured + # ($MANILA_CONFIGURE_DEFAULT_TYPES=False), this command has no effect + # since there is no default share type configured. source $BASE/new/devstack/openrc admin demo manila type-key default set driver_handles_share_servers=False diff --git a/contrib/ci/pre_test_hook.sh b/contrib/ci/pre_test_hook.sh index e19d4443a1..6cd77538d5 100755 --- a/contrib/ci/pre_test_hook.sh +++ b/contrib/ci/pre_test_hook.sh @@ -135,6 +135,7 @@ elif [[ "$DRIVER" == "dummy" ]]; then echo "MANILA_OPTGROUP_adminnet_network_plugin_ipv4_enabled=True" >> $localconf export MANILA_TEMPEST_CONCURRENCY=24 + export MANILA_CONFIGURE_DEFAULT_TYPES=False elif [[ "$DRIVER" == "lvm" ]]; then MANILA_SERVICE_IMAGE_ENABLED=True @@ -163,6 +164,7 @@ fi echo "MANILA_SERVICE_IMAGE_ENABLED=$MANILA_SERVICE_IMAGE_ENABLED" >> $localconf echo "MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS=$DEFAULT_EXTRA_SPECS" >> $localconf +echo "MANILA_CONFIGURE_DEFAULT_TYPES=${MANILA_CONFIGURE_DEFAULT_TYPES:-True}" >> $localconf # Enabling isolated metadata in Neutron is required because # Tempest creates isolated networks and created vm's in scenario tests don't diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 27ea3d286d..0dba2dd49d 100755 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -200,8 +200,13 @@ function configure_manila { iniset $MANILA_CONF DEFAULT rootwrap_config $MANILA_CONF_DIR/rootwrap.conf iniset $MANILA_CONF DEFAULT osapi_share_extension manila.api.contrib.standard_extensions iniset $MANILA_CONF DEFAULT state_path $MANILA_STATE_PATH - iniset $MANILA_CONF DEFAULT default_share_type $MANILA_DEFAULT_SHARE_TYPE - iniset $MANILA_CONF DEFAULT default_share_group_type $MANILA_DEFAULT_SHARE_GROUP_TYPE + + # Note: Sample share types will still be created if the below is False + + if [ $(trueorfalse False MANILA_CONFIGURE_DEFAULT_TYPES) == True ]; then + iniset $MANILA_CONF DEFAULT default_share_type $MANILA_DEFAULT_SHARE_TYPE + iniset $MANILA_CONF DEFAULT default_share_group_type $MANILA_DEFAULT_SHARE_GROUP_TYPE + fi if ! [[ -z $MANILA_SHARE_MIGRATION_PERIOD_TASK_INTERVAL ]]; then iniset $MANILA_CONF DEFAULT migration_driver_continue_update_interval $MANILA_SHARE_MIGRATION_PERIOD_TASK_INTERVAL @@ -491,7 +496,10 @@ function create_default_share_group_type { fi } -# create_default_share_type - create share type that will be set as default. +# create_default_share_type - create share type that will be set as default +# if $MANILA_CONFIGURE_DEFAULT_TYPES is set to True, if set to False, the share +# type identified by $MANILA_DEFAULT_SHARE_TYPE is still created, but not +# configured as default. function create_default_share_type { echo "Waiting for Manila API to start..." if ! wait_for_service 60 $MANILA_SERVICE_PROTOCOL://$MANILA_SERVICE_HOST:$MANILA_SERVICE_PORT; then diff --git a/devstack/settings b/devstack/settings index d225c56eaf..eb2a871c30 100644 --- a/devstack/settings +++ b/devstack/settings @@ -48,6 +48,10 @@ MANILA_CONF_DIR=${MANILA_CONF_DIR:-/etc/manila} MANILA_CONF=$MANILA_CONF_DIR/manila.conf MANILA_API_PASTE_INI=$MANILA_CONF_DIR/api-paste.ini +# Set this to False to leave "default_share_type" and +# "default_share_group_type" configuration options empty. +MANILA_CONFIGURE_DEFAULT_TYPES=${MANILA_CONFIGURE_DEFAULT_TYPES:-True} + MANILA_DEFAULT_SHARE_TYPE=${MANILA_DEFAULT_SHARE_TYPE:-default} # MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS is expected to contain extra specs key-value pairs, # that should be assigned to default share type. Both - qualified and unqualified extra specs are supported.