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 2007 Sun Microsystems, Inc. All rights reserved. 24 # Use is subject to license terms. 25 # 26 # ident "@(#)README 1.5 08/12/17 SMI" 27 # 28 29 DESCRIPTION: 30 ============ 31 This test suite is designed to test the functionality of the iSCSI 32 target software-level creation utility. If configured the test suite 33 will also confirm the target creation and configurations, use the 34 iscsiadm command to make connections to the target and further verify 35 the functionality of the iscsitadm(1M) command. 36 37 38 PREREQUISITES: 39 ============== 40 1. A spare disk is required for this test suite to use for its work. 41 42 2. There should be no iscsi targets configured via the iscsitadm 43 command. 44 45 3. The CTI-TET test harness lite package (SUNWstc-tetlite) is required 46 to be installed, or to be accessible via NFS. 47 48 4. If a second host is to be used to check with the iscsiadm(1M) 49 command, that host should accept rcp and rsh calls from the test 50 host. 51 52 53 CTI-TET INSTALLATION: 54 ===================== 55 In the majority of cases, the CTI-TET lite test harness can be installed 56 from packages. The package is called SUNWstc-tetlite and installs into 57 "/opt" by default. Installation is via the standard Solaris package 58 installation tool, pkgadd(1M). 59 60 To install SUNWstc-tetlite, enter the following command: 61 62 root# pkgadd -d <package location> SUNWstc-tetlite 63 64 Where <package location> is the path containing the SUNWstc-tetlite 65 package directory. 'root#' indicates that this command must be run 66 as root. 67 68 o It is recommended that SUNWstc-tetlite be installed from scratch, 69 rather than on top of an existing installation. Thus, if a copy 70 of SUNWstc-tetlite is already installed, remove it: 71 72 root# pkgrm SUNWstc-tetlite 73 74 It is also acceptable to use an NFS-accessible version of the 75 SUNWstc-tetlite package. 76 77 78 TEST SUITE INSTALLATION: 79 ======================== 80 In the majority of cases, the test suite can be installed from packages. 81 The package is called SUNWstc-storage-iSCSI and it installs into 82 "/opt" by default. Installation is via the standard Solaris package 83 installation tool, pkgadd(1M). To install SUNWstc-storage-iSCSI, enter 84 the following command: 85 86 root# pkgadd -d <package location> SUNWstc-storage-iSCSI 87 88 Where <package location> is the path containing the SUNWstc-storage-iSCSI 89 package directory. 90 91 o It is recommended that the test suite package be installed from 92 scratch, rather than on top of an existing installation. Thus, 93 if a version of SUNWstc-storage-iSCSI is already installed, first 94 remove it: 95 96 root# pkgrm SUNWstc-storage-iSCSI 97 98 It is also acceptable to use an NFS-accessible installation of the 99 SUNWstc-storage-iSCSI package. 100 101 ALTERNATIVELY, the test suite source can be installed locally, built in 102 the source directory tree and run from that location. This is optional. 103 104 To build the test suite from source, first install the test suite 105 source, and then do the following (the 'user$' prompt indicates that 106 these commands need not be run as root): 107 108 user$ TET_ROOT=/opt/SUNWstc-tetlite 109 user$ export TET_ROOT 110 user$ CTI_ROOT=$TET_ROOT/contrib/ctitools 111 user$ export CTI_ROOT 112 user$ TET_SUITE_ROOT=/export/STC/usr/src/suites/storage (e.g location) 113 user$ export TET_SUITE_ROOT 114 user$ cd $TET_SUITE_ROOT/iSCSI 115 user$ /usr/ccs/bin/make 116 117 The build can also install into a 'proto' directory below the workspace 118 root directory. The workspace root is the directory under which the 119 'usr/src/suites/storage' directory resides (in the example above, the 120 workspace root is "/export/STC"). To install binaries into the proto 121 directory, do: 122 123 user$ /usr/ccs/bin/make install 124 125 In addition, test suite binary packages can be constructed using the 126 contents of the proto directory. To build test suite packages, do: 127 128 user$ /usr/ccs/bin/make package 129 130 This can be done instead of, or in addition to 'make install'. The 131 packages thus constructed will be stored in the 'packages' directory 132 under the workspace root. 133 134 135 TEST SUITE CONFIGURATION: 136 ========================= 137 Test suite configuration is required to be done as root. 138 139 1. Set the following environment variables 140 141 export TET_ROOT=/opt/SUNWstc-tetlite 142 export CTI_ROOT=$TET_ROOT/contrib/ctitools 143 export TET_SUITE_ROOT=/opt/SUNWstc-iSCSI (installation path of suite) 144 PATH=$PATH:$CTI_ROOT/bin 145 export PATH 146 147 2. To configure the test suite: 148 149 root# run_test -v iscsi_disk=c0t1d0 iSCSI configure 150 151 Other configurable variables that can be set in the configuration line: 152 153 FSCONFIGTYPE - [ ufs || zfs ] default ufs 154 THINPROV - [ on || off ] default off 155 target_ip - [ iscsi target ip address to use for initiator ] default null 156 iscsiadm_ip - [ iscsi initiator ip address ] default null 157 online_wait - [ number of 5 second intervals to wait for initiator ] 24 158 verbose - [ TRUE || FALSE ] default FALSE 159 160 161 TEST SUITE EXECUTION: 162 ===================== 163 The test suite execution is required to be done as root. 164 165 If not already available from the configuration phase, set the following 166 environment variables: 167 168 export TET_ROOT=/opt/SUNWstc-tetlite 169 export CTI_ROOT=$TET_ROOT/contrib/ctitools 170 export TET_SUITE_ROOT=/opt/SUNWstc-iSCSI (installation path of suite) 171 PATH=$PATH:$CTI_ROOT/bin 172 export PATH 173 174 To run the entire test suite do the following. 175 root# run_test iSCSI 176 177 To execute individual scenarios (create modify delete) 178 root# run_test iSCSI <scenario> 179 For example: 180 root# run_test iSCSI create 181 182 To execute Test Purposes within a given scenario: 183 root# run_test iSCSI iscsitadm/<test case dir>:<test purpose number> 184 For example: 185 root# run_test iSCSI iscsitadm/create:1 186 187 Available test case directories are create, modify and delete 188 189 190 TEST SUITE UNCONFIGURATION: 191 =========================== 192 The unconfiguration of the test suite simply takes out the configuration 193 file for the current host, so that an NFS-mounted point for execution 194 can be used. More important, this does not unconfigure any iSCSI 195 targets from the host. 196 197 To unconfigure the test suite, run: 198 root# run_test iSCSI unconfigure 199