)]}'
{"cinder/ssh_utils.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2f84f4f906e49eb65538a13fc39ad3540ab572a0","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            new_conn \u003d self.create()"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":174,"context_line":"                if conn:"},{"line_number":175,"context_line":"                    self.current_size -\u003d 1"},{"line_number":176,"context_line":"        return new_conn"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_bcd98d23","line":173,"range":{"start_line":173,"start_character":12,"end_line":173,"end_character":55},"updated":"2017-05-27 15:21:16.000000000","message":"I think we should at least have a LOG.error of some sort here to provide breadcrumbs back to what is happening.","commit_id":"6c3f8b0efb05552a767a4ac10bf6be0a80477416"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"eb7481e1e7ba8e4b3efaa7f0054d3f7b760d2fff","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                conn.close()"},{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            new_conn \u003d self.create()"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            LOG.error(\"create new item in SSHPool failed\")"},{"line_number":174,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":175,"context_line":"                if conn:"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_72099093","line":172,"updated":"2017-05-31 13:05:26.000000000","message":"Can we handle less general exception here?","commit_id":"8dd23d7c32723b7c2849524e75ef636030e012b9"},{"author":{"_account_id":21999,"name":"Liu Qing","email":"liuqing@chinac.com","username":"liuqing"},"change_message_id":"2ca3e16ea11e556aeceb92adbc3ac48c3f94300b","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                conn.close()"},{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            new_conn \u003d self.create()"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            LOG.error(\"create new item in SSHPool failed\")"},{"line_number":174,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":175,"context_line":"                if conn:"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_954bd357","line":172,"in_reply_to":"df140735_72099093","updated":"2017-06-01 07:25:59.000000000","message":"We need to capture any exception and do the same operation here. So I used the general exception.","commit_id":"8dd23d7c32723b7c2849524e75ef636030e012b9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"812f56a80e4931f36d81ec77b2b7e5f888da7cd9","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            new_conn \u003d self.create()"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            LOG.error(\"create new item in SSHPool failed\")"},{"line_number":174,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":175,"context_line":"                if conn:"},{"line_number":176,"context_line":"                    self.current_size -\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_431da50d","line":173,"range":{"start_line":173,"start_character":23,"end_line":173,"end_character":57},"updated":"2017-05-31 09:20:47.000000000","message":"Can we make this \u0027Create new item in SSHPool failed.\u0027  Assuming that we will get the more detailed error information from create().  This way we will have a breadcrumb to know we got there from the get() .","commit_id":"8dd23d7c32723b7c2849524e75ef636030e012b9"},{"author":{"_account_id":21999,"name":"Liu Qing","email":"liuqing@chinac.com","username":"liuqing"},"change_message_id":"2ca3e16ea11e556aeceb92adbc3ac48c3f94300b","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            new_conn \u003d self.create()"},{"line_number":172,"context_line":"        except Exception:"},{"line_number":173,"context_line":"            LOG.error(\"create new item in SSHPool failed\")"},{"line_number":174,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":175,"context_line":"                if conn:"},{"line_number":176,"context_line":"                    self.current_size -\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"df140735_5a7a08f1","line":173,"range":{"start_line":173,"start_character":23,"end_line":173,"end_character":57},"in_reply_to":"df140735_431da50d","updated":"2017-06-01 07:25:59.000000000","message":"Done","commit_id":"8dd23d7c32723b7c2849524e75ef636030e012b9"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"1cbd8a79f92e82bf4a299e096e4073825bc15b72","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from cinder import exception"},{"line_number":30,"context_line":"from cinder.i18n import _"},{"line_number":31,"context_line":"from oslo_utils import excutils"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_69e0cdcd","line":31,"updated":"2017-07-07 15:42:29.000000000","message":"This should be in the previous group of imports above with the other oslo and third party imports.","commit_id":"3755c7b2e2c96c25c03c168c0954f33a41ee802c"}],"cinder/tests/unit/test_ssh_utils.py":[{"author":{"_account_id":26242,"name":"Viktor Varga","email":"vvarga@inf.u-szeged.hu","username":"vvargaszte"},"change_message_id":"bc47dc16bd9ec5f3f87dc4aa1729fa6e880034e6","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    @mock.patch(\u0027os.path.isfile\u0027, return_value\u003dFalse)"},{"line_number":329,"context_line":"    @mock.patch(\u0027six.moves.builtins.open\u0027)"},{"line_number":330,"context_line":"    @mock.patch(\u0027paramiko.SSHClient\u0027)"},{"line_number":331,"context_line":"    def test_ssh_timeout(self, mock_isfile, mock_open, mock_sshclient):"},{"line_number":332,"context_line":"        sshpool \u003d ssh_utils.SSHPool(\"127.0.0.1\", 22, 10,"},{"line_number":333,"context_line":"                                    \"test\","},{"line_number":334,"context_line":"                                    password\u003d\"test\","}],"source_content_type":"text/x-python","patch_set":4,"id":"3f1d235d_f5124bb4","line":331,"updated":"2017-07-10 09:18:53.000000000","message":"As I know, the parameters of the test method should be in reversed order. It is because the \"decorators are applied from the bottom upwards\" [1].\n\nMaybe the test was successful because None evaluates to False (similar to False itself), but it could cause problems.\n\n[1]: https://docs.python.org/3/library/unittest.mock.html#nesting-patch-decorators","commit_id":"296a634cf68a20c4c256ee1ba3eda0b007b87b06"}]}
