)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e3f7fce77faa13957b11b04a1033fd8a6c9f1897","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rui Chen \u003cchenrui.momo@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-16 16:37:29 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix InstanceList.get_by_host rpc timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The method of InstanceList.get_by_host rasie rpc timeout error when"},{"line_number":10,"context_line":"ComputeManager.init_host() and _sync_power_states periodic task execute."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_c12aab2e","line":7,"updated":"2015-02-16 08:52:13.000000000","message":"I am not sure that you need the prefix VMware here. But that is up to you","commit_id":"6a707eb8a8e2b31dd839be88ff0f32720b6e9faa"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"560cd8c06c589fb0b71b51c27cf2bebb5c84ef5b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rui Chen \u003cchenrui.momo@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-16 16:37:29 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix InstanceList.get_by_host rpc timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The method of InstanceList.get_by_host rasie rpc timeout error when"},{"line_number":10,"context_line":"ComputeManager.init_host() and _sync_power_states periodic task execute."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba7be1f8_a91fef6a","line":7,"in_reply_to":"da86d52c_c12aab2e","updated":"2015-02-25 10:31:38.000000000","message":"Done","commit_id":"6a707eb8a8e2b31dd839be88ff0f32720b6e9faa"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e3f7fce77faa13957b11b04a1033fd8a6c9f1897","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix InstanceList.get_by_host rpc timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The method of InstanceList.get_by_host rasie rpc timeout error when"},{"line_number":10,"context_line":"ComputeManager.init_host() and _sync_power_states periodic task execute."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Currently, one nova-compute host map to the whole VMware deployment that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_a16777b6","line":9,"updated":"2015-02-16 08:52:13.000000000","message":"rasie \u003d\u003e raise","commit_id":"6a707eb8a8e2b31dd839be88ff0f32720b6e9faa"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"560cd8c06c589fb0b71b51c27cf2bebb5c84ef5b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: fix InstanceList.get_by_host rpc timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The method of InstanceList.get_by_host rasie rpc timeout error when"},{"line_number":10,"context_line":"ComputeManager.init_host() and _sync_power_states periodic task execute."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Currently, one nova-compute host map to the whole VMware deployment that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba7be1f8_e9156749","line":9,"in_reply_to":"da86d52c_a16777b6","updated":"2015-02-25 10:31:38.000000000","message":"Done","commit_id":"6a707eb8a8e2b31dd839be88ff0f32720b6e9faa"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"e3f7fce77faa13957b11b04a1033fd8a6c9f1897","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Currently, one nova-compute host map to the whole VMware deployment that"},{"line_number":13,"context_line":"maybe contain several clusters in nova VMware driver. When"},{"line_number":14,"context_line":"InstanceList.get_by_host execute in ComputeManager, it indicate that"},{"line_number":15,"context_line":"nova-compute will execute a rpc call to nova-conducutor, nova-conductor"},{"line_number":16,"context_line":"will fetch a lots of instances in the whole VMware deployment in once,"},{"line_number":17,"context_line":"The long time SQL query maybe lead to the nova-conductor rpc timeout."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_010e83e5","line":15,"updated":"2015-02-16 08:52:13.000000000","message":"nova-conducutor \u003d\u003e nova-conductor","commit_id":"6a707eb8a8e2b31dd839be88ff0f32720b6e9faa"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"560cd8c06c589fb0b71b51c27cf2bebb5c84ef5b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Currently, one nova-compute host map to the whole VMware deployment that"},{"line_number":13,"context_line":"maybe contain several clusters in nova VMware driver. When"},{"line_number":14,"context_line":"InstanceList.get_by_host execute in ComputeManager, it indicate that"},{"line_number":15,"context_line":"nova-compute will execute a rpc call to nova-conducutor, nova-conductor"},{"line_number":16,"context_line":"will fetch a lots of instances in the whole VMware deployment in once,"},{"line_number":17,"context_line":"The long time SQL query maybe lead to the nova-conductor rpc timeout."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba7be1f8_290bff2a","line":15,"in_reply_to":"da86d52c_010e83e5","updated":"2015-02-25 10:31:38.000000000","message":"Done","commit_id":"6a707eb8a8e2b31dd839be88ff0f32720b6e9faa"}],"nova/objects/instance.py":[{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"1fb1a7636976fd0d606ec38d56d1526beb57b26c","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"    def get_by_host_and_node(cls, context, host, node, expected_attrs\u003dNone):"},{"line_number":1127,"context_line":"        filters\u003d{\u0027host\u0027: host, \u0027node\u0027: node, \u0027deleted\u0027: False}"},{"line_number":1128,"context_line":"        return _paging_query_with_filters(context, filters,"},{"line_number":1129,"context_line":"            expected_attrs\u003dexpected_attrs)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    @base.remotable_classmethod"},{"line_number":1132,"context_line":"    def get_by_host_and_not_type(cls, context, host, type_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_035de215","line":1129,"updated":"2015-02-13 11:01:52.000000000","message":"You have to change hash of ListInstance object in test nova.tests.unit.objects.test_objects.TestObjectVersions.test_versions because you updated methods of this object.","commit_id":"9f1e92d70cf8b9783c094fb1a90e85a279d4f6b3"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"d25cebf0129cbd3838970fbdd1191e2861257525","unresolved":false,"context_lines":[{"line_number":1126,"context_line":"    def get_by_host_and_node(cls, context, host, node, expected_attrs\u003dNone):"},{"line_number":1127,"context_line":"        filters\u003d{\u0027host\u0027: host, \u0027node\u0027: node, \u0027deleted\u0027: False}"},{"line_number":1128,"context_line":"        return _paging_query_with_filters(context, filters,"},{"line_number":1129,"context_line":"            expected_attrs\u003dexpected_attrs)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    @base.remotable_classmethod"},{"line_number":1132,"context_line":"    def get_by_host_and_not_type(cls, context, host, type_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_060e99e5","line":1129,"in_reply_to":"da86d52c_035de215","updated":"2015-02-16 08:23:29.000000000","message":"Thanks for your reminding, I will push a new patch to fix it.","commit_id":"9f1e92d70cf8b9783c094fb1a90e85a279d4f6b3"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"79888982ceb01be452cc75c01732de8999f216af","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"    inst_list \u003d objects.InstanceList()"},{"line_number":1081,"context_line":"    inst_list.objects \u003d []"},{"line_number":1082,"context_line":"    marker \u003d None"},{"line_number":1083,"context_line":"    limit \u003d 1000"},{"line_number":1084,"context_line":"    while True:"},{"line_number":1085,"context_line":"        paging_inst_list \u003d objects.InstanceList.get_by_filters("},{"line_number":1086,"context_line":"            context, filters\u003dfilters, limit\u003dlimit, marker\u003dmarker,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_d4b3c44a","line":1083,"updated":"2015-02-25 16:36:19.000000000","message":"You need to use osapi_max_limit; check out nova/api/openstack/common.py get_limit_and_marker","commit_id":"70659d2c71b20d108c876377b8a49581387e5a82"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"48e4effa32f480b0d651e2cac86642a2e1611a82","unresolved":false,"context_lines":[{"line_number":1080,"context_line":"    inst_list \u003d objects.InstanceList()"},{"line_number":1081,"context_line":"    inst_list.objects \u003d []"},{"line_number":1082,"context_line":"    marker \u003d None"},{"line_number":1083,"context_line":"    limit \u003d 1000"},{"line_number":1084,"context_line":"    while True:"},{"line_number":1085,"context_line":"        paging_inst_list \u003d objects.InstanceList.get_by_filters("},{"line_number":1086,"context_line":"            context, filters\u003dfilters, limit\u003dlimit, marker\u003dmarker,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_1f239bbd","line":1083,"in_reply_to":"ba7be1f8_d4b3c44a","updated":"2015-02-26 08:03:32.000000000","message":"It don\u0027t have relation to api max limit, just a internal rpc request page size.  Maybe adding a new option is suitable, like: \u0027instance_list_rpc_paging_size.\u0027\n\nWait for others say something.","commit_id":"70659d2c71b20d108c876377b8a49581387e5a82"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"79888982ceb01be452cc75c01732de8999f216af","unresolved":false,"context_lines":[{"line_number":1155,"context_line":"        return _make_instance_list(context, cls(), db_inst_list,"},{"line_number":1156,"context_line":"                                   expected_attrs)"},{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"    @classmethod"},{"line_number":1159,"context_line":"    def get_by_host(cls, context, host, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":1160,"context_line":"        filters \u003d {\u0027host\u0027: host, \u0027deleted\u0027: False}"},{"line_number":1161,"context_line":"        return _paging_query_with_filters(context, filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_d499047a","line":1158,"updated":"2015-02-25 16:36:19.000000000","message":"Why did you change these decorators?","commit_id":"70659d2c71b20d108c876377b8a49581387e5a82"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"48e4effa32f480b0d651e2cac86642a2e1611a82","unresolved":false,"context_lines":[{"line_number":1155,"context_line":"        return _make_instance_list(context, cls(), db_inst_list,"},{"line_number":1156,"context_line":"                                   expected_attrs)"},{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"    @classmethod"},{"line_number":1159,"context_line":"    def get_by_host(cls, context, host, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":1160,"context_line":"        filters \u003d {\u0027host\u0027: host, \u0027deleted\u0027: False}"},{"line_number":1161,"context_line":"        return _paging_query_with_filters(context, filters,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_7f92d74c","line":1158,"in_reply_to":"ba7be1f8_d499047a","updated":"2015-02-26 08:03:32.000000000","message":"The remotable class method get_by_filters is called in get_by_host indirectly, so the remotable decorators is not necessary. And we must make the paging query loop execute in nova-compute side, if don\u0027t change the decorators, the loop will execute in nova-conductor, it collect the all result and return to nova-compute, it make no sense for paging query.","commit_id":"70659d2c71b20d108c876377b8a49581387e5a82"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"64f89ac4eea84108989b5356d9def86bdec672d4","unresolved":false,"context_lines":[{"line_number":1087,"context_line":"            break"},{"line_number":1088,"context_line":"        marker \u003d paging_inst_list[-1][\u0027uuid\u0027]"},{"line_number":1089,"context_line":"    inst_list.obj_reset_changes()"},{"line_number":1090,"context_line":"    return inst_list"},{"line_number":1091,"context_line":""},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"class InstanceList(base.ObjectListBase, base.NovaObject):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_491a7c18","line":1090,"updated":"2015-03-23 16:56:17.000000000","message":"Doesn\u0027t this just always return the first 1000 items? In other words, this doesn\u0027t do pagination, it just does limiting, right?","commit_id":"54fe7e586507bfcbdc9ef10f71468f46835e89d6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"97ce35f465d776afed02983b44e58b876216a91b","unresolved":false,"context_lines":[{"line_number":1087,"context_line":"            break"},{"line_number":1088,"context_line":"        marker \u003d paging_inst_list[-1][\u0027uuid\u0027]"},{"line_number":1089,"context_line":"    inst_list.obj_reset_changes()"},{"line_number":1090,"context_line":"    return inst_list"},{"line_number":1091,"context_line":""},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"class InstanceList(base.ObjectListBase, base.NovaObject):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_1fafd2e4","line":1090,"in_reply_to":"1a6ced46_491a7c18","updated":"2015-03-23 17:38:12.000000000","message":"No, this will do the pagination, since it passes the UUID of the last instance in the page as the \"marker\" kwarg.","commit_id":"54fe7e586507bfcbdc9ef10f71468f46835e89d6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"df82a601254ae9901c9524f6fc82c592f577f956","unresolved":false,"context_lines":[{"line_number":1153,"context_line":"        return _make_instance_list(context, cls(), db_inst_list,"},{"line_number":1154,"context_line":"                                   expected_attrs)"},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"    @classmethod"},{"line_number":1157,"context_line":"    def get_by_host(cls, context, host, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":1158,"context_line":"        filters \u003d {\u0027host\u0027: host, \u0027deleted\u0027: False}"},{"line_number":1159,"context_line":"        return _paging_query_with_filters(context, filters,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_49499ccf","line":1156,"updated":"2015-03-23 16:58:26.000000000","message":"Note that you can\u0027t make this conversion. This breaks the compatibility rules for the object.","commit_id":"54fe7e586507bfcbdc9ef10f71468f46835e89d6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"97ce35f465d776afed02983b44e58b876216a91b","unresolved":false,"context_lines":[{"line_number":1153,"context_line":"        return _make_instance_list(context, cls(), db_inst_list,"},{"line_number":1154,"context_line":"                                   expected_attrs)"},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"    @classmethod"},{"line_number":1157,"context_line":"    def get_by_host(cls, context, host, expected_attrs\u003dNone, use_slave\u003dFalse):"},{"line_number":1158,"context_line":"        filters \u003d {\u0027host\u0027: host, \u0027deleted\u0027: False}"},{"line_number":1159,"context_line":"        return _paging_query_with_filters(context, filters,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_1f96f294","line":1156,"in_reply_to":"1a6ced46_49499ccf","updated":"2015-03-23 17:38:12.000000000","message":"Right. There\u0027s also no reason to do this change... :)","commit_id":"54fe7e586507bfcbdc9ef10f71468f46835e89d6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"df82a601254ae9901c9524f6fc82c592f577f956","unresolved":false,"context_lines":[{"line_number":1159,"context_line":"        return _paging_query_with_filters(context, filters,"},{"line_number":1160,"context_line":"            expected_attrs\u003dexpected_attrs, use_slave\u003duse_slave)"},{"line_number":1161,"context_line":""},{"line_number":1162,"context_line":"    @classmethod"},{"line_number":1163,"context_line":"    def get_by_host_and_node(cls, context, host, node, expected_attrs\u003dNone):"},{"line_number":1164,"context_line":"        filters \u003d {\u0027host\u0027: host, \u0027node\u0027: node, \u0027deleted\u0027: False}"},{"line_number":1165,"context_line":"        return _paging_query_with_filters(context, filters,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_a91770a2","line":1162,"updated":"2015-03-23 16:58:26.000000000","message":"Here also.","commit_id":"54fe7e586507bfcbdc9ef10f71468f46835e89d6"}]}
