diff --git a/README.md b/README.md index c82980b..eeb80c1 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,6 @@ As part of "unstack.sh": * To enable Gluster as a backend for Manila: CONFIGURE_GLUSTERFS_MANILA=True Also select specific gluster backend type for manila, default is "glusterfs": - GLUSTERFS_MANILA_DRIVER_TYPE=[glusterfs OR glusterfs-native] + GLUSTERFS_MANILA_DRIVER_TYPE=[glusterfs-nfs OR glusterfs-native] * Then run "stack.sh" diff --git a/devstack/gluster-functions.sh b/devstack/gluster-functions.sh index a96b9d8..5a39a73 100755 --- a/devstack/gluster-functions.sh +++ b/devstack/gluster-functions.sh @@ -11,11 +11,11 @@ function install_glusterfs { elif is_ubuntu; then sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 3FE869A9 if [ "$1" == "3.6" ]; then - echo "deb http://ppa.launchpad.net/gluster/glusterfs-3.6/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/glusterfs-3_6-trusty.list - echo "deb-src http://ppa.launchpad.net/gluster/glusterfs-3.6/ubuntu trusty main" | sudo tee --append /etc/apt/sources.list.d/glusterfs-3_6-trusty.list + echo "deb http://ppa.launchpad.net/gluster/glusterfs-3.6/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/glusterfs-3_6.list + echo "deb-src http://ppa.launchpad.net/gluster/glusterfs-3.6/ubuntu $(lsb_release -sc) main" | sudo tee --append /etc/apt/sources.list.d/glusterfs-3_6.list elif [ "$1" == "3.7" ]; then - echo "deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/glusterfs-3_7-trusty.list - echo "deb-src http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main" | sudo tee --append /etc/apt/sources.list.d/glusterfs-3_7-trusty.list + echo "deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/glusterfs-3_7.list + echo "deb-src http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu $(lsb_release -sc) main" | sudo tee --append /etc/apt/sources.list.d/glusterfs-3_7.list fi NO_UPDATE_REPOS=False REPOS_UPDATED=False @@ -381,11 +381,18 @@ function _configure_manila_glusterfs_heketi { # Configure GlusterFS as a backend for Manila function configure_manila_backend_glusterfs { - if [[ "${GLUSTERFS_MANILA_DRIVER_TYPE}" == "glusterfs-heketi" ]]; then - _configure_manila_glusterfs_heketi - elif [[ "${GLUSTERFS_MANILA_DRIVER_TYPE}" == "glusterfs" ]]; then + case "$GLUSTERFS_MANILA_DRIVER_TYPE" in + glusterfs|glusterfs-nfs) _configure_manila_glusterfs_nfs - else + ;; + glusterfs-heketi|glusterfs-nfs-heketi) + _configure_manila_glusterfs_heketi + ;; + glusterfs-native) _configure_manila_glusterfs_native - fi + ;; + *) + echo "no configuration hook for GLUSTERFS_MANILA_DRIVER_TYPE=${GLUSTERFS_MANILA_DRIVER_TYPE}" + ;; + esac } diff --git a/devstack/settings b/devstack/settings index 1ed85fd..38cc787 100644 --- a/devstack/settings +++ b/devstack/settings @@ -87,7 +87,7 @@ fi CONFIGURE_GLUSTERFS_MANILA=${CONFIGURE_GLUSTERFS_MANILA:-False} if [ "$CONFIGURE_GLUSTERFS_MANILA" == "True" ]; then - # Set GLUSTERFS_MANILA_DRIVER_TYPE to either 'glusterfs' or 'glusterfs-native'. + # Set GLUSTERFS_MANILA_DRIVER_TYPE to one of 'glusterfs-{nfs{,-heketi},native}. GLUSTERFS_MANILA_DRIVER_TYPE=${GLUSTERFS_MANILA_DRIVER_TYPE:-glusterfs} # Set GLUSTERFS_VG_NAME to the name of volume group. diff --git a/manila/post_test_hook.sh b/manila/post_test_hook.sh index b39de85..6fd92b5 100755 --- a/manila/post_test_hook.sh +++ b/manila/post_test_hook.sh @@ -40,11 +40,17 @@ if [[ "$GLUSTERFS_MANILA_DRIVER_TYPE" == "glusterfs-native" ]]; then # ro access_level is not supported by the driver. iniset $TEMPEST_CONFIG share enable_ro_access_level_for_protocols else - if [[ "$GLUSTERFS_MANILA_DRIVER_TYPE" == "glusterfs-heketi" ]]; then - local BACKEND_NAME="GLUSTERFSHEKETI" - else + case "$GLUSTERFS_MANILA_DRIVER_TYPE" in + glusterfs|glusterfs-nfs) local BACKEND_NAME="GLUSTERFS" - fi + ;; + glusterfs-heketi|glusterfs-nfs-heketi) + local BACKEND_NAME="GLUSTERFSHEKETI" + ;; + *) + echo "no BACKEND_NAME for GLUSTERFS_MANILA_DRIVER_TYPE=${GLUSTERFS_MANILA_DRIVER_TYPE}" + ;; + esac iniset $TEMPEST_CONFIG share enable_protocols nfs iniset $TEMPEST_CONFIG share enable_ip_rules_for_protocols nfs iniset $TEMPEST_CONFIG share storage_protocol NFS diff --git a/manila/pre_test_hook.sh b/manila/pre_test_hook.sh index cb23cdc..eee2ed7 100755 --- a/manila/pre_test_hook.sh +++ b/manila/pre_test_hook.sh @@ -33,9 +33,10 @@ done # glusterfs (NFS) driver tests the directory based layout that doesn't support # snapshots. The job that tests glusterfs (NFS) driver has a name that # ends with "glusterfs". -if [[ "$GLUSTERFS_MANILA_DRIVER_TYPE" == "glusterfs" ]]; then +case "$GLUSTERFS_MANILA_DRIVER_TYPE" in +glusterfs|glusterfs-nfs) echo "MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS='snapshot_support=False'" >> $localrc_path -fi +esac # Enabling isolated metadata in Neutron is required because # Tempest creates isolated networks and created vm's in scenario tests don't