)]}'
{"neutron/cmd/sanity_check.py":[{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"da87064c5e91043ac995bbbd44d9eecad4cfdb8a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"cfg.CONF.import_group(\u0027ml2\u0027, \u0027neutron.plugins.ml2.config\u0027)"},{"line_number":36,"context_line":"cfg.CONF.import_group(\u0027ml2_sriov\u0027,"},{"line_number":37,"context_line":"                      \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver\u0027"},{"line_number":38,"context_line":"                      \u0027.mech_driver\u0027)"},{"line_number":39,"context_line":"dhcp_agent.register_options()"},{"line_number":40,"context_line":"cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_a435fe46","line":38,"updated":"2015-08-28 01:01:00.000000000","message":"very nit: Please fix if respin.\n\n \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027\n \u0027mech_driver\u0027)","commit_id":"07b07c6b72726dc30329fb1dce54b791bb8f3a59"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"dd9969affc37167bdfcb028ac1829333762bafe9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"cfg.CONF.import_group(\u0027ml2\u0027, \u0027neutron.plugins.ml2.config\u0027)"},{"line_number":36,"context_line":"cfg.CONF.import_group(\u0027ml2_sriov\u0027,"},{"line_number":37,"context_line":"                      \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver\u0027"},{"line_number":38,"context_line":"                      \u0027.mech_driver\u0027)"},{"line_number":39,"context_line":"dhcp_agent.register_options()"},{"line_number":40,"context_line":"cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_7d145443","line":38,"in_reply_to":"da20952f_a435fe46","updated":"2015-08-28 05:14:59.000000000","message":"Agree with you @Hirofumi, its good to be consistent. Thanks.","commit_id":"07b07c6b72726dc30329fb1dce54b791bb8f3a59"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"554d9575f7e73a900d529193b8ee682454071eb5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027agent.common.config\u0027)"},{"line_number":35,"context_line":"cfg.CONF.import_group(\u0027ml2\u0027, \u0027neutron.plugins.ml2.config\u0027)"},{"line_number":36,"context_line":"cfg.CONF.import_group(\u0027ml2_sriov\u0027,"},{"line_number":37,"context_line":"                      \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":38,"context_line":"                      \u0027mech_driver\u0027)"},{"line_number":39,"context_line":"dhcp_agent.register_options()"},{"line_number":40,"context_line":"cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_3533f9ac","line":37,"updated":"2015-08-31 10:11:32.000000000","message":"It suggests that we don\u0027t have any test coverage for the code in the file. Should we add some?","commit_id":"1203f9fc0946374e173d2a7f7d689e90d62d17b7"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"6848bc954a4f2d61b5a262ffb6241590b5e5a202","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027agent.common.config\u0027)"},{"line_number":35,"context_line":"cfg.CONF.import_group(\u0027ml2\u0027, \u0027neutron.plugins.ml2.config\u0027)"},{"line_number":36,"context_line":"cfg.CONF.import_group(\u0027ml2_sriov\u0027,"},{"line_number":37,"context_line":"                      \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":38,"context_line":"                      \u0027mech_driver\u0027)"},{"line_number":39,"context_line":"dhcp_agent.register_options()"},{"line_number":40,"context_line":"cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_b0715778","line":37,"in_reply_to":"da20952f_3533f9ac","updated":"2015-08-31 10:35:24.000000000","message":"Yes @Ihar, looks like the neutron-sanity-check commands are not run in the gate. \nCan we unblock this change until we have the necessary changes in the gate to verify  the sanity-check command?","commit_id":"1203f9fc0946374e173d2a7f7d689e90d62d17b7"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"0415b4766d2d9ca89d8cc6aa5cdbec76f092e432","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027agent.common.config\u0027)"},{"line_number":35,"context_line":"cfg.CONF.import_group(\u0027ml2\u0027, \u0027neutron.plugins.ml2.config\u0027)"},{"line_number":36,"context_line":"cfg.CONF.import_group(\u0027ml2_sriov\u0027,"},{"line_number":37,"context_line":"                      \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":38,"context_line":"                      \u0027mech_driver\u0027)"},{"line_number":39,"context_line":"dhcp_agent.register_options()"},{"line_number":40,"context_line":"cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_f4149ee9","line":37,"in_reply_to":"da20952f_a13ee725","updated":"2015-08-31 12:41:13.000000000","message":"Aaah ok, so you wanted me to add a unit test. I mistook this to adding a job to run neutron-sanity-check. I\u0027ll add the tests. Thanks @Ihar and @Miguel for reviewing the patch.","commit_id":"1203f9fc0946374e173d2a7f7d689e90d62d17b7"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2055164995be18bcd307d9c42eae5d54e04f18e5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                      \u0027agent.common.config\u0027)"},{"line_number":35,"context_line":"cfg.CONF.import_group(\u0027ml2\u0027, \u0027neutron.plugins.ml2.config\u0027)"},{"line_number":36,"context_line":"cfg.CONF.import_group(\u0027ml2_sriov\u0027,"},{"line_number":37,"context_line":"                      \u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":38,"context_line":"                      \u0027mech_driver\u0027)"},{"line_number":39,"context_line":"dhcp_agent.register_options()"},{"line_number":40,"context_line":"cfg.CONF.register_opts(l3_hamode_db.L3_HA_OPTS)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_a13ee725","line":37,"in_reply_to":"da20952f_b0715778","updated":"2015-08-31 11:57:57.000000000","message":"Where would those changes in gate emerge from if no one covers the code with tests? A simple unit test for any function in the file would be enough to avoid the issue. I suggest we make sure the code you modify is triggered somehow. Do you think it\u0027s an unreasonable suggestion?","commit_id":"1203f9fc0946374e173d2a7f7d689e90d62d17b7"}],"neutron/tests/unit/cmd/test_sanity_check.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"8565da799d4555d0a1dee7de8edfff3c436bbb19","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2012 OpenStack Foundation."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_c4d67b27","line":1,"updated":"2015-08-31 16:21:33.000000000","message":"Nits: 2012 -\u003e 2015\nCompany should be the company you work for or none at all, but not the foundation.","commit_id":"ce2d47864c9a5a9f473ef638c42635986bf72c20"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"0e8f9fa3debbb4c1bff573e96379aea41e74a5c4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2012 OpenStack Foundation."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_c4151b9c","line":1,"in_reply_to":"da20952f_c4d67b27","updated":"2015-09-01 04:21:16.000000000","message":"Done","commit_id":"ce2d47864c9a5a9f473ef638c42635986bf72c20"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"8565da799d4555d0a1dee7de8edfff3c436bbb19","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.all_tests_passed\u0027)"},{"line_number":25,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.enable_tests_from_config\u0027)"},{"line_number":26,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.setup_conf\u0027)"},{"line_number":27,"context_line":"    def test_main(self, mock_conf, mock_enable_tests, mock_tests_passed):"},{"line_number":28,"context_line":"        sanity_check.main()"},{"line_number":29,"context_line":"        self.assertEqual(1, mock_enable_tests.call_count)"},{"line_number":30,"context_line":"        self.assertEqual(1, mock_tests_passed.call_count)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_84b3a309","line":27,"updated":"2015-08-31 16:21:33.000000000","message":"You don\u0027t actually test the \u0027main\u0027 function here since you mock the entire contents of the function. I would prefer you rename it to \u0027test_main_imports\u0027 and delete lines 29 and 30, and add a comment that explains what exactly you\u0027re testing here.","commit_id":"ce2d47864c9a5a9f473ef638c42635986bf72c20"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0d727cab87e27f4ff556c78071bdf1f180343516","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.all_tests_passed\u0027)"},{"line_number":25,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.enable_tests_from_config\u0027)"},{"line_number":26,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.setup_conf\u0027)"},{"line_number":27,"context_line":"    def test_main(self, mock_conf, mock_enable_tests, mock_tests_passed):"},{"line_number":28,"context_line":"        sanity_check.main()"},{"line_number":29,"context_line":"        self.assertEqual(1, mock_enable_tests.call_count)"},{"line_number":30,"context_line":"        self.assertEqual(1, mock_tests_passed.call_count)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_c47c3bee","line":27,"in_reply_to":"da20952f_84b3a309","updated":"2015-08-31 16:28:09.000000000","message":"Honestly, it would probably be better to move those imports in a separate function that you would be able to target directly.","commit_id":"ce2d47864c9a5a9f473ef638c42635986bf72c20"},{"author":{"_account_id":10257,"name":"Sridhar Gaddam","email":"sgaddam@redhat.com","username":"sridhargaddam"},"change_message_id":"0e8f9fa3debbb4c1bff573e96379aea41e74a5c4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.all_tests_passed\u0027)"},{"line_number":25,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.enable_tests_from_config\u0027)"},{"line_number":26,"context_line":"    @mock.patch(\u0027neutron.cmd.sanity_check.setup_conf\u0027)"},{"line_number":27,"context_line":"    def test_main(self, mock_conf, mock_enable_tests, mock_tests_passed):"},{"line_number":28,"context_line":"        sanity_check.main()"},{"line_number":29,"context_line":"        self.assertEqual(1, mock_enable_tests.call_count)"},{"line_number":30,"context_line":"        self.assertEqual(1, mock_tests_passed.call_count)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_22595035","line":27,"in_reply_to":"da20952f_c47c3bee","updated":"2015-09-01 04:21:16.000000000","message":"Sure @Ihar and @Assaf. thanks.","commit_id":"ce2d47864c9a5a9f473ef638c42635986bf72c20"}]}
