)]}'
{"api-ref/source/os-simple-tenant-usage.inc":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"312817f8b5a6e21d638ee9b3c625fd223d18a182","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_9199c07b","line":15,"updated":"2016-12-07 07:52:56.000000000","message":"we should have note about the CONF.os_max_limit will be enforced in all the version.","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ddea451a0a4777de742435ced617a2d70c1be8db","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_8eb50f33","line":15,"in_reply_to":"3a71b18c_9199c07b","updated":"2016-12-07 14:00:12.000000000","message":"None of the *.inc files mention CONF.osapi_max_limit and it\u0027s been renamed since to CONF.api.max_limit. I\u0027ll grep all the docs for places that missed the name change, and address this there.","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"312817f8b5a6e21d638ee9b3c625fd223d18a182","unresolved":false,"context_lines":[{"line_number":61,"context_line":"If the ``detailed`` query parameter is not specified or"},{"line_number":62,"context_line":"is set to other than 1 (e.g. ``detailed\u003d0``), the response is as follows:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/simple-tenant-usage-get.json"},{"line_number":65,"context_line":"   :language: javascript"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"If the ``detailed`` query parameter is set to one (``detailed\u003d1``),"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_9170e041","line":64,"updated":"2016-12-07 07:52:56.000000000","message":"I think we can use the new api sample file at here.","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ddea451a0a4777de742435ced617a2d70c1be8db","unresolved":false,"context_lines":[{"line_number":61,"context_line":"If the ``detailed`` query parameter is not specified or"},{"line_number":62,"context_line":"is set to other than 1 (e.g. ``detailed\u003d0``), the response is as follows:"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/simple-tenant-usage-get.json"},{"line_number":65,"context_line":"   :language: javascript"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"If the ``detailed`` query parameter is set to one (``detailed\u003d1``),"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_2e407b35","line":64,"in_reply_to":"3a71b18c_9170e041","updated":"2016-12-07 14:00:12.000000000","message":"Done","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"312817f8b5a6e21d638ee9b3c625fd223d18a182","unresolved":false,"context_lines":[{"line_number":68,"context_line":"the response includes ``server_usages`` information for each tenant."},{"line_number":69,"context_line":"The response is as follows:"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/simple-tenant-usage-get-detail.json"},{"line_number":72,"context_line":"   :language: javascript"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Show Usage Details For Tenant"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_b1915c49","line":71,"updated":"2016-12-07 07:52:56.000000000","message":"ditto","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ddea451a0a4777de742435ced617a2d70c1be8db","unresolved":false,"context_lines":[{"line_number":68,"context_line":"the response includes ``server_usages`` information for each tenant."},{"line_number":69,"context_line":"The response is as follows:"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/simple-tenant-usage-get-detail.json"},{"line_number":72,"context_line":"   :language: javascript"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Show Usage Details For Tenant"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_4e3db7ba","line":71,"in_reply_to":"3a71b18c_b1915c49","updated":"2016-12-07 14:00:12.000000000","message":"Done","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"312817f8b5a6e21d638ee9b3c625fd223d18a182","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. rest_method:: GET /os-simple-tenant-usage/{tenant_id}"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Shows usage details for a tenant."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Normal response codes: 200"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_d1941838","line":79,"updated":"2016-12-07 07:52:56.000000000","message":"ditto","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ddea451a0a4777de742435ced617a2d70c1be8db","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. rest_method:: GET /os-simple-tenant-usage/{tenant_id}"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Shows usage details for a tenant."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Normal response codes: 200"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_6e4a7357","line":79,"in_reply_to":"3a71b18c_d1941838","updated":"2016-12-07 14:00:12.000000000","message":"Done","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"312817f8b5a6e21d638ee9b3c625fd223d18a182","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"**Example Show Usage Details For Tenant: JSON response**"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":".. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/simple-tenant-usage-get-specific.json"},{"line_number":126,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_119bf066","line":125,"updated":"2016-12-07 07:52:56.000000000","message":"ditto","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ddea451a0a4777de742435ced617a2d70c1be8db","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"**Example Show Usage Details For Tenant: JSON response**"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":".. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/simple-tenant-usage-get-specific.json"},{"line_number":126,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"3a71b18c_ce77079e","line":125,"in_reply_to":"3a71b18c_119bf066","updated":"2016-12-07 14:00:12.000000000","message":"Done","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6cd5403e4a042ac43b159a43a13c02e4d1e3f814","unresolved":false,"context_lines":[{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Error response codes: badRequest(400), unauthorized(401), forbidden(403)"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"3a71b18c_65afb4e3","line":16,"updated":"2016-12-08 15:52:04.000000000","message":"Looks like one of my comment isn\u0027t addressed. We should have a note about the pagination will be enforce on all the microversions. In the old version, the limit based on the operator\u0027s configuration.\n\nAnd sounds like we shouldn\u0027t mention the configration name, due to it is really a thing for operator, not the api user.","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"376494b04337f4996e38a4414af94899f4f47a1b","unresolved":false,"context_lines":[{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Error response codes: badRequest(400), unauthorized(401), forbidden(403)"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"3a71b18c_d3556e1e","line":16,"in_reply_to":"3a71b18c_134e066f","updated":"2016-12-09 21:49:18.000000000","message":"Hmm... actually, perhaps I should add a paragraph here that explains that totals will need to be stitched back together if they span multiple pages etc. And I can also mention max limits. I\u0027ll circle back to this on Monday.\n\nHave a great weekend!","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"a05781d555d5c982988987c290313cf05c6a4953","unresolved":false,"context_lines":[{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Error response codes: badRequest(400), unauthorized(401), forbidden(403)"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"3a71b18c_134e066f","line":16,"in_reply_to":"3a71b18c_65afb4e3","updated":"2016-12-09 21:30:12.000000000","message":"I\u0027m not sure we should mention that max limit is enforced for usage because none of the other endpoints that enforce max limit mention it in the api-ref.\n\n    (nova) diana:nova diana$ grep -r max_limit * --include\u003d*.inc\n    --- no results ---","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"d3b0829cb28a0a5a6b36bd749a4977857807392d","unresolved":false,"context_lines":[{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Error response codes: badRequest(400), unauthorized(401), forbidden(403)"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"ba5201f7_0e31eaa2","line":16,"in_reply_to":"3a71b18c_d3556e1e","updated":"2016-12-30 15:03:28.000000000","message":"@Alex \u0026 @Matt: As requested, I\u0027ve tossed another patch up that adds a brief overview of the microversion 2.40 changes to the usage api-ref, including stitching \u0026 max limit, etc\n\n- https://review.openstack.org/#/c/415744/","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"69cb63f0e564da3808aa8fe4a04452126f0e42c4","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. rest_method:: GET /os-simple-tenant-usage"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Lists usage information for all tenants."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Normal response codes: 200"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":17,"id":"1a6eadb0_7a513b62","line":15,"updated":"2016-12-13 01:07:13.000000000","message":"yea, maybe mention a config option in the API doc isn\u0027t right. But I just hope we have some words to mention there is behaviour change for the old microversion. Anyway, we can do that later.","commit_id":"e167d2c48d38e658394807fa1670e9284a5b4dc5"}],"doc/api_samples/keypairs/v2.35/keypairs-list-user2-resp.json":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"594fd7d1e7edbcb3517a3d30c0c063812e79c07c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    ],"},{"line_number":12,"context_line":"    \"keypairs_links\": ["},{"line_number":13,"context_line":"        {"},{"line_number":14,"context_line":"            \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/keypairs?limit\u003d1\u0026marker\u003dkeypair-5d935425-31d5-48a7-a0f1-e76e9813f2c3\u0026user_id\u003duser2\","},{"line_number":15,"context_line":"            \"rel\": \"next\""},{"line_number":16,"context_line":"        }"},{"line_number":17,"context_line":"    ]"}],"source_content_type":"application/json","patch_set":1,"id":"fa6399be_b8e520dd","line":14,"range":{"start_line":14,"start_character":156,"end_line":14,"end_character":170},"updated":"2016-10-13 17:28:58.000000000","message":"this changed because the \"next links\" are now sorted so that they can be asserted against","commit_id":"821a90782b0de2090c20032712a244686072ee7c"}],"nova/api/openstack/common.py":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"594fd7d1e7edbcb3517a3d30c0c063812e79c07c","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    def _get_next_link(self, request, identifier, collection_name):"},{"line_number":403,"context_line":"        \"\"\"Return href string with proper limit and marker params.\"\"\""},{"line_number":404,"context_line":"        params \u003d collections.OrderedDict(sorted(request.params.items()))"},{"line_number":405,"context_line":"        params[\"marker\"] \u003d identifier"},{"line_number":406,"context_line":"        prefix \u003d self._update_compute_link_prefix(request.application_url)"},{"line_number":407,"context_line":"        url \u003d url_join(prefix,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_b8ae007f","line":404,"range":{"start_line":404,"start_character":17,"end_line":404,"end_character":72},"updated":"2016-10-13 17:28:58.000000000","message":"because I need the query params in the \"next links\" to come out in a deterministic order for the functional expected response asserts","commit_id":"821a90782b0de2090c20032712a244686072ee7c"}],"nova/api/openstack/compute/simple_tenant_usage.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"312817f8b5a6e21d638ee9b3c625fd223d18a182","unresolved":false,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        marker \u003d None"},{"line_number":270,"context_line":"        limit \u003d CONF.osapi_max_limit"},{"line_number":271,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.39\u0027):"},{"line_number":272,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_f1b2f404","line":271,"range":{"start_line":271,"start_character":8,"end_line":271,"end_character":69},"updated":"2016-12-07 07:52:56.000000000","message":"We can just change the name of parameter \u0027links\u0027 to \u0027enable_pagination\u0027, then we needn\u0027t check the version again when the decorator \u0027@wsgi.Controller.api_version\u0027 used.","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"ddea451a0a4777de742435ced617a2d70c1be8db","unresolved":false,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        marker \u003d None"},{"line_number":270,"context_line":"        limit \u003d CONF.osapi_max_limit"},{"line_number":271,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.39\u0027):"},{"line_number":272,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_ee55a3fa","line":271,"range":{"start_line":271,"start_character":8,"end_line":271,"end_character":69},"in_reply_to":"3a71b18c_f1b2f404","updated":"2016-12-07 14:00:12.000000000","message":"Done, thanks!\n\nI kept the variable name `links` to match the pattern set by the other endpoints that have limit/marker pagination.","commit_id":"15e493f087b36d7171eccfa6404462ca615950ea"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6cd5403e4a042ac43b159a43a13c02e4d1e3f814","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            period_stop \u003d now"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        marker \u003d None"},{"line_number":269,"context_line":"        limit \u003d CONF.api.max_limit"},{"line_number":270,"context_line":"        if links:"},{"line_number":271,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_ff65131d","line":269,"updated":"2016-12-08 15:52:04.000000000","message":"would you mind add a unitest to ensure this enforce on all the microversion?","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"c329884570562a517c0edcd3c7b50a956000a96b","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            period_stop \u003d now"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        marker \u003d None"},{"line_number":269,"context_line":"        limit \u003d CONF.api.max_limit"},{"line_number":270,"context_line":"        if links:"},{"line_number":271,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":272,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_98279511","line":269,"in_reply_to":"3a71b18c_ff65131d","updated":"2016-12-09 21:14:00.000000000","message":"Done. I added some more tests for max_limit, next links, etc.\n\nBefore:\n- Coverage for nova/api/openstack/compute/simple_tenant_usage.py : 80%\n- 210 statements   178 run 32 missing 0 excluded 18 partial\n\nAfter:\n- Coverage for nova/api/openstack/compute/simple_tenant_usage.py : 89%\n- 210 statements   193 run 17 missing 0 excluded 13 partial","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6cd5403e4a042ac43b159a43a13c02e4d1e3f814","unresolved":false,"context_lines":[{"line_number":304,"context_line":"            period_stop \u003d now"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        marker \u003d None"},{"line_number":307,"context_line":"        limit \u003d CONF.api.max_limit"},{"line_number":308,"context_line":"        if links:"},{"line_number":309,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_42d46ebc","line":307,"updated":"2016-12-08 15:52:04.000000000","message":"ditto","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"c329884570562a517c0edcd3c7b50a956000a96b","unresolved":false,"context_lines":[{"line_number":304,"context_line":"            period_stop \u003d now"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        marker \u003d None"},{"line_number":307,"context_line":"        limit \u003d CONF.api.max_limit"},{"line_number":308,"context_line":"        if links:"},{"line_number":309,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_58097d83","line":307,"in_reply_to":"3a71b18c_42d46ebc","updated":"2016-12-09 21:14:00.000000000","message":"Done","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6cd5403e4a042ac43b159a43a13c02e4d1e3f814","unresolved":false,"context_lines":[{"line_number":2508,"context_line":"    if marker is not None:"},{"line_number":2509,"context_line":"        try:"},{"line_number":2510,"context_line":"            marker \u003d _instance_get_by_uuid("},{"line_number":2511,"context_line":"                context.elevated(read_deleted\u003d\u0027yes\u0027), marker)"},{"line_number":2512,"context_line":"        except exception.InstanceNotFound:"},{"line_number":2513,"context_line":"            raise exception.MarkerNotFound(marker\u003dmarker)"},{"line_number":2514,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3a71b18c_fc4c419f","line":2511,"range":{"start_line":2511,"start_character":16,"end_line":2511,"end_character":52},"updated":"2016-12-08 15:52:04.000000000","message":"The user can test whether a uuid is valid or not, even the uuid of the instance isn\u0027t belong to user.\n\nDouble check with Sean and Matt, this is something we should address. But it isn\u0027t a big deal given the size of the namespace. so we can address later as a bug.","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"}],"nova/tests/functional/api_sample_tests/api_samples/keypairs/v2.35/keypairs-list-user2-resp.json.tpl":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"594fd7d1e7edbcb3517a3d30c0c063812e79c07c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    ],"},{"line_number":12,"context_line":"    \"keypairs_links\": ["},{"line_number":13,"context_line":"        {"},{"line_number":14,"context_line":"            \"href\": \"%(versioned_compute_endpoint)s/keypairs?limit\u003d1\u0026marker\u003d%(keypair_name)s\u0026user_id\u003duser2\","},{"line_number":15,"context_line":"            \"rel\": \"next\""},{"line_number":16,"context_line":"        }"},{"line_number":17,"context_line":"    ]"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"fa6399be_f8d31802","line":14,"range":{"start_line":14,"start_character":92,"end_line":14,"end_character":106},"updated":"2016-10-13 17:28:58.000000000","message":"this changed because the \"next links\" are now sorted so that they can be asserted against","commit_id":"821a90782b0de2090c20032712a244686072ee7c"}],"nova/tests/functional/api_sample_tests/test_simple_tenant_usage.py":[{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"594fd7d1e7edbcb3517a3d30c0c063812e79c07c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            \u0027start\u0027: str(started),"},{"line_number":92,"context_line":"            \u0027end\u0027: str(now),"},{"line_number":93,"context_line":"            \u0027limit\u0027: \u00271\u0027,"},{"line_number":94,"context_line":"#             \u0027marker\u0027: self.instance1_uuid,"},{"line_number":95,"context_line":"        }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_f86f9828","line":94,"range":{"start_line":94,"start_character":14,"end_line":94,"end_character":43},"updated":"2016-10-13 17:28:58.000000000","message":"TODO: circle back to this.\n\nI can\u0027t exercise the marker query param until I figure out how to create and launch multiple instances in a functional test.\n\nThe following instance launches successfully:\n\n    self.instance1_uuid \u003d self._post_server()\n\nBut these two fail to launch (they are created though):\n\n    self.instance2_uuid \u003d self._post_server()\n    self.instance3_uuid \u003d self._post_server()\n\nError message:\n\n    FloatingIpDNSExists: The DNS entry new-server-test already exists in domain .\n\n    Build of instance some-uuid aborted: Failed to allocate the network(s), not rescheduling.","commit_id":"821a90782b0de2090c20032712a244686072ee7c"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"cfc0df1d43243c8578fa028ab5fc31d23f1e1b45","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            \u0027start\u0027: str(started),"},{"line_number":92,"context_line":"            \u0027end\u0027: str(now),"},{"line_number":93,"context_line":"            \u0027limit\u0027: \u00271\u0027,"},{"line_number":94,"context_line":"#             \u0027marker\u0027: self.instance1_uuid,"},{"line_number":95,"context_line":"        }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_2b4643bf","line":94,"range":{"start_line":94,"start_character":14,"end_line":94,"end_character":43},"in_reply_to":"fa6399be_f86f9828","updated":"2016-10-25 19:05:31.000000000","message":"Done","commit_id":"821a90782b0de2090c20032712a244686072ee7c"}],"releasenotes/notes/pagination-for-usage-a313397f9a7e9a70.yaml":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6cd5403e4a042ac43b159a43a13c02e4d1e3f814","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added microversion v2.40 which introduces pagination support for usage"},{"line_number":4,"context_line":"    with the help of new optional parameters \u0027limit\u0027 and \u0027marker\u0027."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    /os-simple-tenant-usage?limit\u003d{limit}\u0026marker\u003d{instance_uuid}"},{"line_number":7,"context_line":"    /os-simple-tenant-usage/{tenant}?limit\u003d{limit}\u0026marker\u003d{instance_uuid}"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3a71b18c_c55088d7","line":5,"updated":"2016-12-08 15:52:04.000000000","message":"It is also worth to mention the pagination enforce on all the microversions. in the old version, the limit is based on the config option \u0027api.osapi_max_limit\u0027","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"a05781d555d5c982988987c290313cf05c6a4953","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added microversion v2.40 which introduces pagination support for usage"},{"line_number":4,"context_line":"    with the help of new optional parameters \u0027limit\u0027 and \u0027marker\u0027."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    /os-simple-tenant-usage?limit\u003d{limit}\u0026marker\u003d{instance_uuid}"},{"line_number":7,"context_line":"    /os-simple-tenant-usage/{tenant}?limit\u003d{limit}\u0026marker\u003d{instance_uuid}"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3a71b18c_13836657","line":5,"in_reply_to":"3a71b18c_c55088d7","updated":"2016-12-09 21:30:12.000000000","message":"Done","commit_id":"ece7f06be73d2e2304ffe1d232f86d303778332a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"66c189fd66048f7e9bb2e864dd96b7a1eee95aec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added microversion v2.40 which introduces pagination support for usage"},{"line_number":4,"context_line":"    with the help of new optional parameters \u0027limit\u0027 and \u0027marker\u0027. If \u0027limit\u0027"},{"line_number":5,"context_line":"    isn\u0027t provided, it will default to the configurable max limit which is"},{"line_number":6,"context_line":"    currently 1000."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3a71b18c_a33876d4","line":3,"range":{"start_line":3,"start_character":2,"end_line":3,"end_character":4},"updated":"2016-12-12 12:21:51.000000000","message":"It should be as follows:\n\n  - |\n   Added microversion v2.40 which introduces pagination support for usage\n\nBecause the display is not good.\nSee the following page.\n\nhttp://docs-draft.openstack.org/93/386093/13/check/gate-nova-releasenotes/ed5e0ff//releasenotes/build/html/unreleased.html#new-features","commit_id":"2953c8a744429f41f0352b597261930937b09b3e"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"fef2b42787791cac4878c5288a123c9e5afe26dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added microversion v2.40 which introduces pagination support for usage"},{"line_number":4,"context_line":"    with the help of new optional parameters \u0027limit\u0027 and \u0027marker\u0027. If \u0027limit\u0027"},{"line_number":5,"context_line":"    isn\u0027t provided, it will default to the configurable max limit which is"},{"line_number":6,"context_line":"    currently 1000."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1a6eadb0_2d4b212d","line":3,"range":{"start_line":3,"start_character":2,"end_line":3,"end_character":4},"in_reply_to":"3a71b18c_a33876d4","updated":"2016-12-12 16:42:52.000000000","message":"Fixed, thanks!\n\nhttp://docs-draft.openstack.org/93/386093/17/check/gate-nova-releasenotes/667a6fd//releasenotes/build/html/unreleased.html","commit_id":"2953c8a744429f41f0352b597261930937b09b3e"}]}
