)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"425b2d1be4dbd2c83a94f2fbb9b9261a7b3bab1b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Storwize: fix deadlock and major lock granularity issue"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change the granularity of the lock from all Storwize backends to locking"},{"line_number":10,"context_line":"based on \"host\" the voluming is being mapped to. This granularity will"},{"line_number":11,"context_line":"prevent mappings to the same \"host\" at the same time so that the"},{"line_number":12,"context_line":"first initialize_connection will create the host entry and the last"},{"line_number":13,"context_line":"terminate_connection will remove the host entry. This granular of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1af94dfe_35b9f6cc","line":10,"range":{"start_line":10,"start_character":20,"end_line":10,"end_character":28},"updated":"2016-03-18 16:17:32.000000000","message":"voluming-\u003e volume ?","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Storwize: fix deadlock and major lock granularity issue"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change the granularity of the lock from all Storwize backends to locking"},{"line_number":10,"context_line":"based on \"host\" the voluming is being mapped to. This granularity will"},{"line_number":11,"context_line":"prevent mappings to the same \"host\" at the same time so that the"},{"line_number":12,"context_line":"first initialize_connection will create the host entry and the last"},{"line_number":13,"context_line":"terminate_connection will remove the host entry. This granular of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_318d3b32","line":10,"range":{"start_line":10,"start_character":20,"end_line":10,"end_character":28},"in_reply_to":"1af94dfe_35b9f6cc","updated":"2016-03-21 16:34:16.000000000","message":"Yes that should have been volume.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"87bc6384a64d5df95935d17d13853bd7ee7326d7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"based on \"host\" the voluming is being mapped to. This granularity will"},{"line_number":11,"context_line":"prevent mappings to the same \"host\" at the same time so that the"},{"line_number":12,"context_line":"first initialize_connection will create the host entry and the last"},{"line_number":13,"context_line":"terminate_connection will remove the host entry. This granular of"},{"line_number":14,"context_line":"lock properly protects the mapping and un-mapping of the volume"},{"line_number":15,"context_line":"to the host entry on the targeted SVC."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1af94dfe_379bb119","line":13,"range":{"start_line":13,"start_character":55,"end_line":13,"end_character":62},"updated":"2016-03-18 19:45:16.000000000","message":"granularity","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"based on \"host\" the voluming is being mapped to. This granularity will"},{"line_number":11,"context_line":"prevent mappings to the same \"host\" at the same time so that the"},{"line_number":12,"context_line":"first initialize_connection will create the host entry and the last"},{"line_number":13,"context_line":"terminate_connection will remove the host entry. This granular of"},{"line_number":14,"context_line":"lock properly protects the mapping and un-mapping of the volume"},{"line_number":15,"context_line":"to the host entry on the targeted SVC."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_31e25bd6","line":13,"range":{"start_line":13,"start_character":55,"end_line":13,"end_character":62},"in_reply_to":"1af94dfe_379bb119","updated":"2016-03-21 16:34:16.000000000","message":"sounds better, will change it.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":17045,"name":"xiaoqin","email":"xiaoqin.li@hotmail.com","username":"xiaoqin"},"change_message_id":"067e1e5d586a54ad893a7193c5a4803c9d16177f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"to the host entry on the targeted SVC."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change initialize_connection which is holding the lock above"},{"line_number":18,"context_line":"to call _terminate_connection which does not take a lock"},{"line_number":19,"context_line":"when it is called. The lock taken by initialize_connection"},{"line_number":20,"context_line":"then continues to protect the termination of the connection."},{"line_number":21,"context_line":"This resolved the deadlock."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_b5be77fd","line":18,"range":{"start_line":18,"start_character":8,"end_line":18,"end_character":29},"updated":"2016-03-21 06:32:30.000000000","message":"_terminate_connection -\u003e _initialize_connection ?","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"to the host entry on the targeted SVC."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change initialize_connection which is holding the lock above"},{"line_number":18,"context_line":"to call _terminate_connection which does not take a lock"},{"line_number":19,"context_line":"when it is called. The lock taken by initialize_connection"},{"line_number":20,"context_line":"then continues to protect the termination of the connection."},{"line_number":21,"context_line":"This resolved the deadlock."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa0719c6_51dd4f13","line":18,"range":{"start_line":18,"start_character":8,"end_line":18,"end_character":29},"in_reply_to":"fa0719c6_b5be77fd","updated":"2016-03-21 16:34:16.000000000","message":"Will need to add more detail here. The initialize_connection calls terminate_connection in some failure conditions.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"}],"cinder/tests/unit/test_storwize_svc.py":[{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"25e0bce73bfb6c2f4d72abc864e66369dd7368a5","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"                return (\u0027\u0027, \u0027\u0027)"},{"line_number":1012,"context_line":"        else:"},{"line_number":1013,"context_line":"            if self._next_cmd_error[\u0027lshost\u0027] \u003d\u003d \u0027missing_host\u0027:"},{"line_number":1014,"context_line":"                self._next_cmd_error[\u0027\u0027] \u003d\u003d \u0027\u0027"},{"line_number":1015,"context_line":"                return self._errors[\u0027CMMVC5754E\u0027]"},{"line_number":1016,"context_line":"            host_name \u003d kwargs[\u0027obj\u0027].strip(\u0027\\\u0027\\\"\u0027)"},{"line_number":1017,"context_line":"            if host_name not in self._hosts_list:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_ed23dc03","line":1014,"range":{"start_line":1014,"start_character":37,"end_line":1014,"end_character":39},"updated":"2016-03-29 14:50:52.000000000","message":"\u0027lshost\u0027","commit_id":"4f9d851f5abc32ac8d4521be6ee393e63f34eef2"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"88e5b5842e65be23c655ac11ad7e1da51fdd0e46","unresolved":false,"context_lines":[{"line_number":1011,"context_line":"                return (\u0027\u0027, \u0027\u0027)"},{"line_number":1012,"context_line":"        else:"},{"line_number":1013,"context_line":"            if self._next_cmd_error[\u0027lshost\u0027] \u003d\u003d \u0027missing_host\u0027:"},{"line_number":1014,"context_line":"                self._next_cmd_error[\u0027\u0027] \u003d\u003d \u0027\u0027"},{"line_number":1015,"context_line":"                return self._errors[\u0027CMMVC5754E\u0027]"},{"line_number":1016,"context_line":"            host_name \u003d kwargs[\u0027obj\u0027].strip(\u0027\\\u0027\\\"\u0027)"},{"line_number":1017,"context_line":"            if host_name not in self._hosts_list:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_b0e2d701","line":1014,"range":{"start_line":1014,"start_character":37,"end_line":1014,"end_character":39},"in_reply_to":"ba0121b8_ed23dc03","updated":"2016-03-29 15:00:29.000000000","message":"yep","commit_id":"4f9d851f5abc32ac8d4521be6ee393e63f34eef2"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"00de693731c155809a21ca8036776db26ecca5d5","unresolved":false,"context_lines":[{"line_number":727,"context_line":"        hosts_info \u003d self.ssh.lshost()"},{"line_number":728,"context_line":"        found \u003d False"},{"line_number":729,"context_line":"        for name in hosts_info.select(\u0027name\u0027):"},{"line_number":730,"context_line":"            try:"},{"line_number":731,"context_line":"                resp \u003d self.ssh.lshost(host\u003dname)"},{"line_number":732,"context_line":"            except processutils.ProcessExecutionError as ex:"},{"line_number":733,"context_line":"                if \u0027CMMVC5754E\u0027 in ex.stderr:"},{"line_number":734,"context_line":"                    # CMMVC5754E: The specified object does not exist"},{"line_number":735,"context_line":"                    # The host has been deleted while walking the list."},{"line_number":736,"context_line":"                    # This is a result of a host change on the SVC that"},{"line_number":737,"context_line":"                    # is out of band to this request."},{"line_number":738,"context_line":"                    continue"},{"line_number":739,"context_line":"                # unexpected error so reraise it"},{"line_number":740,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":741,"context_line":"                    pass"},{"line_number":742,"context_line":"            if \u0027initiator\u0027 in connector:"},{"line_number":743,"context_line":"                for iscsi in resp.select(\u0027iscsi_name\u0027):"},{"line_number":744,"context_line":"                    if iscsi \u003d\u003d connector[\u0027initiator\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_182cef97","line":741,"range":{"start_line":730,"start_character":12,"end_line":741,"end_character":24},"updated":"2016-03-18 16:26:41.000000000","message":"I am thinking we will need to have a unit test to address this new try/except block.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":727,"context_line":"        hosts_info \u003d self.ssh.lshost()"},{"line_number":728,"context_line":"        found \u003d False"},{"line_number":729,"context_line":"        for name in hosts_info.select(\u0027name\u0027):"},{"line_number":730,"context_line":"            try:"},{"line_number":731,"context_line":"                resp \u003d self.ssh.lshost(host\u003dname)"},{"line_number":732,"context_line":"            except processutils.ProcessExecutionError as ex:"},{"line_number":733,"context_line":"                if \u0027CMMVC5754E\u0027 in ex.stderr:"},{"line_number":734,"context_line":"                    # CMMVC5754E: The specified object does not exist"},{"line_number":735,"context_line":"                    # The host has been deleted while walking the list."},{"line_number":736,"context_line":"                    # This is a result of a host change on the SVC that"},{"line_number":737,"context_line":"                    # is out of band to this request."},{"line_number":738,"context_line":"                    continue"},{"line_number":739,"context_line":"                # unexpected error so reraise it"},{"line_number":740,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":741,"context_line":"                    pass"},{"line_number":742,"context_line":"            if \u0027initiator\u0027 in connector:"},{"line_number":743,"context_line":"                for iscsi in resp.select(\u0027iscsi_name\u0027):"},{"line_number":744,"context_line":"                    if iscsi \u003d\u003d connector[\u0027initiator\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_71b053f5","line":741,"range":{"start_line":730,"start_character":12,"end_line":741,"end_character":24},"in_reply_to":"1af94dfe_182cef97","updated":"2016-03-21 16:34:16.000000000","message":"Will do","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"425b2d1be4dbd2c83a94f2fbb9b9261a7b3bab1b","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":108,"context_line":"                            external\u003dTrue)"},{"line_number":109,"context_line":"        def __intialize_connection():"},{"line_number":110,"context_line":"            return self._initialize_connection(volume, connector)"},{"line_number":111,"context_line":"        return __intialize_connection()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _initialize_connection(self, volume, connector):"},{"line_number":114,"context_line":"        \"\"\"Perform necessary work to make a FC connection."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        To be able to create an FC connection from a given host to a"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_3563b643","line":113,"range":{"start_line":109,"start_character":7,"end_line":113,"end_character":56},"updated":"2016-03-18 16:17:32.000000000","message":"Any way we could rename these methods to be something a little more specific? Its kinda hard to tell if its the single \u0027_\u0027 version being called or the double \u0027_\u0027 version being called here.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"00de693731c155809a21ca8036776db26ecca5d5","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":108,"context_line":"                            external\u003dTrue)"},{"line_number":109,"context_line":"        def __intialize_connection():"},{"line_number":110,"context_line":"            return self._initialize_connection(volume, connector)"},{"line_number":111,"context_line":"        return __intialize_connection()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _initialize_connection(self, volume, connector):"},{"line_number":114,"context_line":"        \"\"\"Perform necessary work to make a FC connection."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        To be able to create an FC connection from a given host to a"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_f8bdc302","line":113,"range":{"start_line":109,"start_character":7,"end_line":113,"end_character":56},"in_reply_to":"1af94dfe_3563b643","updated":"2016-03-18 16:26:41.000000000","message":"I agree, more specific naming convention would be helpful.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":108,"context_line":"                            external\u003dTrue)"},{"line_number":109,"context_line":"        def __intialize_connection():"},{"line_number":110,"context_line":"            return self._initialize_connection(volume, connector)"},{"line_number":111,"context_line":"        return __intialize_connection()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _initialize_connection(self, volume, connector):"},{"line_number":114,"context_line":"        \"\"\"Perform necessary work to make a FC connection."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        To be able to create an FC connection from a given host to a"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_715df3e8","line":113,"range":{"start_line":109,"start_character":7,"end_line":113,"end_character":56},"in_reply_to":"1af94dfe_3563b643","updated":"2016-03-21 16:34:16.000000000","message":"That makes sense. I\u0027ll come up with something for both init and term.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":108,"context_line":"                            external\u003dTrue)"},{"line_number":109,"context_line":"        def __intialize_connection():"},{"line_number":110,"context_line":"            return self._initialize_connection(volume, connector)"},{"line_number":111,"context_line":"        return __intialize_connection()"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def _initialize_connection(self, volume, connector):"},{"line_number":114,"context_line":"        \"\"\"Perform necessary work to make a FC connection."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        To be able to create an FC connection from a given host to a"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_910fe7e0","line":113,"range":{"start_line":109,"start_character":7,"end_line":113,"end_character":56},"in_reply_to":"1af94dfe_f8bdc302","updated":"2016-03-21 16:34:16.000000000","message":"yep","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"00de693731c155809a21ca8036776db26ecca5d5","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + host, external\u003dTrue)"},{"line_number":234,"context_line":"        def __terminate_connetion():"},{"line_number":235,"context_line":"            return self._terminate_connection(volume, connector, **kwargs)"},{"line_number":236,"context_line":"        return __terminate_connetion()"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_1864efb6","line":234,"range":{"start_line":234,"start_character":12,"end_line":234,"end_character":33},"updated":"2016-03-18 16:26:41.000000000","message":"__terminate_connetion() -\u003e __terminate_connection()\n\nKendall\u0027s comments about renaming to something more specific could also be applied here.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"dde799e7b0143f6da760776e0fbb89f6798c4180","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    @fczm_utils.AddFCZone"},{"line_number":105,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":108,"context_line":"                            external\u003dTrue)"},{"line_number":109,"context_line":"        def _do_intialize_connection_locked():"},{"line_number":110,"context_line":"            return self._do_initialize_connection(volume, connector)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_d629a3e7","line":107,"updated":"2016-03-24 13:57:02.000000000","message":"I\u0027m going to need to add the system_id in to the lock as well. For both fc and iscsi.","commit_id":"ea9214b7190109a3cde199980adc8e5144266213"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"4797a08e7c88d7ce5db8a890ab1beba940826a5f","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + host, external\u003dTrue)"},{"line_number":234,"context_line":"        def _do_terminate_connetion_locked():"},{"line_number":235,"context_line":"            return self._do_terminate_connection(volume, connector,"},{"line_number":236,"context_line":"                                                 **kwargs)"},{"line_number":237,"context_line":"        return _do_terminate_connetion_locked()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_eed99558","line":234,"range":{"start_line":234,"start_character":26,"end_line":234,"end_character":35},"updated":"2016-03-23 20:49:26.000000000","message":"connetion -\u003e connection?","commit_id":"ea9214b7190109a3cde199980adc8e5144266213"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"dde799e7b0143f6da760776e0fbb89f6798c4180","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + host, external\u003dTrue)"},{"line_number":234,"context_line":"        def _do_terminate_connetion_locked():"},{"line_number":235,"context_line":"            return self._do_terminate_connection(volume, connector,"},{"line_number":236,"context_line":"                                                 **kwargs)"},{"line_number":237,"context_line":"        return _do_terminate_connetion_locked()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_f6d5c7e4","line":234,"range":{"start_line":234,"start_character":26,"end_line":234,"end_character":35},"in_reply_to":"fa0719c6_eed99558","updated":"2016-03-24 13:57:02.000000000","message":"I\u0027ll need to correct that","commit_id":"ea9214b7190109a3cde199980adc8e5144266213"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"4797a08e7c88d7ce5db8a890ab1beba940826a5f","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        def _do_terminate_connetion_locked():"},{"line_number":235,"context_line":"            return self._do_terminate_connection(volume, connector,"},{"line_number":236,"context_line":"                                                 **kwargs)"},{"line_number":237,"context_line":"        return _do_terminate_connetion_locked()"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _do_terminate_connection(self, volume, connector, **kwargs):"},{"line_number":240,"context_line":"        \"\"\"Cleanup after an FC connection has been terminated."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_eee355d7","line":237,"range":{"start_line":237,"start_character":29,"end_line":237,"end_character":38},"updated":"2016-03-23 20:49:26.000000000","message":"connetion -\u003e connection?","commit_id":"ea9214b7190109a3cde199980adc8e5144266213"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"dde799e7b0143f6da760776e0fbb89f6798c4180","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        def _do_terminate_connetion_locked():"},{"line_number":235,"context_line":"            return self._do_terminate_connection(volume, connector,"},{"line_number":236,"context_line":"                                                 **kwargs)"},{"line_number":237,"context_line":"        return _do_terminate_connetion_locked()"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _do_terminate_connection(self, volume, connector, **kwargs):"},{"line_number":240,"context_line":"        \"\"\"Cleanup after an FC connection has been terminated."}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_76009766","line":237,"range":{"start_line":237,"start_character":29,"end_line":237,"end_character":38},"in_reply_to":"fa0719c6_eee355d7","updated":"2016-03-24 13:57:02.000000000","message":"yep I\u0027ll need to correct that also.","commit_id":"ea9214b7190109a3cde199980adc8e5144266213"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"348f1a4b6cff93f025189896a61c6d0657569b76","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + self._state[\u0027system_id\u0027] +"},{"line_number":108,"context_line":"                            connector[\u0027host\u0027], external\u003dTrue)"},{"line_number":109,"context_line":"        def _do_initialize_connection_locked():"},{"line_number":110,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":111,"context_line":"        return _do_initialize_connection_locked()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_20167255","line":108,"updated":"2016-03-29 16:57:56.000000000","message":"why is it assumed there will be a \u0027host\u0027 in connector here, but not in terminate_connection? Can we add comments to explain this?","commit_id":"7619130e1acc5b3ae3952808d84e986b25bbdd49"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"ad91cb575158c78e7b5aeb11fa7918c653eddd19","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":106,"context_line":"        \"\"\"Perform necessary work to make a FC connection.\"\"\""},{"line_number":107,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + self._state[\u0027system_id\u0027] +"},{"line_number":108,"context_line":"                            connector[\u0027host\u0027], external\u003dTrue)"},{"line_number":109,"context_line":"        def _do_initialize_connection_locked():"},{"line_number":110,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":111,"context_line":"        return _do_initialize_connection_locked()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_23803c46","line":108,"in_reply_to":"ba0121b8_20167255","updated":"2016-03-29 18:40:00.000000000","message":"Yea I can add that.","commit_id":"7619130e1acc5b3ae3952808d84e986b25bbdd49"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"425b2d1be4dbd2c83a94f2fbb9b9261a7b3bab1b","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection.\"\"\""},{"line_number":106,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":107,"context_line":"                            external\u003dTrue)"},{"line_number":108,"context_line":"        def _initialize_connection():"},{"line_number":109,"context_line":"            return self._initialize_connection(volume, connector)"},{"line_number":110,"context_line":"        return _initialize_connection()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _initialize_connection(self, volume, connector):"},{"line_number":113,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        To be able to create an iSCSI connection from a given host to a"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_b5dea6da","line":112,"range":{"start_line":108,"start_character":7,"end_line":112,"end_character":56},"updated":"2016-03-18 16:17:32.000000000","message":"Same comment here as in the other file.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"97d121b4055008f1908c8ae1a23678039fd3b8fc","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection.\"\"\""},{"line_number":106,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + connector[\u0027host\u0027],"},{"line_number":107,"context_line":"                            external\u003dTrue)"},{"line_number":108,"context_line":"        def _initialize_connection():"},{"line_number":109,"context_line":"            return self._initialize_connection(volume, connector)"},{"line_number":110,"context_line":"        return _initialize_connection()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def _initialize_connection(self, volume, connector):"},{"line_number":113,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        To be able to create an iSCSI connection from a given host to a"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_11f2b7d2","line":112,"range":{"start_line":108,"start_character":7,"end_line":112,"end_character":56},"in_reply_to":"1af94dfe_b5dea6da","updated":"2016-03-21 16:34:16.000000000","message":"Will change these.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":17045,"name":"xiaoqin","email":"xiaoqin.li@hotmail.com","username":"xiaoqin"},"change_message_id":"067e1e5d586a54ad893a7193c5a4803c9d16177f","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    def terminate_connection(self, volume, connector, **kwargs):"},{"line_number":224,"context_line":"        \"\"\"Cleanup after an iSCSI connection has been terminated.\"\"\""},{"line_number":225,"context_line":"        host \u003d connector[\u0027host\u0027] if \u0027host\u0027 in connector else \"\""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + host, external\u003dTrue)"},{"line_number":228,"context_line":"        def __terminate_connection():"},{"line_number":229,"context_line":"            return self._terminate_connection(volume, connector, **kwargs)"},{"line_number":230,"context_line":"        return __terminate_connection()"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def _terminate_connection(self, volume, connector, **kwargs):"},{"line_number":233,"context_line":"        \"\"\"Cleanup after an iSCSI connection has been terminated."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_d5ba0bc0","line":230,"range":{"start_line":226,"start_character":0,"end_line":230,"end_character":39},"updated":"2016-03-21 06:32:30.000000000","message":"Agree with Kendall and Jacob, more specific naming convention would be helpful.","commit_id":"f1562b07227300563e097ec89ece20c62a98a1dd"},{"author":{"_account_id":10608,"name":"Matthew Edmonds","email":"edmondsw@us.ibm.com","username":"edmondsw"},"change_message_id":"348f1a4b6cff93f025189896a61c6d0657569b76","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":105,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection.\"\"\""},{"line_number":106,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + self._state[\u0027system_id\u0027] +"},{"line_number":107,"context_line":"                            connector[\u0027host\u0027], external\u003dTrue)"},{"line_number":108,"context_line":"        def _do_initialize_connection_locked():"},{"line_number":109,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":110,"context_line":"        return _do_initialize_connection_locked()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_c007b61a","line":107,"updated":"2016-03-29 16:57:56.000000000","message":"why is it assumed there will be a \u0027host\u0027 in connector here, but not in terminate_connection? Can we add comments to explain this?","commit_id":"7619130e1acc5b3ae3952808d84e986b25bbdd49"},{"author":{"_account_id":14532,"name":"Gerald McBrearty","email":"gfm@us.ibm.com","username":"gfm"},"change_message_id":"ad91cb575158c78e7b5aeb11fa7918c653eddd19","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def initialize_connection(self, volume, connector):"},{"line_number":105,"context_line":"        \"\"\"Perform necessary work to make an iSCSI connection.\"\"\""},{"line_number":106,"context_line":"        @utils.synchronized(\u0027storwize-host\u0027 + self._state[\u0027system_id\u0027] +"},{"line_number":107,"context_line":"                            connector[\u0027host\u0027], external\u003dTrue)"},{"line_number":108,"context_line":"        def _do_initialize_connection_locked():"},{"line_number":109,"context_line":"            return self._do_initialize_connection(volume, connector)"},{"line_number":110,"context_line":"        return _do_initialize_connection_locked()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_3aa979e0","line":107,"in_reply_to":"ba0121b8_c007b61a","updated":"2016-03-29 18:40:00.000000000","message":"yea I can add that","commit_id":"7619130e1acc5b3ae3952808d84e986b25bbdd49"}]}
