)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"2d895c1294fe09d097b2c0987190aa67898e277c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"151a9996_f09eefb1","updated":"2022-08-17 06:48:49.000000000","message":"As the UTs for lsip response are already present, no additional UTs are required in this bug fix.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py#L833\n","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"c5988c66ab49384c34b589b4febe0865f30ce829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7b2e8fb8_a76a4b32","updated":"2022-12-14 08:59:49.000000000","message":"Customers. Cyril and Stephane have also confirmed that this code change has solved the problem.","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"47b7d00e690ff6b54dc3293aa3dbf822c31a85d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"932a62d1_b94a475d","updated":"2022-09-27 12:12:32.000000000","message":"Patch is missing unit test to prevent regressions.","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"43eacc37838e4ea88b5b0d8bafbdb493d80d15af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1d78e80a_2367affe","in_reply_to":"53b80025_91b5eaf8","updated":"2022-12-20 09:22:32.000000000","message":"I have added a UT for this change. As this function doesn\u0027t return anything but is called from _update_storwize_state(), the UT calls this _update_storwize_state() which in return calls add_iscsi_ip_addrs().\nI have verified the success result by comparing the dictionary storage_nodes{} which is updated by add_iscsi_ip_addrs().","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"5ece7514ee3a5e3fb39136ed0fad401d0306cc04","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"53b80025_91b5eaf8","in_reply_to":"7e66c270_627ccb0e","updated":"2022-12-16 14:53:12.000000000","message":"\u003e https://github.com/openstack/cinder/blob/master/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py#L833\n\nI don\u0027t think that test shows that add_iscsi_ip_addrs() works.","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"c5988c66ab49384c34b589b4febe0865f30ce829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7e66c270_627ccb0e","in_reply_to":"932a62d1_b94a475d","updated":"2022-12-14 08:59:49.000000000","message":"As the UTs for lsip response are already present, no additional UTs are required in this bug fix.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py#L833","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"63c5e2ca065f8e6091e1ef8986bafb38956301ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a614104c_69d28bf6","updated":"2022-12-16 10:39:46.000000000","message":"I have address the comments and corrected the logical error in the if loops.","commit_id":"44fa359845b4a40ffa775f68dc156c1a116c0ff9"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"18144dbb91439e86370a13cba987cb3fdf010789","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a971b80e_5cbc8fde","updated":"2022-12-15 13:44:04.000000000","message":"run-IBM Storage CI","commit_id":"44fa359845b4a40ffa775f68dc156c1a116c0ff9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d84810b696666cf761c1c1e16b696e0b4d930649","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6087d3ce_f9276e42","updated":"2022-12-16 14:43:24.000000000","message":"Code looks ok, but you should really add a unit test to make sure the function behaves as expected, particularly given the indentation issue on PS3.  The code coverage report indicates that this function is tested, but it must be indirectly, because I couldn\u0027t find a test for this particular function.  It would be good to have a small test that the old code fails on but that passes with your change.","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"5ece7514ee3a5e3fb39136ed0fad401d0306cc04","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7df0ead0_e2ba772f","updated":"2022-12-16 14:53:12.000000000","message":"I would like to see more reviews before voting. \n \n\u003e - storwize-tempest-dsvm-full-iscsi https://ansiblecinder-logs.s3.amazonaws.com/storwize-tempest-dsvm-full-iscsi/8ed68dc/index.html : SUCCESS in 1h 27m 54s\n\n:-1: Please run the cinder-tempest-plugin test as well. It would be ideal for the coverage of the SVf patches to be complete.\nhttps://opendev.org/openstack/cinder-tempest-plugin.git\n\n","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"d9d28a245c51538d8af36d9b79695d03ae720f77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a9d6ab7e_642fa4c3","updated":"2022-12-16 12:39:52.000000000","message":"run-IBM Storage CI","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"43eacc37838e4ea88b5b0d8bafbdb493d80d15af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4155563f_a57aa92e","in_reply_to":"6087d3ce_f9276e42","updated":"2022-12-20 09:22:32.000000000","message":"I have added a UT for this change. As this function doesn\u0027t return anything but is called from _update_storwize_state(), the UT calls this _update_storwize_state() which in return calls add_iscsi_ip_addrs().\nI have verified the success result by comparing the dictionary storage_nodes{} which is updated by add_iscsi_ip_addrs().","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"43eacc37838e4ea88b5b0d8bafbdb493d80d15af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"07a149d6_575cfb0b","in_reply_to":"7df0ead0_e2ba772f","updated":"2022-12-20 09:22:32.000000000","message":"We have just managed to bring up the IBM-CI setup to its original configurations. Implementing another job in it will take a lot of time and approvals. We will work on it in future but for now iscsi and fc cover the full spectrum of test scenarios.\n\nRequesting you to review the patch with the original IBM-CI configurations only for now.","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"43eacc37838e4ea88b5b0d8bafbdb493d80d15af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7d02626a_15e2d610","updated":"2022-12-20 09:22:32.000000000","message":"Comments have been address and the UT is also added.","commit_id":"a4a6714651aab39859cb605251dac6adb014093e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"30a70e9ba738980100b5cd4d685105e67e6b7fd0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f61ce3a_de0e96a5","updated":"2022-12-20 16:18:20.000000000","message":"See my comment about the test inline.","commit_id":"a4a6714651aab39859cb605251dac6adb014093e"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"32b6234152bb7abaddf1166baa2a71cb34725d13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4c247d1c_06ddcc59","updated":"2022-12-20 12:48:48.000000000","message":"recheck","commit_id":"a4a6714651aab39859cb605251dac6adb014093e"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"b80f7daee057677e003722321882915bc8c1f7a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"87540dcf_210ea959","updated":"2022-12-20 15:45:44.000000000","message":"run-IBM Storage CI","commit_id":"a4a6714651aab39859cb605251dac6adb014093e"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eefd1a137c439f603bbba72e44b0ad5d7ad1f8b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"340c43ff_4ea37b09","updated":"2022-12-23 08:13:09.000000000","message":"I will address the assert format in a follow-up. Thank you.","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"37b99de11972567290241ed539187669bd2ff581","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"31f57c99_eeeeaa96","updated":"2022-12-21 14:31:29.000000000","message":"Looks good. Passing CIs","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366d071b1fbb6d5a66c9b1a6f7e710d03685c539","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"26ca85d5_e510325e","updated":"2022-12-21 14:48:10.000000000","message":"Revised test LGTM.  All my concerns have been addressed.","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"be5945651d9eddabd267475a326e5860dbe54908","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c9ccf5ed_261e1018","updated":"2022-12-21 12:33:58.000000000","message":"UT is fixed as per the review comments.","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"b0e01f9e409272b3224aaea888d053d295e74a3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"52b09232_eba4b1bb","updated":"2022-12-23 16:45:59.000000000","message":"recheck","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"cca4c97f7a0ec92749dc70ec936d1aa7602be117","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"94018729_af1c2ee4","updated":"2022-12-27 07:12:48.000000000","message":"recheck","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"608f9635f3333dd6144f447b2197f042216e2744","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a4028cb6_517a03d6","updated":"2022-12-23 14:00:39.000000000","message":"recheck","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"aa7f3e1385a3995c2a88f869f5b07d243bef2f81","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ac391229_b458d183","updated":"2022-12-26 05:49:53.000000000","message":"recheck","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"5a911e646697c2b05e0f5a19bf60ec13ca623468","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ad1673f6_eebeb195","updated":"2022-12-23 11:30:41.000000000","message":"recheck","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"d6000c3e67e457f9af14a19d5c0049217a5610fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e8e39d39_d1ec4250","updated":"2022-12-24 08:11:01.000000000","message":"recheck","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"dc105a60b59b94097c9d983f137a6078a59e23d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3cb62e8c_77621999","updated":"2022-12-27 03:02:31.000000000","message":"recheck openstacksdk job fix merged\n\nhttps://review.opendev.org/c/openstack/openstacksdk/+/867827","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"24eaed5463fb6f0d10e8a1b713cd0764256be481","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"26c28d22_d6fca88b","updated":"2022-12-21 16:44:57.000000000","message":"run-IBM Storage CI","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"32d76369a033616eb43645a6e05efced5684174d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b4069109_2d2479e9","updated":"2022-12-22 10:13:46.000000000","message":"run-IBM Storage CI","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c9fbd5645f4d55e9cc6c3e3a62d6c68b135d8218","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"02638e5d_d53cbf02","updated":"2022-12-23 08:11:08.000000000","message":"storwize CI has passed. changes LGTM. Thanks Harsh!","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"}],"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"30a70e9ba738980100b5cd4d685105e67e6b7fd0","unresolved":true,"context_lines":[{"line_number":5042,"context_line":""},{"line_number":5043,"context_line":"        # Now the storage_nodes is updated hence it is not empty."},{"line_number":5044,"context_line":"        # Which means add_iscsi_ip_addrs was successful."},{"line_number":5045,"context_line":"        self.assertNotEqual(helper.state[\"storage_nodes\"], {})"},{"line_number":5046,"context_line":""},{"line_number":5047,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeSSH,"},{"line_number":5048,"context_line":"                       \u0027mkhost\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a726778_9da87cfb","line":5045,"updated":"2022-12-20 16:18:20.000000000","message":"Thanks for adding this test.  The only problem is, when I ran the test using the old code in cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py, the test still passed.  So it doesn\u0027t really show that your code is working as expected.\n\nAll I\u0027d like to see is a test of add_iscsi_ip_addrs() for code level \u003e\u003d 8.4.2.0, with test data that fails on the old code (where it only finds the newest node) and passes on the new code.  You can also test the \u0027else\u0027 if you want, but the key thing is to make sure that the new code is working properly.","commit_id":"a4a6714651aab39859cb605251dac6adb014093e"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"be5945651d9eddabd267475a326e5860dbe54908","unresolved":false,"context_lines":[{"line_number":5042,"context_line":""},{"line_number":5043,"context_line":"        # Now the storage_nodes is updated hence it is not empty."},{"line_number":5044,"context_line":"        # Which means add_iscsi_ip_addrs was successful."},{"line_number":5045,"context_line":"        self.assertNotEqual(helper.state[\"storage_nodes\"], {})"},{"line_number":5046,"context_line":""},{"line_number":5047,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeSSH,"},{"line_number":5048,"context_line":"                       \u0027mkhost\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"63ce1294_b3935f9a","line":5045,"in_reply_to":"7a726778_9da87cfb","updated":"2022-12-21 12:33:58.000000000","message":"Thank you for your input Brian.\nThe new patch has a modified UT.\n\nNow, the whole bug with the old code was that it was only assigning the IP to the last node_id it was having after the loop is done.\n\nFor example, this is the output of the old code:\nstorage_nodes[ip_data[\u00271\u0027]][\u0027IP_address\u0027] \u003d []\nstorage_nodes[ip_data[\u00272\u0027]][\u0027IP_address\u0027] \u003d [\u00279.x.x.x\u0027]\n\nNow, after the code fix, the correct output is:\nstorage_nodes[ip_data[\u00271\u0027]][\u0027IP_address\u0027] \u003d [\u00279.x.x.1\u0027]\nstorage_nodes[ip_data[\u00272\u0027]][\u0027IP_address\u0027] \u003d [\u00279.x.x.2\u0027]\n\n\nThe UT is also now fixed as per the correct code fix. If this UT is run on the old code it will fail with an error:  KeyError: \u00271\u0027\nBecause the old code didn\u0027t assign any IP to node_id \u003d 1. Hence it didn\u0027t create and entry in storage_nodes[]\n\nI have tested this UT in old and new code as well.","commit_id":"a4a6714651aab39859cb605251dac6adb014093e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c9fbd5645f4d55e9cc6c3e3a62d6c68b135d8218","unresolved":true,"context_lines":[{"line_number":5049,"context_line":"        # Now, IPs of both the node_id in storage_nodes is updated correctly"},{"line_number":5050,"context_line":"        # Which means add_iscsi_ip_addrs was successful."},{"line_number":5051,"context_line":"        self.assertNotEqual(helper.state[\"storage_nodes\"], {})"},{"line_number":5052,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00271\u0027][\u0027IP_address\u0027],"},{"line_number":5053,"context_line":"                         [\u00271.1.1.1\u0027])"},{"line_number":5054,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00272\u0027][\u0027IP_address\u0027],"},{"line_number":5055,"context_line":"                         [\u00272.2.2.2\u0027])"},{"line_number":5056,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"b4bcf13f_665fae27","line":5053,"range":{"start_line":5052,"start_character":25,"end_line":5053,"end_character":36},"updated":"2022-12-23 08:11:08.000000000","message":"this is in the wrong format, we should assert with (expected, result) and not (result, expected) but this can be addressed in a followup","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eefd1a137c439f603bbba72e44b0ad5d7ad1f8b7","unresolved":false,"context_lines":[{"line_number":5049,"context_line":"        # Now, IPs of both the node_id in storage_nodes is updated correctly"},{"line_number":5050,"context_line":"        # Which means add_iscsi_ip_addrs was successful."},{"line_number":5051,"context_line":"        self.assertNotEqual(helper.state[\"storage_nodes\"], {})"},{"line_number":5052,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00271\u0027][\u0027IP_address\u0027],"},{"line_number":5053,"context_line":"                         [\u00271.1.1.1\u0027])"},{"line_number":5054,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00272\u0027][\u0027IP_address\u0027],"},{"line_number":5055,"context_line":"                         [\u00272.2.2.2\u0027])"},{"line_number":5056,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"11d22543_f916b3b3","line":5053,"range":{"start_line":5052,"start_character":25,"end_line":5053,"end_character":36},"in_reply_to":"b4bcf13f_665fae27","updated":"2022-12-23 08:13:09.000000000","message":"Sure. i will address this in a follow-up.","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c9fbd5645f4d55e9cc6c3e3a62d6c68b135d8218","unresolved":true,"context_lines":[{"line_number":5051,"context_line":"        self.assertNotEqual(helper.state[\"storage_nodes\"], {})"},{"line_number":5052,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00271\u0027][\u0027IP_address\u0027],"},{"line_number":5053,"context_line":"                         [\u00271.1.1.1\u0027])"},{"line_number":5054,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00272\u0027][\u0027IP_address\u0027],"},{"line_number":5055,"context_line":"                         [\u00272.2.2.2\u0027])"},{"line_number":5056,"context_line":""},{"line_number":5057,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeSSH,"},{"line_number":5058,"context_line":"                       \u0027mkhost\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"465d6168_5c2a75ba","line":5055,"range":{"start_line":5054,"start_character":25,"end_line":5055,"end_character":36},"updated":"2022-12-23 08:11:08.000000000","message":"same","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eefd1a137c439f603bbba72e44b0ad5d7ad1f8b7","unresolved":false,"context_lines":[{"line_number":5051,"context_line":"        self.assertNotEqual(helper.state[\"storage_nodes\"], {})"},{"line_number":5052,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00271\u0027][\u0027IP_address\u0027],"},{"line_number":5053,"context_line":"                         [\u00271.1.1.1\u0027])"},{"line_number":5054,"context_line":"        self.assertEqual(helper.state[\"storage_nodes\"][\u00272\u0027][\u0027IP_address\u0027],"},{"line_number":5055,"context_line":"                         [\u00272.2.2.2\u0027])"},{"line_number":5056,"context_line":""},{"line_number":5057,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeSSH,"},{"line_number":5058,"context_line":"                       \u0027mkhost\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"a5a118ff_95dcdfd8","line":5055,"range":{"start_line":5054,"start_character":25,"end_line":5055,"end_character":36},"in_reply_to":"465d6168_5c2a75ba","updated":"2022-12-23 08:13:09.000000000","message":"Sure. i will address this in a follow-up.","commit_id":"54872f9b6caa1a6ffa06d4cc19d07a04a90b26e1"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"6c69ffd87cd24b9928d27a16347e2c64fcd3cc42","unresolved":true,"context_lines":[{"line_number":1111,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1112,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5530fb6f_e0dcec08","line":1114,"updated":"2022-09-19 12:04:02.000000000","message":"parentheses are not needed after \u0027if\u0027,\nthe same with assignment of ip_addresses below","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"77c802b7dcada23a527f23457fae61db82c009df","unresolved":false,"context_lines":[{"line_number":1111,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1112,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d30a841c_e6e2a5fa","line":1114,"in_reply_to":"5530fb6f_e0dcec08","updated":"2022-12-15 12:46:15.000000000","message":"ACK on line 1113.\n\nCannot remove the parenthesis on line 1116 because if it is removed then i have to use line continuation \"\\\" because of max character limit of 79, and line continuation is not advised due to pep8 and flake8 standards.","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"47b7d00e690ff6b54dc3293aa3dbf822c31a85d1","unresolved":true,"context_lines":[{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"},{"line_number":1118,"context_line":"                except KeyError:"},{"line_number":1119,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"31ca0944_d7c06776","line":1116,"updated":"2022-09-27 12:12:32.000000000","message":"-1: This looks wrong to me (though I\u0027m probably missing something).\n\nI don\u0027t understand your array or the code, and the lack of comments or data samples doesn\u0027t help.\n\nHow come we are assigning IP addresses from nodes that are in `node_data` to nodes that aren\u0027t?\n\nShouldn\u0027t this be indented once more?\n\n    for ip_data in lsip_resp:\n        if ip_data[\u0027node_id\u0027] in node_data:\n            if (ip_data[\u0027IP_address\u0027]):\n                ip_addresses.append(ip_data[\u0027IP_address\u0027])\n            if ip_addresses:\n                storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d (\n                    ipd_addresses)\n                    \nOr shouldn\u0027t just this specific IP be added to the other node?\n\n    for ip_data in lsip_resp:\n        if ip_data[\u0027node_id\u0027] in node_data:\n            if (ip_data[\u0027IP_address\u0027]):\n                ip_addresses.append(ip_data[\u0027IP_address\u0027])\n            if ip_addresses:\n                storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d (\n                    ipd_addresses)\n        else:\n            ips \u003d setdefault(storage_nodes[ip_data[\u0027node_id\u0027]], \u0027IP_address\u0027, [])\n            ips.append(ip_data[\u0027IP_address\u0027])","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":33473,"name":"Atsushi Kawai","display_name":"akawai","email":"atsushi.kawai.bu@hitachi.com","username":"akawai"},"change_message_id":"d8bd9ca79240310ad951ff1fb2a68ee3a84085a8","unresolved":true,"context_lines":[{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"},{"line_number":1118,"context_line":"                except KeyError:"},{"line_number":1119,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f76ff951_1e00adfd","line":1116,"updated":"2022-08-20 08:45:36.000000000","message":"e.g., if \"lsip_resp\" consists of three \"ip_data\" and 2nd \"ip_data\" only hits both conditions to append ip_addresses, \"storage_nodes\" would be consists of 2nd and 3rd \"ip_data\".\nIs your expected behavior?","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"c5988c66ab49384c34b589b4febe0865f30ce829","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"},{"line_number":1118,"context_line":"                except KeyError:"},{"line_number":1119,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"64ac1896_1e378fd2","line":1116,"in_reply_to":"31ca0944_d7c06776","updated":"2022-12-14 08:59:49.000000000","message":"Earlier it was taking only the last node ip_data. whereas we wanted the behavior to be to take all the ip_data for all the nodes. with this change it will now take all the ip_data with all the respective nodes.","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"63c5e2ca065f8e6091e1ef8986bafb38956301ef","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"},{"line_number":1118,"context_line":"                except KeyError:"},{"line_number":1119,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c41139f9_206507e6","line":1116,"in_reply_to":"64ac1896_1e378fd2","updated":"2022-12-16 10:39:46.000000000","message":"Hi Gorka, you were right. The second if loop was incorrectly indented.\nUpon further testing i observed that that if loop was not necessary. Instead i could assign the IP address in the storage_nodes list in the first if loop itself and it gave the same desired result.\n\nThe objective is to get the node_id and assign the corresponding IP_address to that node_id only in the storage_nodes list. Earlier in the base patch it was only storing the IP_address of the last node_id (which was the original bug)\n\nNow with this fix every node_id will get its corresponding IP_address in the corresponding portset_name (user defined or default portset0)","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"07fb9c26a792af96bb859a2dca2efcd88b5f1776","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                            if (ip_data[\u0027IP_address\u0027]):"},{"line_number":1114,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1115,"context_line":"                        if ip_addresses:"},{"line_number":1116,"context_line":"                            storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1117,"context_line":"                                ip_addresses)"},{"line_number":1118,"context_line":"                except KeyError:"},{"line_number":1119,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"e40c13b8_e636bf97","line":1116,"in_reply_to":"f76ff951_1e00adfd","updated":"2022-09-02 11:00:42.000000000","message":"Earlier it was taking only the last node ip_data. whereas we wanted the behavior to be to take all the ip_data for all the nodes. with this change it will now take all the ip_data with all the respective nodes.","commit_id":"72b2b7baa610ac914125fce7cc05075d0fdae9f2"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"5ece7514ee3a5e3fb39136ed0fad401d0306cc04","unresolved":true,"context_lines":[{"line_number":1113,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1114,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1115,"context_line":"                            if ip_data[\u0027IP_address\u0027]:"},{"line_number":1116,"context_line":"                                (storage_nodes[ip_data[\u0027node_id\u0027]]"},{"line_number":1117,"context_line":"                                    [\u0027IP_address\u0027]) \u003d ("},{"line_number":1118,"context_line":"                                        [ip_data[\u0027IP_address\u0027]])"},{"line_number":1119,"context_line":"                except KeyError:"},{"line_number":1120,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1121,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"f8fd7605_80a09ed3","line":1118,"range":{"start_line":1116,"start_character":32,"end_line":1118,"end_character":64},"updated":"2022-12-16 14:53:12.000000000","message":":nit: This is hard to read.","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"43eacc37838e4ea88b5b0d8bafbdb493d80d15af","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1114,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1115,"context_line":"                            if ip_data[\u0027IP_address\u0027]:"},{"line_number":1116,"context_line":"                                (storage_nodes[ip_data[\u0027node_id\u0027]]"},{"line_number":1117,"context_line":"                                    [\u0027IP_address\u0027]) \u003d ("},{"line_number":1118,"context_line":"                                        [ip_data[\u0027IP_address\u0027]])"},{"line_number":1119,"context_line":"                except KeyError:"},{"line_number":1120,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1121,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"a6c7a026_4f3101c6","line":1118,"range":{"start_line":1116,"start_character":32,"end_line":1118,"end_character":64},"in_reply_to":"f8fd7605_80a09ed3","updated":"2022-12-20 09:22:32.000000000","message":"I understand, but there was no way to achieve pep8 and flake8 standards. Also, i have been advised to not use line continuation \"\\\" in the code. Hence i had to divide the variables using parenthesis only then pep8 and flake8 pass successfully.","commit_id":"96e848c49cac2c696f5ff3274afb98f6cce50559"}]}
