)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3a802f41891d173cdaed54d20fb506efdbf57f81","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"TODO: Verify that this change doesn\u0027t introduce a new session leak."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[0] https://launchpad.net/bugs/1853264"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I128340f14e7e9570b23721686504e12458e85773"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_de934958","line":19,"updated":"2020-01-03 16:40:50.000000000","message":"Related-Bug: #1853264\n\nThat would cause a link to this review to get added to the bug","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e36c3f7b0ede5574db4624082707699303b42bc5","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"TODO: Verify that this change doesn\u0027t introduce a new session leak."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[0] https://launchpad.net/bugs/1853264"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I128340f14e7e9570b23721686504e12458e85773"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_33916b46","line":19,"in_reply_to":"3fa7e38b_d2149844","updated":"2020-01-06 10:48:56.000000000","message":"Both of them:\n\nCloses-Bug: #1858260\nRelated-Bug: #1853264","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"78eb54cf6a3b1155311277812801b632ca61ff02","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"TODO: Verify that this change doesn\u0027t introduce a new session leak."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[0] https://launchpad.net/bugs/1853264"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I128340f14e7e9570b23721686504e12458e85773"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3fa7e38b_d2149844","line":19,"in_reply_to":"3fa7e38b_de934958","updated":"2020-01-04 08:07:05.000000000","message":"Try this one:\nhttps://bugs.launchpad.net/neutron/+bug/1858260","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"}],"neutron_tempest_plugin/common/ssh.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3a802f41891d173cdaed54d20fb506efdbf57f81","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            port\u003dport, create_proxy_client\u003dFalse, **kwargs)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    # attribute used to keep reference to opened client connection"},{"line_number":137,"context_line":"    _client \u003d None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def connect(self, *args, **kwargs):"},{"line_number":140,"context_line":"        \"\"\"Creates paramiko.SSHClient and connect it to remote SSH server"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_5e8199f9","line":137,"updated":"2020-01-03 16:40:50.000000000","message":"No longer needed","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e36c3f7b0ede5574db4624082707699303b42bc5","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    # attribute used to keep reference to opened client connection"},{"line_number":137,"context_line":"    _client \u003d None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def connect(self, *args, **kwargs):"},{"line_number":140,"context_line":"        \"\"\"Creates paramiko.SSHClient and connect it to remote SSH server"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"        :returns: paramiko.Client connected to remote server."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_d36c976c","line":139,"updated":"2020-01-06 10:48:56.000000000","message":"Now this method (and the following overrides) are not longer needed.","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e36c3f7b0ede5574db4624082707699303b42bc5","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    # This overrides superclass protected method to make sure exec_command"},{"line_number":150,"context_line":"    # method is going to reuse the same SSH client and connection if called"},{"line_number":151,"context_line":"    # more times"},{"line_number":152,"context_line":"    _get_ssh_connection \u003d connect"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    # This overrides superclass test_connection_auth method forbidding it to"},{"line_number":155,"context_line":"    # close connection"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_b3e8fbdf","line":152,"updated":"2020-01-06 10:48:56.000000000","message":"No longer needed","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e36c3f7b0ede5574db4624082707699303b42bc5","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    # This overrides superclass test_connection_auth method forbidding it to"},{"line_number":155,"context_line":"    # close connection"},{"line_number":156,"context_line":"    test_connection_auth \u003d connect"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def close(self):"},{"line_number":159,"context_line":"        \"\"\"Closes connection to SSH server and cleanup resources.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_d3e57708","line":156,"updated":"2020-01-06 10:48:56.000000000","message":"ditto","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3a802f41891d173cdaed54d20fb506efdbf57f81","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        client \u003d self._client"},{"line_number":161,"context_line":"        if client is not None:"},{"line_number":162,"context_line":"            client.close()"},{"line_number":163,"context_line":"            self._client \u003d None"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def __exit__(self, _exception_type, _exception_value, _traceback):"},{"line_number":166,"context_line":"        self.close()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_bebd2db3","line":163,"updated":"2020-01-03 16:40:50.000000000","message":"Can this whole method go away now as self._client is no longer used?  Only caller is __exit__() below\n\nBut then when is client.close() ever called?","commit_id":"388a169b5d9f848e2729a38ad82dd266401a7691"}]}
