)]}'
{"cinder/scheduler/manager.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"62e0bcb67b2d867036c9d56a7a3737c93683606c","unresolved":false,"context_lines":[{"line_number":262,"context_line":"            volume_rpcapi.VolumeAPI().manage_existing(context, volume_ref,"},{"line_number":263,"context_line":"                                                      request_spec.get(\u0027ref\u0027))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_pools(self, context, filters\u003dNone):"},{"line_number":266,"context_line":"        \"\"\"Get active pools from scheduler\u0027s cache.\"\"\""},{"line_number":267,"context_line":"        return self.driver.get_pools(context, filters)"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_0e57b927","line":265,"updated":"2015-03-10 21:57:55.000000000","message":"Shouldn\u0027t you add _wait_for_scheduler here as well, to ensure you have pools to return ?","commit_id":"58f4c7e5f0a56e095d103566fd87c1a44eedae6d"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"1c10fc000864fb86f2a530c088b3660a0b1f1b1b","unresolved":false,"context_lines":[{"line_number":262,"context_line":"            volume_rpcapi.VolumeAPI().manage_existing(context, volume_ref,"},{"line_number":263,"context_line":"                                                      request_spec.get(\u0027ref\u0027))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_pools(self, context, filters\u003dNone):"},{"line_number":266,"context_line":"        \"\"\"Get active pools from scheduler\u0027s cache.\"\"\""},{"line_number":267,"context_line":"        return self.driver.get_pools(context, filters)"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_c7481f8a","line":265,"in_reply_to":"9a80dd14_0e57b927","updated":"2015-03-11 02:21:16.000000000","message":"get_pools() is a blocking (synchronized) RPC call (instead of cast).   wait here to block c-api as well.  Since scheduler-stats is an admin-only API extension, return a empty list doesn\u0027t hurt (much) \u0027cos it doesn\u0027t fail anything and user can retry a few times to get the result he/she needs.","commit_id":"58f4c7e5f0a56e095d103566fd87c1a44eedae6d"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"19fb1af160db118e9a7fe53162205ef71c85eb9d","unresolved":false,"context_lines":[{"line_number":262,"context_line":"            volume_rpcapi.VolumeAPI().manage_existing(context, volume_ref,"},{"line_number":263,"context_line":"                                                      request_spec.get(\u0027ref\u0027))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def get_pools(self, context, filters\u003dNone):"},{"line_number":266,"context_line":"        \"\"\"Get active pools from scheduler\u0027s cache.\"\"\""},{"line_number":267,"context_line":"        return self.driver.get_pools(context, filters)"},{"line_number":268,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_0f95e487","line":265,"in_reply_to":"9a80dd14_c7481f8a","updated":"2015-03-11 08:51:23.000000000","message":"I\u0027ve added a comment here with Huang\u0027s explanation.","commit_id":"58f4c7e5f0a56e095d103566fd87c1a44eedae6d"}],"cinder/tests/scheduler/test_scheduler.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"773c28e6c7332c5637b04c87c5225fb7877c51c8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self.manager._startup_delay \u003d True"},{"line_number":67,"context_line":"        self.manager.init_host_with_rpc()"},{"line_number":68,"context_line":"        publish_capabilities_mock.assert_called_once_with(mock.ANY)"},{"line_number":69,"context_line":"        sleep_mock.assert_called_once_with(60)"},{"line_number":70,"context_line":"        self.assertFalse(self.manager._startup_delay)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @mock.patch(\u0027cinder.scheduler.driver.Scheduler.\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_46abf91d","line":69,"updated":"2015-03-12 16:03:31.000000000","message":"Wouldn\u0027t it be better using CONF.periodic_interval here?","commit_id":"26e07b3a95465a8b174f32e0e77e28c41449544d"}]}
