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 the remove-view subfunction
  29 # of the stmfadm command.
  30 
  31 #
  32 # __stc_assertion_start
  33 # 
  34 # ID: remove007
  35 # 
  36 # DESCRIPTION:
  37 #       Attempt to remove the view with wrong options to verify
  38 #       the view removal functionality
  39 # 
  40 # STRATEGY:
  41 # 
  42 #       Setup:
  43 #               Create the logical unit lu
  44 #               Create the target group tg1 tg2
  45 #               Create the host group hg1 hg2
  46 #               Add the view with hg1, tg1 and lun=0
  47 #               Add the view with hg1, tg2 and lun=1
  48 #               Add the view with hg2, tg1  
  49 #               Add the view with tg2, tg2 
  50 #               Remove the view with ve=0
  51 #               Attempt to remove the view with ve=0 ve=1
  52 #               Remove the view with -a
  53 #               Attempt to remove the view with ve=2 ve=4
  54 #               Attempt to remove the view with wrong sort of -a and -l
  55 #       Test: 
  56 #               Verify the view removal failure
  57 #               Verify the return code               
  58 #       Cleanup:
  59 #               Delete the logical unit lu
  60 #               Delete the host group hg1 hg2
  61 #               Delete the target group tg1 tg2
  62 #               Delete the logical unit lu
  63 #               Remove the existing views 
  64 # 
  65 #       STRATEGY_NOTES:
  66 # 
  67 # KEYWORDS:
  68 # 
  69 #       add-view
  70 # 
  71 # TESTABILITY: explicit
  72 # 
  73 # AUTHOR: John.Gu@Sun.COM
  74 # 
  75 # REVIEWERS:
  76 # 
  77 # TEST_AUTOMATION_LEVEL: automated
  78 # 
  79 # CODING_STATUS: IN_PROGRESS (2008-02-14)
  80 # 
  81 # __stc_assertion_end
  82 function remove007 {
  83         cti_pass
  84         tc_id="remove007"
  85         tc_desc="Remove the view with wrong options"
  86         print_test_case $tc_id - $tc_desc
  87 
  88         build_fs zdsk
  89         fs_zfs_create -V 1g $ZP/${VOL[0]}               
  90 
  91         sbdadm_create_lu POS -s 1024k $DEV_ZVOL/$ZP/${VOL[0]}
  92 
  93         eval guid=\$LU_${VOL[0]}_GUID
  94 
  95         stmfadm_create POS hg ${HG[0]}
  96         stmfadm_create POS hg ${HG[1]}
  97 
  98         stmfadm_create POS tg ${TG[0]}
  99         stmfadm_create POS tg ${TG[1]}
 100         
 101         stmfadm_add POS view -h ${HG[0]} -t ${TG[0]} -n 0 $guid
 102         stmfadm_add POS view -h ${HG[0]} -t ${TG[1]} -n 1 $guid
 103         stmfadm_add POS view -h ${HG[1]} -t ${TG[0]} $guid
 104         stmfadm_add POS view -h ${HG[1]} -t ${TG[1]} $guid
 105 
 106         stmfadm_remove POS view -l $guid 0
 107         stmfadm_remove NEG view -l $guid 0 1
 108 
 109         stmfadm_remove POS view -l $guid -a
 110         stmfadm_remove NEG view -l $guid 2 4
 111         stmfadm_remove NEG view -l -a $guid 
 112         
 113         tp_cleanup
 114         clean_fs zdsk
 115 
 116 }
 117