1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 22 # 23 # Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 # ident "@(#)README 1.8 08/12/10 SMI" 27 # 28 29 DESCRIPTION: 30 =========== 31 This test suite tests the new automounter in both kernel and the daemon. 32 33 INSTALLATION: 34 ============ 35 You can install the suite package, or install the suite source and 36 build by yourself. 37 38 1. Installing from Packages 39 40 o In the majority of cases, the test suite can be installed from 41 packages. To do that, you need to be as root. The package is 42 called SUNWstc-nfs-fnfs and installs into "/opt" by default. 43 Installation is via the standard Solaris package installation 44 tool pkgadd(1M). To install SUNWstc-nfs-fnfs simply enter the 45 following command line: 46 47 # pkgadd -d <package location> SUNWstc-nfs-fnfs 48 49 Where <package location> refers to the path containing the 50 SUNWstc-nfs-fnfs package directory. 51 52 It is recommended that you install the package from scratch, 53 rather than on top of an existing installation. Thus, if an 54 old version of the tests is installed: 55 56 # pkgrm SUNWstc-nfs-fnfs 57 58 o It is also acceptable to use an nfs accessible version of the 59 SUNWstc-nfs-fnfs package. 60 61 2. Installing the Test Suite Source 62 63 You can install the suite source locally as any user. 64 65 UNINSTALLATION: 66 ============== 67 Prior to uninstalling the test suite, you may want to run 68 stf_unconfigure firstly. For more detail see UNCONFIGURATION. 69 70 1. Uninstalling the Test Suite Package 71 72 Use the standard Solaris package installation tool pkgrm(1M) to 73 uninstall the package as root: 74 75 # pkgrm SUNWstc-nfs-fnfs 76 77 2. Uninstalling the Test Suite Source 78 79 You can remove the corresponding directory. 80 81 BUILDING: 82 ======== 83 If the suite is installed from packages, you can skip this section. 84 If the suite source is installed locally, maybe you need to build 85 it. This method uses the standard STF techniques to create a Solaris 86 package, which will be installed under the base directory 87 "/opt/SUNWstc-nfs-fnfs". 88 89 Briefly, this build and installation is performed as follows: 90 91 # set path to STF bin directory 92 % PATH=<path-to-STF>/bin/`uname -p`:$PATH 93 % export PATH 94 95 # WS_ROOT is the root of the STC workspace containing fnfs source code 96 % cd <WS_ROOT>/usr/src/suites/nfs/fnfs 97 % stf_build install 98 % stf_build package 99 % cd <WS_ROOT>/packages/`uname -p` 100 % sudo pkgadd -d `pwd` SUNWstc-nfs-fnfs 101 102 PREREQUISITES: 103 ============= 104 This is a client test suite, but we will need a NFS server system and 105 a filesystem from server to help testing the NFS mounting. Therefore, 106 two systems are needed. 107 108 Please prepare the followings before running the tests, otherwise 109 tests may fail unexpectedly: 110 111 1. Make sure STF Tools be in your PATH. 112 113 2. Define following environment variables: 114 % setenv SERVER your_remote_hostname_which_runs_nfsd->REQUIRED 115 116 The following variables are optional, if not set, the default 117 value (see config.vars) will be used: 118 % setenv MNTPTR Path_for_$SERVER_to_export->OPTIONAL 119 % setenv TMPDIR tmpdir_for_temp_files->OPTIONAL 120 121 3. SERVER must be different from the local_host. 122 123 4. You can define DNS_SERVER as your dns server, make sure the dns server 124 is available before testing, the default value is jurassic.sfbay.sun.com 125 126 5. Both systems under test (the SERVER and local_host) must be able to 127 do rcp/rsh to each other as root (i.e. add + to ~root/.rhosts). 128 129 6. The test suite requires "root" to run (for server setup and client 130 map installation). You can either run it as root, or enter the root 131 password when it is prompted on command line when you do 'stf_configure' 132 as a regular user. 133 134 7. Trusted Extensions over a CIPSO connection 135 136 If you want to test NFSv4 in Trusted Extensions over a CIPSO connection 137 you MUST define the variable "ZONE_PATH" with <non-global zone path> 138 139 example: 140 % stf_configure -c "SERVER=myserver" -c "ZONE_PATH=/zone/public" 141 142 This would produce the resultant MNTPTR default of: 143 /zone/public/stc2_FNFS_$CLIENT 144 145 The default for this ZONE_PATH is NULL. 146 147 CONFIGURATION: 148 ============= 149 You can choose one of the following ways to define the variables and 150 configure your suite from the top level directory. 151 152 1) define environment variables 153 % export SERVER=myserver 154 % stf_configure 155 156 2) use '-c' option 157 % stf_configure -c "SERVER=myserver" \ 158 -c "DEBUG=ck_master:ck_mthome" 159 160 3) use '-f' option 161 % echo "export SERVER=myserver" > /tmp/varfile 162 % stf_configure -f /tmp/varfile 163 164 EXECUTION: 165 ========= 166 At execution phase, you can only run 'stf_execute', or run stf_execute with 167 '-c' option specifying other optional variables which will override those 168 specified at configure phase. 169 170 All results will be saved in the journal files located in the 'STF_RESULTS' 171 directory; this directory defaults to /var/tmp/SUNWstc-nfs-fnfs/results 172 when the test suite is executed from /opt/SUNWstc-nfs-fnfs. 173 174 UNCONFIGURATION: 175 =============== 176 You can run stf_unconfigure from the top level directory. 177 % stf_unconfigure 178 179 HOW TO TURN ON DEBUGGING: 180 ======================== 181 1. To turn on one testcase's debug output, set the variable DEBUG with 182 the testcase's name before running the test. For example: 183 DEBUG=ck_cachefs01 184 2. To turn on more than one testcase's debug output, use ":" to sepatate 185 different testcase's name. For example: 186 DEBUG=ck_cachefs01:ck_cachefs02 187 3. To turn on the debug output of all testcase, set the variable DEBUG with 188 "all". For example: 189 DEBUG=all 190 191 TEST DEVELOPMENT: 192 ================ 193 If you develop new test case to this suite, you must: 194 - name the new test starting with 'ck_' 195 196 TEST STRUCTURE: 197 ============== 198 STF_TEST_SUITE--bin 199 |-doc 200 |-include 201 |-tests-----basic 202 |-misc 203 |-mntnet 204 |-mt 205 |-offset 206 |-others 207 |-readdir 208 209 - Programs used by tests are put into STF_TEST_SUITE/bin 210 - ksh script libs are put into STF_TEST_SUITE/include 211 - test cases are grouped into directories below: 212 - basic: Test basic map formats 213 - misc: Test miscellaneous features that need to restart autofs service 214 - mntnet: Test features related to "-host" map 215 - mt: Test multi-thread features 216 - offset: Test maps using offset entries 217 - others: Test miscellaneous features that do NOT need to restart 218 autofs service 219 - readdir: Test readdir operation on miscellaneous maps 220 221 - all maps setup for each subdir (except misc) are found in stf_setup/cleanup 222 inside the subdir. 223 224 NOTE: 225 ==== 226 227 - Some tests depend heavily on the naming services (e.g. NIS+) and the 228 automounter maps provided by the server. Tests may fail with unstable 229 naming services and if the maps are being changed at the time the tests 230 are running or if there is any inconsistency between naming maps. 231 232 - Tests may also fail if the network between the local system and SERVER 233 is unstable. 234 235 Please verify the failing tests by running them manually, 236 e.g. "stf_execute -r ck_master". 237 238 - Since the suite includes negative tests, there will be lots of messages 239 printed from the console when those tests are executed. If the tests 240 pass, you can just ignore those messages. 241 242 GOTCHAS: 243 ======= 244 1. Tests ck_cachefs01 and ck_cachefs02 may fail with the following message: 245 ck_cachefs01: FAILED 246 2:stat(/ck_cachefs01_A/t1/.t1) failed : Permission denied 247 248 and the console of the client shows: 249 Jul 9 19:23:55 pulsanet1 cachefs: WARNING: CacheFS: not enough space 250 to create sos3:_small_CFS_t1:_cfs_t1 251 252 This is NOT a test bug, but a bug in ON/CacheFS. See bugid 4090474 for 253 more information and this bug has been closed as "WILL NOT FIX". 254 255 ************************************************************************** 256