)]}'
{"storlets/gateway/gateways/docker/runtime.py":[{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"2a1b210437582e9ba6005648ba3a5d9ad80f4c0b","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        self.paths.create_host_pipe_prefix()"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        docker_image_name \u003d self.scope"},{"line_number":346,"context_line":"        try:"},{"line_number":347,"context_line":"            self._restart(docker_image_name)"},{"line_number":348,"context_line":"            self.wait()"},{"line_number":349,"context_line":"        except StorletTimeout:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_b3139e65","line":346,"updated":"2017-01-16 10:54:40.000000000","message":"Great refactoring!","commit_id":"6990f0a58dca2933957b87c350dbae9394b0b629"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"695ac9371ec24a169a377e2f1c48c9ca0e7eabc6","unresolved":false,"context_lines":[{"line_number":323,"context_line":"                            \u0027restart_docker_container\u0027),"},{"line_number":324,"context_line":"               docker_container_name, docker_image_name, pipe_mount,"},{"line_number":325,"context_line":"               storlet_mount]"},{"line_number":326,"context_line":"        proc \u003d subprocess.Popen(cmd, stdout\u003dsubprocess.PIPE,"},{"line_number":327,"context_line":"                                stderr\u003dsubprocess.PIPE)"},{"line_number":328,"context_line":"        stdout, stderr \u003d proc.communicate()"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_89ca366d","line":326,"updated":"2017-01-25 07:40:05.000000000","message":"I understand that using subprocess  Popen \u0026 commnicate instead of subprocess call allows to monitor stdout, stderr. I am not sure, however, if checking subprocess call returned code is different from checking proc.returncode.\nSo I am not sure in what way there could be an additional in the previous code that now is being saved. Do not get me wrong\nI am still in favor of the patch!","commit_id":"00f3af0ccb7ba2cb71a1519d0a32a3da53821ebf"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"19619e11e974856e0902db0348148021126e5b60","unresolved":false,"context_lines":[{"line_number":323,"context_line":"                            \u0027restart_docker_container\u0027),"},{"line_number":324,"context_line":"               docker_container_name, docker_image_name, pipe_mount,"},{"line_number":325,"context_line":"               storlet_mount]"},{"line_number":326,"context_line":"        proc \u003d subprocess.Popen(cmd, stdout\u003dsubprocess.PIPE,"},{"line_number":327,"context_line":"                                stderr\u003dsubprocess.PIPE)"},{"line_number":328,"context_line":"        stdout, stderr \u003d proc.communicate()"},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a461143_ac09e3df","line":326,"in_reply_to":"5a3905b3_89ca366d","updated":"2017-01-25 13:06:09.000000000","message":"\u003e I am not sure, however, if checking subprocess call returned code is different from checking proc.returncode.\n\u003e \n\u003e So I am not sure in what way there could be an additional in the previous code that now is being saved. Do not get me wrong\n\nThere are no difference between them.\nThe problem here, which is fixed by my patch, is that in previous implementation we never check that return code, and postpone the failure detection until we execute ping to daemon factory even if we get error from restart script.","commit_id":"00f3af0ccb7ba2cb71a1519d0a32a3da53821ebf"}],"tests/unit/gateway/gateways/docker/test_runtime.py":[{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"2a1b210437582e9ba6005648ba3a5d9ad80f4c0b","unresolved":false,"context_lines":[{"line_number":342,"context_line":""},{"line_number":343,"context_line":"            def dummy_wait_success(*args, **kwargs):"},{"line_number":344,"context_line":"                return 1"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"            self.sbox.wait \u003d dummy_wait_success"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"            popen.return_value \u003d FakeProc(\u0027Try to restart\\nOK\u0027, \u0027\u0027, 0)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_1e48f92c","line":345,"updated":"2017-01-16 10:54:40.000000000","message":"How about adding:\n# Test that popen is called successfully","commit_id":"6990f0a58dca2933957b87c350dbae9394b0b629"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"2a1b210437582e9ba6005648ba3a5d9ad80f4c0b","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            self.sbox.restart()"},{"line_number":350,"context_line":"            self.assertEqual(1, popen.call_count)"},{"line_number":351,"context_line":"            self.sbox.wait \u003d _wait"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"        with mock.patch(\u0027storlets.gateway.gateways.docker.runtime.\u0027"},{"line_number":354,"context_line":"                        \u0027RunTimePaths.create_host_pipe_prefix\u0027), \\"},{"line_number":355,"context_line":"            mock.patch(\u0027storlets.gateway.gateways.docker.runtime.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_1ec1d980","line":352,"updated":"2017-01-16 10:54:40.000000000","message":"# Test double failure to restart the container\n# for both the tenant image and generic image","commit_id":"6990f0a58dca2933957b87c350dbae9394b0b629"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"2a1b210437582e9ba6005648ba3a5d9ad80f4c0b","unresolved":false,"context_lines":[{"line_number":366,"context_line":"                self.sbox.restart()"},{"line_number":367,"context_line":"            self.assertEqual(2, popen.call_count)"},{"line_number":368,"context_line":"            self.sbox.wait \u003d _wait"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        with mock.patch(\u0027storlets.gateway.gateways.docker.runtime.\u0027"},{"line_number":371,"context_line":"                        \u0027RunTimePaths.create_host_pipe_prefix\u0027), \\"},{"line_number":372,"context_line":"            mock.patch(\u0027storlets.gateway.gateways.docker.runtime.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_deb831e8","line":369,"updated":"2017-01-16 10:54:40.000000000","message":"# Test failure to restart the container for the tenant image\n# success for the generic image","commit_id":"6990f0a58dca2933957b87c350dbae9394b0b629"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"2a1b210437582e9ba6005648ba3a5d9ad80f4c0b","unresolved":false,"context_lines":[{"line_number":383,"context_line":"            self.sbox.restart()"},{"line_number":384,"context_line":"            self.assertEqual(2, popen.call_count)"},{"line_number":385,"context_line":"            self.sbox.wait \u003d _wait"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        with mock.patch(\u0027storlets.gateway.gateways.docker.runtime.\u0027"},{"line_number":388,"context_line":"                        \u0027RunTimePaths.create_host_pipe_prefix\u0027), \\"},{"line_number":389,"context_line":"            mock.patch(\u0027storlets.gateway.gateways.docker.runtime.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_de867112","line":386,"updated":"2017-01-16 10:54:40.000000000","message":"# Test failure to restart due to timeout","commit_id":"6990f0a58dca2933957b87c350dbae9394b0b629"}]}
