)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8052df442381421e74ace464efc0bc47e3edb059","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ddf06694_8532591a","updated":"2026-03-05 16:30:23.000000000","message":"Good catch.  It\u0027s better to use the public interface.","commit_id":"b184ddcf916c5228de423c772600c73087b272a7"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"21f4150b3764c868316e92a3804789bdb2a1e829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c2bccc92_5cbaa343","updated":"2026-03-05 11:30:08.000000000","message":"Looks like the right thing to do. LGTM, thanks Manoj.","commit_id":"b184ddcf916c5228de423c772600c73087b272a7"}],"os_brick/tests/initiator/connectors/test_iscsi.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"17b834cb8c2bfd54a00dc6fc0c44de1a6b7eac82","unresolved":true,"context_lines":[{"line_number":1429,"context_line":"        self.assertEqual([\u0027sda\u0027, \u0027sdb\u0027, \u0027sdc\u0027, \u0027sdd\u0027], result)"},{"line_number":1430,"context_line":"        # Initially mpath we pass is None, but on last call is the mpath"},{"line_number":1431,"context_line":"        # Use call_args_list which only contains actual function calls"},{"line_number":1432,"context_line":"        mpath_values \u003d [call.args[1] for call in get_wwn_mock.call_args_list]"},{"line_number":1433,"context_line":"        self.assertEqual([None, None, \u0027dm-0\u0027], mpath_values)"},{"line_number":1434,"context_line":"        add_wwid_mock.assert_not_called()"},{"line_number":1435,"context_line":"        add_path_mock.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"22595dff_d4f0b72e","line":1432,"range":{"start_line":1432,"start_character":24,"end_line":1432,"end_character":36},"updated":"2026-03-05 09:38:02.000000000","message":"mpath is an optional paramter, are we sure that it is passed in all of the calls to get_sysfs_wwn?","commit_id":"b184ddcf916c5228de423c772600c73087b272a7"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"a726b08771b74aef125fe236cb6ac0c3eb4643cc","unresolved":true,"context_lines":[{"line_number":1429,"context_line":"        self.assertEqual([\u0027sda\u0027, \u0027sdb\u0027, \u0027sdc\u0027, \u0027sdd\u0027], result)"},{"line_number":1430,"context_line":"        # Initially mpath we pass is None, but on last call is the mpath"},{"line_number":1431,"context_line":"        # Use call_args_list which only contains actual function calls"},{"line_number":1432,"context_line":"        mpath_values \u003d [call.args[1] for call in get_wwn_mock.call_args_list]"},{"line_number":1433,"context_line":"        self.assertEqual([None, None, \u0027dm-0\u0027], mpath_values)"},{"line_number":1434,"context_line":"        add_wwid_mock.assert_not_called()"},{"line_number":1435,"context_line":"        add_path_mock.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"c8208d5c_dab3775f","line":1432,"range":{"start_line":1432,"start_character":24,"end_line":1432,"end_character":36},"in_reply_to":"22595dff_d4f0b72e","updated":"2026-03-05 11:07:31.000000000","message":"@rajatdhasmana@gmail.com In this specific test test_connect_multipath_volume_no_wwid, all 3 calls to get_sysfs_wwn come from the _connect_multipath_volume method and they all pass the mpath parameter.\n\nThe while loop iterates twice because find_sysfs_multipath_dm is mocked to return None on the first call and \u0027dm-0\u0027 on the second call. The loop exits on the second iteration when mpath is not none.\n\nThe execution flow for this test in \"./os_brick/initiator/connectors/iscsi.py\":                                                                                                                                                                              \n  1. First loop iteration: line 767 calls get_sysfs_wwn(found, mpath\u003dNone)\n  2. Second loop iteration: line 767 calls get_sysfs_wwn(found, mpath\u003dNone) again\n  3. After loop: line 812 calls get_sysfs_wwn(found, mpath\u003d\u0027dm-0\u0027)\n\nSo all calls have 2 arguments, making call.args[1] safe to access.","commit_id":"b184ddcf916c5228de423c772600c73087b272a7"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"21f4150b3764c868316e92a3804789bdb2a1e829","unresolved":false,"context_lines":[{"line_number":1429,"context_line":"        self.assertEqual([\u0027sda\u0027, \u0027sdb\u0027, \u0027sdc\u0027, \u0027sdd\u0027], result)"},{"line_number":1430,"context_line":"        # Initially mpath we pass is None, but on last call is the mpath"},{"line_number":1431,"context_line":"        # Use call_args_list which only contains actual function calls"},{"line_number":1432,"context_line":"        mpath_values \u003d [call.args[1] for call in get_wwn_mock.call_args_list]"},{"line_number":1433,"context_line":"        self.assertEqual([None, None, \u0027dm-0\u0027], mpath_values)"},{"line_number":1434,"context_line":"        add_wwid_mock.assert_not_called()"},{"line_number":1435,"context_line":"        add_path_mock.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"19fe6370_1ef024d5","line":1432,"range":{"start_line":1432,"start_character":24,"end_line":1432,"end_character":36},"in_reply_to":"c8208d5c_dab3775f","updated":"2026-03-05 11:30:08.000000000","message":"Thanks Manoj, so seems like we do call with mpath\u003dNone but it shouldn\u0027t cause an issue while accessing the second parameter from the call_args_list.","commit_id":"b184ddcf916c5228de423c772600c73087b272a7"}]}
