Whamcloud - gitweb
LU-13219 tests: add nfs-server service in setup-nfs.sh
[fs/lustre-release.git] / lustre / tests / setup-nfs.sh
index ea2eb19..daed37a 100755 (executable)
@@ -3,10 +3,12 @@
 EXPORT_OPTS=${EXPORT_OPTS:-"rw,async,no_root_squash"}
 
 setup_nfs() {
-    local NFS_VER=${1}
-    local MNTPNT=${2}
-    local LUSTRE_CLIENT=${3}
-    local NFS_CLIENTS=${4}
+       local NFS_VER=${1}
+       local MNTPNT=${2}
+       local LUSTRE_CLIENT=${3}
+       local NFS_CLIENTS=${4}
+       local nfs_climntpt=${5:-$MNTPNT}
+
     local export_opts_v=$EXPORT_OPTS
 
     echo "Exporting Lustre filesystem..."
@@ -21,49 +23,53 @@ setup_nfs() {
         mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs; }" || return 1
     sleep 5
 
-       do_nodes $LUSTRE_CLIENT "chkconfig --list nfsserver > /dev/null 2>&1 &&
-                                service nfsserver restart ||
-                                service nfs restart" || return 1
+       do_nodes $LUSTRE_CLIENT "echo $MNTPNT *\($export_opts_v\) \
+                                >> /etc/exports" || return 1
+
+       # restart nfs server according to distro
+       do_nodes $LUSTRE_CLIENT "{ [[ -e /etc/SuSE-release ]] &&
+                                service nfsserver restart; } ||
+                                service nfs restart ||
+                                service nfs-server restart" || return 1
 
        do_nodes $NFS_CLIENTS "chkconfig --list rpcidmapd 2>/dev/null |
                               grep -q rpcidmapd && service rpcidmapd restart ||
                               true"
 
-    do_nodes $LUSTRE_CLIENT "exportfs -o $export_opts_v *:$MNTPNT \
-        && exportfs -v" || return 1
-
-    echo -e "\nMounting NFS clients (version $NFS_VER)..."
+       echo -e "\nMounting NFS clients (version $NFS_VER)..."
 
-    do_nodes $NFS_CLIENTS "mkdir -p $MNTPNT" || return 1
-    if [ "$NFS_VER" = "4" ]; then
-        do_nodes $NFS_CLIENTS \
-            "mount -t nfs$NFS_VER -o async $LUSTRE_CLIENT:/ $MNTPNT" || return 1
-    else
-        do_nodes $NFS_CLIENTS \
-            "mount -t nfs -o nfsvers=$NFS_VER,async \
-                $LUSTRE_CLIENT:$MNTPNT $MNTPNT" || return 1
-    fi
-    return 0
+       do_nodes $NFS_CLIENTS "mkdir -p $nfs_climntpt" || return 1
+       if [ "$NFS_VER" = "4" ]; then
+               do_nodes $NFS_CLIENTS \
+                       "mount -t nfs$NFS_VER -o async \
+                       $LUSTRE_CLIENT:/ $nfs_climntpt" || return 1
+       else
+               do_nodes $NFS_CLIENTS \
+                       "mount -t nfs -o nfsvers=$NFS_VER,async \
+                       $LUSTRE_CLIENT:$MNTPNT $nfs_climntpt" || return 1
+       fi
+       return 0
 }
 
 cleanup_nfs() {
-    local MNTPNT=${1}
-    local LUSTRE_CLIENT=${2}
-    local NFS_CLIENTS=${3}
+       local MNTPNT=${1}
+       local LUSTRE_CLIENT=${2}
+       local NFS_CLIENTS=${3}
 
-    echo -e "\nUnmounting NFS clients..."
-    do_nodes $NFS_CLIENTS "umount -f $MNTPNT" || return 1
+       echo -e "\nUnmounting NFS clients..."
+       do_nodes $NFS_CLIENTS "umount -f $MNTPNT" || true
 
        echo -e "\nUnexporting Lustre filesystem..."
        do_nodes $NFS_CLIENTS "chkconfig --list rpcidmapd 2>/dev/null |
                               grep -q rpcidmapd && service rpcidmapd stop ||
                               true"
 
-       do_nodes $LUSTRE_CLIENT "chkconfig --list nfsserver > /dev/null 2>&1 &&
-                                service nfsserver stop || service nfs stop" ||
-                               return 1
+       do_nodes $LUSTRE_CLIENT "{ [[ -e /etc/SuSE-release ]] &&
+                                service nfsserver stop; } ||
+                                service nfs stop ||
+                                service nfs-server stop" || return 1
 
-    do_nodes $LUSTRE_CLIENT "exportfs -u *:$MNTPNT"
+       do_nodes $LUSTRE_CLIENT "sed -i '/${MNTPNT##*/}/d' /etc/exports" || return 1
 
-    do_nodes $LUSTRE_CLIENT "exportfs -v"
+       do_nodes $LUSTRE_CLIENT "exportfs -v"
 }