)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"35e568f1b5f25636f24f7895a84e8a47cd37dfa2","unresolved":false,"context_lines":[{"line_number":12,"context_line":"implementation changes. So in this case, modified test code"},{"line_number":13,"context_line":"to test both the old 1.9.0 and 1.10.0 of the oslo.service"},{"line_number":14,"context_line":"library."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ife69c319409a4214658bc94498108b8b3c5db8cb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_7dce6784","line":15,"updated":"2016-05-13 09:34:06.000000000","message":"I reported this issue. Can you add \"Closes-Bug: #1581325\" tag?","commit_id":"df81e505692dc4a4d726b7c07150781a163b4235"}],"neutron/tests/unit/agent/dhcp/test_agent.py":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"8ff76cc823e359e926fd8814532eb1a8d24cae91","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                    sys_argv.return_value \u003d [\u0027dhcp\u0027, \u0027--config-file\u0027,"},{"line_number":282,"context_line":"                                             base.etcdir(\u0027neutron.conf\u0027)]"},{"line_number":283,"context_line":"                    entry.main()"},{"line_number":284,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":285,"context_line":"                        launcher.assert_has_calls("},{"line_number":286,"context_line":"                            [mock.call(cfg.CONF, restart_method\u003d\u0027reload\u0027),"},{"line_number":287,"context_line":"                             mock.call().launch_service(mock.ANY, workers\u003d1),"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_016a681a","line":284,"range":{"start_line":284,"start_character":20,"end_line":284,"end_character":48},"updated":"2016-05-12 23:32:20.000000000","message":"This looks pretty yucky.  Without even a comment about what is going on here, no one is going to be able to figure it out easily later.  What was the test really trying to assert here?  Can\u0027t we find something that doesn\u0027t depend on the internals of ServiceLauncher?","commit_id":"df81e505692dc4a4d726b7c07150781a163b4235"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"35e568f1b5f25636f24f7895a84e8a47cd37dfa2","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                    sys_argv.return_value \u003d [\u0027dhcp\u0027, \u0027--config-file\u0027,"},{"line_number":282,"context_line":"                                             base.etcdir(\u0027neutron.conf\u0027)]"},{"line_number":283,"context_line":"                    entry.main()"},{"line_number":284,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":285,"context_line":"                        launcher.assert_has_calls("},{"line_number":286,"context_line":"                            [mock.call(cfg.CONF, restart_method\u003d\u0027reload\u0027),"},{"line_number":287,"context_line":"                             mock.call().launch_service(mock.ANY, workers\u003d1),"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_bdc44f40","line":284,"range":{"start_line":284,"start_character":20,"end_line":284,"end_character":48},"in_reply_to":"dab17558_016a681a","updated":"2016-05-13 09:34:06.000000000","message":"I agree Carl. Can you add \"TODO\" comment about it if we cannot find the solution right now?\n\nAnyway, now gate uses 1.10,0. so I guess that we don\u0027t need a case of 1.9.0.","commit_id":"df81e505692dc4a4d726b7c07150781a163b4235"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"a18d436ec5fe2f4c94154da1578b692821e0a248","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                    sys_argv.return_value \u003d [\u0027dhcp\u0027, \u0027--config-file\u0027,"},{"line_number":282,"context_line":"                                             base.etcdir(\u0027neutron.conf\u0027)]"},{"line_number":283,"context_line":"                    entry.main()"},{"line_number":284,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":285,"context_line":"                        launcher.assert_has_calls("},{"line_number":286,"context_line":"                            [mock.call(cfg.CONF, restart_method\u003d\u0027reload\u0027),"},{"line_number":287,"context_line":"                             mock.call().launch_service(mock.ANY, workers\u003d1),"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_584f31be","line":284,"in_reply_to":"dab17558_bdc44f40","updated":"2016-05-13 09:50:52.000000000","message":"I don\u0027t know enough mockery in order to clean up the test, so I added a TODO comment, hoping that this will to good enough in order to unblock the gate now and have someone fix the test properly after that.\n\nFWIW there is a similar issue in neutron-dynamic-routing, see https://review.openstack.org/#/c/312324/13/neutron_dynamic_routing/tests/unit/services/bgp/agent/test_bgp_dragent.py L110 ff.","commit_id":"df81e505692dc4a4d726b7c07150781a163b4235"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"feec89ed27ef22d5bb8b2b3ddb917686b059af8d","unresolved":false,"context_lines":[{"line_number":272,"context_line":"                             mock.call().report_state(mock.ANY, mock.ANY,"},{"line_number":273,"context_line":"                                                      mock.ANY)])"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def test_dhcp_agent_main_agent_manager(self):"},{"line_number":276,"context_line":"        logging_str \u003d \u0027neutron.agent.common.config.setup_logging\u0027"},{"line_number":277,"context_line":"        launcher_str \u003d \u0027oslo_service.service.ServiceLauncher\u0027"},{"line_number":278,"context_line":"        with mock.patch(logging_str):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_a3442eb7","line":275,"updated":"2016-05-13 10:09:22.000000000","message":"probably it makes more sense to remove this test?","commit_id":"57c4e90e6a598b57073837017edeb16506113222"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8797d207486128f5e3d30d8f6b26877bc5c3bd25","unresolved":false,"context_lines":[{"line_number":272,"context_line":"                             mock.call().report_state(mock.ANY, mock.ANY,"},{"line_number":273,"context_line":"                                                      mock.ANY)])"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    def test_dhcp_agent_main_agent_manager(self):"},{"line_number":276,"context_line":"        logging_str \u003d \u0027neutron.agent.common.config.setup_logging\u0027"},{"line_number":277,"context_line":"        launcher_str \u003d \u0027oslo_service.service.ServiceLauncher\u0027"},{"line_number":278,"context_line":"        with mock.patch(logging_str):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_7e02dd3f","line":275,"in_reply_to":"dab17558_a3442eb7","updated":"2016-05-13 10:24:29.000000000","message":"If it works with the fix, I\u0027d rather leave it in until someone can rewrite it properly. Otherwise I see the risk of it just being dropped permanently.","commit_id":"57c4e90e6a598b57073837017edeb16506113222"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"7be6e633b9e469efbfd2ddb9d24c3e74274eb3a9","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                    # The signature of ServiceLauncher has changed with"},{"line_number":285,"context_line":"                    # oslo.service\u003d\u003d\u003d1.10.0, so we allow for this variant"},{"line_number":286,"context_line":"                    # here, too."},{"line_number":287,"context_line":"                    # TODO: Fix this test case to not depend on oslo.service"},{"line_number":288,"context_line":"                    # internals."},{"line_number":289,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":290,"context_line":"                        launcher.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_23a83edb","line":287,"range":{"start_line":287,"start_character":22,"end_line":287,"end_character":26},"updated":"2016-05-13 09:57:14.000000000","message":"TODO(NAME) otherwise pep8 error happens.","commit_id":"57c4e90e6a598b57073837017edeb16506113222"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8797d207486128f5e3d30d8f6b26877bc5c3bd25","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                    # The signature of ServiceLauncher has changed with"},{"line_number":285,"context_line":"                    # oslo.service\u003d\u003d\u003d1.10.0, so we allow for this variant"},{"line_number":286,"context_line":"                    # here, too."},{"line_number":287,"context_line":"                    # TODO: Fix this test case to not depend on oslo.service"},{"line_number":288,"context_line":"                    # internals."},{"line_number":289,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":290,"context_line":"                        launcher.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_3e0cd593","line":287,"in_reply_to":"dab17558_23a83edb","updated":"2016-05-13 10:24:29.000000000","message":"Done","commit_id":"57c4e90e6a598b57073837017edeb16506113222"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"7be6e633b9e469efbfd2ddb9d24c3e74274eb3a9","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                            [mock.call(cfg.CONF, restart_method\u003d\u0027reload\u0027),"},{"line_number":292,"context_line":"                             mock.call().launch_service(mock.ANY, workers\u003d1),"},{"line_number":293,"context_line":"                             mock.call().wait()])"},{"line_number":294,"context_line":"                    else:"},{"line_number":295,"context_line":"                        launcher.assert_has_calls("},{"line_number":296,"context_line":"                            [mock.call(cfg.CONF),"},{"line_number":297,"context_line":"                             mock.call().launch_service(mock.ANY),"},{"line_number":298,"context_line":"                             mock.call().wait()])"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    def test_run_completes_single_pass(self):"},{"line_number":301,"context_line":"        with mock.patch(DEVICE_MANAGER):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_83964a92","line":298,"range":{"start_line":294,"start_character":20,"end_line":298,"end_character":49},"updated":"2016-05-13 09:57:14.000000000","message":"Do we need this case?","commit_id":"57c4e90e6a598b57073837017edeb16506113222"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8797d207486128f5e3d30d8f6b26877bc5c3bd25","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                        launcher.assert_has_calls("},{"line_number":296,"context_line":"                            [mock.call(cfg.CONF),"},{"line_number":297,"context_line":"                             mock.call().launch_service(mock.ANY),"},{"line_number":298,"context_line":"                             mock.call().wait()])"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    def test_run_completes_single_pass(self):"},{"line_number":301,"context_line":"        with mock.patch(DEVICE_MANAGER):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_de62e93c","line":298,"in_reply_to":"dab17558_83964a92","updated":"2016-05-13 10:24:29.000000000","message":"I\u0027m not sure whether someone will still be testing with the old library version, better leave it in place instead of breaking more things, I would say.","commit_id":"57c4e90e6a598b57073837017edeb16506113222"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"8d5da12be514f34eb00e149b94b30f3f7592c8b5","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                    sys_argv.return_value \u003d [\u0027dhcp\u0027, \u0027--config-file\u0027,"},{"line_number":282,"context_line":"                                             base.etcdir(\u0027neutron.conf\u0027)]"},{"line_number":283,"context_line":"                    entry.main()"},{"line_number":284,"context_line":"                    # The signature of ServiceLauncher has changed with"},{"line_number":285,"context_line":"                    # oslo.service\u003d\u003d\u003d1.10.0, so we allow for this variant"},{"line_number":286,"context_line":"                    # here, too."},{"line_number":287,"context_line":"                    # TODO(frickler): Fix this test case to not depend on"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_efad629c","line":284,"updated":"2016-05-13 16:39:25.000000000","message":"Thanks for the comment.","commit_id":"9e663477f5d486f1625372c9798142758fbfec90"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"fea5d34dff76110c2e5044fc3cfe97dfeeadfc3d","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                    # The signature of ServiceLauncher has changed with"},{"line_number":285,"context_line":"                    # oslo.service\u003d\u003d\u003d1.10.0, so we allow for this variant"},{"line_number":286,"context_line":"                    # here, too."},{"line_number":287,"context_line":"                    # TODO(frickler): Fix this test case to not depend on"},{"line_number":288,"context_line":"                    # oslo.service internals."},{"line_number":289,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":290,"context_line":"                        launcher.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_05a406a4","line":287,"updated":"2016-05-13 17:56:32.000000000","message":"Frankly I think this test does not belong to Neutron unit tests and it provides no value as far as I can tell. I\u0027d vote to remove it altogether.","commit_id":"9e663477f5d486f1625372c9798142758fbfec90"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f1bcd6466d53b59dc4c19f5f9dbe90c0daa538df","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                    # The signature of ServiceLauncher has changed with"},{"line_number":285,"context_line":"                    # oslo.service\u003d\u003d\u003d1.10.0, so we allow for this variant"},{"line_number":286,"context_line":"                    # here, too."},{"line_number":287,"context_line":"                    # TODO(frickler): Fix this test case to not depend on"},{"line_number":288,"context_line":"                    # oslo.service internals."},{"line_number":289,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":290,"context_line":"                        launcher.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_8512b6b2","line":287,"in_reply_to":"dab17558_05a406a4","updated":"2016-05-13 17:58:03.000000000","message":"it makes our life easier especially thinking about stable branches.","commit_id":"9e663477f5d486f1625372c9798142758fbfec90"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"beaf6e91dd9085e2747d7c90e1cf7459748c6286","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                    # The signature of ServiceLauncher has changed with"},{"line_number":285,"context_line":"                    # oslo.service\u003d\u003d\u003d1.10.0, so we allow for this variant"},{"line_number":286,"context_line":"                    # here, too."},{"line_number":287,"context_line":"                    # TODO(frickler): Fix this test case to not depend on"},{"line_number":288,"context_line":"                    # oslo.service internals."},{"line_number":289,"context_line":"                    if launcher.mock_calls[0][2]:"},{"line_number":290,"context_line":"                        launcher.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_84862fd9","line":287,"in_reply_to":"dab17558_8512b6b2","updated":"2016-05-13 22:25:10.000000000","message":"I could go for that.","commit_id":"9e663477f5d486f1625372c9798142758fbfec90"}]}
