Home | History | Annotate | Download | only in protocol
      1 #
      2 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
      3 # Use is subject to license terms.
      4 #
      5 
      6 #
      7 # BSD 3 Clause License
      8 #
      9 # Redistribution and use in source and binary forms, with or without
     10 # modification, are permitted provided that the following conditions
     11 # are met:
     12 #       - Redistributions of source code must retain the above copyright
     13 #         notice, this list of conditions and the following disclaimer.
     14 #
     15 #       - Redistributions in binary form must reproduce the above copyright
     16 #         notice, this list of conditions and the following disclaimer in
     17 #         the documentation and/or other materials provided with the
     18 #         distribution.
     19 #
     20 #       - Neither the name of Sun Microsystems, Inc. nor the
     21 #         names of its contributors may be used to endorse or promote products
     22 #         derived from this software without specific prior written permission.
     23 #
     24 # THIS SOFTWARE IS PROVIDED BY SUN MICROSYSTEMS, INC. "AS IS" AND ANY
     25 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     26 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     27 # DISCLAIMED. IN NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY
     28 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     29 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES
     30 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
     31 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     32 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     33 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     34 #
     35 
     36 #
     37 # ident	"@(#)README	1.4	09/04/08 SMI"
     38 #
     39 
     40 
     41 DESCRIPTION
     42 ===========
     43 This is the NDMP (Network Data Management Protocol) Protocol test suite.
     44 It automates protocol testing of NDMP server.
     45 
     46 
     47 PREREQUISITES
     48 =============
     49 1. A tape library is required. 
     50 2. The CTI-TET test harness lite package SUNWstc-tetlite is required.
     51    You can find the package on the OpenSolaris Test Consolidation:
     52    http://www.opensolaris.org/os/community/testing/testsuites/ctifortet/
     53 
     54 
     55 CTI-TET INSTALLATION
     56 ====================
     57 In the majority of cases, the CTI-TET lite harness can be installed
     58 from packages.  Installation is via the standard Solaris package 
     59 installation tool, pkgadd(1M).  The package is named SUNWstc-tetlite
     60 and it installs into "/opt" by default.
     61 
     62 To install SUNWstc-tetlite, enter the following command: 
     63 
     64     root# pkgadd -d <package_location> SUNWstc-tetlite
     65 
     66 where <package_location> is the path containing the SUNWstc-tetlite
     67 package directory.  'root#' indicates that this command must be run
     68 as root.
     69 
     70 o It is recommended that SUNWstc-tetlite be installed from scratch,
     71   rather than on top of an existing installation.  Thus, if a copy
     72   of SUNWstc-tetlite is already installed, remove it:
     73 
     74     root# pkgrm SUNWstc-tetlite
     75 
     76 
     77 TEST SUITE INSTALLATION
     78 =======================
     79 In the majority of cases, the test suite can be installed from packages.
     80 The package is called SUNWstc-storage-ndmp-protocol and it installs into
     81 "/opt" by default.  Installation is via the standard Solaris package
     82 installation tool, pkgadd(1M).  To install SUNWstc-storage-ndmp-protocol,
     83 enter the following command:
     84 
     85     root# pkgadd -d <package_location> SUNWstc-storage-ndmp-protocol
     86 
     87 where <package_location> is the path containing the ndmp-protocol test
     88 suite package directory.
     89 
     90 It is recommended that the test suite package be installed from scratch,
     91 rather than on top of an existing installation.  Thus, if a version of
     92 the test suite package is already installed, first remove it:
     93 
     94     root# pkgrm SUNWstc-storage-ndmp-protocol
     95 
     96 It is acceptable to use an NFS-accessible installation of the test suite.
     97 
     98 ALTERNATIVELY, the test suite souce code can be installed and the test
     99 suite package can be built from source.  This is optional.  Instructions
    100 for building the test suite are provided in the section titled "BUILDING
    101 TEST SUITE (OPTIONAL)".
    102 
    103 
    104 TEST SUITE CONFIGURATION
    105 ========================
    106 Test suite configuration must be performed as 'root'.
    107 
    108 1. Set the following environment variables
    109 
    110 	export TET_ROOT=/opt/SUNWstc-tetlite
    111 	export CTI_ROOT=$TET_ROOT/contrib/ctitools
    112 	export PATH=$PATH:$CTI_ROOT/bin
    113 	export TET_SUITE_ROOT=/opt/SUNWstc-storage-ndmp-protocol
    114 
    115 The values used above for the different variables are for example only.
    116 Make sure to substitute the correct directory paths based on the actual
    117 install locations of SUNWstc-tetlite and SUNWstc-storage-ndmp-protocol
    118 
    119 2. To configure the test suite
    120 
    121 a. run the following command with the option to configure the test suite 
    122 
    123 	root# run_test -v NDMP_SERVER_IP=<ip-address> \
    124 		-v NDMP_USER=<User Name> -v NDMP_PASSWORD=<password> \
    125 		-v NDMP_AUTH=NDMP_AUTH_TEXT -v NDMP_TAPE_DEV=<tape dev> \
    126 		-v NDMP_ROBOT=<tape changer> ndmp/protocol configure \
    127 		-v NDMP_FS=<NDMP server File system to backup>
    128 	
    129 	Example: run_test -v NDMP_SERVER_IP=10.12.178.122 -v NDMP_USER=admin 
    130 		  -v NDMP_PASSWORD=admin -v NDMP_AUTH=NDMP_AUTH_TEXT 
    131 		  -v NDMP_TAPE_DEV=/dev/rmt/0n 
    132 		  -v NDMP_ROBOT=/dev/scsi/changer/c1t210000E08B86CCAFd2
    133 		  -v NDMP_FS=/var/log/
    134 		  ndmp/protocol configure
    135 
    136 3. Configuration the NDMP server machine.
    137 
    138 a. Create an NDMP admin user on the ndmp server:
    139 	root# ndmpadm enable -a <auth-type> <-u username>
    140 
    141    For example
    142 	root# ndmpadm enable -a cleartext -u admin
    143 
    144    A password will be required; please enter 'admin' as password. 
    145 
    146 b. Configure a tape library on the NDMP server machine.
    147 
    148    Get the device mappings on the NDMP server by issuing:
    149 	root# ndmpadm show-devices
    150 
    151 Make sure that tape-device has a tape loaded in the drive and is not busy.
    152 The following command displays the status of the magnetic tape drive
    153 
    154 	root# mt -f <device-name> status
    155 
    156 
    157 TEST SUITE EXECUTION
    158 ====================
    159 The test suite must be executed as root.
    160 
    161 If not already done, from the configuration phase, do the following to 
    162 set the environmental variables:
    163 
    164 Using NDMP Protocol test suite  package:
    165 	export TET_ROOT=/opt/SUNWstc-tetlite
    166 	export CTI_ROOT=$TET_ROOT/contrib/ctitools
    167 	export PATH=$PATH:$CTI_ROOT/bin
    168 	export TET_SUITE_ROOT=/opt/SUNWstc-storage-ndmp-protocol
    169 
    170 Once again, the values used above are for example only.  Please make
    171 sure to set the correct values based on the actual install location
    172 of SUNWstc-tetlite and SUNWstc-storage-ndmp-protocol
    173 
    174 To run the entire test suite do the following:
    175 
    176     root# run_test ndmp/protocol 
    177 
    178 To run all the test purposes:
    179 
    180     root# run_test ndmp/protocol all
    181 
    182 To execute individual scenarios, run:
    183     root# run_test ndmp/protocol <scenario>
    184 For example:
    185     root# run_test ndmp/protocol MOVER
    186 
    187 To execute a Test Purpose within a scenario, run:
    188     root# run_test ndmp/protocol \
    189 			<scenario>/<test case dir>:<test purpose number>
    190 For example:
    191     root# run_test ndmp/protocol MOVER/tp_MOVER_ABORT_ISE
    192 
    193 Test case directories are CONFIG, DATA, POST, SCSI, MOVER and TAPE.
    194 The log file will be located in /var/tmp/tests directory.
    195 
    196 
    197 Note: You can define customized test scenarios by adding entries to 
    198 the test scenario file: $TET_SUITE_ROOT/ndmp/protocol/tet_scen.
    199 
    200 For how to edit the test scenario file, refer to the TET user guide at: 
    201         http://tetworks.opengroup.org/tet/
    202 
    203 TEST SUITE UNCONFIGURATION
    204 ==========================
    205 The test suite must be unconfigured as root.
    206     root# run_test ndmp/protocol unconfigure
    207 
    208 BUILDING THE TEST SUITE (OPTIONAL)
    209 =================================
    210 The following pre-requisites must be satisfied before the test
    211 suite can be successfully built from source.
    212 
    213 . Sun Solaris 10 and above Operating System is required.
    214 . Sun Studio 11 should be installed
    215 . Perl 5.8.4 should be installed
    216 . /usr/ccs/bin/make should be used for making
    217 
    218 Executing tests using precompiled test suite packages is the method we
    219 strongly recommend.  However, if, for some reason, you need to build
    220 test suite binaries from source, simply do the following:
    221 
    222 1. Install SUNWstc-tetlite (see instructions earlier in this file)
    223 2. Obtain the ndmp protocol test suite source
    224 3. Build Test Suite Binaries
    225 
    226 (a)  Install SUNWstc-tetlite
    227 
    228 Install the precompiled SUNWstc-tetlite package.  Detailed instructions
    229 are provided earlier in this file.
    230 
    231 (b) Obtain the ndmp-protocol test suite source
    232 
    233 Obtain the test suite source code from your source code repository
    234 which will contain the following directory structure
    235         <WS_ROOT>/usr/src/suites/storage/ndmp/protocol
    236 
    237 where <WS_ROOT> is the root of the workspace under which the
    238 ndmp-protocol test suite resides.
    239 
    240 (c) Build Test Suite Binaries
    241 
    242 Building test suite binaries does not need 'root' permissions.
    243 
    244 	user$ export TET_ROOT=/opt/SUNWstc-tetlite
    245 	user$ export CTI_ROOT=$TET_ROOT/contrib/ctitools
    246 	user$ export PATH=$PATH:$CTI_ROOT/bin
    247 	user$ export TET_SUITE_ROOT=<WS_ROOT>/usr/src/suites/storage/
    248 	user$ cd <WS_ROOT>/usr/src/suites/storage/ndmp/protocol
    249 
    250 where <WS_ROOT> is the root of the workspace under which the 
    251 ndmp-protocol test suite resides.  Use 'make' to compile the source:
    252 
    253 	user$ make
    254 	...
    255 	... (many lines of 'make' and shell output ensue)
    256 	...
    257 
    258 The above command, if successful, will build the test suite 'proto'
    259 directory.  After a successful build, the proto area can be used to 
    260 construct the test suite package:
    261 
    262 	user$ make package
    263 
    264 This will build the package supported by the current machine's system
    265 architecure (e.g., if building on an x64 system, packages relevant to
    266 the "i386" architecture will be built.)
    267 
    268 Once the test suite package has been built, install the package as
    269 instructed in the section "TEST SUITE INSTALLATION" in order to 
    270 install the test suite.
    271 
    272