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 chap authentication
29 #
30
31 # __stc_assertion_start
32 #
33 # ID: iscsi_auth_005
34 #
35 # DESCRIPTION:
36 # iSCSI target port provider can support connection and LU discovery
37 # with bi-directional "CHAP" authentication by initiator and
38 # be verified by iSCSI initiator
39 #
40 # STRATEGY:
41 # Setup:
42 # Create target portal group with specified tag 1 and ip address
43 # Create target node with tpgt 1 with specified auth-method of
44 # "chap" authentication
45 # Modify initiator node authentication property with specified
46 # chap user1 and secret1 on initiator host by iscsiadm
47 # modify initiator-node option
48 # Modify the specified initiator node authentication property on
49 # target host by the same chap user1 and secret1 on initiator
50 # host by itadm modify-initiator option
51 # Modify target node authentication property with specified
52 # chap user2 and secret2 on target host by itadm modify-target
53 # option
54 # Modify the specified target node authentication property on
55 # initiator host by the same chap user2 and secret2 on target
56 # host by iscsiadm modify target-param option
57 # Create a LU on target host by zfs file system
58 # Create the view of LU by default to all target and host groups
59 # Setup initiator node to enable "SendTarget" method
60 # Setup SendTarget with discovery address on initiator host
61 # Test:
62 # Check that device path of specified LU can be visible by
63 # iscsi initiator node
64 # Check that iscsi initiator node has at least 1 connection
65 # Cleanup:
66 # Delete the target portal group
67 # Delete the target node
68 # Delete the configuration information in initiator and target
69 #
70 # STRATEGY_NOTES:
71 #
72 # TESTABILITY: explicit
73 #
74 # AUTHOR: john.gu@sun.com
75 #
76 # REVIEWERS:
77 #
78 # ASSERTION_SOURCE:
79 #
80 # TEST_AUTOMATION_LEVEL: automated
81 #
82 # STATUS: IN_PROGRESS
83 #
84 # COMMENTS:
85 #
86 # __stc_assertion_end
87 #
88 function iscsi_auth_005
89 {
90 cti_pass
91
92 tc_id="iscsi_auth_005"
93
94 tc_desc="iSCSI target port provider can support connection and LU"
95 tc_desc="${tc_desc} discovery with bi-directional CHAP authentication"
96 tc_desc="${tc_desc} by initiator and be verified by iSCSI initiator"
97 print_test_case $tc_id - $tc_desc
98
99 stmsboot_enable_mpxio $ISCSI_IHOST
100
101 typeset portal_list
102 set -A portal_list $(get_portal_list ${ISCSI_THOST})
103
104 typeset t="${IQN_TARGET}.${TARGET[1]}"
105 # Create target and target protal group
106 itadm_create POS tpg 1 "${portal_list[0]}"
107 itadm_create POS target -n ${t} -t 1 -a chap
108
109 # Set initiator chap properities on initiator host
110 iscsiadm_modify POS "${ISCSI_IHOST}" initiator-node -C "123456789012"
111 iscsiadm_modify POS "${ISCSI_IHOST}" initiator-node -H "i_chap_user"
112
113 # Set initiator chap properities on target host
114 typeset i_node_name="$(iscsiadm_i_node_name_get ${ISCSI_IHOST})"
115 itadm_create POS initiator -s "123456789012" "${i_node_name}"
116 itadm_modify POS initiator -u "i_chap_user" "${i_node_name}"
117
118 # Set target chap properities on initiator host
119 iscsiadm_modify POS "${ISCSI_IHOST}" target-param -C "120123456789" ${t}
120 iscsiadm_modify POS "${ISCSI_IHOST}" target-param -H "t_chap_user" ${t}
121 iscsiadm_modify POS "${ISCSI_IHOST}" target-param -B "enable" ${t}
122 iscsiadm_modify POS "${ISCSI_IHOST}" target-param -a "CHAP" ${t}
123
124 # Set target chap properities on target host
125 itadm_modify POS target -s "120123456789" "${t}"
126 itadm_modify POS target -u "t_chap_user" "${t}"
127
128 #Create lu
129 build_fs zdsk
130 fs_zfs_create -V 1g $ZP/${VOL[0]}
131 sbdadm_create_lu POS -s 1024k $DEV_ZVOL/$ZP/${VOL[0]}
132
133 typeset guid
134 eval guid=\$LU_${VOL[0]}_GUID
135 # Add view
136 stmfadm_add POS view "${guid}"
137 # Online lu
138 stmfadm_online POS lu "${guid}"
139 # Online target
140 stmfadm_online POS target "${IQN_TARGET}.${TARGET[1]}"
141
142 # Set discover address
143 iscsiadm_add POS ${ISCSI_IHOST} discovery-address \
144 "${portal_list[0]}"
145
146 # Enable sendTargets discovery method
147 iscsiadm_modify POS ${ISCSI_IHOST} discovery -t enable
148
149 # Verify the lun on initiator host
150 iscsiadm_verify ${ISCSI_IHOST} lun
151
152 tp_cleanup
153 clean_fs zdsk
154 initiator_cleanup "${ISCSI_IHOST}"
155
156 }
157