)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"a2f5c03f918a6bc7fbbd86013f38eda3ddb72880","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Storwize: add NPIV support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Storwize/svc release 7.7.0.0 provides new feature NPIV. Enable NPIV"},{"line_number":10,"context_line":"feature, The virtual wwpns will be used for I/O operation.But Cinder"},{"line_number":11,"context_line":"driver still use physical wwpns."},{"line_number":12,"context_line":"This patch updates the storwize driver to use virtual wwpns when NPIV"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf57530f_1db63fdb","line":9,"updated":"2017-09-21 03:59:09.000000000","message":"I\u0027d recommend the following for the commit message:\n\nThe Storwize/svc release 7.7.0.0 introduced an NPIV feature, which when enabled provides for both virtual and physical wwpns on the controller. \n\nThe patch enables the storwize cinder driver to make use of the virtual and physical wwpns that have been enabled for I/O operations.","commit_id":"d28e41443ff94116920bdcbe1c49dd57729e4d42"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"566c14ef65c90ff3f932779d2b9e69167c64a10c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Storwize: add NPIV support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Storwize/svc release 7.7.0.0 provides new feature NPIV. Enable NPIV"},{"line_number":10,"context_line":"feature, The virtual wwpns will be used for I/O operation.But Cinder"},{"line_number":11,"context_line":"driver still use physical wwpns."},{"line_number":12,"context_line":"This patch updates the storwize driver to use virtual wwpns when NPIV"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f5c4f37_e6cbdb6f","line":9,"in_reply_to":"bf57530f_1db63fdb","updated":"2017-09-21 05:45:01.000000000","message":"Hi Gerald, Thank you very much for your comment. It has been addressed in the new patch","commit_id":"d28e41443ff94116920bdcbe1c49dd57729e4d42"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"01f094226eebab2327f4f85345192ff9d8512778","unresolved":false,"context_lines":[{"line_number":838,"context_line":"            else:"},{"line_number":839,"context_line":"                # In the response of lstargetportfc , the current_node_id"},{"line_number":840,"context_line":"                # indicates the port is active.The host_io_permitted indicates"},{"line_number":841,"context_line":"                # wheather host I/O operations can run on the port"},{"line_number":842,"context_line":"                resp \u003d self.ssh.lstargetportfc(own_node_id\u003dnode[\u0027id\u0027])"},{"line_number":843,"context_line":"                for port_info in resp:"},{"line_number":844,"context_line":"                    wwpns.add(port_info[\u0027WWPN\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_b82104a2","line":841,"range":{"start_line":841,"start_character":18,"end_line":841,"end_character":25},"updated":"2017-09-06 14:20:41.000000000","message":"whether","commit_id":"1f93001f4474a217d73b47c30c83b109456308fd"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"0f49a8fbeb4174385e9aa920014a63ca034c3c84","unresolved":false,"context_lines":[{"line_number":838,"context_line":"            else:"},{"line_number":839,"context_line":"                # In the response of lstargetportfc , the current_node_id"},{"line_number":840,"context_line":"                # indicates the port is active.The host_io_permitted indicates"},{"line_number":841,"context_line":"                # wheather host I/O operations can run on the port"},{"line_number":842,"context_line":"                resp \u003d self.ssh.lstargetportfc(own_node_id\u003dnode[\u0027id\u0027])"},{"line_number":843,"context_line":"                for port_info in resp:"},{"line_number":844,"context_line":"                    wwpns.add(port_info[\u0027WWPN\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_e60fd085","line":841,"range":{"start_line":841,"start_character":18,"end_line":841,"end_character":25},"in_reply_to":"7f287b81_b82104a2","updated":"2017-09-07 08:40:31.000000000","message":"Hi Jay, thank you very much for your comment,  it has been fixed in the new patch","commit_id":"1f93001f4474a217d73b47c30c83b109456308fd"},{"author":{"_account_id":17564,"name":"jiamin","email":"shljia@cn.ibm.com","username":"jiamin"},"change_message_id":"3904485e8f05b38ef2207294962b5ea817e38c07","unresolved":false,"context_lines":[{"line_number":839,"context_line":"                # In the response of lstargetportfc , the current_node_id"},{"line_number":840,"context_line":"                # indicates the port is active.The host_io_permitted indicates"},{"line_number":841,"context_line":"                # wheather host I/O operations can run on the port"},{"line_number":842,"context_line":"                resp \u003d self.ssh.lstargetportfc(own_node_id\u003dnode[\u0027id\u0027])"},{"line_number":843,"context_line":"                for port_info in resp:"},{"line_number":844,"context_line":"                    wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":845,"context_line":"            node[\u0027WWPN\u0027] \u003d list(wwpns)"},{"line_number":846,"context_line":"            LOG.info(\u0027WWPN on node %(node)s: %(wwpn)s.\u0027,"},{"line_number":847,"context_line":"                     {\u0027node\u0027: node[\u0027id\u0027], \u0027wwpn\u0027: node[\u0027WWPN\u0027]})"},{"line_number":848,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_811eb6b8","line":845,"range":{"start_line":842,"start_character":0,"end_line":845,"end_character":38},"updated":"2017-09-07 09:18:02.000000000","message":"these code is so similar to function get_npiv_wwpns, is it possible to improve the code in add_fc_wwpns?","commit_id":"1f93001f4474a217d73b47c30c83b109456308fd"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"f416263c1b83edcfd457e3bdd4129ca22a0c03dd","unresolved":false,"context_lines":[{"line_number":839,"context_line":"                # In the response of lstargetportfc , the current_node_id"},{"line_number":840,"context_line":"                # indicates the port is active.The host_io_permitted indicates"},{"line_number":841,"context_line":"                # wheather host I/O operations can run on the port"},{"line_number":842,"context_line":"                resp \u003d self.ssh.lstargetportfc(own_node_id\u003dnode[\u0027id\u0027])"},{"line_number":843,"context_line":"                for port_info in resp:"},{"line_number":844,"context_line":"                    wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":845,"context_line":"            node[\u0027WWPN\u0027] \u003d list(wwpns)"},{"line_number":846,"context_line":"            LOG.info(\u0027WWPN on node %(node)s: %(wwpn)s.\u0027,"},{"line_number":847,"context_line":"                     {\u0027node\u0027: node[\u0027id\u0027], \u0027wwpn\u0027: node[\u0027WWPN\u0027]})"},{"line_number":848,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_f98f5920","line":845,"range":{"start_line":842,"start_character":0,"end_line":845,"end_character":38},"in_reply_to":"7f287b81_811eb6b8","updated":"2017-09-08 05:27:02.000000000","message":"Hi Jiamin, thank you very much for your comment. It was updated as the function get_npiv_wwpns in the new patch.","commit_id":"1f93001f4474a217d73b47c30c83b109456308fd"},{"author":{"_account_id":13047,"name":"Isaac Beckman","email":"beckmani@gmail.com","username":"isaacb"},"change_message_id":"056cdb1f367e3e297dd34ed0412ad641880b86b3","unresolved":false,"context_lines":[{"line_number":848,"context_line":"        # indicates whether the port can be used for host I/O"},{"line_number":849,"context_line":"        if node_id:"},{"line_number":850,"context_line":"            resp \u003d self.ssh.lstargetportfc(own_node_id\u003dnode_id)"},{"line_number":851,"context_line":"        elif host_io:"},{"line_number":852,"context_line":"            resp \u003d self.ssh.lstargetportfc(host_io_permitted\u003dhost_io)"},{"line_number":853,"context_line":"        for port_info in resp:"},{"line_number":854,"context_line":"            wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":855,"context_line":"        return wwpns"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_71b64afd","line":852,"range":{"start_line":851,"start_character":0,"end_line":852,"end_character":69},"updated":"2017-09-25 13:08:54.000000000","message":"According to lstargetportfc, it can get both node_id and host_io simultaneously.\nIf this is the case, you need here only 1 if:\nif node_id or host_io......\nIf this is not the case you need to change lstargetportfc code to reflect the limitation that you can set only 1 input parameter at  a time","commit_id":"d8d113cd94b7db5cf2b7f50235fd58065f9d6746"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"b37aa5d2e5138d7fd8e1e5726638cdd73b8ed548","unresolved":false,"context_lines":[{"line_number":848,"context_line":"        # indicates whether the port can be used for host I/O"},{"line_number":849,"context_line":"        if node_id:"},{"line_number":850,"context_line":"            resp \u003d self.ssh.lstargetportfc(own_node_id\u003dnode_id)"},{"line_number":851,"context_line":"        elif host_io:"},{"line_number":852,"context_line":"            resp \u003d self.ssh.lstargetportfc(host_io_permitted\u003dhost_io)"},{"line_number":853,"context_line":"        for port_info in resp:"},{"line_number":854,"context_line":"            wwpns.add(port_info[\u0027WWPN\u0027])"},{"line_number":855,"context_line":"        return wwpns"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f515b1d_551f4f5a","line":852,"range":{"start_line":851,"start_character":0,"end_line":852,"end_character":69},"in_reply_to":"7f515b1d_71b64afd","updated":"2017-09-28 08:00:19.000000000","message":"Hi Isaac, Thank you very much for your comment, it has been addressed in the new patch","commit_id":"d8d113cd94b7db5cf2b7f50235fd58065f9d6746"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"01f094226eebab2327f4f85345192ff9d8512778","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                    info[\u0027data\u0027] \u003d {\u0027initiator_target_map\u0027: init_targ_map}"},{"line_number":308,"context_line":"                # No volume mapped to the host, delete host from array"},{"line_number":309,"context_line":"                self._helpers.delete_host(host_name)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        LOG.debug(\u0027leave: terminate_connection: volume %(vol)s with \u0027"},{"line_number":312,"context_line":"                  \u0027connector %(conn)s\u0027, {\u0027vol\u0027: volume[\u0027id\u0027],"},{"line_number":313,"context_line":"                                         \u0027conn\u0027: connector})"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_78695cbc","side":"PARENT","line":310,"updated":"2017-09-06 14:20:41.000000000","message":"This change seems unnecessary.  Can we remove this change please?","commit_id":"7c7b95780a2224e21b84a43a09cb7fdcde103a92"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"0f49a8fbeb4174385e9aa920014a63ca034c3c84","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                    info[\u0027data\u0027] \u003d {\u0027initiator_target_map\u0027: init_targ_map}"},{"line_number":308,"context_line":"                # No volume mapped to the host, delete host from array"},{"line_number":309,"context_line":"                self._helpers.delete_host(host_name)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        LOG.debug(\u0027leave: terminate_connection: volume %(vol)s with \u0027"},{"line_number":312,"context_line":"                  \u0027connector %(conn)s\u0027, {\u0027vol\u0027: volume[\u0027id\u0027],"},{"line_number":313,"context_line":"                                         \u0027conn\u0027: connector})"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_06809cbe","side":"PARENT","line":310,"in_reply_to":"7f287b81_78695cbc","updated":"2017-09-07 08:40:31.000000000","message":"Hi Jay, thank you very much for your comment, I have remove it in the new patch","commit_id":"7c7b95780a2224e21b84a43a09cb7fdcde103a92"},{"author":{"_account_id":17564,"name":"jiamin","email":"shljia@cn.ibm.com","username":"jiamin"},"change_message_id":"131ca32fb8503fdd171a554bdf1f7e33fddec6aa","unresolved":false,"context_lines":[{"line_number":90,"context_line":"              mode"},{"line_number":91,"context_line":"        2.1.1 - Update replication to version 2.1"},{"line_number":92,"context_line":"        2.2 - Add CG capability to generic volume groups"},{"line_number":93,"context_line":"        2.2.1 - Add vdisk mirror/stretch cluster support"},{"line_number":94,"context_line":"    \"\"\""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    VERSION \u003d \"2.2.1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_81a8f61f","line":93,"range":{"start_line":93,"start_character":7,"end_line":93,"end_character":56},"updated":"2017-09-07 09:20:40.000000000","message":"it is better to add this change into version history.","commit_id":"1f93001f4474a217d73b47c30c83b109456308fd"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"f416263c1b83edcfd457e3bdd4129ca22a0c03dd","unresolved":false,"context_lines":[{"line_number":90,"context_line":"              mode"},{"line_number":91,"context_line":"        2.1.1 - Update replication to version 2.1"},{"line_number":92,"context_line":"        2.2 - Add CG capability to generic volume groups"},{"line_number":93,"context_line":"        2.2.1 - Add vdisk mirror/stretch cluster support"},{"line_number":94,"context_line":"    \"\"\""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    VERSION \u003d \"2.2.1\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_79cc8969","line":93,"range":{"start_line":93,"start_character":7,"end_line":93,"end_character":56},"in_reply_to":"7f287b81_81a8f61f","updated":"2017-09-08 05:27:02.000000000","message":"Hi Jiamin, thank you very much for your comment, I have added this change into version history in the new patch.","commit_id":"1f93001f4474a217d73b47c30c83b109456308fd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"a2f5c03f918a6bc7fbbd86013f38eda3ddb72880","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            # no target ports with visibility to any of the initiators"},{"line_number":199,"context_line":"            # so we return all target ports."},{"line_number":200,"context_line":"            if len(conn_wwpns) \u003d\u003d 0:"},{"line_number":201,"context_line":"                # From storwize/svc release 7.7..0.0 there is npiv feature."},{"line_number":202,"context_line":"                # Different commands be used to get the wwpn for host I/O"},{"line_number":203,"context_line":"                if self._state[\u0027code_level\u0027] \u003c (7, 7, 0, 0):"},{"line_number":204,"context_line":"                    for node in self._state[\u0027storage_nodes\u0027].values():"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf57530f_a2b4b236","line":201,"updated":"2017-09-21 03:59:09.000000000","message":"nit 7.7.0.0 extra .","commit_id":"d28e41443ff94116920bdcbe1c49dd57729e4d42"},{"author":{"_account_id":11186,"name":"yixuan zhang","email":"yixuan_z@hotmail.com","username":"yixuanzhang"},"change_message_id":"566c14ef65c90ff3f932779d2b9e69167c64a10c","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            # no target ports with visibility to any of the initiators"},{"line_number":199,"context_line":"            # so we return all target ports."},{"line_number":200,"context_line":"            if len(conn_wwpns) \u003d\u003d 0:"},{"line_number":201,"context_line":"                # From storwize/svc release 7.7..0.0 there is npiv feature."},{"line_number":202,"context_line":"                # Different commands be used to get the wwpn for host I/O"},{"line_number":203,"context_line":"                if self._state[\u0027code_level\u0027] \u003c (7, 7, 0, 0):"},{"line_number":204,"context_line":"                    for node in self._state[\u0027storage_nodes\u0027].values():"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f5c4f37_2688d31d","line":201,"in_reply_to":"bf57530f_a2b4b236","updated":"2017-09-21 05:45:01.000000000","message":"Hi Gerald, Thank you very much for your comment. It has been addressed in the new patch","commit_id":"d28e41443ff94116920bdcbe1c49dd57729e4d42"}]}
