Whamcloud - gitweb
LU-5473 tests: sanity/51b Account for ZFS inode size
[fs/lustre-release.git] / lustre / tests / setup-nfs.sh
1 #!/bin/bash
2 #set -x
3 EXPORT_OPTS=${EXPORT_OPTS:-"rw,async,no_root_squash"}
4
5 setup_nfs() {
6     local NFS_VER=${1}
7     local MNTPNT=${2}
8     local LUSTRE_CLIENT=${3}
9     local NFS_CLIENTS=${4}
10     local export_opts_v=$EXPORT_OPTS
11
12     echo "Exporting Lustre filesystem..."
13
14     if [ "$NFS_VER" = "4" ]; then
15         export_opts_v="$EXPORT_OPTS,fsid=0"
16         do_nodes $LUSTRE_CLIENT "mkdir -p /var/lib/nfs/v4recovery"
17     fi
18
19     do_nodes $LUSTRE_CLIENT,$NFS_CLIENTS "grep -q rpc_pipefs' ' /proc/mounts ||\
20         { mkdir -p /var/lib/nfs/rpc_pipefs && \
21         mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs; }" || return 1
22     sleep 5
23
24         do_nodes $LUSTRE_CLIENT "chkconfig --list nfsserver > /dev/null 2>&1 &&
25                                  service nfsserver restart ||
26                                  service nfs restart" || return 1
27
28         do_nodes $NFS_CLIENTS "chkconfig --list rpcidmapd 2>/dev/null |
29                                grep -q rpcidmapd && service rpcidmapd restart ||
30                                true"
31
32     do_nodes $LUSTRE_CLIENT "exportfs -o $export_opts_v *:$MNTPNT \
33         && exportfs -v" || return 1
34
35     echo -e "\nMounting NFS clients (version $NFS_VER)..."
36
37     do_nodes $NFS_CLIENTS "mkdir -p $MNTPNT" || return 1
38     if [ "$NFS_VER" = "4" ]; then
39         do_nodes $NFS_CLIENTS \
40             "mount -t nfs$NFS_VER -o async $LUSTRE_CLIENT:/ $MNTPNT" || return 1
41     else
42         do_nodes $NFS_CLIENTS \
43             "mount -t nfs -o nfsvers=$NFS_VER,async \
44                 $LUSTRE_CLIENT:$MNTPNT $MNTPNT" || return 1
45     fi
46     return 0
47 }
48
49 cleanup_nfs() {
50     local MNTPNT=${1}
51     local LUSTRE_CLIENT=${2}
52     local NFS_CLIENTS=${3}
53
54     echo -e "\nUnmounting NFS clients..."
55     do_nodes $NFS_CLIENTS "umount -f $MNTPNT" || return 1
56
57         echo -e "\nUnexporting Lustre filesystem..."
58         do_nodes $NFS_CLIENTS "chkconfig --list rpcidmapd 2>/dev/null |
59                                grep -q rpcidmapd && service rpcidmapd stop ||
60                                true"
61
62         do_nodes $LUSTRE_CLIENT "chkconfig --list nfsserver > /dev/null 2>&1 &&
63                                  service nfsserver stop || service nfs stop" ||
64                                 return 1
65
66     do_nodes $LUSTRE_CLIENT "exportfs -u *:$MNTPNT"
67
68     do_nodes $LUSTRE_CLIENT "exportfs -v"
69 }