README
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