)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23140,"name":"Jess Egler","email":"jess.egler@gmail.com","username":"jessegler"},"change_message_id":"b799ba131f6f097ea634524aeb4b15a988c03f43","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     stack \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-24 21:59:23 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"oncurrent volume creation causes multiple issues"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a user wants to perform parallel cinder volume"},{"line_number":10,"context_line":"creation operation, 3par driver ends the execution"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a461143_5940f7a5","line":7,"updated":"2017-01-26 17:46:31.000000000","message":"oncurrent -\u003e Concurrent?","commit_id":"0d09183076246a7f74eefb5c3f921522b9304b2e"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"52728a46fd411f75e7f0f430908e9172943d9c09","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     stack \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-24 21:59:23 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"oncurrent volume creation causes multiple issues"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a user wants to perform parallel cinder volume"},{"line_number":10,"context_line":"creation operation, 3par driver ends the execution"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a461143_ecb62e89","line":7,"in_reply_to":"3a461143_5940f7a5","updated":"2017-01-27 04:08:43.000000000","message":"Done","commit_id":"0d09183076246a7f74eefb5c3f921522b9304b2e"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"03d9cc7076089d66eb10006fdef1835eec160023","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vijay Ladani \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-26 23:04:08 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Concurrent volume creation causes multiple issues"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a user wants to perform parallel cinder volume"},{"line_number":10,"context_line":"creation operation, 3par driver ends the execution"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a461143_e878d7c6","line":7,"updated":"2017-01-27 07:11:14.000000000","message":"prepend this with 3PAR","commit_id":"4d272885e39a3809fbd3c31deddeea07581e6e98"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"1a09d16447a82fd1bd99eb0616442e3e0cf8f796","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vijay Ladani \u003cvijay.ladani@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-26 23:04:08 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Concurrent volume creation causes multiple issues"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a user wants to perform parallel cinder volume"},{"line_number":10,"context_line":"creation operation, 3par driver ends the execution"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a461143_1cc72146","line":7,"in_reply_to":"3a461143_e878d7c6","updated":"2017-01-27 09:45:24.000000000","message":"Done","commit_id":"4d272885e39a3809fbd3c31deddeea07581e6e98"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"03d9cc7076089d66eb10006fdef1835eec160023","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When a user wants to perform parallel cinder volume"},{"line_number":10,"context_line":"creation operation, 3par driver ends the execution"},{"line_number":11,"context_line":"up with below different errors in different test"},{"line_number":12,"context_line":"scenarios."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"iSCSI login failure \"Could not login to any iSCSI"},{"line_number":15,"context_line":"portal\" during Concurrent volume creation from image"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a461143_884e7394","line":12,"updated":"2017-01-27 07:11:14.000000000","message":"you just list failures here.  That\u0027s fine, but that\u0027s what a bug description is for.  This commit message should explain what it\u0027s doing to fix the problem.","commit_id":"4d272885e39a3809fbd3c31deddeea07581e6e98"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"1a09d16447a82fd1bd99eb0616442e3e0cf8f796","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When a user wants to perform parallel cinder volume"},{"line_number":10,"context_line":"creation operation, 3par driver ends the execution"},{"line_number":11,"context_line":"up with below different errors in different test"},{"line_number":12,"context_line":"scenarios."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"iSCSI login failure \"Could not login to any iSCSI"},{"line_number":15,"context_line":"portal\" during Concurrent volume creation from image"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a461143_5cc1a92d","line":12,"in_reply_to":"3a461143_884e7394","updated":"2017-01-27 09:45:24.000000000","message":"Done","commit_id":"4d272885e39a3809fbd3c31deddeea07581e6e98"},{"author":{"_account_id":23113,"name":"Hariprasad S Venkatasubramanian","email":"hari.venkat@hpe.com","username":"hari.venkat"},"change_message_id":"9af4ddef81f121a456f9cc1b76979e133c5c194a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"different errors in different test scenarios as described"},{"line_number":12,"context_line":"in bug."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"While creating image volumes concurrently on 3apr, one of the"},{"line_number":15,"context_line":"step is to copy image to volume. And for this copy process, 3par"},{"line_number":16,"context_line":"driver tries to establish connection between host and array. As"},{"line_number":17,"context_line":"the volume creation requests are multiple and concurrent, multiple"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a461143_c47610a3","line":14,"range":{"start_line":14,"start_character":45,"end_line":14,"end_character":49},"updated":"2017-02-01 07:23:17.000000000","message":"3apr --\u003e HPE 3PAR","commit_id":"df8ac5546cd8f12327f0f92a44d6bc3263df70c1"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"04bd5b20788bfa5e00ccb8eb4a5e5657573f82bb","unresolved":false,"context_lines":[{"line_number":11,"context_line":"different errors in different test scenarios as described"},{"line_number":12,"context_line":"in bug."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"While creating image volumes concurrently on 3apr, one of the"},{"line_number":15,"context_line":"step is to copy image to volume. And for this copy process, 3par"},{"line_number":16,"context_line":"driver tries to establish connection between host and array. As"},{"line_number":17,"context_line":"the volume creation requests are multiple and concurrent, multiple"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a430d35_d7094fdf","line":14,"range":{"start_line":14,"start_character":45,"end_line":14,"end_character":49},"in_reply_to":"3a461143_25d876ef","updated":"2017-02-03 04:48:23.000000000","message":"Done","commit_id":"df8ac5546cd8f12327f0f92a44d6bc3263df70c1"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"dc9632e0bf6ba08279f76985b0d75ca4c4671536","unresolved":false,"context_lines":[{"line_number":11,"context_line":"different errors in different test scenarios as described"},{"line_number":12,"context_line":"in bug."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"While creating image volumes concurrently on 3apr, one of the"},{"line_number":15,"context_line":"step is to copy image to volume. And for this copy process, 3par"},{"line_number":16,"context_line":"driver tries to establish connection between host and array. As"},{"line_number":17,"context_line":"the volume creation requests are multiple and concurrent, multiple"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a461143_25d876ef","line":14,"range":{"start_line":14,"start_character":45,"end_line":14,"end_character":49},"in_reply_to":"3a461143_c47610a3","updated":"2017-02-02 14:36:34.000000000","message":"+1","commit_id":"df8ac5546cd8f12327f0f92a44d6bc3263df70c1"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"04bd5b20788bfa5e00ccb8eb4a5e5657573f82bb","unresolved":false,"context_lines":[{"line_number":11,"context_line":"different errors in different test scenarios as described"},{"line_number":12,"context_line":"in bug."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"While creating image volumes concurrently on 3apr, one of the"},{"line_number":15,"context_line":"step is to copy image to volume. And for this copy process, 3par"},{"line_number":16,"context_line":"driver tries to establish connection between host and array. As"},{"line_number":17,"context_line":"the volume creation requests are multiple and concurrent, multiple"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a430d35_b704c3c6","line":14,"range":{"start_line":14,"start_character":45,"end_line":14,"end_character":49},"in_reply_to":"3a461143_c47610a3","updated":"2017-02-03 04:48:23.000000000","message":"Done","commit_id":"df8ac5546cd8f12327f0f92a44d6bc3263df70c1"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"2fb2b3652eabe3f84856729a7f04048b36cb928e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"driver tries to establish connection between host and array. As"},{"line_number":17,"context_line":"the volume creation requests are multiple and concurrent, multiple"},{"line_number":18,"context_line":"requests are being issued for connection between host and array"},{"line_number":19,"context_line":"which should be in sync to avoid deadlock errors."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1658888"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"da36d5c6_987dca1e","line":19,"updated":"2017-02-22 16:49:49.000000000","message":"The real problem here is that there is a race between the initialize_connection and terminate_connection for the driver.  The race may happen when the you get 2 calls happening for attaching and detaching a volume at the same time.  terminate_connection can nuke a host on the 3par between the time initialize_connection creates/ensures it\u0027s there and returns with the connector.  When this happens the iscsi connection fails, because the host is nuked.  The coordinated lock can fix this.\n\nAn alternate approach to the locks, is to never remove the host in terminate_connection.  Have you explored this option?","commit_id":"c1c9993266cb61281aade0678f90cee3dc73d205"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"dad785bd0519e673691ebb69a54d513f4c5343c5","unresolved":false,"context_lines":[{"line_number":16,"context_line":"driver tries to establish connection between host and array. As"},{"line_number":17,"context_line":"the volume creation requests are multiple and concurrent, multiple"},{"line_number":18,"context_line":"requests are being issued for connection between host and array"},{"line_number":19,"context_line":"which should be in sync to avoid deadlock errors."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1658888"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"da36d5c6_56a30cb2","line":19,"in_reply_to":"da36d5c6_987dca1e","updated":"2017-02-23 05:57:16.000000000","message":"If we never remove host from terminate connection and another thread is invoking initialize_connection with same param, 3par throws \u0027host already exist\u0027 error.\n\nThere are multiple scenarios in concurrent request. \n1. if 2 threads accessing initialize_connection method at the same time, 3par throws \u0027host already exist\u0027 error from sub call create_host()\n2. if 2 threads accessing terminate_connection method at the same time, 3par throws \u0027host does not exist\u0027 error from the sub call delete_vlun().\n3. Assume that 1st thread just exported volume on host and invoked terminate_connection which will execute iscsi disconnect. Same time 2nd thread invokes initialize_connection which finds iscsi connection already established b/w host and array by previous thread and exported 2nd volume to host. This time 2nd thread throws iscsi login error since the connection is already broken by previous thread. Data transfer will get failed. Errors seen with this situation are \u0027failed to copy image to volume, iscsi login error\u0027 \n\nWe need synchronization on both methods, because of isci login/logout calls are also associated along with these methods.I think this is a part of os-brick module.\n\nPlease revert if anything unclear or wrong in explanation. Thanks!","commit_id":"c1c9993266cb61281aade0678f90cee3dc73d205"}],"cinder/volume/drivers/hpe/hpe_3par_fc.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab96493681ee01d861bdf65b9cb32340489eeb6","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_6ca50e03","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"updated":"2017-02-03 21:44:19.000000000","message":"We should start using @coordination.synchronized","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"17514e71e86b7e82bbeb23344b2558e76934c42c","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_856e7194","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"1a430d35_6ca50e03","updated":"2017-02-06 05:44:36.000000000","message":"Xing, we wanted to carry same fix to back port in sable/newton and its preceding branches. Do we have coordination.synchronized fully implemented in stable/newton?\n\nI see there is code change of coordination.sysnchronized method definition  in stable/newton and master.","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"249bbc4b659a6fb1f9f2a3732f5fd13b64faac93","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_f958fa8c","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"1a430d35_856e7194","updated":"2017-02-09 19:43:22.000000000","message":"In that case, ignore this comment.","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"08a2a5553b8d97956ced639372013fdf38c7cc91","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"fa31d9ce_663ea38d","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"1a430d35_f958fa8c","updated":"2017-02-14 04:23:22.000000000","message":"This will ensure that the 3PAR driver will not function correctly in Active Active HA mode.","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"9a3f3ac2f5cb577f6bcf06e1febdd9f7703f7b50","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"da36d5c6_0fe7e0b0","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"da36d5c6_3c5789cf","updated":"2017-02-22 09:22:22.000000000","message":"Done","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":21406,"name":"Vijay Ladani","email":"vijay.ladani@hpe.com","username":"vladani"},"change_message_id":"89e3b894bbe8d2cf3ecb0cf59e4f2e2318586c68","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"fa31d9ce_6ce45aab","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"fa31d9ce_663ea38d","updated":"2017-02-16 05:32:23.000000000","message":"I followed below other vendors implementation addressing synchronization on initialize_connection and terminate_connection methods.\ncinder/volume/drivers/kaminario/kaminario_fc.py\ncinder/volume/drivers/ibm/flashsystem_fc.py\nI thought from coordination between multiple threads perspective to avoid multiple issues as mentioned in bug. Would you please describe how does this change affect 3pardriver? Thanks!","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":23113,"name":"Hariprasad S Venkatasubramanian","email":"hari.venkat@hpe.com","username":"hari.venkat"},"change_message_id":"dcadff5e9710c7b747ed32ac9ec7c6ee3ecfca2a","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"fa31d9ce_e6cd3386","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"fa31d9ce_663ea38d","updated":"2017-02-14 04:34:56.000000000","message":"Walt, why do you say so? Appreciate if you can give a bit more of context to your comment.","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"cbd5193fe225cdc14f126b9f4c4f68422efcf59d","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self._logout(common)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    @utils.trace"},{"line_number":244,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":245,"context_line":"    @fczm_utils.add_fc_zone"},{"line_number":246,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":247,"context_line":"        \"\"\"Assigns the volume to a server."}],"source_content_type":"text/x-python","patch_set":6,"id":"da36d5c6_3c5789cf","line":244,"range":{"start_line":244,"start_character":4,"end_line":244,"end_character":23},"in_reply_to":"fa31d9ce_6ce45aab","updated":"2017-02-22 04:47:22.000000000","message":"local file locks will cause problems.  please remove them or use the new coordination locking","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab96493681ee01d861bdf65b9cb32340489eeb6","unresolved":false,"context_lines":[{"line_number":365,"context_line":"            self._logout(common)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"    @utils.trace"},{"line_number":368,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":369,"context_line":"    @fczm_utils.remove_fc_zone"},{"line_number":370,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"},{"line_number":371,"context_line":"        \"\"\"Driver entry point to unattach a volume from an instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_8caa3ad3","line":368,"range":{"start_line":368,"start_character":4,"end_line":368,"end_character":23},"updated":"2017-02-03 21:44:19.000000000","message":"Same here.","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"}],"cinder/volume/drivers/hpe/hpe_3par_iscsi.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab96493681ee01d861bdf65b9cb32340489eeb6","unresolved":false,"context_lines":[{"line_number":321,"context_line":"            self._logout(common)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    @utils.trace"},{"line_number":324,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":325,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":326,"context_line":"        \"\"\"Assigns the volume to a server."},{"line_number":327,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_0cb72a3a","line":324,"range":{"start_line":324,"start_character":4,"end_line":324,"end_character":23},"updated":"2017-02-03 21:44:19.000000000","message":"@coordination.synchronized","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab96493681ee01d861bdf65b9cb32340489eeb6","unresolved":false,"context_lines":[{"line_number":479,"context_line":"            self._logout(common)"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    @utils.trace"},{"line_number":482,"context_line":"    @utils.synchronized(\u00273par\u0027, external\u003dTrue)"},{"line_number":483,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"},{"line_number":484,"context_line":"        \"\"\"Driver entry point to unattach a volume from an instance.\"\"\""},{"line_number":485,"context_line":"        common \u003d self._login()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_2c822653","line":482,"updated":"2017-02-03 21:44:19.000000000","message":"Same","commit_id":"1c94405820c5e70a73d7f0bc200ccba79b6f08c9"}]}
