)]}'
{"neutron/agent/linux/ra.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"178e4b30421f709072017b71df0fc23d8c16275e","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def _spawn_radvd(router_id, radvd_conf, router_ns, root_helper):"},{"line_number":84,"context_line":"    def callback(pid_file):"},{"line_number":85,"context_line":"        # we should not use -m stderr (the default) or -m stderr_syslog"},{"line_number":86,"context_line":"        # since in that case radvd 2.0+ will not close stderr and exit"},{"line_number":87,"context_line":"        # and hence block execution of the current thread"},{"line_number":88,"context_line":"        radvd_cmd \u003d [\u0027radvd\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_aa243ac6","line":85,"updated":"2014-12-03 12:20:11.000000000","message":"# We need to use ...","commit_id":"497b5b79cbeae2122b4dc9697ff220bd470abdad"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"294ae832a2a36e71f39aa5752027dc0373ab354f","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def _spawn_radvd(router_id, radvd_conf, router_ns, root_helper):"},{"line_number":84,"context_line":"    def callback(pid_file):"},{"line_number":85,"context_line":"        # we should not use -m stderr (the default) or -m stderr_syslog"},{"line_number":86,"context_line":"        # since in that case radvd 2.0+ will not close stderr and exit"},{"line_number":87,"context_line":"        # and hence block execution of the current thread"},{"line_number":88,"context_line":"        radvd_cmd \u003d [\u0027radvd\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_cf1c2f69","line":85,"in_reply_to":"5a890539_aa243ac6","updated":"2014-12-03 14:17:19.000000000","message":"Done","commit_id":"497b5b79cbeae2122b4dc9697ff220bd470abdad"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"178e4b30421f709072017b71df0fc23d8c16275e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"def _spawn_radvd(router_id, radvd_conf, router_ns, root_helper):"},{"line_number":84,"context_line":"    def callback(pid_file):"},{"line_number":85,"context_line":"        # we should not use -m stderr (the default) or -m stderr_syslog"},{"line_number":86,"context_line":"        # since in that case radvd 2.0+ will not close stderr and exit"},{"line_number":87,"context_line":"        # and hence block execution of the current thread"},{"line_number":88,"context_line":"        radvd_cmd \u003d [\u0027radvd\u0027,"},{"line_number":89,"context_line":"                     \u0027-C\u0027, \u0027%s\u0027 % radvd_conf,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_6a0ed23e","line":86,"updated":"2014-12-03 12:20:11.000000000","message":"# so that radvd 2.0+ will not ...","commit_id":"497b5b79cbeae2122b4dc9697ff220bd470abdad"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"294ae832a2a36e71f39aa5752027dc0373ab354f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"def _spawn_radvd(router_id, radvd_conf, router_ns, root_helper):"},{"line_number":84,"context_line":"    def callback(pid_file):"},{"line_number":85,"context_line":"        # we should not use -m stderr (the default) or -m stderr_syslog"},{"line_number":86,"context_line":"        # since in that case radvd 2.0+ will not close stderr and exit"},{"line_number":87,"context_line":"        # and hence block execution of the current thread"},{"line_number":88,"context_line":"        radvd_cmd \u003d [\u0027radvd\u0027,"},{"line_number":89,"context_line":"                     \u0027-C\u0027, \u0027%s\u0027 % radvd_conf,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_ef21eb9e","line":86,"in_reply_to":"5a890539_6a0ed23e","updated":"2014-12-03 14:17:19.000000000","message":"Done","commit_id":"497b5b79cbeae2122b4dc9697ff220bd470abdad"}],"neutron/tests/unit/test_l3_agent.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"cea9b602cf6daa79fbb1a254543fadae5de0eee2","unresolved":false,"context_lines":[{"line_number":2336,"context_line":"                cmd \u003d execute.call_args[0][0]"},{"line_number":2337,"context_line":"        finally:"},{"line_number":2338,"context_line":"            self.ip_cls_p.start()"},{"line_number":2339,"context_line":"            self.external_process_p.start()"},{"line_number":2340,"context_line":""},{"line_number":2341,"context_line":"        self.assertIn(\u0027radvd\u0027, cmd)"},{"line_number":2342,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_a2b19145","line":2339,"updated":"2014-12-04 06:01:56.000000000","message":"+1, just drop the whole finally statement and the try is unnecessary.","commit_id":"0e590c2cccff34c715716da033c4d0327b73cc87"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"6d7580a636eca29bdc6c95b07a6d8a6f0a05e613","unresolved":false,"context_lines":[{"line_number":2336,"context_line":"                cmd \u003d execute.call_args[0][0]"},{"line_number":2337,"context_line":"        finally:"},{"line_number":2338,"context_line":"            self.ip_cls_p.start()"},{"line_number":2339,"context_line":"            self.external_process_p.start()"},{"line_number":2340,"context_line":""},{"line_number":2341,"context_line":"        self.assertIn(\u0027radvd\u0027, cmd)"},{"line_number":2342,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_bdbe19d2","line":2339,"updated":"2014-12-04 02:47:29.000000000","message":"Nit, the mocks are started at Setup(), since the Mocks are no longer needed in this test, no need to start them again.","commit_id":"0e590c2cccff34c715716da033c4d0327b73cc87"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a1f15069faf1e2e56b44f21462d112c3a9892505","unresolved":false,"context_lines":[{"line_number":2336,"context_line":"                cmd \u003d execute.call_args[0][0]"},{"line_number":2337,"context_line":"        finally:"},{"line_number":2338,"context_line":"            self.ip_cls_p.start()"},{"line_number":2339,"context_line":"            self.external_process_p.start()"},{"line_number":2340,"context_line":""},{"line_number":2341,"context_line":"        self.assertIn(\u0027radvd\u0027, cmd)"},{"line_number":2342,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_bf3e0389","line":2339,"in_reply_to":"5a890539_a2b19145","updated":"2014-12-04 10:58:19.000000000","message":"I was under wrong impression due to another test doing the same thing. I\u0027ll remove finally here and clean up there too as a separate patch.","commit_id":"0e590c2cccff34c715716da033c4d0327b73cc87"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"cea9b602cf6daa79fbb1a254543fadae5de0eee2","unresolved":false,"context_lines":[{"line_number":2344,"context_line":""},{"line_number":2345,"context_line":"        cmd \u003d _join(*cmd)"},{"line_number":2346,"context_line":"        self.assertIn(_join(\u0027-C\u0027, conffile), cmd)"},{"line_number":2347,"context_line":"        self.assertIn(_join(\u0027-m\u0027, \u0027syslog\u0027), cmd)"},{"line_number":2348,"context_line":""},{"line_number":2349,"context_line":""},{"line_number":2350,"context_line":"class TestL3AgentEventHandler(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_c283fd53","line":2347,"updated":"2014-12-04 06:01:56.000000000","message":"can we check the -P param as well?","commit_id":"0e590c2cccff34c715716da033c4d0327b73cc87"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a1f15069faf1e2e56b44f21462d112c3a9892505","unresolved":false,"context_lines":[{"line_number":2344,"context_line":""},{"line_number":2345,"context_line":"        cmd \u003d _join(*cmd)"},{"line_number":2346,"context_line":"        self.assertIn(_join(\u0027-C\u0027, conffile), cmd)"},{"line_number":2347,"context_line":"        self.assertIn(_join(\u0027-m\u0027, \u0027syslog\u0027), cmd)"},{"line_number":2348,"context_line":""},{"line_number":2349,"context_line":""},{"line_number":2350,"context_line":"class TestL3AgentEventHandler(base.BaseTestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_9f3b079b","line":2347,"in_reply_to":"5a890539_c283fd53","updated":"2014-12-04 10:58:19.000000000","message":"Done","commit_id":"0e590c2cccff34c715716da033c4d0327b73cc87"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"6b302c28b123d67141acedd2d1c88b1ab480ca8f","unresolved":false,"context_lines":[{"line_number":2337,"context_line":"                                conffile,"},{"line_number":2338,"context_line":"                                agent.get_ns_name(router[\u0027id\u0027]),"},{"line_number":2339,"context_line":"                                self.conf.root_helper)"},{"line_number":2340,"context_line":"            cmd \u003d execute.call_args[0][0]"},{"line_number":2341,"context_line":""},{"line_number":2342,"context_line":"        self.assertIn(\u0027radvd\u0027, cmd)"},{"line_number":2343,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_bb66214f","line":2340,"updated":"2014-12-12 23:32:37.000000000","message":"just a note: I always found the way to get call arguments in mock library very cryptic, but it\u0027s the way it is, and it\u0027s not your fault.","commit_id":"72d41174765540bb7672b545c336fb7aaad075e8"}]}
