)]}'
{"ceilometer/coordination.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"695ac513daba6ea4d7313a615301a4a151093a71","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                 default\u003d10.0,"},{"line_number":36,"context_line":"                 help\u003d\u0027Number of seconds between checks to see if group \u0027"},{"line_number":37,"context_line":"                      \u0027membership has changed\u0027),"},{"line_number":38,"context_line":"    cfg.IntOpt(\u0027retry_backoff\u0027,"},{"line_number":39,"context_line":"               default\u003d1,"},{"line_number":40,"context_line":"               help\u003d\u0027Retry backoff factor when retrying to connect with \u0027"},{"line_number":41,"context_line":"                    \u0027coordination backend\u0027),"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_96dd1072","side":"PARENT","line":38,"updated":"2017-04-26 15:32:21.000000000","message":"we need to have releasenote for these options and what their alternatives are (if applicable)","commit_id":"a226b2470ee3569d0f3858f5cb7649ebca93d8bd"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e94bbc7a58f932dae5caa3173cfe28ea767055d3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                 default\u003d10.0,"},{"line_number":36,"context_line":"                 help\u003d\u0027Number of seconds between checks to see if group \u0027"},{"line_number":37,"context_line":"                      \u0027membership has changed\u0027),"},{"line_number":38,"context_line":"    cfg.IntOpt(\u0027retry_backoff\u0027,"},{"line_number":39,"context_line":"               default\u003d1,"},{"line_number":40,"context_line":"               help\u003d\u0027Retry backoff factor when retrying to connect with \u0027"},{"line_number":41,"context_line":"                    \u0027coordination backend\u0027),"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_30f99f4c","side":"PARENT","line":38,"in_reply_to":"5ff73747_96dd1072","updated":"2017-04-26 17:58:48.000000000","message":"Done","commit_id":"a226b2470ee3569d0f3858f5cb7649ebca93d8bd"}],"ceilometer/notification.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0355204dcddd0eb64d7b9593817d672cad92bea","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        ev_pipes \u003d self.event_pipeline_manager.pipelines"},{"line_number":276,"context_line":"        pipelines \u003d self.pipeline_manager.pipelines + ev_pipes"},{"line_number":277,"context_line":"        transport \u003d messaging.get_transport(self.conf)"},{"line_number":278,"context_line":"        partitioned \u003d range("},{"line_number":279,"context_line":"            self.conf.notification.pipeline_processing_queues"},{"line_number":280,"context_line":"        )"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_2ff3c70c","line":278,"range":{"start_line":278,"start_character":22,"end_line":278,"end_character":27},"updated":"2017-03-24 18:35:11.000000000","message":"six.moves.range","commit_id":"e078326e362589a47123c0b68e36327755b43671"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f16a9bf3afc6852c23d0da7cba73b1b4d3752d86","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        ev_pipes \u003d self.event_pipeline_manager.pipelines"},{"line_number":276,"context_line":"        pipelines \u003d self.pipeline_manager.pipelines + ev_pipes"},{"line_number":277,"context_line":"        transport \u003d messaging.get_transport(self.conf)"},{"line_number":278,"context_line":"        partitioned \u003d range("},{"line_number":279,"context_line":"            self.conf.notification.pipeline_processing_queues"},{"line_number":280,"context_line":"        )"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_de07441c","line":278,"range":{"start_line":278,"start_character":22,"end_line":278,"end_character":27},"in_reply_to":"ffe62b97_2ff3c70c","updated":"2017-03-27 09:17:53.000000000","message":"Done","commit_id":"e078326e362589a47123c0b68e36327755b43671"}],"ceilometer/tests/functional/test_notification.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"695ac513daba6ea4d7313a615301a4a151093a71","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @mock.patch(\"ceilometer.utils.kill_listeners\")"},{"line_number":301,"context_line":"    @mock.patch.object(oslo_messaging.MessageHandlingServer, \u0027start\u0027)"},{"line_number":302,"context_line":"    def test_notification_threads(self, m_listener, kill_l):"},{"line_number":303,"context_line":"        self.CONF.set_override(\u0027batch_size\u0027, 1, group\u003d\u0027notification\u0027)"},{"line_number":304,"context_line":"        self.srv.run()"},{"line_number":305,"context_line":"        m_listener.assert_called_with(override_pool_size\u003dNone)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_3b73c54f","line":302,"range":{"start_line":302,"start_character":52,"end_line":302,"end_character":58},"updated":"2017-04-26 15:32:21.000000000","message":"doesn\u0027t seem used, just mock it in mock.patch decorator.","commit_id":"f530f9c44559d845df1f95e6351e7a4d0898034c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e94bbc7a58f932dae5caa3173cfe28ea767055d3","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @mock.patch(\"ceilometer.utils.kill_listeners\")"},{"line_number":301,"context_line":"    @mock.patch.object(oslo_messaging.MessageHandlingServer, \u0027start\u0027)"},{"line_number":302,"context_line":"    def test_notification_threads(self, m_listener, kill_l):"},{"line_number":303,"context_line":"        self.CONF.set_override(\u0027batch_size\u0027, 1, group\u003d\u0027notification\u0027)"},{"line_number":304,"context_line":"        self.srv.run()"},{"line_number":305,"context_line":"        m_listener.assert_called_with(override_pool_size\u003dNone)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_70ade72f","line":302,"range":{"start_line":302,"start_character":52,"end_line":302,"end_character":58},"in_reply_to":"5ff73747_3b73c54f","updated":"2017-04-26 17:58:48.000000000","message":"Done","commit_id":"f530f9c44559d845df1f95e6351e7a4d0898034c"}],"ceilometer/tests/unit/agent/agentbase.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0355204dcddd0eb64d7b9593817d672cad92bea","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        super(BaseAgentManagerTestCase, self).tearDown()"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @mock.patch(\u0027ceilometer.pipeline.setup_polling\u0027)"},{"line_number":293,"context_line":"    def test_start(self, setup_polling):"},{"line_number":294,"context_line":"        self.mgr.setup_polling_tasks \u003d mock.MagicMock()"},{"line_number":295,"context_line":"        mpc \u003d self.mgr.partition_coordinator"},{"line_number":296,"context_line":"        self.mgr.run()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_4f304b57","side":"PARENT","line":293,"updated":"2017-03-24 18:35:11.000000000","message":"parts of this test still seem valid to validate startup workflow (although arguably not very useful)","commit_id":"016f0443e3e03e4baff471e9484a4d0e9c87bdcf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f16a9bf3afc6852c23d0da7cba73b1b4d3752d86","unresolved":false,"context_lines":[{"line_number":290,"context_line":"        super(BaseAgentManagerTestCase, self).tearDown()"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    @mock.patch(\u0027ceilometer.pipeline.setup_polling\u0027)"},{"line_number":293,"context_line":"    def test_start(self, setup_polling):"},{"line_number":294,"context_line":"        self.mgr.setup_polling_tasks \u003d mock.MagicMock()"},{"line_number":295,"context_line":"        mpc \u003d self.mgr.partition_coordinator"},{"line_number":296,"context_line":"        self.mgr.run()"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_9979d6fd","side":"PARENT","line":293,"in_reply_to":"ffe62b97_4f304b57","updated":"2017-03-27 09:17:53.000000000","message":"Done","commit_id":"016f0443e3e03e4baff471e9484a4d0e9c87bdcf"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0355204dcddd0eb64d7b9593817d672cad92bea","unresolved":false,"context_lines":[{"line_number":594,"context_line":"        self.assertEqual(len(expected),"},{"line_number":595,"context_line":"                         len(p_coord.extract_my_subset.call_args_list))"},{"line_number":596,"context_line":"        for c in expected:"},{"line_number":597,"context_line":"            self.assertIn(c, p_coord.extract_my_subset.call_args_list)"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def test_static_resources_partitioning(self):"},{"line_number":600,"context_line":"        p_coord \u003d self.mgr.partition_coordinator"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_4f2deb93","side":"PARENT","line":597,"updated":"2017-03-24 18:35:11.000000000","message":"you removed the \u0027test\u0027 part of this test.","commit_id":"016f0443e3e03e4baff471e9484a4d0e9c87bdcf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f16a9bf3afc6852c23d0da7cba73b1b4d3752d86","unresolved":false,"context_lines":[{"line_number":594,"context_line":"        self.assertEqual(len(expected),"},{"line_number":595,"context_line":"                         len(p_coord.extract_my_subset.call_args_list))"},{"line_number":596,"context_line":"        for c in expected:"},{"line_number":597,"context_line":"            self.assertIn(c, p_coord.extract_my_subset.call_args_list)"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def test_static_resources_partitioning(self):"},{"line_number":600,"context_line":"        p_coord \u003d self.mgr.partition_coordinator"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_d92e3ea4","side":"PARENT","line":597,"in_reply_to":"ffe62b97_4f2deb93","updated":"2017-03-27 09:17:53.000000000","message":"right but it\u0027s not really testing anything. it tests that extract_my_subset is called with some stuff.\n\nthis function does not exist anymore, and the fact that it\u0027s being called does not prove anything useful :(","commit_id":"016f0443e3e03e4baff471e9484a4d0e9c87bdcf"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0355204dcddd0eb64d7b9593817d672cad92bea","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        for c in expected:"},{"line_number":597,"context_line":"            self.assertIn(c, p_coord.extract_my_subset.call_args_list)"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def test_static_resources_partitioning(self):"},{"line_number":600,"context_line":"        p_coord \u003d self.mgr.partition_coordinator"},{"line_number":601,"context_line":"        static_resources \u003d [\u0027static_1\u0027, \u0027static_2\u0027]"},{"line_number":602,"context_line":"        static_resources2 \u003d [\u0027static_3\u0027, \u0027static_4\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_6f766fa7","side":"PARENT","line":599,"updated":"2017-03-24 18:35:11.000000000","message":"i don\u0027t think we should be deleting this test either. i think the discovery and static parts of setup are different workflows that should both be validated.","commit_id":"016f0443e3e03e4baff471e9484a4d0e9c87bdcf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f16a9bf3afc6852c23d0da7cba73b1b4d3752d86","unresolved":false,"context_lines":[{"line_number":596,"context_line":"        for c in expected:"},{"line_number":597,"context_line":"            self.assertIn(c, p_coord.extract_my_subset.call_args_list)"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    def test_static_resources_partitioning(self):"},{"line_number":600,"context_line":"        p_coord \u003d self.mgr.partition_coordinator"},{"line_number":601,"context_line":"        static_resources \u003d [\u0027static_1\u0027, \u0027static_2\u0027]"},{"line_number":602,"context_line":"        static_resources2 \u003d [\u0027static_3\u0027, \u0027static_4\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_b9025a0a","side":"PARENT","line":599,"in_reply_to":"ffe62b97_6f766fa7","updated":"2017-03-27 09:17:53.000000000","message":"ditto, and in this case the function related to hashrings are not even called anymore","commit_id":"016f0443e3e03e4baff471e9484a4d0e9c87bdcf"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"695ac513daba6ea4d7313a615301a4a151093a71","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        self.setup_polling()"},{"line_number":574,"context_line":"        polling_tasks \u003d self.mgr.setup_polling_tasks()"},{"line_number":575,"context_line":"        self.mgr.interval_task(polling_tasks.get(60))"},{"line_number":576,"context_line":"        self.assertIsNotNone(self.mgr.hashrings)"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"    def test_static_resources_partitioning(self):"},{"line_number":579,"context_line":"        static_resources \u003d [\u0027static_1\u0027, \u0027static_2\u0027]"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_dbd181cf","line":576,"updated":"2017-04-26 15:32:21.000000000","message":"seems like we should validate belongs_to_me is called with expected resources.","commit_id":"f530f9c44559d845df1f95e6351e7a4d0898034c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e94bbc7a58f932dae5caa3173cfe28ea767055d3","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        self.setup_polling()"},{"line_number":574,"context_line":"        polling_tasks \u003d self.mgr.setup_polling_tasks()"},{"line_number":575,"context_line":"        self.mgr.interval_task(polling_tasks.get(60))"},{"line_number":576,"context_line":"        self.assertIsNotNone(self.mgr.hashrings)"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"    def test_static_resources_partitioning(self):"},{"line_number":579,"context_line":"        static_resources \u003d [\u0027static_1\u0027, \u0027static_2\u0027]"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_e9bb4ec1","line":576,"in_reply_to":"5ff73747_dbd181cf","updated":"2017-04-26 17:58:48.000000000","message":"Done","commit_id":"f530f9c44559d845df1f95e6351e7a4d0898034c"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"695ac513daba6ea4d7313a615301a4a151093a71","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        self.setup_polling()"},{"line_number":596,"context_line":"        polling_tasks \u003d self.mgr.setup_polling_tasks()"},{"line_number":597,"context_line":"        self.mgr.interval_task(polling_tasks.get(60))"},{"line_number":598,"context_line":"        self.assertIsNotNone(self.mgr.hashrings)"},{"line_number":599,"context_line":""},{"line_number":600,"context_line":"    @mock.patch(\u0027ceilometer.agent.manager.LOG\u0027)"},{"line_number":601,"context_line":"    def test_polling_and_notify_with_resources(self, LOG):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_7bd6edc5","line":598,"updated":"2017-04-26 15:32:21.000000000","message":"same","commit_id":"f530f9c44559d845df1f95e6351e7a4d0898034c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e94bbc7a58f932dae5caa3173cfe28ea767055d3","unresolved":false,"context_lines":[{"line_number":595,"context_line":"        self.setup_polling()"},{"line_number":596,"context_line":"        polling_tasks \u003d self.mgr.setup_polling_tasks()"},{"line_number":597,"context_line":"        self.mgr.interval_task(polling_tasks.get(60))"},{"line_number":598,"context_line":"        self.assertIsNotNone(self.mgr.hashrings)"},{"line_number":599,"context_line":""},{"line_number":600,"context_line":"    @mock.patch(\u0027ceilometer.agent.manager.LOG\u0027)"},{"line_number":601,"context_line":"    def test_polling_and_notify_with_resources(self, LOG):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5ff73747_c9b2d2e6","line":598,"in_reply_to":"5ff73747_7bd6edc5","updated":"2017-04-26 17:58:48.000000000","message":"Done","commit_id":"f530f9c44559d845df1f95e6351e7a4d0898034c"}]}
