blob: cfa1b913e5508ff597facaed687473cc0f986382 [file] [log] [blame]
Vijaybc331e22020-02-27 04:17:37 -06001*** Settings ***
2
Sushil Singhd03f2ce2020-09-17 08:54:41 -05003Documentation Test lock management feature of management console on BMC.
Vijaybc331e22020-02-27 04:17:37 -06004
Sushil Singhd03f2ce2020-09-17 08:54:41 -05005Resource ../../lib/resource.robot
6Resource ../../lib/openbmc_ffdc.robot
7Resource ../../lib/bmc_redfish_utils.robot
8Resource ../../lib/external_intf/management_console_utils.robot
Sushil Singh728ef9c2020-10-28 04:25:39 -05009Library ../../lib/bmc_network_utils.py
Vijaybc331e22020-02-27 04:17:37 -060010
Sushil Singhd03f2ce2020-09-17 08:54:41 -050011Suite Setup Run Keyword And Ignore Error Delete All Redfish Sessions
12Suite Teardown Redfish.Logout
13Test Setup Printn
14Test Teardown FFDC On Test Case Fail
Vijaybc331e22020-02-27 04:17:37 -060015
16*** Variables ***
17
Sushil Singhd03f2ce2020-09-17 08:54:41 -050018${BAD_REQUEST} Bad Request
Vijaybc331e22020-02-27 04:17:37 -060019
20*** Test Cases ***
21
Sushil Singhd03f2ce2020-09-17 08:54:41 -050022Acquire Read Write Lock
Vijaybc331e22020-02-27 04:17:37 -060023 [Documentation] Acquire and release different read locks.
Sushil Singhd03f2ce2020-09-17 08:54:41 -050024 [Tags] Acquire_Read_Write_Lock
25 [Template] Acquire Lock On Resource
Vijaybc331e22020-02-27 04:17:37 -060026
Sushil Singhd03f2ce2020-09-17 08:54:41 -050027 # client_id lock_type reboot_flag
28 HMCID-01 ReadCase1 False
29 HMCID-01 ReadCase2 False
30 HMCID-01 ReadCase3 False
31 HMCID-01 WriteCase1 False
32 HMCID-01 WriteCase2 False
33 HMCID-01 WriteCase3 False
Vijaybc331e22020-02-27 04:17:37 -060034
35
Sushil Singhd03f2ce2020-09-17 08:54:41 -050036Check Lock Persistency On BMC Reboot
37 [Documentation] Acquire lock and check after reboot it remain same.
38 [Tags] Check_Lock_Persistency_On_BMC_Reboot
39 [Template] Acquire Lock On Resource
Vijaybc331e22020-02-27 04:17:37 -060040
Sushil Singhd03f2ce2020-09-17 08:54:41 -050041 # client_id lock_type reboot_flag
42 HMCID-01 ReadCase1 True
43 HMCID-01 ReadCase2 True
44 HMCID-01 ReadCase3 True
45 HMCID-01 WriteCase1 True
46 HMCID-01 WriteCase2 True
47 HMCID-01 WriteCase3 True
Vijaybc331e22020-02-27 04:17:37 -060048
49
Sushil Singhd03f2ce2020-09-17 08:54:41 -050050Acquire Read Lock On Read Lock
51 [Documentation] Acquire read lock on another read lock.
52 [Tags] Acquire_Read_Lock_On_Read_Lock
53 [Template] Acquire Lock On Another Lock
Vijaybc331e22020-02-27 04:17:37 -060054
Sushil Singhd03f2ce2020-09-17 08:54:41 -050055 # client_id
56 HMCID-01
Vijaybc331e22020-02-27 04:17:37 -060057
58
Sushil Singhd03f2ce2020-09-17 08:54:41 -050059Get Lock Records Empty For Invalid Session
60 [Documentation] Record of lock list is empty for invalid session.
61 [Tags] Get_Lock_Records_Empty_For_Invalid_Session
62 [Template] Verify Empty Lock Records For Invalid Session
Vijay355daac2020-03-26 12:06:08 -050063
Sushil Singhd03f2ce2020-09-17 08:54:41 -050064 # client_id
65 HMCID-01
Vijay355daac2020-03-26 12:06:08 -050066
67
Sushil Singhd03f2ce2020-09-17 08:54:41 -050068Fail To Acquire Lock On Another Lock
69 [Documentation] Fail to acquire another lock.
70 [Tags] Fail_To_Acquire_Lock_On_Another_Lock
71 [Template] Verify Acquire Lock Fails On Another Lock
Vijay85610ee2020-04-03 05:30:28 -050072
Sushil Singhd03f2ce2020-09-17 08:54:41 -050073 # client_id lock_type
74 HMCID-01 ReadCase2,WriteCase2
75 HMCID-01 WriteCase2,WriteCase2
76 HMCID-01 WriteCase2,ReadCase2
George Keishing566daaf2020-07-02 06:18:50 -050077
78
Sushil Singhe33c6e62020-09-29 06:34:35 -050079Acquire Lock After Reboot
80 [Documentation] Acquire and release read and write locks after reboot.
81 [Tags] Acquire_Lock_After_Reboot
82 [Template] Verify Acquire Lock After Reboot
83
84 # client_id lock_type
85 HMCID-01 ReadCase1
86 HMCID-01 ReadCase2
87 HMCID-01 ReadCase3
88 HMCID-01 WriteCase1
89 HMCID-01 WriteCase2
90 HMCID-01 WriteCase3
91
92
Sushil Singhd03f2ce2020-09-17 08:54:41 -050093Acquire And Release Lock In Loop
94 [Documentation] Acquire and release read, write locks in loop.
95 [Tags] Acquire_And_Release_Lock_In_Loop
96 [Template] Verify Acquire And Release Lock In Loop
George Keishing566daaf2020-07-02 06:18:50 -050097
Sushil Singhd03f2ce2020-09-17 08:54:41 -050098 # client_id lock_type
99 HMCID-01 ReadCase1
100 HMCID-01 ReadCase2
101 HMCID-01 ReadCase3
102 HMCID-01 WriteCase1
103 HMCID-01 WriteCase2
104 HMCID-01 WriteCase3
Vijay85610ee2020-04-03 05:30:28 -0500105
106
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500107Verify Release Of Valid Locks
108 [Documentation] Release all valid locks.
109 [Tags] Verify_Release_Of_Valid_Locks
110 [Template] Acquire And Release Multiple Locks
Vijayafdd2a12020-04-09 02:03:20 -0500111
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500112 # client_id lock_type release_lock_type
113 HMCID-01 ReadCase1,ReadCase1,ReadCase1 Transaction
114 HMCID-02 ReadCase1,ReadCase1,ReadCase1 Session
Vijayafdd2a12020-04-09 02:03:20 -0500115
116
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500117Invalid Locks Fail To Release
118 [Documentation] Release in-valid lock result in fail.
119 [Tags] Invalid_Locks_Fail_To_Release
120 [Template] Verify Invalid Locks Fail To Release
Vijayafdd2a12020-04-09 02:03:20 -0500121
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500122 # client_id lock_type release_lock_type
123 HMCID-01 ReadCase1,ReadCase1,ReadCase1 Transaction
124 12345 ReadCase2,ReadCase2,ReadCase2 Transaction
125 HMCID ReadCase3,ReadCase3,ReadCase3 Transaction
Vijayafdd2a12020-04-09 02:03:20 -0500126
127
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500128Fail To Release Lock For Another Session
129 [Documentation] Failed to release locks from another session.
130 [Tags] Fail_To_Release_Lock_For_Another_Session
131 [Template] Verify Fail To Release Lock For Another Session
Vijayafdd2a12020-04-09 02:03:20 -0500132
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500133 # client_id lock_type
134 HMCID-01,HMCID-02 ReadCase1,ReadCase1
Vijayafdd2a12020-04-09 02:03:20 -0500135
136
Sushil Singhe33c6e62020-09-29 06:34:35 -0500137Test Invalid Resource ID Data Type Locking
138 [Documentation] Failed to acquire lock for invalid resource id data type.
139 [Tags] Test_Invalid_Resource_ID_Data_Type_Locking
140 [Template] Verify Fail To Acquire Lock For Invalid Resource ID Data Type
141
142 # client_id lock_type
143 HMCID-01 ReadCase1
144 HMCID-01 ReadCase2
145 HMCID-01 ReadCase3
146 HMCID-01 WriteCase1
147 HMCID-01 WriteCase2
148 HMCID-01 WriteCase3
149
150
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500151Fail To Acquire Lock For Invalid Lock Type
152 [Documentation] Failed to acquire read, write lock for invalid lock data passed.
153 [Tags] Fail_To_Acquire_Lock_For_Invalid_Lock_Type
154 [Template] Verify Fail To Acquire Lock For Invalid Lock Data
Vijayafdd2a12020-04-09 02:03:20 -0500155
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500156 # client_id lock_type message
157 HMCID-01 ReadCase1 ${BAD_REQUEST}
158 HMCID-01 ReadCase2 ${BAD_REQUEST}
159 HMCID-01 ReadCase3 ${BAD_REQUEST}
160 HMCID-01 ReadCase4 ${BAD_REQUEST}
161 HMCID-01 ReadCase5 ${BAD_REQUEST}
162 HMCID-01 WriteCase1 ${BAD_REQUEST}
163 HMCID-01 WriteCase2 ${BAD_REQUEST}
164 HMCID-01 WriteCase3 ${BAD_REQUEST}
165 HMCID-01 WriteCase4 ${BAD_REQUEST}
166 HMCID-01 WriteCase5 ${BAD_REQUEST}
Vijayafdd2a12020-04-09 02:03:20 -0500167
Vijayafdd2a12020-04-09 02:03:20 -0500168
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500169Fail To Acquire Lock For Invalid Lock Flag
170 [Documentation] Failed to acquire read write lock for invalid lock flag passed.
171 [Tags] Fail_To_Acquire_Lock_For_Invalid_Lock_Flag
172 [Template] Verify Fail To Acquire Lock For Invalid Lock Data
Vijayafdd2a12020-04-09 02:03:20 -0500173
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500174 # client_id lock_type message
175 HMCID-01 ReadCase6 ${BAD_REQUEST}
176 HMCID-01 ReadCase7 ${BAD_REQUEST}
177 HMCID-01 ReadCase8 ${BAD_REQUEST}
178 HMCID-01 ReadCase9 ${BAD_REQUEST}
179 HMCID-01 ReadCase10 ${BAD_REQUEST}
180 HMCID-01 ReadCase11 ${BAD_REQUEST}
181 HMCID-01 WriteCase6 ${BAD_REQUEST}
182 HMCID-01 WriteCase7 ${BAD_REQUEST}
183 HMCID-01 WriteCase8 ${BAD_REQUEST}
184 HMCID-01 WriteCase9 ${BAD_REQUEST}
185 HMCID-01 WriteCase10 ${BAD_REQUEST}
186 HMCID-01 WriteCase11 ${BAD_REQUEST}
Vijayafdd2a12020-04-09 02:03:20 -0500187
Vijayafdd2a12020-04-09 02:03:20 -0500188
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500189Fail To Acquire Lock For Invalid Segment Flag
190 [Documentation] Failed to acquire read write lock for invalid segment flag passed.
191 [Tags] Fail_To_Acquire_Lock_For_Invalid_Segment_Flag
192 [Template] Verify Fail To Acquire Lock For Invalid Lock Data
193
194 # client_id lock_type message
195 HMCID-01 ReadCase12 ${BAD_REQUEST}
196 HMCID-01 ReadCase13 ${BAD_REQUEST}
197 HMCID-01 ReadCase14 ${BAD_REQUEST}
198 HMCID-01 WriteCase12 ${BAD_REQUEST}
199 HMCID-01 WriteCase13 ${BAD_REQUEST}
200 HMCID-01 WriteCase14 ${BAD_REQUEST}
Vijayafdd2a12020-04-09 02:03:20 -0500201
Sushil Singhbace3002020-10-08 08:12:58 -0500202
Sushil Singh3b3a7ec2020-11-23 03:54:06 -0600203Fail To Acquire Lock For Invalid Segment Data Type Flag
204 [Documentation] Failed to acquire read write lock for invalid segment flag passed.
205 [Tags] Fail_To_Acquire_Lock_For_Invalid_Segment_Data_Type_Flag
206 [Template] Verify Fail To Acquire Lock For Invalid Lock Data
207
208 # client_id lock_type message
209 HMCID-01 ReadCase15 ${EMPTY}
210 HMCID-01 ReadCase16 ${EMPTY}
211 HMCID-01 ReadCase17 ${EMPTY}
212 HMCID-01 ReadCase18 ${EMPTY}
213 HMCID-01 WriteCase15 ${EMPTY}
214 HMCID-01 WriteCase16 ${EMPTY}
215 HMCID-01 WriteCase17 ${EMPTY}
216 HMCID-01 WriteCase18 ${EMPTY}
217
218
Sushil Singhbace3002020-10-08 08:12:58 -0500219Get Empty Lock Records For Session Where No Locks Acquired
220 [Documentation] If session does not acquire locks then get lock should return
221 ... empty lock records.
222 [Tags] Get_Empty_Lock_Records_For_Session_Where_No_Locks_Acquired
223 [Template] Verify No Locks Records For Session With No Acquired Lock
224
225 # client_id
226 HMCID-01
227
Sushil Singh728ef9c2020-10-28 04:25:39 -0500228
229Get Lock Records For Multiple Session
230 [Documentation] Get lock records of multiple session.
231 [Tags] Get_Lock_Records_For_Multiple_Session
232 [Template] Verify Lock Records Of Multiple Session
233
234 # client_ids lock_type
235 HMCID-01,HMCID-02 ReadCase1,ReadCase1
236
237
Vijaybc331e22020-02-27 04:17:37 -0600238*** Keywords ***
239
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500240Create Redfish Session With ClientID
241 [Documentation] Create redifish session with client id.
242 [Arguments] ${client_id}
Vijay85610ee2020-04-03 05:30:28 -0500243
244 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500245 # client_id This client id can contain string value
246 # (e.g. 12345, "HMCID").
Vijay85610ee2020-04-03 05:30:28 -0500247
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500248 ${session_info}= Create Dictionary
249 ${session}= Redfish Login kwargs= "Oem":{"OpenBMC" : {"ClientID":"${client_id}"}}
Vijay85610ee2020-04-03 05:30:28 -0500250
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500251 Set To Dictionary ${session_info} SessionIDs ${session['Id']}
252 Set To Dictionary ${session_info} ClientID ${session["Oem"]["OpenBMC"]["ClientID"]}
Vijay85610ee2020-04-03 05:30:28 -0500253
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500254 [Return] ${session_info}
Vijay85610ee2020-04-03 05:30:28 -0500255
256
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500257RW General Dictionary
258 [Documentation] Create dictionay of lock request.
259 [Arguments] ${read_case} ${res_id}
Vijaybc331e22020-02-27 04:17:37 -0600260
261 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500262 # read_case Read or Write lock type.
263 # res_id Resource id.
Vijaybc331e22020-02-27 04:17:37 -0600264
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500265 ${request_dict}= Create Dictionary
George Keishing566daaf2020-07-02 06:18:50 -0500266
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500267 FOR ${key} IN @{read_case.keys()}
268 Set To Dictionary ${request_dict} LockType ${key}
269 Set To Dictionary ${request_dict} SegmentFlags ${read_case["${key}"]}
270 END
Vijaybc331e22020-02-27 04:17:37 -0600271
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500272 Set To Dictionary ${request_dict} ResourceID ${res_id}
273
274 [Return] ${request_dict}
Vijaybc331e22020-02-27 04:17:37 -0600275
276
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500277Return Description Of Response
278 [Documentation] Return description of REST response.
Vijaybc331e22020-02-27 04:17:37 -0600279 [Arguments] ${resp_text}
280
281 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500282 # resp_text REST response body.
Vijaybc331e22020-02-27 04:17:37 -0600283
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500284 # resp_text after successful partition file upload looks like:
285 # {
286 # "Description": "File Created"
287 # }
Vijaybc331e22020-02-27 04:17:37 -0600288
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500289 ${message}= Evaluate json.loads('''${resp_text}''') json
290
291 [Return] ${message}
Vijaybc331e22020-02-27 04:17:37 -0600292
293
Sushil Singha7d71f02020-11-02 05:24:22 -0600294Verify Redfish Session Deleted
295 [Documentation] Verify the redfish session is deleted.
296 [Arguments] ${session_info}
297
298 # Description of argument(s):
299 # session_info Session information are stored in dictionary.
300
301 # ${session_info} = {
302 # 'SessionIDs': 'XXXXXXXXX',
303 # 'ClientID': 'XXXXXX',
304 # 'SessionToken': 'XXXXXXXXX',
305 # 'SessionResp': session response from redfish login
306 # }
307
308 # SessionIDs : Session IDs
309 # ClientID : Client ID
310 # SessionToken : Session token
311 # SessionResp : Response of creating an redfish login session
312
313 ${sessions}= Redfish.Get Properties /redfish/v1/SessionService/Sessions
314
315 FOR ${session} IN @{sessions['Members']}
316 Should Not Be Equal As Strings session ['/redfish/v1/SessionService/Sessions/${session_info["SessionIDs"]}']
317 END
318
319
320Verify Redfish List Of Session Deleted
321 [Documentation] Verify all the list of redfish session is deleted.
322 [Arguments] ${session_info_list}
323
324 # Description of argument(s):
325 # session_info_list List contains individual session record are stored in dictionary.
326
327 # ${session_info_list} = [{
328 # 'SessionIDs': 'XXXXXXXXX',
329 # 'ClientID': 'XXXXXX',
330 # 'SessionToken': 'XXXXXXXXX',
331 # 'SessionResp': session response from redfish login
332 # }]
333
334 # SessionIDs : Session IDs
335 # ClientID : Client ID
336 # SessionToken : Session token
337 # SessionResp : Response of creating an redfish login session
338
339 FOR ${session_record} IN @{session_info_list}
340 Verify Redfish Session Deleted ${session_record}
341 END
342
343
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500344Redfish Post Acquire Lock
345 [Documentation] Acquire and release lock.
346 [Arguments] ${lock_type} ${status_code}=${HTTP_OK}
Vijaybc331e22020-02-27 04:17:37 -0600347
348 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500349 # lock_type Read lock or Write lock.
350 # status_code HTTP status code.
Vijaybc331e22020-02-27 04:17:37 -0600351
Sushil Singhe33c6e62020-09-29 06:34:35 -0500352 ${lock_dict_param}= Form Data To Acquire Lock ${lock_type}
353 ${resp}= Redfish Post Request /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock data=${lock_dict_param}
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500354 Should Be Equal As Strings ${resp.status_code} ${status_code}
355 ${resp}= Return Description Of Response ${resp.content}
Vijaybc331e22020-02-27 04:17:37 -0600356
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500357 [Return] ${resp}
Vijaybc331e22020-02-27 04:17:37 -0600358
359
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500360Redfish Post Acquire Invalid Lock
361 [Documentation] Redfish to post request to acquire in-valid lock.
362 [Arguments] ${lock_type} ${message} ${status_code}=${HTTP_OK}
Vijaybc331e22020-02-27 04:17:37 -0600363
364 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500365 # lock_type Read lock or Write lock.
366 # message Return message from URI.
367 # status_code HTTP status code.
Vijaybc331e22020-02-27 04:17:37 -0600368
Sushil Singhe33c6e62020-09-29 06:34:35 -0500369 ${lock_dict_param}= Form Data To Acquire Invalid Lock ${lock_type}
370 ${resp}= Redfish Post Request /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock data=${lock_dict_param}
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500371 Should Be Equal As Strings ${resp.status_code} ${status_code}
Sushil Singh3b3a7ec2020-11-23 03:54:06 -0600372 Run Keyword If '${message}' != '${EMPTY}'
373 ... Valid Value message ['${resp.content}']
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500374
375 [Return] ${resp}
Vijaybc331e22020-02-27 04:17:37 -0600376
377
Sushil Singhe33c6e62020-09-29 06:34:35 -0500378Redfish Post Acquire Invalid Lock With Invalid Data Type Of Resource ID
379 [Documentation] Redfish to post request to acquire in-valid lock with invalid data type of resource id.
380 [Arguments] ${lock_type} ${status_code}=${HTTP_OK}
381
382 # Description of argument(s):
383 # lock_type Read lock or Write lock.
384 # status_code HTTP status code.
385
386 ${lock_dict_param}= Form Data To Acquire Invalid Lock With Invalid Data Type Of Resource ID ${lock_type}
387 ${resp}= Redfish Post Request /ibm/v1/HMC/LockService/Actions/LockService.AcquireLock data=${lock_dict_param}
388 Should Be Equal As Strings ${resp.status_code} ${status_code}
389
390 [Return] ${resp}
391
392
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500393Form Data To Acquire Lock
394 [Documentation] Create a dictionay for lock request.
395 [Arguments] ${lock_type}
396
397 # Description of argument(s):
398 # lock_type Read lock or Write lock.
399
400 ${lock_res_info}= Get Lock Resource Information
401 ${resp}= RW General Dictionary
402 ... ${lock_res_info["Valid Case"]["${lock_type}"]}
403 ... ${lock_res_info["Valid Case"]["ResourceID"]}
404 ${temp_list}= Create List ${resp}
Sushil Singhe33c6e62020-09-29 06:34:35 -0500405 ${lock_request_dict}= Create Dictionary Request=${temp_list}
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500406
Sushil Singhe33c6e62020-09-29 06:34:35 -0500407 [Return] ${lock_request_dict}
408
409
410Form Data To Acquire Invalid Lock With Invalid Data Type Of Resource ID
411 [Documentation] Create a dictionay for in-valid lock request.
412 [Arguments] ${lock_type}
413
414 # Description of argument(s):
415 # lock_type Read lock or Write lock.
416
417 ${lock_res_info}= Get Lock Resource Information
418 ${resp}= RW General Dictionary
419 ... ${lock_res_info["Valid Case"]["${lock_type}"]}
420 ... ${lock_res_info["Invalid Case"]["ResourceIDInvalidDataType"]}
421 ${temp_list}= Create List ${resp}
422 ${lock_request_dict}= Create Dictionary Request=${temp_list}
423
424 [Return] ${lock_request_dict}
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500425
426
427Form Data To Acquire Invalid Lock
428 [Documentation] Create a dictionay for in-valid lock request.
429 [Arguments] ${lock_type}
430
431 # Description of argument(s):
432 # lock_type Read lock or Write lock.
433
434 ${lock_res_info}= Get Lock Resource Information
435 ${resp}= RW General Dictionary
436 ... ${lock_res_info["Invalid Case"]["${lock_type}"]}
437 ... ${lock_res_info["Valid Case"]["ResourceID"]}
438 ${temp_list}= Create List ${resp}
Sushil Singhe33c6e62020-09-29 06:34:35 -0500439 ${lock_request_dict}= Create Dictionary Request=${temp_list}
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500440
Sushil Singhe33c6e62020-09-29 06:34:35 -0500441 [Return] ${lock_request_dict}
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500442
443
444Get Locks List On Resource
Vijaybc331e22020-02-27 04:17:37 -0600445 [Documentation] Get locks list.
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500446 [Arguments] ${session_info} ${exp_status_code}=${HTTP_OK}
Vijaybc331e22020-02-27 04:17:37 -0600447
448 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500449 # session_info Session information in dict.
450 # exp_status_code Expected HTTP status code.
Vijaybc331e22020-02-27 04:17:37 -0600451
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500452 ${data}= Set Variable {"SessionIDs": ["${session_info['SessionIDs']}"]}
George Keishing566daaf2020-07-02 06:18:50 -0500453 ${resp}= Redfish Post Request /ibm/v1/HMC/LockService/Actions/LockService.GetLockList
454 ... data=${data}
Vijaybc331e22020-02-27 04:17:37 -0600455 ${locks}= Evaluate json.loads('''${resp.text}''') json
456
457 [Return] ${locks["Records"]}
458
459
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500460Verify Lock On Resource
461 [Documentation] Verify lock on resource.
462 [Arguments] ${session_info} ${transaction_id}
Vijaybc331e22020-02-27 04:17:37 -0600463
464 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500465 # session_info Session information in dict.
466 # transaction_id Transaction id in list stored in dict.
Vijaybc331e22020-02-27 04:17:37 -0600467
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500468 ${sessions}= Redfish.Get Properties /redfish/v1/SessionService/Sessions/${session_info['SessionIDs']}
469 Rprint Vars sessions
470 ${lock_list}= Get Locks List On Resource ${session_info}
471 ${lock_length}= Get Length ${lock_list}
472 ${tran_id_length}= Get Length ${transaction_id}
473 Should Be Equal As Integers ${tran_id_length} ${lock_length}
Vijayafdd2a12020-04-09 02:03:20 -0500474
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500475 FOR ${tran_id} ${lock} IN ZIP ${transaction_id} ${lock_list}
476 Valid Value session_info['ClientID'] ['${lock['HMCID']}']
477 Valid Value session_info['SessionIDs'] ['${lock['SessionID']}']
478 Should Be Equal As Integers ${tran_id['TransactionID']} ${lock['TransactionID']}
Vijaybc331e22020-02-27 04:17:37 -0600479 END
480
Vijaybc331e22020-02-27 04:17:37 -0600481
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500482Acquire Lock On Resource
483 [Documentation] Acquire lock on resource.
484 [Arguments] ${client_id} ${lock_type} ${reboot_flag}=False
Vijaybc331e22020-02-27 04:17:37 -0600485
486 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500487 # client_id This client id can contain string value
488 # (e.g. 12345, "HMCID").
489 # lock_type Read lock or Write lock.
490 # reboot_flag Flag is used to run reboot the BMC code.
491 # (e.g. True or False).
Vijaybc331e22020-02-27 04:17:37 -0600492
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500493 ${trans_id_list}= Create List
494 ${session_info}= Create Redfish Session With ClientID ${client_id}
495 ${trans_id}= Redfish Post Acquire Lock ${lock_type}
496 Append To List ${trans_id_list} ${trans_id}
497 Verify Lock On Resource ${session_info} ${trans_id_list}
George Keishing566daaf2020-07-02 06:18:50 -0500498
Sushil Singhe33c6e62020-09-29 06:34:35 -0500499 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
Vijaybc331e22020-02-27 04:17:37 -0600500
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500501 Run Keyword If '${reboot_flag}' == 'True'
502 ... Run Keywords Redfish OBMC Reboot (off) AND
503 ... Redfish Login AND
Sushil Singhe33c6e62020-09-29 06:34:35 -0500504 ... Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token} AND
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500505 ... Verify Lock On Resource ${session_info} ${trans_id_list} AND
506 ... Release Locks On Resource ${session_info} ${trans_id_list} Transaction ${HTTP_OK}
Vijaybc331e22020-02-27 04:17:37 -0600507
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500508 Run Keyword If '${reboot_flag}' == 'False'
509 ... Release Locks On Resource ${session_info} ${trans_id_list} Transaction ${HTTP_OK}
Vijaybc331e22020-02-27 04:17:37 -0600510
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500511 ${trans_id_emptylist}= Create List
512 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
513 Redfish Delete Session ${session_info}
Vijaybc331e22020-02-27 04:17:37 -0600514
Vijaybc331e22020-02-27 04:17:37 -0600515
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500516Form Data To Release Lock
517 [Documentation] Create a dictonay to release lock.
518 [Arguments] ${trans_id_list}
Vijay355daac2020-03-26 12:06:08 -0500519
520 # Description of argument(s):
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500521 # trans_id_list
Vijay355daac2020-03-26 12:06:08 -0500522
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500523 @{tran_ids}= Create List
Vijay355daac2020-03-26 12:06:08 -0500524
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500525 FOR ${item} IN @{trans_id_list}
526 Append To List ${tran_ids} ${item['TransactionID']}
527 END
528
529 [Return] ${tran_ids}
530
531
532Release Locks On Resource
533 [Documentation] Redfish request to release a lock.
534 [Arguments] ${session_info} ${trans_id_list} ${release_lock_type}=Transaction ${status_code}=${HTTP_OK}
535
536 # Description of argument(s):
537 # session_info Session information in dict.
538 # trans_id_list Transaction id list.
539 # release_lock_type Release lock by Transaction, Session.
540 # status_code HTTP status code.
541
542 ${tran_ids}= Form Data To Release Lock ${trans_id_list}
543 ${data}= Set Variable {"Type": "${release_lock_type}", "TransactionIDs":${tran_ids}}
544 ${data}= Evaluate json.dumps(${data}) json
545 ${resp}= Redfish Post Request /ibm/v1/HMC/LockService/Actions/LockService.ReleaseLock data=${data}
546 Should Be Equal As Strings ${resp.status_code} ${status_code}
547
548
549Acquire Lock On Another Lock
550 [Documentation] Acquire lock on another lock.
551 [Arguments] ${client_id}
552
553 # Description of argument(s):
554 # client_id This client id can contain string value
555 # (e.g. 12345, "HMCID").
556
557 ${trans_id_list}= Create List
558 ${session_info}= Create Redfish Session With ClientID ${client_id}
559
560 ${trans_id}= Redfish Post Acquire Lock ReadCase1
561 Append To List ${trans_id_list} ${trans_id}
562
563 ${trans_id}= Redfish Post Acquire Lock ReadCase1
564 Append To List ${trans_id_list} ${trans_id}
565
566 Verify Lock On Resource ${session_info} ${trans_id_list}
567 Release Locks On Resource ${session_info} ${trans_id_list}
568
569 ${trans_id_emptylist}= Create List
570 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
571 Redfish Delete Session ${session_info}
572
573
574Verify Empty Lock Records For Invalid Session
575 [Documentation] Verify no lock record found for invalid session.
576 [Arguments] ${client_id}
577
578 # Description of argument(s):
579 # client_id This client id can contain string value
580 # (e.g. 12345, "HMCID").
581
582 ${session_info1}= Create Redfish Session With ClientID ${client_id}
583
584 ${lock_list1}= Get Locks List On Resource ${session_info1}
585 ${lock_length1}= Get Length ${lock_list1}
586
587 ${session_info2}= Copy Dictionary ${session_info1} deepcopy=True
588 set to dictionary ${session_info2} SessionIDs xxyXyyYZZz
589
590 ${lock_list2}= Get Locks List On Resource ${session_info2}
591 ${lock_length2}= Get Length ${lock_list1}
592
593 Valid Value lock_length1 ${lock_list2}
594
595 Redfish Delete Session ${session_info1}
596
597
598Verify Acquire Lock Fails On Another Lock
599 [Documentation] Verify acquire lock on another lock fails.
600 [Arguments] ${client_id} ${lock_type}
601
602 # Description of argument(s):
603 # client_id This client id can contain string value
604 # (e.g. 12345, "HMCID").
605 # lock_type Read lock or Write lock.
606
607 @{lock_type_list}= Split String ${lock_type} ,
608 ${session_info}= Create Redfish Session With ClientID ${client_id}
609 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[0]
610
611 ${trans_id_list}= Create List
612 Append To List ${trans_id_list} ${trans_id}
613
614 Verify Lock On Resource ${session_info} ${trans_id_list}
615 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[1] status_code=${HTTP_CONFLICT}
616 Release Locks On Resource ${session_info} ${trans_id_list}
617
618 ${trans_id_emptylist}= Create List
619 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
620
621 Redfish Delete Session ${session_info}
622
623
Sushil Singhe33c6e62020-09-29 06:34:35 -0500624Verify Acquire Lock After Reboot
625 [Documentation] Acquire read and write lock after the reboot and release lock.
626 [Arguments] ${client_id} ${lock_type}
627
628 # Description of argument(s):
629 # client_id This client id can contain string value
630 # (e.g. 12345, "HMCID").
631 # lock_type Read lock or Write lock.
632
633 ${trans_id_list}= Create List
634 ${session_info}= Create Redfish Session With ClientID ${client_id}
635 ${before_reboot_xauth_token}= Set Variable ${XAUTH_TOKEN}
636 Redfish OBMC Reboot (off)
637 Redfish Login
638 Set Global Variable ${XAUTH_TOKEN} ${before_reboot_xauth_token}
639
640 ${trans_id}= Redfish Post Acquire Lock ${lock_type}
641 Append To List ${trans_id_list} ${trans_id}
642 Verify Lock On Resource ${session_info} ${trans_id_list}
643 Release Locks On Resource ${session_info} ${trans_id_list} Transaction ${HTTP_OK}
644
645 ${trans_id_emptylist}= Create List
646 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
647 Redfish Delete Session ${session_info}
648
649
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500650Verify Acquire And Release Lock In Loop
651 [Documentation] Acquire lock in loop.
652 [Arguments] ${client_id} ${lock_type}
653
654 # Description of argument(s):
655 # client_id This client id can contain string value
656 # (e.g. 12345, "HMCID").
657 # lock_type Read lock or Write lock.
658
659 FOR ${count} IN RANGE 1 11
660 ${trans_id_list}= Create List
661 ${session_info}= Create Redfish Session With ClientID ${client_id}
662 ${trans_id}= Redfish Post Acquire Lock ${lock_type}
663 Append To List ${trans_id_list} ${trans_id}
664 Verify Lock On Resource ${session_info} ${trans_id_list}
665 Release Locks On Resource ${session_info} ${trans_id_list} Transaction ${HTTP_OK}
666 ${trans_id_emptylist}= Create List
667 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
668 END
669
670 Redfish Delete Session ${session_info}
671
672
673Acquire And Release Multiple Locks
674 [Documentation] Acquire mutilple locks on resource.
675 [Arguments] ${client_id} ${lock_type} ${release_lock_type}
676
677 # Description of argument(s):
678 # client_id This client id can contain string value
679 # (e.g. 12345, "HMCID").
680 # lock_type Read lock or Write lock.
681 # release_lock_type The value can be Transaction or Session.
682
683 @{lock_type_list}= Split String ${lock_type} ,
684 ${session_info}= Create Redfish Session With ClientID ${client_id}
685 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[0]
686
687 ${trans_id_list}= Create List
688
689 Append To List ${trans_id_list} ${trans_id}
690 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[1]
691
692 Append To List ${trans_id_list} ${trans_id}
693 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[2]
694
695 Append To List ${trans_id_list} ${trans_id}
696 Verify Lock On Resource ${session_info} ${trans_id_list}
697 Release Locks On Resource ${session_info} ${trans_id_list} release_lock_type=${release_lock_type}
698
699 ${trans_id_emptylist}= Create List
700 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
701 Redfish Delete Session ${session_info}
702
703
704Verify Invalid Locks Fail To Release
705 [Documentation] Verify invalid locks fails to be released.
706 [Arguments] ${client_id} ${lock_type} ${release_lock_type}
707
708 # Description of argument(s):
709 # client_id This client id can contain string value
710 # (e.g. 12345, "HMCID").
711 # lock_type Read lock or Write lock.
712 # release_lock_type The value can be Transaction or Session.
713
714 ${trans_id_list}= Create List
715 @{lock_type_list}= Split String ${lock_type} ,
716
717 ${session_info}= Create Redfish Session With ClientID ${client_id}
718
719 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[0]
720 ${value}= Get From Dictionary ${trans_id} TransactionID
721 ${value}= Evaluate ${value} + 10
722 Set To Dictionary ${trans_id} TransactionID ${value}
723 Append To List ${trans_id_list} ${trans_id}
724
725 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[1]
726 ${value}= Get From Dictionary ${trans_id} TransactionID
727 ${value}= Evaluate ${value} + 10
728 Set To Dictionary ${trans_id} TransactionID ${value}
729 Append To List ${trans_id_list} ${trans_id}
730
731 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[2]
732 ${value}= Get From Dictionary ${trans_id} TransactionID
733 ${value}= Evaluate ${value} + 10
734 Set To Dictionary ${trans_id} TransactionID ${value}
735 Append To List ${trans_id_list} ${trans_id}
736
737 Release Locks On Resource
738 ... ${session_info} ${trans_id_list}
739 ... release_lock_type=${release_lock_type} status_code=${HTTP_BAD_REQUEST}
740 Release Locks On Resource ${session_info} ${trans_id_list} release_lock_type=Session
741
742 ${trans_id_emptylist}= Create List
743 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
744 Redfish Delete Session ${session_info}
745
746
747Verify Fail To Release Lock For Another Session
748 [Documentation] Verify failed to release the lock form another session.
749 [Arguments] ${client_id} ${lock_type}
750
751 # Description of argument(s):
752 # client_id This client id can contain string value
753 # (e.g. 12345, "HMCID").
754 # lock_type Read lock or Write lock.
755
756 ${client_ids}= Split String ${client_id} ,
757 ${lock_type_list}= Split String ${lock_type} ,
758 ${trans_id_list1}= Create List
759 ${trans_id_list2}= Create List
760
761 ${session_info1}= Create Redfish Session With ClientID ${client_ids}[0]
762
763 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[0]
764 Append To List ${trans_id_list1} ${trans_id}
765 Verify Lock On Resource ${session_info1} ${trans_id_list1}
766
767 ${session_info2}= Create Redfish Session With ClientID ${client_ids}[1]
768 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[1]
769 Append To List ${trans_id_list2} ${trans_id}
770 Verify Lock On Resource ${session_info2} ${trans_id_list2}
771
772 Release Locks On Resource
773 ... ${session_info1} ${trans_id_list1} Transaction status_code=${HTTP_UNAUTHORIZED}
774 Verify Lock On Resource ${session_info1} ${trans_id_list1}
775 Release Locks On Resource ${session_info1} ${trans_id_list1} release_lock_type=Session
776 Release Locks On Resource ${session_info2} ${trans_id_list2} release_lock_type=Session
777 Redfish Delete Session ${session_info1}
778 Redfish Delete Session ${session_info2}
779
780
Sushil Singhe33c6e62020-09-29 06:34:35 -0500781Verify Fail To Acquire Lock For Invalid Resource ID Data Type
782 [Documentation] Verify fail to acquire the lock with invalid resource id data type.
783 [Arguments] ${client_id} ${lock_type}
784
785 # Description of argument(s):
786 # client_id This client id can contain string value
787 # (e.g. 12345, "HMCID").
788 # lock_type Read lock or Write lock.
789
790 ${session_info}= Create Redfish Session With ClientID ${client_id}
791 Redfish Post Acquire Invalid Lock With Invalid Data Type Of Resource ID
792 ... ${lock_type} status_code=${HTTP_BAD_REQUEST}
793 Redfish Delete Session ${session_info}
794
795
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500796Verify Fail To Acquire Lock For Invalid Lock Data
Sushil Singhe33c6e62020-09-29 06:34:35 -0500797 [Documentation] Verify fail to acquired lock with invalid lock types, lock flags, segement flags.
Sushil Singhd03f2ce2020-09-17 08:54:41 -0500798 [Arguments] ${client_id} ${lock_type} ${message}
799
800 # Description of argument(s):
801 # client_id This client id can contain string value
802 # (e.g. 12345, "HMCID").
803 # lock_type Read lock or Write lock.
804 # message Return message from URI.
805
806 ${session_info}= Create Redfish Session With ClientID ${client_id}
807 ${trans_id}= Redfish Post Acquire Invalid Lock ${lock_type} message=${message} status_code=${HTTP_BAD_REQUEST}
808 Redfish Delete Session ${session_info}
Sushil Singhbace3002020-10-08 08:12:58 -0500809
810
811Verify No Locks Records For Session With No Acquired Lock
812 [Documentation] Verify no records found for a session where no lock is acquired.
813 [Arguments] ${client_id}
814
815 # Description of argument(s):
816 # client_id This client id can contain string value
817 # (e.g. 12345, "HMCID").
818
819 ${session_info}= Create Redfish Session With ClientID ${client_id}
820 ${trans_id_emptylist}= Create List
821 Verify Lock On Resource ${session_info} ${trans_id_emptylist}
822 Redfish Delete Session ${session_info}
Sushil Singh728ef9c2020-10-28 04:25:39 -0500823
824
825Create List Of Session ID
826 [Documentation] Create session id list from session dict info.
827 [Arguments] ${session_dict_info}
828
829 # Description of argument(s):
830 # session_dict_info Session information in dict.
831
832 @{session_id_list}= Create List
833
834 FOR ${session} IN @{session_dict_info}
835 Append To List ${session_id_list} ${session["SessionIDs"]}
836 END
837
838 ${num_id}= Get Length ${session_id_list}
839 Should Not Be Equal As Integers ${num_id} ${0}
840
841 ${session_id_list}= Evaluate json.dumps(${session_id_list}) json
842
843 [Return] ${session_id_list}
844
845
846Get Locks List On Resource With Session List
847 [Documentation] Get locks list from session of list.
848 [Arguments] ${session_id_list} ${exp_status_code}=${HTTP_OK}
849
850 # Description of argument(s):
851 # session_id_list Session ids list.
852 # exp_status_code Expected HTTP status code.
853
854 ${resp}= Redfish Post Request /ibm/v1/HMC/LockService/Actions/LockService.GetLockList
855 ... data={"SessionIDs": ${session_id_list}}
856 ${locks}= Evaluate json.loads('''${resp.text}''') json
857
858 [Return] ${locks}
859
860
861Verify List Of Session Lock On Resource
862 [Documentation] Verify list of lock record from list of sessions.
863 [Arguments] ${session_dict_info} ${transaction_id_list}
864
865 # Description of argument(s):
866 # session_dict_info Session information in dict.
867 # transaction_id_list Transaction id in list stored in dict.
868
869 ${session_id_list}= Create List Of Session ID ${session_dict_info}
870 ${lock_list_resp}= Get Locks List On Resource With Session List ${session_id_list}
871 ${lock_list}= Set Variable ${lock_list_resp['Records']}
872
873 FOR ${session_id} ${tran_id} ${lock_record} IN ZIP ${session_dict_info} ${transaction_id_list} ${lock_list}
874 Valid Value session_id['SessionIDs'] ['${lock_record['SessionID']}']
875 Should Be Equal As Integers ${tran_id['TransactionID']} ${lock_record['TransactionID']}
876 END
877
878
879Verify Lock Records Of Multiple Session
880 [Documentation] Verify all records found for a multiple sessions.
881 [Arguments] ${client_ids} ${lock_type}
882
883 # Description of argument(s):
884 # client_ids This client id can contain string value
885 # (e.g. 12345, "HMCID").
886 # lock_type Read lock or Write lock.
887
888 ${client_id_list}= Split String ${client_ids} ,
889 ${lock_type_list}= Split String ${lock_type} ,
890 ${trans_id_list1}= Create List
891 ${trans_id_list2}= Create List
892
893 ${session_dict_list}= Create List
894 ${lock_list}= Create List
895
896 ${client_id1}= Create List
897 Append To List ${client_id1} ${client_id_list}[0]
898 ${session_info1}= Create Session With List Of ClientID ${client_id1}
899 Append To List ${session_dict_list} ${session_info1}[0]
900 Verify A Session Created With ClientID ${client_id1} ${session_info1}
901
902 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[0]
903 Append To List ${trans_id_list1} ${trans_id}
904 Append To List ${lock_list} ${trans_id}
905 Verify Lock On Resource ${session_info1}[0] ${trans_id_list1}
906
907
908 ${client_id2}= Create List
909 Append To List ${client_id2} ${client_id_list}[1]
910 ${session_info2}= Create Session With List Of ClientID ${client_id2}
911 Append To List ${session_dict_list} ${session_info2}[0]
912 Verify A Session Created With ClientID ${client_id2} ${session_info2}
913
914 ${trans_id}= Redfish Post Acquire Lock ${lock_type_list}[1]
915 Append To List ${trans_id_list2} ${trans_id}
916 Append To List ${lock_list} ${trans_id}
917 Verify Lock On Resource ${session_info2}[0] ${trans_id_list2}
918
919 Verify List Of Session Lock On Resource ${session_dict_list} ${lock_list}
920
921 ${session_token}= Get From Dictionary ${session_info1}[0] SessionToken
922 Set Global Variable ${XAUTH_TOKEN} ${session_token}
923
924 Release Locks On Resource ${session_info1} ${trans_id_list1} release_lock_type=Transaction
925
926 ${session_token}= Get From Dictionary ${session_info2}[0] SessionToken
927 Set Global Variable ${XAUTH_TOKEN} ${session_token}
928
929 Release Locks On Resource ${session_info2} ${trans_id_list2} release_lock_type=Transaction
930
931 ${trans_id_emptylist}= Create List
932 Verify Lock On Resource ${session_info1}[0] ${trans_id_emptylist}
933 Verify Lock On Resource ${session_info2}[0] ${trans_id_emptylist}
934
935 Redfish Delete List Of Session ${session_dict_list}