)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"9ed455b09f2cd0064a0a91d9a2cb714509fb6f84","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2018-01-12 03:01:36 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Storwize: use DLM locks"},{"line_number":8,"context_line":"To be able to use Storwize driver with c-vol in A/A deployment,"},{"line_number":9,"context_line":"local file lock should be replaces with distributed lock manager."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1742616"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f96bb07_c1766b07","line":8,"updated":"2018-01-14 21:09:22.000000000","message":"Should have a blank line here.","commit_id":"98545be296c678c195e45e3c967587f42a5a6574"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"9ed455b09f2cd0064a0a91d9a2cb714509fb6f84","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Storwize: use DLM locks"},{"line_number":8,"context_line":"To be able to use Storwize driver with c-vol in A/A deployment,"},{"line_number":9,"context_line":"local file lock should be replaces with distributed lock manager."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1742616"},{"line_number":12,"context_line":"Change-Id: Ib7b5d90b43ba6d004d81ce355db6b853911132be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f96bb07_8162a33d","line":9,"range":{"start_line":9,"start_character":26,"end_line":9,"end_character":34},"updated":"2018-01-14 21:09:22.000000000","message":"replaced","commit_id":"98545be296c678c195e45e3c967587f42a5a6574"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"2155ece70586948678b757886844dc6a72672da3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Storwize: use DLM locks"},{"line_number":8,"context_line":"To be able to use Storwize driver with c-vol in A/A deployment,"},{"line_number":9,"context_line":"local file lock should be replaces with distributed lock manager."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1742616"},{"line_number":12,"context_line":"Change-Id: Ib7b5d90b43ba6d004d81ce355db6b853911132be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f96bb07_b6f80a7b","line":10,"updated":"2018-01-16 14:44:33.000000000","message":"-1: commit message of v2 is fine, shouldn\u0027t fallback to v1.","commit_id":"fc9fe9dcf07490d284b7a515b4d8350b190fffa1"},{"author":{"_account_id":17045,"name":"xiaoqin","email":"xiaoqin.li@hotmail.com","username":"xiaoqin"},"change_message_id":"b921f68777e435ceebeb1e52daacc391439bc77b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Storwize: use DLM locks"},{"line_number":8,"context_line":"To be able to use Storwize driver with c-vol in A/A deployment,"},{"line_number":9,"context_line":"local file lock should be replaces with distributed lock manager."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Closes-Bug: #1742616"},{"line_number":12,"context_line":"Change-Id: Ib7b5d90b43ba6d004d81ce355db6b853911132be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f96bb07_2fad6a9a","line":10,"in_reply_to":"7f96bb07_b6f80a7b","updated":"2018-01-17 07:18:41.000000000","message":"Done","commit_id":"fc9fe9dcf07490d284b7a515b4d8350b190fffa1"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"63c05a1c98c35dd1b7a88013ce0b23e5bede9054","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Storwize: use DLM locks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To be able to use Storwize driver with c-vol in A/A deployment,"},{"line_number":10,"context_line":"local file lock should be replaces with distributed lock manager."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1742616"},{"line_number":13,"context_line":"Change-Id: Ib7b5d90b43ba6d004d81ce355db6b853911132be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7f96bb07_4fc8f620","line":10,"range":{"start_line":10,"start_character":26,"end_line":10,"end_character":34},"updated":"2018-01-17 02:56:31.000000000","message":"replaced.","commit_id":"d29c7ec8f7cf4563899046d2fca970fee71e647c"}],"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"e8a43e2e6b5da6371b417edd6809478ce4e0fa6b","unresolved":false,"context_lines":[{"line_number":3617,"context_line":"        # be automatically removed because there are no more mappings."},{"line_number":3618,"context_line":"        self.iscsi_driver.terminate_connection(volume2, self._connector)"},{"line_number":3619,"context_line":""},{"line_number":3620,"context_line":"        # Check if we successfully terminate connections when the host is not"},{"line_number":3621,"context_line":"        # specified (see bug #1244257)"},{"line_number":3622,"context_line":"        fake_conn \u003d {\u0027ip\u0027: \u0027127.0.0.1\u0027, \u0027initiator\u0027: \u0027iqn.fake\u0027}"},{"line_number":3623,"context_line":"        self.iscsi_driver.initialize_connection(volume2, self._connector)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_c492f9f6","side":"PARENT","line":3620,"updated":"2018-01-15 01:42:10.000000000","message":"Looks like this is a unrelated change? As this part is the testing code for the fix of bug #1244257, switch to DLM locks should not affect this?","commit_id":"6dd3776723cc985c4a087619f070c7c27d209528"},{"author":{"_account_id":17045,"name":"xiaoqin","email":"xiaoqin.li@hotmail.com","username":"xiaoqin"},"change_message_id":"f7adfea8ec6166e8f3917ff75e18736d38ec05e3","unresolved":false,"context_lines":[{"line_number":3617,"context_line":"        # be automatically removed because there are no more mappings."},{"line_number":3618,"context_line":"        self.iscsi_driver.terminate_connection(volume2, self._connector)"},{"line_number":3619,"context_line":""},{"line_number":3620,"context_line":"        # Check if we successfully terminate connections when the host is not"},{"line_number":3621,"context_line":"        # specified (see bug #1244257)"},{"line_number":3622,"context_line":"        fake_conn \u003d {\u0027ip\u0027: \u0027127.0.0.1\u0027, \u0027initiator\u0027: \u0027iqn.fake\u0027}"},{"line_number":3623,"context_line":"        self.iscsi_driver.initialize_connection(volume2, self._connector)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_a41d6d74","side":"PARENT","line":3620,"in_reply_to":"7f96bb07_c492f9f6","updated":"2018-01-15 01:55:52.000000000","message":"Hi Zhao, thanks for your comments. Since nova does not send fake connectors to cinder any longer, just remove this code. See the https://bugs.launchpad.net/nova/+bug/1609984 So we just use connector[host] directly for the DLM and remove this unit test.","commit_id":"6dd3776723cc985c4a087619f070c7c27d209528"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"e8a43e2e6b5da6371b417edd6809478ce4e0fa6b","unresolved":false,"context_lines":[{"line_number":4440,"context_line":"        # be automatically removed because there are no more mappings."},{"line_number":4441,"context_line":"        self.fc_driver.terminate_connection(volume2, self._connector)"},{"line_number":4442,"context_line":""},{"line_number":4443,"context_line":"        # Check if we successfully terminate connections when the host is not"},{"line_number":4444,"context_line":"        # specified (see bug #1244257)"},{"line_number":4445,"context_line":"        fake_conn \u003d {\u0027ip\u0027: \u0027127.0.0.1\u0027, \u0027initiator\u0027: \u0027iqn.fake\u0027}"},{"line_number":4446,"context_line":"        self.fc_driver.initialize_connection(volume2, self._connector)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_a4c1ede6","side":"PARENT","line":4443,"updated":"2018-01-15 01:42:10.000000000","message":"See the comment at L3620.","commit_id":"6dd3776723cc985c4a087619f070c7c27d209528"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"2155ece70586948678b757886844dc6a72672da3","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        # so that all the fake connectors to an SVC are serialized"},{"line_number":320,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        @coordination.synchronized(\u0027storwize-host-{system_id}-{host}\u0027)"},{"line_number":323,"context_line":"        def _do_terminate_connection_locked(system_id, volume,"},{"line_number":324,"context_line":"                                            connector, host, **kwargs):"},{"line_number":325,"context_line":"            return self._do_terminate_connection(volume, connector,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_76f84248","line":322,"updated":"2018-01-16 14:44:33.000000000","message":"It\u0027s much clearer style to use the \u0027coordination.synchronized\u0027 decorator in patchset v2. If we\u0027re going to use decorator inside, we can just do the way before this patch, then \u0027_do_terminate_connection_locked\u0027 does not need any arguments passed in.","commit_id":"fc9fe9dcf07490d284b7a515b4d8350b190fffa1"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"63c05a1c98c35dd1b7a88013ce0b23e5bede9054","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":137,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":138,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":139,"context_line":"        @coordination.synchronized(\u0027storwize-host-{system_id}\u0027"},{"line_number":140,"context_line":"                                   \u0027-{connector[host]}\u0027)"},{"line_number":141,"context_line":"        def _do_initialize_connection_locked(system_id, volume, connector):"},{"line_number":142,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":143,"context_line":"        return _do_initialize_connection_locked(self._state[\u0027system_id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_efd8e2ef","line":140,"range":{"start_line":139,"start_character":8,"end_line":140,"end_character":56},"updated":"2018-01-17 02:56:31.000000000","message":"We can just act like the previous style before this patch:\n\n@coordination.synchronized(\u0027storewize-host-\u0027 + self._state[\u0027system_id\u0027] + connector[\u0027host\u0027])\n\nthen _do_initialize_connection_locked would be just defined without duplicated arguments.","commit_id":"d29c7ec8f7cf4563899046d2fca970fee71e647c"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"63c05a1c98c35dd1b7a88013ce0b23e5bede9054","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        # so that all the fake connectors to an SVC are serialized"},{"line_number":320,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        @coordination.synchronized(\u0027storwize-host-{system_id}-{host}\u0027)"},{"line_number":323,"context_line":"        def _do_terminate_connection_locked(system_id, volume,"},{"line_number":324,"context_line":"                                            connector, host, **kwargs):"},{"line_number":325,"context_line":"            return self._do_terminate_connection(volume, connector,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_4ff1d66a","line":322,"updated":"2018-01-17 02:56:31.000000000","message":"Same as \u0027_do_initialize_connection_locked\u0027.","commit_id":"d29c7ec8f7cf4563899046d2fca970fee71e647c"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"b4a11f3213055916e3a557f4b9a2d41e5ef4f321","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        @coordination.synchronized(\u0027storwize-host-{system_id}-{host}\u0027)"},{"line_number":140,"context_line":"        def _do_initialize_connection_locked(system_id, host):"},{"line_number":141,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":142,"context_line":"        return _do_initialize_connection_locked(self._state[\u0027system_id\u0027],"},{"line_number":143,"context_line":"                                                connector[\u0027host\u0027])"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def _do_initialize_connection(self, volume, connector):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_e78ebb77","line":142,"range":{"start_line":142,"start_character":48,"end_line":142,"end_character":72},"updated":"2018-01-17 12:11:56.000000000","message":"Looks like this `_state[\u0027system_id\u0027]` shouldn\u0027t contain any character to break python string foramtting, we could just use it as before and change `host` to be argument in the locking function.\n\nAnd it may be good to add a note to tell why this is changed.","commit_id":"92529182d196df3d41338a7245cfc6bb59c68fce"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"63c05a1c98c35dd1b7a88013ce0b23e5bede9054","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":137,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection.\"\"\""},{"line_number":138,"context_line":"        @coordination.synchronized(\u0027storwize-host-{system_id}\u0027"},{"line_number":139,"context_line":"                                   \u0027-{connector[host]}\u0027)"},{"line_number":140,"context_line":"        def _do_initialize_connection_locked(system_id, volume, connector):"},{"line_number":141,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":142,"context_line":"        return _do_initialize_connection_locked(self._state[\u0027system_id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_cf04064d","line":139,"range":{"start_line":138,"start_character":8,"end_line":139,"end_character":56},"updated":"2018-01-17 02:56:31.000000000","message":"Same here.","commit_id":"d29c7ec8f7cf4563899046d2fca970fee71e647c"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"63c05a1c98c35dd1b7a88013ce0b23e5bede9054","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        # so that all the fake connectors to an SVC are serialized"},{"line_number":394,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        @coordination.synchronized(\u0027storwize-host-{system_id}-{host}\u0027)"},{"line_number":397,"context_line":"        def _do_terminate_connection_locked(system_id, volume,"},{"line_number":398,"context_line":"                                            connector, host, **kwargs):"},{"line_number":399,"context_line":"            return self._do_terminate_connection(volume, connector,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_ef01c239","line":396,"updated":"2018-01-17 02:56:31.000000000","message":"Same here.","commit_id":"d29c7ec8f7cf4563899046d2fca970fee71e647c"}]}
