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 2009 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 
  27 #
  28 # A test purpose file to test functionality of backing storage
  29 #
  30 
  31 # __stc_assertion_start
  32 #
  33 # ID: iscsi_fs_009
  34 #
  35 # DESCRIPTION:
  36 #       Target is bound with the default target portal group,
  37 #       Running I/O data validation on one initiator host
  38 #
  39 # STRATEGY:
  40 #       Setup:
  41 #               MPXIO is enable on initiator host
  42 #               zvol LUs (specified by VOL_MAX variable in configuration) are
  43 #                   created in iSCSI target host 
  44 #               Map all the LUs can be accessed by all the target and host groups
  45 #                   by stmfadm add-view option
  46 #               All the target portals are of the default target portal group
  47 #               Create multi target nodes (specified by TARGET_MAX variable 
  48 #                   in configuration) with default tpgt
  49 #               Modify initiator target-param to allow all the initiator portals
  50 #                   to create one session individually to support mutlti-pathing 
  51 #                   with each target node
  52 #               Setup initiator node to enable "SendTarget" method
  53 #               Setup SendTarget with discovery address on initiator host
  54 #       Test:
  55 #               Start diskomizer on the initiator host
  56 #               Running I/O for 5 minutes
  57 #                       
  58 #       Cleanup:
  59 #               Stop the diskomizer
  60 #               Delete the target portal group
  61 #               Delete the target node
  62 #               Delete the configuration information in initiator and target
  63 #
  64 #       STRATEGY_NOTES:
  65 #
  66 # TESTABILITY: explicit
  67 #
  68 # AUTHOR: john.gu@sun.com
  69 #
  70 # REVIEWERS:
  71 #
  72 # ASSERTION_SOURCE:
  73 #
  74 # TEST_AUTOMATION_LEVEL: automated
  75 #
  76 # STATUS: IN_PROGRESS
  77 #
  78 # COMMENTS:
  79 #
  80 # __stc_assertion_end
  81 #
  82 function iscsi_fs_009
  83 {
  84         cti_pass
  85 
  86         tc_id="iscsi_fs_009"
  87         tc_desc="verify I/O data validation on the default target portal group"
  88         print_test_case $tc_id - $tc_desc
  89 
  90         msgfile_mark $ISCSI_IHOST START $tc_id
  91         msgfile_mark $ISCSI_THOST START $tc_id
  92 
  93         stmsboot_enable_mpxio $ISCSI_IHOST
  94 
  95         build_fs zfs
  96 
  97         typeset vol_num=0
  98         while [ $vol_num -lt $VOL_MAX ]
  99         do
 100                 typeset vol_id=`/usr/bin/printf "%03s" $vol_num`
 101                 typeset vol_name=vol${vol_id}
 102 
 103                 touch $MP/$vol_name
 104                 sbdadm_create_lu POS -s ${VOL_SIZE} $MP/$vol_name
 105                 (( vol_num+=1 ))
 106         done
 107 
 108         build_full_mapping
 109 
 110         typeset index=0
 111         while [ $index -lt $TARGET_MAX ]
 112         do
 113                 itadm_create POS target
 114                 (( index+=1 ))
 115         done
 116 
 117         iscsiadm_setup_static
 118         iscsiadm_modify POS $ISCSI_IHOST discovery -s enable
 119 
 120         start_disko $ISCSI_IHOST
 121 
 122         sleep $FS_SECONDS
 123 
 124         stop_disko $ISCSI_IHOST
 125         verify_disko $ISCSI_IHOST  
 126         ret=$?
 127         echo Done verify_disko
 128 
 129         msgfile_mark $ISCSI_IHOST STOP $tc_id
 130         msgfile_extract $ISCSI_IHOST $tc_id
 131         msgfile_mark $ISCSI_THOST STOP $tc_id
 132         msgfile_extract $ISCSI_THOST $tc_id
 133 
 134         host_reboot $ISCSI_IHOST
 135         tp_cleanup
 136         clean_fs zfs
 137         initiator_cleanup $ISCSI_IHOST
 138         [[ $ret -eq 0 ]] && cti_pass "tp_iscsi_fs_009: PASS"
 139 }
 140