)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"8c87080e836fc20cdbdc7e83780d807f7df24e04","unresolved":true,"context_lines":[{"line_number":10,"context_line":"driver to use portsets to manage host attachment, backend storage"},{"line_number":11,"context_line":"connectivity."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint ibm-svf-portset"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I38c9889bff2d18d3dadd49f28b8436a77b131a22"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"0a4af2dd_90c9b09e","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":37},"updated":"2022-01-04 20:04:36.000000000","message":"The code looks good. However the bp hasn\u0027t been approved yet.","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"dce580c9de33edf54dbd21d1f1820b7b71ad0cb3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"driver to use portsets to manage host attachment, backend storage"},{"line_number":11,"context_line":"connectivity."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint ibm-svf-portset"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I38c9889bff2d18d3dadd49f28b8436a77b131a22"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"46bda934_5b15cb7b","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":37},"in_reply_to":"0a4af2dd_90c9b09e","updated":"2022-01-28 07:24:28.000000000","message":"It is approed by Brian.","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e27cb3d006802f6312f21dd7ed5d58920e760a75","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[Spectrum Virtualize family] Providing support to IBM Storwize cinder"},{"line_number":10,"context_line":"driver to use portsets to manage host attachment, backend storage"},{"line_number":11,"context_line":"connectivity."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint ibm-svf-portset"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"3c7f07e3_56f126ea","line":11,"updated":"2022-02-25 02:59:35.000000000","message":"It would help reviewers if you said what exactly portsets are, for example, \"Portsets are groupings of logical addresses that are associated with specific traffic types.\"","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eca75cac53e7aecdb53f76783e391946fc3eeb32","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"[Spectrum Virtualize family] Providing support to IBM Storwize cinder"},{"line_number":10,"context_line":"driver to use portsets to manage host attachment, backend storage"},{"line_number":11,"context_line":"connectivity."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: blueprint ibm-svf-portset"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"ac343360_2415bcab","line":11,"in_reply_to":"3c7f07e3_56f126ea","updated":"2022-02-28 08:58:05.000000000","message":"Sure. For this patch i have added. Will do it for the future reviews as well.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"4e646deb397b8d9817c63d98387f0aae8f4ab08c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"097bc2cf_fd2877d8","updated":"2021-11-17 10:19:47.000000000","message":"recheck","commit_id":"5921f41b5875ad4f88217bcb6c421e30d89ee974"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"8e9e5abbe7f52012933e73cdd43df87fc3cd0f78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2591837f_f4aeca12","updated":"2021-11-17 10:34:51.000000000","message":"recheck","commit_id":"5921f41b5875ad4f88217bcb6c421e30d89ee974"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"e52b13cb6901eb8bed2baae6932e3c32b85ff7c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a008608e_fff55380","updated":"2021-12-09 05:00:25.000000000","message":"recheck","commit_id":"8c5cfbfd7c4b2fb59ff75e285a426637d8b3bb8a"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"5d6c1128ea5314ad33818218ce9bb7a75cefe87c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9f2cb8a2_390b724e","updated":"2021-12-14 07:09:30.000000000","message":"run-IBM Storage CI","commit_id":"c6cdb26fa1de90c8a4df26d8a4e938f2718620bd"},{"author":{"_account_id":32464,"name":"caiqilong","email":"406454833@qq.com","username":"cccqqqlll"},"change_message_id":"c09040ee4764edbc2713f791f1212ed7b74e29b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"30a5d702_44eba06c","updated":"2021-12-10 02:59:22.000000000","message":"run-TOYOU ACS5000 CI","commit_id":"c6cdb26fa1de90c8a4df26d8a4e938f2718620bd"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"26052300a7b6142e10f0b61fe3eddce7e10136de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1a8820dc_76138da5","updated":"2021-12-21 13:51:15.000000000","message":"IBM Storage CI is green, LGTM","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"49018d6c4e5d523bb5e878c0bbade80075162111","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"300bd1e8_00da3b70","updated":"2021-12-20 05:05:03.000000000","message":"recheck","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"2bbdf7ee91411a9916aa051ab08217e3337a7cac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b61409f6_9afd652e","updated":"2021-12-17 04:56:59.000000000","message":"recheck","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"056e9859d6633a633b748d77fe086254a8c69224","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e0714922_74fa13cb","updated":"2021-12-17 06:01:31.000000000","message":"recheck","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"33f3cf3e_05407de4","updated":"2022-01-31 07:27:34.000000000","message":"Few comments inline.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b8af1a9c_d4f65d5b","updated":"2022-02-03 10:38:07.000000000","message":"Thanks Rajat for the reveiw.\nWe will fix all the respective comments in the next patch.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32966,"name":"jiang guodao","email":"jguodao@vmware.com","username":"jguodao"},"change_message_id":"dd1a94d658028adfdf6854bedbe77254233c55fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1c600dd7_ebef92a0","updated":"2022-02-07 05:34:26.000000000","message":"vmware-recheck-patch","commit_id":"748e182b5ae270d20e987980ca33e221c6a96e89"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"969a47e42f56d7cea462aa29212ffb709392f972","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"6609a2c3_65ce1783","updated":"2022-02-07 11:03:18.000000000","message":"recheck","commit_id":"e0327a87634c058b2d462c92dfa05437af855d13"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"165065c10fceff1a34f6e267453105c3eae9b14e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c104afcb_842c8197","updated":"2022-02-16 07:19:55.000000000","message":"Few comments inline","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"c16de1ba55b76bf0b6880425264d8d33a7d7108d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"f12f9186_fb25e9df","updated":"2022-02-18 10:16:06.000000000","message":"Few minor comments.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"43b3ea9f50c02a953f0d5401e7a2019be63c0266","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ade15ece_406b779a","updated":"2022-02-16 10:33:45.000000000","message":"Thanks Rajat for the review. \nPlease find my reply inline.\nFor UT comments, Harsh will check and address it.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"559073c021bf33c31be76d8c2635c423b1350ed9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"1f839936_cb822abd","updated":"2022-02-10 17:20:03.000000000","message":"run-IBM Storage CI","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"387fc231cf9a484562aa9ad30364183015e9894d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ae856d99_27c401cd","updated":"2022-02-10 19:35:33.000000000","message":"run-IBM Storage CI","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"d844b25f_ef20a1ee","updated":"2022-02-21 14:54:35.000000000","message":"Hi Rajat and Raghavendra,\nThanks for your inputs. I have addressed all the comments.","commit_id":"16634aa8ee631e4058266c4c5fe7780ed1d7d6d9"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"7376dbc4cb7d483f5bedfb6fba49ae9c619e36a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"14a8b158_8dfb303e","updated":"2022-02-22 07:34:06.000000000","message":"Addressed the version comments.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e27cb3d006802f6312f21dd7ed5d58920e760a75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"ddd1e591_6d34cba2","updated":"2022-02-25 02:59:35.000000000","message":"Code looks fine; a few things noted inline.  Third party CI doesn\u0027t appear to be responding.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"78c6b6e683e295528e2c553a68d1dea841ecc124","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"582e1e17_1f7ccb63","updated":"2022-02-25 02:22:18.000000000","message":"Haven\u0027t seen the CI since PS 13.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"a1cc2aa1eb672757e56e36c1ca30e6898337dde2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"05b14502_298ced1a","updated":"2022-02-22 16:04:47.000000000","message":"Thanks. My comments have been addressed. Zuul also passed. So +1.\n","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bdde51bedfad5879f87d0f28a2ab524d4719f34a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"ee2efeb8_d9fefca1","updated":"2022-02-25 02:22:39.000000000","message":"run-IBM Storage CI","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"5ca4938d8a02a4a2a909448d882bdeea0e595ecb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"80872f1e_82bb3577","in_reply_to":"ddd1e591_6d34cba2","updated":"2022-02-28 08:59:20.000000000","message":"The backend storage was in maintenance mode which is why the IBM-CI failed. With the new patch it will run again.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"ddf86e5d2aca5f472f50500895368777b0857962","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"3aaf31a2_ec29ab5e","updated":"2022-02-28 19:04:21.000000000","message":"FFE granted: http://lists.openstack.org/pipermail/openstack-discuss/2022-February/027458.html","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ff42b52687d888857f5a8fed3cd7bd19dabc7c7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"756fcc13_2cea347f","updated":"2022-02-28 23:05:20.000000000","message":"I have one nit inline that could be handled with a follow-up patch.  It looks like the other major comments have been addressed.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d8092630bce4e2f64e62cc83d62cd88bba5e5dc9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"5b55afb1_43907e79","updated":"2022-02-28 13:14:52.000000000","message":"IBM CI passed. LGTM.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4f950c3f2d709936b69f2594c5ba3a4629930d0e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"49d0f4fc_3726a334","updated":"2022-02-28 16:30:45.000000000","message":"Needs a feature freeze exception","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"8ffd58f1839a85c5f9227f2c26548be23ba7188e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"fd6651b6_17e3da5c","updated":"2022-02-28 09:20:29.000000000","message":"Thank you for addressing my comments. LGTM. will change vote from +1 to +2 when third party CI and zuul will report success.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"f73c4491b53c121936e47501ebb9975049f937a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"cbfb08d1_53ab8c55","updated":"2022-02-28 17:31:05.000000000","message":"Thanks Brian for guiding me to apply for FFE. \nFFE has now been applied and approved.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eca75cac53e7aecdb53f76783e391946fc3eeb32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"bec80614_d048ae35","updated":"2022-02-28 08:58:05.000000000","message":"Thankyou for the review.\nAll the comments are addressed.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"98096440e4ae5cd8280833b34c8bf6f57c385dca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2cec3c28_c2189fb7","updated":"2022-02-28 11:43:25.000000000","message":"run-IBM Storage CI","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"f73c4491b53c121936e47501ebb9975049f937a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"fe17bea6_f1f8ac26","in_reply_to":"49d0f4fc_3726a334","updated":"2022-02-28 17:31:05.000000000","message":"Raised the FFE.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"}],"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"165065c10fceff1a34f6e267453105c3eae9b14e","unresolved":true,"context_lines":[{"line_number":805,"context_line":"            rows \u003d ports"},{"line_number":806,"context_line":"        return self._print_info_cmd(rows\u003drows, **kwargs)"},{"line_number":807,"context_line":""},{"line_number":808,"context_line":"    # Print mostly made-up stuff in the correct syntax"},{"line_number":809,"context_line":"    def _cmd_lsfcportsetmember(self, **kwargs):"},{"line_number":810,"context_line":"        rows \u003d [None] * 7"},{"line_number":811,"context_line":"        rows[0] \u003d [\u0027id\u0027, \u0027fc_io_port_id\u0027, \u0027portset_id\u0027, \u0027portset_name\u0027,"},{"line_number":812,"context_line":"                   \u0027owner_id\u0027, \u0027owner_name\u0027]"},{"line_number":813,"context_line":"        rows[1] \u003d [\u00270\u0027, \u00275\u0027, \u00276\u0027, \u0027portset6\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":814,"context_line":"        rows[2] \u003d [\u00271\u0027, \u00275\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":815,"context_line":"        rows[3] \u003d [\u00272\u0027, \u00276\u0027, \u00276\u0027, \u0027portset6\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":816,"context_line":"        rows[4] \u003d [\u00273\u0027, \u00276\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":817,"context_line":"        rows[5] \u003d [\u00274\u0027, \u00277\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":818,"context_line":"        rows[6] \u003d [\u00275\u0027, \u00278\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"        if self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d\u003d \u0027header_mismatch\u0027:"},{"line_number":821,"context_line":"            rows[0].pop(2)"},{"line_number":822,"context_line":"            self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d \u0027\u0027"},{"line_number":823,"context_line":"        if self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d\u003d \u0027remove_field\u0027:"},{"line_number":824,"context_line":"            for row in rows:"},{"line_number":825,"context_line":"                row.pop(1)"},{"line_number":826,"context_line":"            self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d \u0027\u0027"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        return self._print_info_cmd(rows\u003drows, **kwargs)"},{"line_number":829,"context_line":""},{"line_number":830,"context_line":"    # Print mostly made-up stuff in the correct syntax"},{"line_number":831,"context_line":"    def _cmd_lsip(self, **kwargs):"},{"line_number":832,"context_line":"        ports \u003d [None] * 9"},{"line_number":833,"context_line":"        ports[0] \u003d [\u0027id\u0027, \u0027node_id\u0027, \u0027node_name\u0027, \u0027port_id\u0027, \u0027portset_id\u0027,"},{"line_number":834,"context_line":"                    \u0027portset_name\u0027, \u0027IP_address\u0027, \u0027prefix\u0027, \u0027vlan\u0027, \u0027gateway\u0027,"},{"line_number":835,"context_line":"                    \u0027owner_id\u0027, \u0027owner_name\u0027]"},{"line_number":836,"context_line":"        ports[1] \u003d [\u00270\u0027, \u00271\u0027, \u0027node1\u0027, \u00275\u0027, \u00270\u0027, \u0027portset0\u0027, \u00271.234.50.11\u0027,"},{"line_number":837,"context_line":"                    \u002724\u0027, \u00271001\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":838,"context_line":"        ports[2] \u003d [\u00271\u0027, \u00271\u0027, \u0027node1\u0027, \u00276\u0027, \u00274\u0027, \u0027portset4\u0027, \u00271.234.51.11\u0027,"},{"line_number":839,"context_line":"                    \u002724\u0027, \u00271002\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":840,"context_line":"        ports[3] \u003d [\u00272\u0027, \u00271\u0027, \u0027node1\u0027, \u00277\u0027, \u00275\u0027, \u0027portset5\u0027, \u00271.234.52.11\u0027,"},{"line_number":841,"context_line":"                    \u002724\u0027, \u00271003\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":842,"context_line":"        ports[4] \u003d [\u00273\u0027, \u00271\u0027, \u0027node1\u0027, \u00278\u0027, \u00276\u0027, \u0027portset6\u0027, \u00271.234.53.11\u0027,"},{"line_number":843,"context_line":"                    \u002724\u0027, \u00271004\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":844,"context_line":"        ports[5] \u003d [\u00274\u0027, \u00272\u0027, \u0027node2\u0027, \u00275\u0027, \u00270\u0027, \u0027portset0\u0027, \u00271.234.54.11\u0027,"},{"line_number":845,"context_line":"                    \u002724\u0027, \u00271005\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":846,"context_line":"        ports[6] \u003d [\u00275\u0027, \u00272\u0027, \u0027node2\u0027, \u00276\u0027, \u00274\u0027, \u0027portset4\u0027, \u00271.234.55.11\u0027,"},{"line_number":847,"context_line":"                    \u002724\u0027, \u00271006\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":848,"context_line":"        ports[7] \u003d [\u00276\u0027, \u00272\u0027, \u0027node2\u0027, \u00277\u0027, \u00275\u0027, \u0027portset5\u0027, \u00271.234.56.11\u0027,"},{"line_number":849,"context_line":"                    \u002724\u0027, \u00271007\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":850,"context_line":"        ports[8] \u003d [\u00277\u0027, \u00272\u0027, \u0027node2\u0027, \u00278\u0027, \u00276\u0027, \u0027portset6\u0027, \u00271.234.57.11\u0027,"},{"line_number":851,"context_line":"                    \u002724\u0027, \u00271008\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"        if \u0027filtervalue\u0027 in kwargs:"},{"line_number":854,"context_line":"            rows \u003d []"},{"line_number":855,"context_line":"            rows.append([\u0027id\u0027, \u0027node_id\u0027, \u0027node_name\u0027, \u0027port_id\u0027, \u0027portset_id\u0027,"},{"line_number":856,"context_line":"                         \u0027portset_name\u0027, \u0027IP_address\u0027, \u0027prefix\u0027, \u0027vlan\u0027,"},{"line_number":857,"context_line":"                         \u0027gateway\u0027, \u0027owner_id\u0027, \u0027owner_name\u0027])"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"            value \u003d kwargs[\u0027filtervalue\u0027].split(\u0027\u003d\u0027)[1]"},{"line_number":860,"context_line":"            for v in ports:"},{"line_number":861,"context_line":"                if six.text_type(v[5]) \u003d\u003d value:"},{"line_number":862,"context_line":"                    rows.append(v)"},{"line_number":863,"context_line":"        else:"},{"line_number":864,"context_line":"            rows \u003d ports"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"        if self._next_cmd_error[\u0027lsip\u0027] \u003d\u003d \u0027header_mismatch\u0027:"},{"line_number":867,"context_line":"            rows[0].pop(2)"},{"line_number":868,"context_line":"            self._next_cmd_error[\u0027lsip\u0027] \u003d \u0027\u0027"},{"line_number":869,"context_line":"        if self._next_cmd_error[\u0027lsip\u0027] \u003d\u003d \u0027remove_field\u0027:"},{"line_number":870,"context_line":"            for row in rows:"},{"line_number":871,"context_line":"                row.pop(1)"},{"line_number":872,"context_line":"            self._next_cmd_error[\u0027lsip\u0027] \u003d \u0027\u0027"},{"line_number":873,"context_line":"        return self._print_info_cmd(rows\u003drows, **kwargs)"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"    # Print mostly made-up stuff in the correct syntax"},{"line_number":876,"context_line":"    def _cmd_lsportip(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9c0de788_1426189c","line":873,"range":{"start_line":808,"start_character":0,"end_line":873,"end_character":56},"updated":"2022-02-16 07:19:55.000000000","message":"I don\u0027t see these methods being called from anywhere","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[{"line_number":805,"context_line":"            rows \u003d ports"},{"line_number":806,"context_line":"        return self._print_info_cmd(rows\u003drows, **kwargs)"},{"line_number":807,"context_line":""},{"line_number":808,"context_line":"    # Print mostly made-up stuff in the correct syntax"},{"line_number":809,"context_line":"    def _cmd_lsfcportsetmember(self, **kwargs):"},{"line_number":810,"context_line":"        rows \u003d [None] * 7"},{"line_number":811,"context_line":"        rows[0] \u003d [\u0027id\u0027, \u0027fc_io_port_id\u0027, \u0027portset_id\u0027, \u0027portset_name\u0027,"},{"line_number":812,"context_line":"                   \u0027owner_id\u0027, \u0027owner_name\u0027]"},{"line_number":813,"context_line":"        rows[1] \u003d [\u00270\u0027, \u00275\u0027, \u00276\u0027, \u0027portset6\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":814,"context_line":"        rows[2] \u003d [\u00271\u0027, \u00275\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":815,"context_line":"        rows[3] \u003d [\u00272\u0027, \u00276\u0027, \u00276\u0027, \u0027portset6\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":816,"context_line":"        rows[4] \u003d [\u00273\u0027, \u00276\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":817,"context_line":"        rows[5] \u003d [\u00274\u0027, \u00277\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":818,"context_line":"        rows[6] \u003d [\u00275\u0027, \u00278\u0027, \u002764\u0027, \u0027portset64\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"        if self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d\u003d \u0027header_mismatch\u0027:"},{"line_number":821,"context_line":"            rows[0].pop(2)"},{"line_number":822,"context_line":"            self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d \u0027\u0027"},{"line_number":823,"context_line":"        if self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d\u003d \u0027remove_field\u0027:"},{"line_number":824,"context_line":"            for row in rows:"},{"line_number":825,"context_line":"                row.pop(1)"},{"line_number":826,"context_line":"            self._next_cmd_error[\u0027lsfcportsetmember\u0027] \u003d \u0027\u0027"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"        return self._print_info_cmd(rows\u003drows, **kwargs)"},{"line_number":829,"context_line":""},{"line_number":830,"context_line":"    # Print mostly made-up stuff in the correct syntax"},{"line_number":831,"context_line":"    def _cmd_lsip(self, **kwargs):"},{"line_number":832,"context_line":"        ports \u003d [None] * 9"},{"line_number":833,"context_line":"        ports[0] \u003d [\u0027id\u0027, \u0027node_id\u0027, \u0027node_name\u0027, \u0027port_id\u0027, \u0027portset_id\u0027,"},{"line_number":834,"context_line":"                    \u0027portset_name\u0027, \u0027IP_address\u0027, \u0027prefix\u0027, \u0027vlan\u0027, \u0027gateway\u0027,"},{"line_number":835,"context_line":"                    \u0027owner_id\u0027, \u0027owner_name\u0027]"},{"line_number":836,"context_line":"        ports[1] \u003d [\u00270\u0027, \u00271\u0027, \u0027node1\u0027, \u00275\u0027, \u00270\u0027, \u0027portset0\u0027, \u00271.234.50.11\u0027,"},{"line_number":837,"context_line":"                    \u002724\u0027, \u00271001\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":838,"context_line":"        ports[2] \u003d [\u00271\u0027, \u00271\u0027, \u0027node1\u0027, \u00276\u0027, \u00274\u0027, \u0027portset4\u0027, \u00271.234.51.11\u0027,"},{"line_number":839,"context_line":"                    \u002724\u0027, \u00271002\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":840,"context_line":"        ports[3] \u003d [\u00272\u0027, \u00271\u0027, \u0027node1\u0027, \u00277\u0027, \u00275\u0027, \u0027portset5\u0027, \u00271.234.52.11\u0027,"},{"line_number":841,"context_line":"                    \u002724\u0027, \u00271003\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":842,"context_line":"        ports[4] \u003d [\u00273\u0027, \u00271\u0027, \u0027node1\u0027, \u00278\u0027, \u00276\u0027, \u0027portset6\u0027, \u00271.234.53.11\u0027,"},{"line_number":843,"context_line":"                    \u002724\u0027, \u00271004\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":844,"context_line":"        ports[5] \u003d [\u00274\u0027, \u00272\u0027, \u0027node2\u0027, \u00275\u0027, \u00270\u0027, \u0027portset0\u0027, \u00271.234.54.11\u0027,"},{"line_number":845,"context_line":"                    \u002724\u0027, \u00271005\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":846,"context_line":"        ports[6] \u003d [\u00275\u0027, \u00272\u0027, \u0027node2\u0027, \u00276\u0027, \u00274\u0027, \u0027portset4\u0027, \u00271.234.55.11\u0027,"},{"line_number":847,"context_line":"                    \u002724\u0027, \u00271006\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":848,"context_line":"        ports[7] \u003d [\u00276\u0027, \u00272\u0027, \u0027node2\u0027, \u00277\u0027, \u00275\u0027, \u0027portset5\u0027, \u00271.234.56.11\u0027,"},{"line_number":849,"context_line":"                    \u002724\u0027, \u00271007\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":850,"context_line":"        ports[8] \u003d [\u00277\u0027, \u00272\u0027, \u0027node2\u0027, \u00278\u0027, \u00276\u0027, \u0027portset6\u0027, \u00271.234.57.11\u0027,"},{"line_number":851,"context_line":"                    \u002724\u0027, \u00271008\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027]"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"        if \u0027filtervalue\u0027 in kwargs:"},{"line_number":854,"context_line":"            rows \u003d []"},{"line_number":855,"context_line":"            rows.append([\u0027id\u0027, \u0027node_id\u0027, \u0027node_name\u0027, \u0027port_id\u0027, \u0027portset_id\u0027,"},{"line_number":856,"context_line":"                         \u0027portset_name\u0027, \u0027IP_address\u0027, \u0027prefix\u0027, \u0027vlan\u0027,"},{"line_number":857,"context_line":"                         \u0027gateway\u0027, \u0027owner_id\u0027, \u0027owner_name\u0027])"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"            value \u003d kwargs[\u0027filtervalue\u0027].split(\u0027\u003d\u0027)[1]"},{"line_number":860,"context_line":"            for v in ports:"},{"line_number":861,"context_line":"                if six.text_type(v[5]) \u003d\u003d value:"},{"line_number":862,"context_line":"                    rows.append(v)"},{"line_number":863,"context_line":"        else:"},{"line_number":864,"context_line":"            rows \u003d ports"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"        if self._next_cmd_error[\u0027lsip\u0027] \u003d\u003d \u0027header_mismatch\u0027:"},{"line_number":867,"context_line":"            rows[0].pop(2)"},{"line_number":868,"context_line":"            self._next_cmd_error[\u0027lsip\u0027] \u003d \u0027\u0027"},{"line_number":869,"context_line":"        if self._next_cmd_error[\u0027lsip\u0027] \u003d\u003d \u0027remove_field\u0027:"},{"line_number":870,"context_line":"            for row in rows:"},{"line_number":871,"context_line":"                row.pop(1)"},{"line_number":872,"context_line":"            self._next_cmd_error[\u0027lsip\u0027] \u003d \u0027\u0027"},{"line_number":873,"context_line":"        return self._print_info_cmd(rows\u003drows, **kwargs)"},{"line_number":874,"context_line":""},{"line_number":875,"context_line":"    # Print mostly made-up stuff in the correct syntax"},{"line_number":876,"context_line":"    def _cmd_lsportip(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":13,"id":"27cc012c_21d32f57","line":873,"range":{"start_line":808,"start_character":0,"end_line":873,"end_character":56},"in_reply_to":"9c0de788_1426189c","updated":"2022-02-21 14:54:35.000000000","message":"These functions are being called in simulation for checking the error_injection for various types of inputs in the UT: test_storwize_svc_connectivity","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6bda864fbc42286b57cf897362c3a7ec874ab020","unresolved":true,"context_lines":[{"line_number":5216,"context_line":"               \u0027mirror_pool\u0027: None,"},{"line_number":5217,"context_line":"               \u0027volume_topology\u0027: None,"},{"line_number":5218,"context_line":"               \u0027peer_pool\u0027: None,"},{"line_number":5219,"context_line":"               \u0027storwize_portset\u0027: None,"},{"line_number":5220,"context_line":"               \u0027storwize_svc_src_child_pool\u0027: None,"},{"line_number":5221,"context_line":"               \u0027storwize_svc_target_child_pool\u0027: None,"},{"line_number":5222,"context_line":"               \u0027cycle_period_seconds\u0027: 300"}],"source_content_type":"text/x-python","patch_set":13,"id":"46b71cd0_29e3c924","line":5219,"range":{"start_line":5219,"start_character":15,"end_line":5219,"end_character":40},"updated":"2022-02-16 07:26:55.000000000","message":"we should also have a test case where this config option is set\nAlso I don\u0027t see any new test calling this method to verify if \u0027-portset \u003cportset\u003e\u0027 is being added to the mkhost command or not","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[{"line_number":5216,"context_line":"               \u0027mirror_pool\u0027: None,"},{"line_number":5217,"context_line":"               \u0027volume_topology\u0027: None,"},{"line_number":5218,"context_line":"               \u0027peer_pool\u0027: None,"},{"line_number":5219,"context_line":"               \u0027storwize_portset\u0027: None,"},{"line_number":5220,"context_line":"               \u0027storwize_svc_src_child_pool\u0027: None,"},{"line_number":5221,"context_line":"               \u0027storwize_svc_target_child_pool\u0027: None,"},{"line_number":5222,"context_line":"               \u0027cycle_period_seconds\u0027: 300"}],"source_content_type":"text/x-python","patch_set":13,"id":"c4476b6c_961463d6","line":5219,"range":{"start_line":5219,"start_character":15,"end_line":5219,"end_character":40},"in_reply_to":"46b71cd0_29e3c924","updated":"2022-02-21 14:54:35.000000000","message":"Two new UTs have been added to check the value of portset in mkhost call.\nThe above UTs are calling mkhost with a user defined portset and also taking the value from configuration options.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"9e5bb88edb8272f3b62fb3285ed004a64eb0ad27","unresolved":true,"context_lines":[{"line_number":1134,"context_line":"            LOG.info(\u0027WWPN on node %(node)s: %(wwpn)s.\u0027,"},{"line_number":1135,"context_line":"                     {\u0027node\u0027: node[\u0027id\u0027], \u0027wwpn\u0027: node[\u0027WWPN\u0027]})"},{"line_number":1136,"context_line":""},{"line_number":1137,"context_line":"    def get_npiv_wwpns(self, code_level, node_id\u003dNone, host_io\u003dNone,"},{"line_number":1138,"context_line":"                       portset\u003dNone):"},{"line_number":1139,"context_line":"        wwpns \u003d set()"},{"line_number":1140,"context_line":"        # In the response of lstargetportfc, the host_io_permitted"}],"source_content_type":"text/x-python","patch_set":7,"id":"db018c1f_85ddabf7","line":1137,"updated":"2022-01-09 17:13:06.000000000","message":"instead of passing code_level can we fetch it from the self or stats, that will avoid changing the existing function definitions","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"2652e828006dfd0a82da17c5b62f2876cf679a39","unresolved":false,"context_lines":[{"line_number":1134,"context_line":"            LOG.info(\u0027WWPN on node %(node)s: %(wwpn)s.\u0027,"},{"line_number":1135,"context_line":"                     {\u0027node\u0027: node[\u0027id\u0027], \u0027wwpn\u0027: node[\u0027WWPN\u0027]})"},{"line_number":1136,"context_line":""},{"line_number":1137,"context_line":"    def get_npiv_wwpns(self, code_level, node_id\u003dNone, host_io\u003dNone,"},{"line_number":1138,"context_line":"                       portset\u003dNone):"},{"line_number":1139,"context_line":"        wwpns \u003d set()"},{"line_number":1140,"context_line":"        # In the response of lstargetportfc, the host_io_permitted"}],"source_content_type":"text/x-python","patch_set":7,"id":"2f966663_2c8d483c","line":1137,"in_reply_to":"db018c1f_85ddabf7","updated":"2022-01-12 07:05:05.000000000","message":"We can fetch code_level from self but will face the issue in failover situation as self.code_level is not up-to-date.\n\nSo, we are fetching the code_level from self._state (from COMMONDRIVER) and passing it as parameter to get_npiv_wwpns(). With the current code, we can not fetch the data from self._state direct in the function get_npiv_wwpns() as the class is not inheriting COMMONDRIVER.\n\nSo, we can skip the extra parameter introduction with one of the following approach:\na. Use self.code_level but attachment will fail after failover \nb. Use self._state[c\u0027code_level\u0027] but make a few code-changes at CLASS level(we should inherit COMMON_DRIVER class to the current).","commit_id":"a488b7ff98eeb16bffa79321d57ed876667ad3de"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":1106,"context_line":"                try:"},{"line_number":1107,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1108,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1109,"context_line":"                            if len(ip_data[\u0027IP_address\u0027]):"},{"line_number":1110,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1111,"context_line":"                except KeyError:"},{"line_number":1112,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":8,"id":"544c709a_3a86ed64","line":1109,"range":{"start_line":1109,"start_character":31,"end_line":1109,"end_character":57},"updated":"2022-01-31 07:27:34.000000000","message":"i think this should work even without the len function call","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":1106,"context_line":"                try:"},{"line_number":1107,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1108,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1109,"context_line":"                            if len(ip_data[\u0027IP_address\u0027]):"},{"line_number":1110,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1111,"context_line":"                except KeyError:"},{"line_number":1112,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"}],"source_content_type":"text/x-python","patch_set":8,"id":"311fed56_462da751","line":1109,"range":{"start_line":1109,"start_character":31,"end_line":1109,"end_character":57},"in_reply_to":"544c709a_3a86ed64","updated":"2022-02-03 10:38:07.000000000","message":"agreed, we will change it in followup patch.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":1107,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1108,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1109,"context_line":"                            if len(ip_data[\u0027IP_address\u0027]):"},{"line_number":1110,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1111,"context_line":"                except KeyError:"},{"line_number":1112,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1113,"context_line":"                if len(ip_addresses):"}],"source_content_type":"text/x-python","patch_set":8,"id":"926a2dde_8b2be3b2","line":1110,"range":{"start_line":1110,"start_character":61,"end_line":1110,"end_character":71},"updated":"2022-01-31 07:27:34.000000000","message":"looks like this code doesn\u0027t account for ipv6 addresses, what will happen if we\u0027ve ipv6 address? don\u0027t we need similar handling like in L#1097-1098","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":1107,"context_line":"                    for ip_data in lsip_resp:"},{"line_number":1108,"context_line":"                        if ip_data[\u0027node_id\u0027] in node_data:"},{"line_number":1109,"context_line":"                            if len(ip_data[\u0027IP_address\u0027]):"},{"line_number":1110,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1111,"context_line":"                except KeyError:"},{"line_number":1112,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1113,"context_line":"                if len(ip_addresses):"}],"source_content_type":"text/x-python","patch_set":8,"id":"c3929be1_a53c1e53","line":1110,"range":{"start_line":1110,"start_character":61,"end_line":1110,"end_character":71},"in_reply_to":"926a2dde_8b2be3b2","updated":"2022-02-03 10:38:07.000000000","message":"new command lsip command output has only single column \u0027IP_address\u0027 to handle both ipv4 and ipv6 addresses, whereas at L1097, lsportip command output has both \u0027IP_address\u0027 and \u0027IP_address_6\u0027separately.\n\nLike we discussed in irc, we are storing the ip addresses in \u0027ipv4\u0027 key which is wrong, it will addressed in the followup patch","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":1141,"context_line":"        # indicates whether the port can be used for host I/O"},{"line_number":1142,"context_line":"        targetportfc_resp \u003d self.ssh.lstargetportfc(current_node_id\u003dnode_id,"},{"line_number":1143,"context_line":"                                                    host_io_permitted\u003dhost_io)"},{"line_number":1144,"context_line":"        if code_level \u003e\u003d (8, 4, 2, 0):"},{"line_number":1145,"context_line":"            portset_name \u003d portset if portset else \u0027portset64\u0027"},{"line_number":1146,"context_line":"            port_ids \u003d set()"},{"line_number":1147,"context_line":"            fcportsetmember_resp \u003d self.ssh.lsfcportsetmember()"}],"source_content_type":"text/x-python","patch_set":8,"id":"d83b7c98_3d858f91","line":1144,"range":{"start_line":1144,"start_character":8,"end_line":1144,"end_character":38},"updated":"2022-01-31 07:27:34.000000000","message":"This condition should be consistent, on L#1087 we\u0027re checking code_level\u003c(8,4,2,0).\nthis doesn\u0027t change anything in functionality but IMO should be same checks everywhere.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":1141,"context_line":"        # indicates whether the port can be used for host I/O"},{"line_number":1142,"context_line":"        targetportfc_resp \u003d self.ssh.lstargetportfc(current_node_id\u003dnode_id,"},{"line_number":1143,"context_line":"                                                    host_io_permitted\u003dhost_io)"},{"line_number":1144,"context_line":"        if code_level \u003e\u003d (8, 4, 2, 0):"},{"line_number":1145,"context_line":"            portset_name \u003d portset if portset else \u0027portset64\u0027"},{"line_number":1146,"context_line":"            port_ids \u003d set()"},{"line_number":1147,"context_line":"            fcportsetmember_resp \u003d self.ssh.lsfcportsetmember()"}],"source_content_type":"text/x-python","patch_set":8,"id":"d242ab6a_99f0cdd6","line":1144,"range":{"start_line":1144,"start_character":8,"end_line":1144,"end_character":38},"in_reply_to":"d83b7c98_3d858f91","updated":"2022-02-03 10:38:07.000000000","message":"agreed, will be addressed in followup patch","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":1152,"context_line":"            for port_info in targetportfc_resp:"},{"line_number":1153,"context_line":"                for port_id in port_ids:"},{"line_number":1154,"context_line":"                    if port_id \u003d\u003d port_info[\u0027fc_io_port_id\u0027]:"},{"line_number":1155,"context_line":"                        wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":1156,"context_line":"                        break"},{"line_number":1157,"context_line":"        else:"},{"line_number":1158,"context_line":"            for port_info in targetportfc_resp:"},{"line_number":1159,"context_line":"                wwpns.add(port_info[\u0027WWPN\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"8757a5bf_5508867b","line":1156,"range":{"start_line":1155,"start_character":0,"end_line":1156,"end_character":29},"updated":"2022-01-31 07:27:34.000000000","message":"this is different from what we were doing previously, which is to add all WWPNs. Any reason for breaking at this particular moment? I don\u0027t see the point of wwpns being created as a set and converting it into list if we\u0027re just storing one WWPN? just append it to the final list","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"284df82be20c1a12863b96fec49699f0c28200e3","unresolved":false,"context_lines":[{"line_number":1152,"context_line":"            for port_info in targetportfc_resp:"},{"line_number":1153,"context_line":"                for port_id in port_ids:"},{"line_number":1154,"context_line":"                    if port_id \u003d\u003d port_info[\u0027fc_io_port_id\u0027]:"},{"line_number":1155,"context_line":"                        wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":1156,"context_line":"                        break"},{"line_number":1157,"context_line":"        else:"},{"line_number":1158,"context_line":"            for port_info in targetportfc_resp:"},{"line_number":1159,"context_line":"                wwpns.add(port_info[\u0027WWPN\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"3b3ed6a6_f478dd48","line":1156,"range":{"start_line":1155,"start_character":0,"end_line":1156,"end_character":29},"in_reply_to":"8757a5bf_5508867b","updated":"2022-02-03 06:22:47.000000000","message":"Ignore this comment, maybe I missed out multiple loops and where this statement is breaking from, we can still have multiple wwpns depending on the portset.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":1152,"context_line":"            for port_info in targetportfc_resp:"},{"line_number":1153,"context_line":"                for port_id in port_ids:"},{"line_number":1154,"context_line":"                    if port_id \u003d\u003d port_info[\u0027fc_io_port_id\u0027]:"},{"line_number":1155,"context_line":"                        wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":1156,"context_line":"                        break"},{"line_number":1157,"context_line":"        else:"},{"line_number":1158,"context_line":"            for port_info in targetportfc_resp:"},{"line_number":1159,"context_line":"                wwpns.add(port_info[\u0027WWPN\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"61f2cf2f_c62c2c1e","line":1156,"range":{"start_line":1155,"start_character":0,"end_line":1156,"end_character":29},"in_reply_to":"8757a5bf_5508867b","updated":"2022-02-03 10:38:07.000000000","message":"Storage has introduced the concept of portsets in V8420, where port WWPNs are grouped based on user defined portsets.\n\nFirst we find all the ports mapped to the portset and then filter the wwpns related to those ports in \u0027lstargetportfc\u0027\n\nwe dont take single wwpns, supporse if a port has 3 wwwpns, it will be listed in 3 rows so all 3 wwpns will be considered.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"c16de1ba55b76bf0b6880425264d8d33a7d7108d","unresolved":true,"context_lines":[{"line_number":1098,"context_line":"                except KeyError:"},{"line_number":1099,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1100,"context_line":"                if len(ip_addresses):"},{"line_number":1101,"context_line":"                    storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d\\"},{"line_number":1102,"context_line":"                        ip_addresses"},{"line_number":1103,"context_line":"        else:"},{"line_number":1104,"context_line":"            lsportip_resp \u003d self.ssh.lsportip()"},{"line_number":1105,"context_line":"            for ip_data in lsportip_resp:"}],"source_content_type":"text/x-python","patch_set":13,"id":"dd047180_0033edd8","line":1102,"range":{"start_line":1101,"start_character":67,"end_line":1102,"end_character":36},"updated":"2022-02-18 10:16:06.000000000","message":"nit: Can we use parenthesis instead of \"\\\"","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[{"line_number":1098,"context_line":"                except KeyError:"},{"line_number":1099,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1100,"context_line":"                if len(ip_addresses):"},{"line_number":1101,"context_line":"                    storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d\\"},{"line_number":1102,"context_line":"                        ip_addresses"},{"line_number":1103,"context_line":"        else:"},{"line_number":1104,"context_line":"            lsportip_resp \u003d self.ssh.lsportip()"},{"line_number":1105,"context_line":"            for ip_data in lsportip_resp:"}],"source_content_type":"text/x-python","patch_set":13,"id":"8ea5ec3e_0118ecf5","line":1102,"range":{"start_line":1101,"start_character":67,"end_line":1102,"end_character":36},"in_reply_to":"dd047180_0033edd8","updated":"2022-02-21 14:54:35.000000000","message":"This has been fixed.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"165065c10fceff1a34f6e267453105c3eae9b14e","unresolved":true,"context_lines":[{"line_number":1144,"context_line":"        targetportfc_resp \u003d self.ssh.lstargetportfc(current_node_id\u003dnode_id,"},{"line_number":1145,"context_line":"                                                    host_io_permitted\u003dhost_io)"},{"line_number":1146,"context_line":"        if code_level \u003e\u003d (8, 4, 2, 0):"},{"line_number":1147,"context_line":"            portset_name \u003d portset if portset else \u0027portset64\u0027"},{"line_number":1148,"context_line":"            port_ids \u003d set()"},{"line_number":1149,"context_line":"            fcportsetmember_resp \u003d self.ssh.lsfcportsetmember()"},{"line_number":1150,"context_line":"            for portset_member in fcportsetmember_resp:"}],"source_content_type":"text/x-python","patch_set":13,"id":"18e6a1fe_ef8b7753","line":1147,"range":{"start_line":1147,"start_character":52,"end_line":1147,"end_character":61},"updated":"2022-02-16 07:19:55.000000000","message":"on L#1089, we\u0027re using portset0 as default portset and here it is portset64, any reason for this difference and will these portsets be available by default?","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"43b3ea9f50c02a953f0d5401e7a2019be63c0266","unresolved":false,"context_lines":[{"line_number":1144,"context_line":"        targetportfc_resp \u003d self.ssh.lstargetportfc(current_node_id\u003dnode_id,"},{"line_number":1145,"context_line":"                                                    host_io_permitted\u003dhost_io)"},{"line_number":1146,"context_line":"        if code_level \u003e\u003d (8, 4, 2, 0):"},{"line_number":1147,"context_line":"            portset_name \u003d portset if portset else \u0027portset64\u0027"},{"line_number":1148,"context_line":"            port_ids \u003d set()"},{"line_number":1149,"context_line":"            fcportsetmember_resp \u003d self.ssh.lsfcportsetmember()"},{"line_number":1150,"context_line":"            for portset_member in fcportsetmember_resp:"}],"source_content_type":"text/x-python","patch_set":13,"id":"02bea5c1_55c9906b","line":1147,"range":{"start_line":1147,"start_character":52,"end_line":1147,"end_character":61},"in_reply_to":"18e6a1fe_ef8b7753","updated":"2022-02-16 10:33:45.000000000","message":"During creation of host, if user doesn\u0027t mention about the portset, it uses the default portset which is \u0027portset64\u0027 for FC.\nYes these portsets are avaialble always by default.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e27cb3d006802f6312f21dd7ed5d58920e760a75","unresolved":true,"context_lines":[{"line_number":133,"context_line":"               default\u003dNone,"},{"line_number":134,"context_line":"               help\u003d\u0027Specifies the name of the pool in which mirrored copy \u0027"},{"line_number":135,"context_line":"                    \u0027is stored. Example: \"pool2\"\u0027),"},{"line_number":136,"context_line":"    cfg.StrOpt(\u0027storwize_portset\u0027,"},{"line_number":137,"context_line":"               default\u003dNone,"},{"line_number":138,"context_line":"               help\u003d\u0027Specifies the name of the portset in which \u0027"},{"line_number":139,"context_line":"                    \u0027host to be created.\u0027),"}],"source_content_type":"text/x-python","patch_set":15,"id":"eefdfcf5_bb3f819d","line":136,"updated":"2022-02-25 02:59:35.000000000","message":"I imagine there are some restrictions on the name (for example, how long it can be). You might want to take advantage of some properties of the StrOpt to make it more difficult to mis-configure the driver.  (That can be done as a followup.)","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eca75cac53e7aecdb53f76783e391946fc3eeb32","unresolved":false,"context_lines":[{"line_number":133,"context_line":"               default\u003dNone,"},{"line_number":134,"context_line":"               help\u003d\u0027Specifies the name of the pool in which mirrored copy \u0027"},{"line_number":135,"context_line":"                    \u0027is stored. Example: \"pool2\"\u0027),"},{"line_number":136,"context_line":"    cfg.StrOpt(\u0027storwize_portset\u0027,"},{"line_number":137,"context_line":"               default\u003dNone,"},{"line_number":138,"context_line":"               help\u003d\u0027Specifies the name of the portset in which \u0027"},{"line_number":139,"context_line":"                    \u0027host to be created.\u0027),"}],"source_content_type":"text/x-python","patch_set":15,"id":"5eba0a2b_04c10e53","line":136,"in_reply_to":"eefdfcf5_bb3f819d","updated":"2022-02-28 08:58:05.000000000","message":"This is will be done in the future as per the requirement when it arises. For now there is only one config attribute related to portset, hence keeping the same name.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e27cb3d006802f6312f21dd7ed5d58920e760a75","unresolved":true,"context_lines":[{"line_number":1111,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1112,"context_line":"                except KeyError:"},{"line_number":1113,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1114,"context_line":"                if len(ip_addresses):"},{"line_number":1115,"context_line":"                    storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1116,"context_line":"                        ip_addresses)"},{"line_number":1117,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":15,"id":"741c7b5a_cf3f99ed","line":1114,"range":{"start_line":1114,"start_character":19,"end_line":1114,"end_character":36},"updated":"2022-02-25 02:59:35.000000000","message":"this is redundant ... bool([]) \u003d\u003d bool(len([])), and bool() applied to an non-empty list is True.  This taking the len of a list before using it as a bool happens a lot in this file.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"eca75cac53e7aecdb53f76783e391946fc3eeb32","unresolved":false,"context_lines":[{"line_number":1111,"context_line":"                                ip_addresses.append(ip_data[\u0027IP_address\u0027])"},{"line_number":1112,"context_line":"                except KeyError:"},{"line_number":1113,"context_line":"                    self.handle_keyerror(\u0027lsip\u0027, ip_data)"},{"line_number":1114,"context_line":"                if len(ip_addresses):"},{"line_number":1115,"context_line":"                    storage_nodes[ip_data[\u0027node_id\u0027]][\u0027IP_address\u0027] \u003d ("},{"line_number":1116,"context_line":"                        ip_addresses)"},{"line_number":1117,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":15,"id":"04752e71_6acb519f","line":1114,"range":{"start_line":1114,"start_character":19,"end_line":1114,"end_character":36},"in_reply_to":"741c7b5a_cf3f99ed","updated":"2022-02-28 08:58:05.000000000","message":"This is addressed.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"ff42b52687d888857f5a8fed3cd7bd19dabc7c7a","unresolved":true,"context_lines":[{"line_number":136,"context_line":"    cfg.StrOpt(\u0027storwize_portset\u0027,"},{"line_number":137,"context_line":"               default\u003dNone,"},{"line_number":138,"context_line":"               help\u003d\u0027Specifies the name of the portset in which \u0027"},{"line_number":139,"context_line":"                    \u0027host to be created.\u0027),"},{"line_number":140,"context_line":"    cfg.StrOpt(\u0027storwize_svc_src_child_pool\u0027,"},{"line_number":141,"context_line":"               default\u003dNone,"},{"line_number":142,"context_line":"               help\u003d\u0027Specifies the name of the source child pool in which \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"c31d6a6d_66837269","line":139,"range":{"start_line":139,"start_character":21,"end_line":139,"end_character":40},"updated":"2022-02-28 23:05:20.000000000","message":"nit \"the host is to be created.\"","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"ab22d6064ca528fa380ba2f746d3ddeba7164017","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    cfg.StrOpt(\u0027storwize_portset\u0027,"},{"line_number":137,"context_line":"               default\u003dNone,"},{"line_number":138,"context_line":"               help\u003d\u0027Specifies the name of the portset in which \u0027"},{"line_number":139,"context_line":"                    \u0027host to be created.\u0027),"},{"line_number":140,"context_line":"    cfg.StrOpt(\u0027storwize_svc_src_child_pool\u0027,"},{"line_number":141,"context_line":"               default\u003dNone,"},{"line_number":142,"context_line":"               help\u003d\u0027Specifies the name of the source child pool in which \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"7ba52631_ecd94211","line":139,"range":{"start_line":139,"start_character":21,"end_line":139,"end_character":40},"in_reply_to":"c31d6a6d_66837269","updated":"2022-03-01 05:23:19.000000000","message":"Sure Jay, i will address this in a followup patch.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"c16de1ba55b76bf0b6880425264d8d33a7d7108d","unresolved":true,"context_lines":[{"line_number":95,"context_line":"        2.2.2 - Add npiv support"},{"line_number":96,"context_line":"        2.2.3 - Add replication group support"},{"line_number":97,"context_line":"        2.2.4 - Add backup snapshots support"},{"line_number":98,"context_line":"        2.2.5 - Add hyperswap support"},{"line_number":99,"context_line":"    \"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    VERSION \u003d \"2.2.5\""}],"source_content_type":"text/x-python","patch_set":13,"id":"dd542d03_bb19abd4","line":98,"updated":"2022-02-18 10:16:06.000000000","message":"Can a new version be specified; something like below:\n2.2.6 - Add support for host attachment using portsets","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        2.2.2 - Add npiv support"},{"line_number":96,"context_line":"        2.2.3 - Add replication group support"},{"line_number":97,"context_line":"        2.2.4 - Add backup snapshots support"},{"line_number":98,"context_line":"        2.2.5 - Add hyperswap support"},{"line_number":99,"context_line":"    \"\"\""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    VERSION \u003d \"2.2.5\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1ec6284e_989e13b3","line":98,"in_reply_to":"dd542d03_bb19abd4","updated":"2022-02-21 14:54:35.000000000","message":"The version information has been updated.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"5265a1524439ecbe964e2c2b6b8b649a05da24c9","unresolved":true,"context_lines":[{"line_number":99,"context_line":"        2.2.6 - Add support for host attachment using portsets"},{"line_number":100,"context_line":"    \"\"\""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    VERSION \u003d \"2.2.5\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":105,"context_line":"    CI_WIKI_NAME \u003d \"IBM_STORAGE_CI\""}],"source_content_type":"text/x-python","patch_set":14,"id":"1bb49e1b_f5597609","line":102,"range":{"start_line":102,"start_character":15,"end_line":102,"end_character":20},"updated":"2022-02-22 07:28:04.000000000","message":"nit: 2.2.6","commit_id":"16634aa8ee631e4058266c4c5fe7780ed1d7d6d9"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"7376dbc4cb7d483f5bedfb6fba49ae9c619e36a3","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        2.2.6 - Add support for host attachment using portsets"},{"line_number":100,"context_line":"    \"\"\""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    VERSION \u003d \"2.2.5\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":105,"context_line":"    CI_WIKI_NAME \u003d \"IBM_STORAGE_CI\""}],"source_content_type":"text/x-python","patch_set":14,"id":"72be0084_3cae98c6","line":102,"range":{"start_line":102,"start_character":15,"end_line":102,"end_character":20},"in_reply_to":"1bb49e1b_f5597609","updated":"2022-02-22 07:34:06.000000000","message":"Done","commit_id":"16634aa8ee631e4058266c4c5fe7780ed1d7d6d9"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"4b189b1b1062f8dd8849e6dcfbc2e53f0ec9f94c","unresolved":true,"context_lines":[{"line_number":432,"context_line":"                npivwwpns \u003d ("},{"line_number":433,"context_line":"                    backend_helper.get_npiv_wwpns(node_state[\u0027code_level\u0027],"},{"line_number":434,"context_line":"                                                  node_id\u003dnode[\u0027id\u0027],"},{"line_number":435,"context_line":"                                                  host_io\u003d\"yes\"))"},{"line_number":436,"context_line":"                conn_wwpns.extend(npivwwpns)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"        i_t_map \u003d self._make_initiator_target_map(connector[\u0027wwpns\u0027],"}],"source_content_type":"text/x-python","patch_set":15,"id":"484961f0_fa13531e","line":435,"updated":"2022-02-22 10:21:26.000000000","message":"Should below 4th parameter be added here (as in line 276):\nportset\u003dopts[\u0027storwize_portset\u0027]","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"123784367feab1de465394ddd93db80dab1ace71","unresolved":false,"context_lines":[{"line_number":432,"context_line":"                npivwwpns \u003d ("},{"line_number":433,"context_line":"                    backend_helper.get_npiv_wwpns(node_state[\u0027code_level\u0027],"},{"line_number":434,"context_line":"                                                  node_id\u003dnode[\u0027id\u0027],"},{"line_number":435,"context_line":"                                                  host_io\u003d\"yes\"))"},{"line_number":436,"context_line":"                conn_wwpns.extend(npivwwpns)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"        i_t_map \u003d self._make_initiator_target_map(connector[\u0027wwpns\u0027],"}],"source_content_type":"text/x-python","patch_set":15,"id":"033c03c8_309afec9","line":435,"in_reply_to":"484961f0_fa13531e","updated":"2022-02-22 13:34:09.000000000","message":"No because in line 276, it is used during initialization at which point we can take the portset info from conf.\nBut the function _get_volume_connection_info() is called during _retype_hyperswap_volume() which doesnt require portset value from the config or opts.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":283,"context_line":"        # Get preferred node and other nodes in I/O group"},{"line_number":284,"context_line":"        preferred_node_entry \u003d None"},{"line_number":285,"context_line":"        io_group_nodes \u003d []"},{"line_number":286,"context_line":"        if node_state[\u0027code_level\u0027] \u003e\u003d (8, 4, 2, 0):"},{"line_number":287,"context_line":"            backend_helper.add_iscsi_ip_addrs(node_state[\u0027storage_nodes\u0027],"},{"line_number":288,"context_line":"                                              node_state[\u0027code_level\u0027],"},{"line_number":289,"context_line":"                                              portset\u003dportset)"}],"source_content_type":"text/x-python","patch_set":8,"id":"11599263_4ee805de","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":52},"updated":"2022-01-31 07:27:34.000000000","message":"same","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        # Get preferred node and other nodes in I/O group"},{"line_number":284,"context_line":"        preferred_node_entry \u003d None"},{"line_number":285,"context_line":"        io_group_nodes \u003d []"},{"line_number":286,"context_line":"        if node_state[\u0027code_level\u0027] \u003e\u003d (8, 4, 2, 0):"},{"line_number":287,"context_line":"            backend_helper.add_iscsi_ip_addrs(node_state[\u0027storage_nodes\u0027],"},{"line_number":288,"context_line":"                                              node_state[\u0027code_level\u0027],"},{"line_number":289,"context_line":"                                              portset\u003dportset)"}],"source_content_type":"text/x-python","patch_set":8,"id":"8375e3ff_d92dad74","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":52},"in_reply_to":"11599263_4ee805de","updated":"2022-02-03 10:38:07.000000000","message":"Ack","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":345,"context_line":"                   \u0027lun_id\u0027: lun_id})"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        try:"},{"line_number":348,"context_line":"            if node_state[\u0027code_level\u0027] \u003c (8, 4, 2, 0):"},{"line_number":349,"context_line":"                resp \u003d backend_helper.ssh.lsportip()"},{"line_number":350,"context_line":"            else:"},{"line_number":351,"context_line":"                portset_name \u003d portset if portset else \u0027portset0\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7e179194_97648a0e","line":348,"range":{"start_line":348,"start_character":0,"end_line":348,"end_character":55},"updated":"2022-01-31 07:27:34.000000000","message":"same, keep it consistent across","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                   \u0027lun_id\u0027: lun_id})"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        try:"},{"line_number":348,"context_line":"            if node_state[\u0027code_level\u0027] \u003c (8, 4, 2, 0):"},{"line_number":349,"context_line":"                resp \u003d backend_helper.ssh.lsportip()"},{"line_number":350,"context_line":"            else:"},{"line_number":351,"context_line":"                portset_name \u003d portset if portset else \u0027portset0\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"e8c32184_c27f9c04","line":348,"range":{"start_line":348,"start_character":0,"end_line":348,"end_character":55},"in_reply_to":"7e179194_97648a0e","updated":"2022-02-03 10:38:07.000000000","message":"Ack","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":366,"context_line":"                    continue"},{"line_number":367,"context_line":"                link_state \u003d ip_data.get(\u0027link_state\u0027, None)"},{"line_number":368,"context_line":"                valid_port \u003d \u0027\u0027"},{"line_number":369,"context_line":"                if node_state[\u0027code_level\u0027] \u003c (8, 4, 2, 0):"},{"line_number":370,"context_line":"                    if ((ip_data[\u0027state\u0027] \u003d\u003d \u0027configured\u0027 and"},{"line_number":371,"context_line":"                            link_state \u003d\u003d \u0027active\u0027) or"},{"line_number":372,"context_line":"                            ip_data[\u0027state\u0027] \u003d\u003d \u0027online\u0027):"}],"source_content_type":"text/x-python","patch_set":8,"id":"673b632e_1cfabd6a","line":369,"range":{"start_line":369,"start_character":0,"end_line":369,"end_character":59},"updated":"2022-01-31 07:27:34.000000000","message":"same","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                    continue"},{"line_number":367,"context_line":"                link_state \u003d ip_data.get(\u0027link_state\u0027, None)"},{"line_number":368,"context_line":"                valid_port \u003d \u0027\u0027"},{"line_number":369,"context_line":"                if node_state[\u0027code_level\u0027] \u003c (8, 4, 2, 0):"},{"line_number":370,"context_line":"                    if ((ip_data[\u0027state\u0027] \u003d\u003d \u0027configured\u0027 and"},{"line_number":371,"context_line":"                            link_state \u003d\u003d \u0027active\u0027) or"},{"line_number":372,"context_line":"                            ip_data[\u0027state\u0027] \u003d\u003d \u0027online\u0027):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa5af06_aa2ab4ef","line":369,"range":{"start_line":369,"start_character":0,"end_line":369,"end_character":59},"in_reply_to":"673b632e_1cfabd6a","updated":"2022-02-03 10:38:07.000000000","message":"Ack","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9f33971e927f7294b0ac8426b8bf755946191a1f","unresolved":true,"context_lines":[{"line_number":373,"context_line":"                        valid_port \u003d (ip_data[\u0027IP_address\u0027] or"},{"line_number":374,"context_line":"                                      ip_data[\u0027IP_address_6\u0027])"},{"line_number":375,"context_line":"                else:"},{"line_number":376,"context_line":"                    valid_port \u003d ip_data[\u0027IP_address\u0027]"},{"line_number":377,"context_line":"                if valid_port:"},{"line_number":378,"context_line":"                    properties[\u0027target_portals\u0027].append("},{"line_number":379,"context_line":"                        \u0027%s:%s\u0027 % (valid_port, \u00273260\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"88a03c95_9a091b5e","line":376,"range":{"start_line":376,"start_character":20,"end_line":376,"end_character":54},"updated":"2022-01-31 07:27:34.000000000","message":"again same question, don\u0027t we account for ipv6 addresses and what happens if we encounter one?","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"8afec274006e01bec82ed23dcfbd98f68747c039","unresolved":false,"context_lines":[{"line_number":373,"context_line":"                        valid_port \u003d (ip_data[\u0027IP_address\u0027] or"},{"line_number":374,"context_line":"                                      ip_data[\u0027IP_address_6\u0027])"},{"line_number":375,"context_line":"                else:"},{"line_number":376,"context_line":"                    valid_port \u003d ip_data[\u0027IP_address\u0027]"},{"line_number":377,"context_line":"                if valid_port:"},{"line_number":378,"context_line":"                    properties[\u0027target_portals\u0027].append("},{"line_number":379,"context_line":"                        \u0027%s:%s\u0027 % (valid_port, \u00273260\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"cf788784_6a15606d","line":376,"range":{"start_line":376,"start_character":20,"end_line":376,"end_character":54},"in_reply_to":"88a03c95_9a091b5e","updated":"2022-02-03 10:38:07.000000000","message":"new command lsip output has only single column \u0027IP_address\u0027 to handle both ipv4 and ipv6 addresses, whereas lsportip command output has both \u0027IP_address\u0027 and \u0027IP_address_6\u0027separately.","commit_id":"30da7fb67cc21d9257ac7f88b67c86059ef12b8f"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"c16de1ba55b76bf0b6880425264d8d33a7d7108d","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        2.2.1 - Add vdisk mirror/stretch cluster support"},{"line_number":94,"context_line":"        2.2.2 - Add replication group support"},{"line_number":95,"context_line":"        2.2.3 - Add backup snapshots support"},{"line_number":96,"context_line":"        2.2.4 - Add hyperswap support"},{"line_number":97,"context_line":"    \"\"\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    VERSION \u003d \"2.2.4\""}],"source_content_type":"text/x-python","patch_set":13,"id":"fccb7af9_16bfdc95","line":96,"updated":"2022-02-18 10:16:06.000000000","message":"Same version increment comment as mentioned for svc_fc.py","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        2.2.1 - Add vdisk mirror/stretch cluster support"},{"line_number":94,"context_line":"        2.2.2 - Add replication group support"},{"line_number":95,"context_line":"        2.2.3 - Add backup snapshots support"},{"line_number":96,"context_line":"        2.2.4 - Add hyperswap support"},{"line_number":97,"context_line":"    \"\"\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    VERSION \u003d \"2.2.4\""}],"source_content_type":"text/x-python","patch_set":13,"id":"a81b90a8_bdc6766d","line":96,"in_reply_to":"fccb7af9_16bfdc95","updated":"2022-02-21 14:54:35.000000000","message":"The version information has been updated.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"165065c10fceff1a34f6e267453105c3eae9b14e","unresolved":true,"context_lines":[{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        try:"},{"line_number":352,"context_line":"            if node_state[\u0027code_level\u0027] \u003e\u003d (8, 4, 2, 0):"},{"line_number":353,"context_line":"                portset_name \u003d portset if portset else \u0027portset0\u0027"},{"line_number":354,"context_line":"                resp \u003d backend_helper.ssh.lsip(portset\u003dportset_name)"},{"line_number":355,"context_line":"            else:"},{"line_number":356,"context_line":"                resp \u003d backend_helper.ssh.lsportip()"}],"source_content_type":"text/x-python","patch_set":13,"id":"7bb360bc_bd4a10d6","line":353,"range":{"start_line":353,"start_character":55,"end_line":353,"end_character":65},"updated":"2022-02-16 07:19:55.000000000","message":"is this a default portset that will always exist?","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"43b3ea9f50c02a953f0d5401e7a2019be63c0266","unresolved":false,"context_lines":[{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        try:"},{"line_number":352,"context_line":"            if node_state[\u0027code_level\u0027] \u003e\u003d (8, 4, 2, 0):"},{"line_number":353,"context_line":"                portset_name \u003d portset if portset else \u0027portset0\u0027"},{"line_number":354,"context_line":"                resp \u003d backend_helper.ssh.lsip(portset\u003dportset_name)"},{"line_number":355,"context_line":"            else:"},{"line_number":356,"context_line":"                resp \u003d backend_helper.ssh.lsportip()"}],"source_content_type":"text/x-python","patch_set":13,"id":"e000550d_a91c4a44","line":353,"range":{"start_line":353,"start_character":55,"end_line":353,"end_character":65},"in_reply_to":"7bb360bc_bd4a10d6","updated":"2022-02-16 10:33:45.000000000","message":"\u0027portset0\u0027 is the default portset for iSCSI hosts. Yes it always exists and assigned to the hosts which are created without explicit portsets.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"5265a1524439ecbe964e2c2b6b8b649a05da24c9","unresolved":true,"context_lines":[{"line_number":97,"context_line":"        2.2.5 - Add support for host attachment using portsets"},{"line_number":98,"context_line":"    \"\"\""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    VERSION \u003d \"2.2.4\""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":103,"context_line":"    CI_WIKI_NAME \u003d \"IBM_STORAGE_CI\""}],"source_content_type":"text/x-python","patch_set":14,"id":"66448380_60ac792a","line":100,"range":{"start_line":100,"start_character":15,"end_line":100,"end_character":20},"updated":"2022-02-22 07:28:04.000000000","message":"2.2.6","commit_id":"16634aa8ee631e4058266c4c5fe7780ed1d7d6d9"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"7376dbc4cb7d483f5bedfb6fba49ae9c619e36a3","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        2.2.5 - Add support for host attachment using portsets"},{"line_number":98,"context_line":"    \"\"\""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    VERSION \u003d \"2.2.4\""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":103,"context_line":"    CI_WIKI_NAME \u003d \"IBM_STORAGE_CI\""}],"source_content_type":"text/x-python","patch_set":14,"id":"b641c274_5036b46e","line":100,"range":{"start_line":100,"start_character":15,"end_line":100,"end_character":20},"in_reply_to":"66448380_60ac792a","updated":"2022-02-22 07:34:06.000000000","message":"This will be 2.2.5","commit_id":"16634aa8ee631e4058266c4c5fe7780ed1d7d6d9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b6d310794b18dc800cf3345546ebb53cf0866f8d","unresolved":true,"context_lines":[{"line_number":317,"context_line":"            \u0027target_lun\u0027: lun_id,"},{"line_number":318,"context_line":"            \u0027volume_id\u0027: volume.id}"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        if node_state[\u0027code_level\u0027] \u003e\u003d (8, 4, 2, 0):"},{"line_number":321,"context_line":"            if preferred_node_entry[\u0027IP_address\u0027]:"},{"line_number":322,"context_line":"                ipaddr \u003d preferred_node_entry[\u0027IP_address\u0027][0]"},{"line_number":323,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":15,"id":"210b4f75_c9cd6fcf","line":320,"range":{"start_line":320,"start_character":39,"end_line":320,"end_character":51},"updated":"2022-02-22 16:16:40.000000000","message":"It would be quite reasonable to store this as a constant somewhere instead of writing it over and over.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"576fd4fc208db7d7b85fd3807b83c87d11f88a99","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            \u0027target_lun\u0027: lun_id,"},{"line_number":318,"context_line":"            \u0027volume_id\u0027: volume.id}"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        if node_state[\u0027code_level\u0027] \u003e\u003d (8, 4, 2, 0):"},{"line_number":321,"context_line":"            if preferred_node_entry[\u0027IP_address\u0027]:"},{"line_number":322,"context_line":"                ipaddr \u003d preferred_node_entry[\u0027IP_address\u0027][0]"},{"line_number":323,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":15,"id":"1438c9cf_fa1a8353","line":320,"range":{"start_line":320,"start_character":39,"end_line":320,"end_character":51},"in_reply_to":"210b4f75_c9cd6fcf","updated":"2022-02-23 08:37:18.000000000","message":"I didnt store it as a constant because there are many code levels used through out the code where constants are not used instead directly the value is used.\n\nIf you see in the following operations the code levels are directly compared:\ndelete_volume() -\u003e 7, 7, 0, 0\ndelete_snapshot() -\u003e 7, 7, 0, 0\ncheck_flashcopy_rate() -\u003e 7, 8, 1, 0\nchange_vdisk_iogrp() -\u003e 6, 4, 0, 0\nis_system_topology_hyperswap() -\u003e 7, 6, 0, 0\n_extend_volume_op() -\u003e 7, 7, 0, 0\nmigrate_volume()\nretype_iogrp_property()\n_delete_replication_grp()\n\nDefining macros for each code level will result in changes to many operations and every time we have to go to the constant to check the value. Hence to maintain the code consistency i directly used the value of code level as it has been followed throughout the code.","commit_id":"fb22cfd6e81944df33b2256250ad13a9c6a35f3d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"8ffd58f1839a85c5f9227f2c26548be23ba7188e","unresolved":true,"context_lines":[{"line_number":184,"context_line":"        # this connector info."},{"line_number":185,"context_line":"        host_name \u003d None"},{"line_number":186,"context_line":"        try:"},{"line_number":187,"context_line":"            opts \u003d self._get_vdisk_params(volume.volume_type_id)"},{"line_number":188,"context_line":"            host_name \u003d ("},{"line_number":189,"context_line":"                backend_helper.create_host(connector, iscsi\u003dTrue,"},{"line_number":190,"context_line":"                                           site\u003dhost_site,"}],"source_content_type":"text/x-python","patch_set":16,"id":"550601fd_e9879b06","line":187,"range":{"start_line":187,"start_character":12,"end_line":187,"end_character":64},"updated":"2022-02-28 09:20:29.000000000","message":"nit: better to store storwize_portset in the variable since that\u0027s the only property used in opts\n\nstorwize_portset \u003d self._get_vdisk_params(volume.volume_type_id)[\u0027storwize_portset\u0027]","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"62e831ffa494db1ab62ec98dde72e11bed03c03c","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        # this connector info."},{"line_number":185,"context_line":"        host_name \u003d None"},{"line_number":186,"context_line":"        try:"},{"line_number":187,"context_line":"            opts \u003d self._get_vdisk_params(volume.volume_type_id)"},{"line_number":188,"context_line":"            host_name \u003d ("},{"line_number":189,"context_line":"                backend_helper.create_host(connector, iscsi\u003dTrue,"},{"line_number":190,"context_line":"                                           site\u003dhost_site,"}],"source_content_type":"text/x-python","patch_set":16,"id":"6b94b8d7_faf466cb","line":187,"range":{"start_line":187,"start_character":12,"end_line":187,"end_character":64},"in_reply_to":"550601fd_e9879b06","updated":"2022-02-28 09:38:24.000000000","message":"This approach is used to keep code consistency, because in other associated files all the parameters from opts is used in the similar way without storing in a variable. Hence the same approach is used here so that the code is uniform.","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"}],"releasenotes/notes/ibm-svf-manage-host-attachment-using-portsets-0003c54b185f0eb2.yaml":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"c16de1ba55b76bf0b6880425264d8d33a7d7108d","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver: Added support to manage host"},{"line_number":5,"context_line":"    attachment using portsets."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"21d898ed_16be0e61","line":5,"updated":"2022-02-18 10:16:06.000000000","message":"nit: Here can we specify ... For newer hardware Eg. model number \u003e\u003d 8.4.2.0.\nBecause, in storwize_svc_common.py, check for (8,4,2,0) is done.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"a69fe055b03b13bf31648dbc3df4797cfb4d11c2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver: Added support to manage host"},{"line_number":5,"context_line":"    attachment using portsets."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"d2a87ba7_b8b9d222","line":5,"in_reply_to":"21d898ed_16be0e61","updated":"2022-02-21 14:54:35.000000000","message":"The version information in the release notes is also updated.","commit_id":"a89de99651c9483a46fe6581cc4c9f85a9ad4617"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"8ffd58f1839a85c5f9227f2c26548be23ba7188e","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver: Added support to manage host"},{"line_number":5,"context_line":"    attachment using portsets for code level \u003e\u003d 8.4.2.0"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"465a49fa_e36e532b","line":5,"range":{"start_line":5,"start_character":34,"end_line":5,"end_character":55},"updated":"2022-02-28 09:20:29.000000000","message":"I\u0027m not sure if end users/operators have much idea what code level is? How do we set the code level in a particular openstack deployment?","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"},{"author":{"_account_id":32074,"name":"Harsh Ailani","email":"haailani@in.ibm.com","username":"haailani"},"change_message_id":"62e831ffa494db1ab62ec98dde72e11bed03c03c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IBM Spectrum Virtualize Family driver: Added support to manage host"},{"line_number":5,"context_line":"    attachment using portsets for code level \u003e\u003d 8.4.2.0"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"13ab3543_db97696a","line":5,"range":{"start_line":5,"start_character":34,"end_line":5,"end_character":55},"in_reply_to":"465a49fa_e36e532b","updated":"2022-02-28 09:38:24.000000000","message":"This code level is of the SVC backend storage. The admin will know the version of the SVC because portsets are supported only in the versions \u003e\u003d 8.4.2.0","commit_id":"88fd602edd9ad8b8aafdf260c1e8a35efa484225"}]}
