diff --git a/devstack/override-defaults b/devstack/override-defaults index 30098f0..ca8a7fb 100644 --- a/devstack/override-defaults +++ b/devstack/override-defaults @@ -3,6 +3,8 @@ ENABLE_NFS_CINDER=$(trueorfalse True ENABLE_NFS_CINDER) if [[ $ENABLE_NFS_CINDER == "True" ]]; then CINDER_DRIVER=nfs CINDER_ENABLED_BACKENDS=nfs:nfs + # NOTE(mriedem): This is a workaround for Cinder bug 1642394. + CINDER_IMG_CACHE_ENABLED=False TEMPEST_STORAGE_PROTOCOL=nfs fi diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 47ad911..bfa47ce 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -78,6 +78,14 @@ function configure_cinder_nfs { } +# Configures tempest for running Cinder volume API tests with an NFS backend. +function configure_tempest_nfs { + # The Cinder NFS backend doesn't yet support snapshot, backup or clone. + iniset $TEMPEST_CONFIG volume-feature-enabled snapshot False + iniset $TEMPEST_CONFIG volume-feature-enabled backup False + iniset $TEMPEST_CONFIG volume-feature-enabled clone False +} + if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then echo_summary "Installing NFS" @@ -91,6 +99,10 @@ elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then configure_cinder_nfs sudo service $NFS_SERVICE restart fi +elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then + if is_nfs_enabled_for_service cinder; then + configure_tempest_nfs + fi fi if [[ "$1" == "unstack" ]]; then