)]}'
{"specs/mitaka/approved/keypairs-pagination.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1cb95ac57ca6975025783fa782ac5a29d86f4dc3","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* **sort_key**: Key used to determine sort order"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* **sort_dir**: Direction for with the associated sort key (\"asc\" or \"desc\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* **marker**: The last key pair NAME of the previous page. Displays list of key"},{"line_number":46,"context_line":"  pairs after \"marker\"."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8a016a_4741c238","line":43,"updated":"2015-11-21 22:47:59.000000000","message":"s/with//","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"c867049f821c464b584a51cc2a67966064a6e6ad","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* **sort_key**: Key used to determine sort order"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* **sort_dir**: Direction for with the associated sort key (\"asc\" or \"desc\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* **marker**: The last key pair NAME of the previous page. Displays list of key"},{"line_number":46,"context_line":"  pairs after \"marker\"."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_0774419a","line":43,"in_reply_to":"ba8a016a_4741c238","updated":"2015-11-24 14:39:24.000000000","message":"Done","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1cb95ac57ca6975025783fa782ac5a29d86f4dc3","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* **sort_dir**: Direction for with the associated sort key (\"asc\" or \"desc\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* **marker**: The last key pair NAME of the previous page. Displays list of key"},{"line_number":46,"context_line":"  pairs after \"marker\"."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* **limit**: Maximum number of key pairs to display. If limit \u003d\u003d -1,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8a016a_87f24a05","line":45,"updated":"2015-11-21 22:47:59.000000000","message":"name seems fine given it\u0027s part of the unique constraint on the table:\n\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L709\n\nI don\u0027t suppose we have to worry about user_id being part of that unique constraint?","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"c867049f821c464b584a51cc2a67966064a6e6ad","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* **sort_dir**: Direction for with the associated sort key (\"asc\" or \"desc\")"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* **marker**: The last key pair NAME of the previous page. Displays list of key"},{"line_number":46,"context_line":"  pairs after \"marker\"."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* **limit**: Maximum number of key pairs to display. If limit \u003d\u003d -1,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_a76535e2","line":45,"in_reply_to":"ba8a016a_87f24a05","updated":"2015-11-24 14:39:24.000000000","message":"Yes,  I think the NAME is fine here.","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1cb95ac57ca6975025783fa782ac5a29d86f4dc3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* **marker**: The last key pair NAME of the previous page. Displays list of key"},{"line_number":46,"context_line":"  pairs after \"marker\"."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* **limit**: Maximum number of key pairs to display. If limit \u003d\u003d -1,"},{"line_number":49,"context_line":"  all key pairs will be displayed. If limit is bigger than `osapi_max_limit`"},{"line_number":50,"context_line":"  option of Nova API, limit `osapi_max_limit` will be used instead."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8a016a_0762dad8","line":48,"updated":"2015-11-21 22:47:59.000000000","message":"Is -1 already checked somewhere in the compute API, oslo.db or sqlalchemy?  I only see checking for None and defaulting to osapi_max_limit.  If not already a special case, wouldn\u0027t you have to plumb this down through the DB API paginate_query code?  If this is not already a special case, I\u0027m not sure I like making this a new case for this API that\u0027s not used in the others, since it\u0027d be a behavior change and inconsistent with how paging works for servers and flavors.","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"c867049f821c464b584a51cc2a67966064a6e6ad","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* **marker**: The last key pair NAME of the previous page. Displays list of key"},{"line_number":46,"context_line":"  pairs after \"marker\"."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* **limit**: Maximum number of key pairs to display. If limit \u003d\u003d -1,"},{"line_number":49,"context_line":"  all key pairs will be displayed. If limit is bigger than `osapi_max_limit`"},{"line_number":50,"context_line":"  option of Nova API, limit `osapi_max_limit` will be used instead."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_a7ac55ee","line":48,"in_reply_to":"ba8a016a_0762dad8","updated":"2015-11-24 14:39:24.000000000","message":"Ok, replaced with None","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1cb95ac57ca6975025783fa782ac5a29d86f4dc3","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The proposal would add API microversion for getting several key pairs using"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8a016a_47dd426f","line":63,"updated":"2015-11-21 22:47:59.000000000","message":"Should have the json schema validation change identified in here.","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"c867049f821c464b584a51cc2a67966064a6e6ad","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The proposal would add API microversion for getting several key pairs using"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_070521c1","line":63,"in_reply_to":"ba8a016a_47dd426f","updated":"2015-11-24 14:39:24.000000000","message":"Are you sure that GET requests could be validated by the json schema validation. We can do it by validating parameters in code but does it make sense?","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"12708d2b600b4a9e7ee2af74bdfa66abbfa6f95f","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The proposal would add API microversion for getting several key pairs using"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8a016a_c7cff2b1","line":63,"in_reply_to":"ba8a016a_47dd426f","updated":"2015-11-21 22:49:41.000000000","message":"You need to also note that the API can return a 404 when listing keypairs if the marker is not found.","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"c867049f821c464b584a51cc2a67966064a6e6ad","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"REST API impact"},{"line_number":64,"context_line":"---------------"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"The proposal would add API microversion for getting several key pairs using"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_87d111fe","line":63,"in_reply_to":"ba8a016a_c7cff2b1","updated":"2015-11-24 14:39:24.000000000","message":"Yes, added","commit_id":"af4af72d69dbcf4a0a3cbd4b8e1ff15c15b60647"}],"specs/newton/approved/keypairs-pagination.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c75929c46bca8cd002d31b596a5c7ce4a7ee04e4","unresolved":false,"context_lines":[{"line_number":38,"context_line":"general pagination mechanism with the help of `limit`, `marker`, `sort_key`,"},{"line_number":39,"context_line":"`sort_dir` optional parameters to GET /os-keypairs request."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* **sort_key**: Key used to determine sort order"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"* **sort_dir**: Direction for the associated sort key (\"asc\" or \"desc\")"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_5d512261","line":41,"updated":"2016-04-29 14:03:50.000000000","message":"Lets be more explicit about whats allowed here?","commit_id":"cc725d167517ef888cfbf9cedc375ac8c2e171a7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2157c6fe6222bff0fdfa1cec47326498cf7b5b94","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Generic request format ::"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    GET /os-keypairs?limit\u003d{limit}\u0026marker\u003d{kp_name}\u0026sort_key\u003d{sort_key}\u0026sort_dir\u003d{asc|desc}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"1) Get all key pairs ::"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa0719c6_2f52b2dd","line":73,"updated":"2016-03-22 18:39:34.000000000","message":"As discussed elsewhere this doesn\u0027t really align with the existing or proposed specifications for pagination and sorting from the api-wg. For example, http://specs.openstack.org/openstack/api-wg/guidelines/pagination_filter_sort.html#sorting would says sort should be done as `sort\u003dkey1:asc,key2:desc`\n\nHowever if there is already a precedent elsewhere in Nova, then it would be odd to change it for this thing.\n\nlimit and marker are aligned with the proposed pagination guidline: https://review.openstack.org/#/c/190743/21/guidelines/pagination_filter_sort.rst","commit_id":"cc725d167517ef888cfbf9cedc375ac8c2e171a7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0474410e45b07f1e5163c602949c8ca2a88457ae","unresolved":false,"context_lines":[{"line_number":27,"context_line":"received from Nova side. The change can be useful for showing key pairs in"},{"line_number":28,"context_line":"Horizon on several pages instead of one general list."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Add an API microversion that allows to get several key pairs using"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_1bdca311","line":30,"updated":"2016-05-18 14:27:17.000000000","message":"Let\u0027s put a note in here somewhere about not being able to list all keypairs for all tenants as an admin, which is something we discussed at the summit, so it\u0027s explicit, i.e.:\n\n  ..note:: This does not add support for an admin user to\n    list all tenants keypairs.","commit_id":"ed083f063770db0660a0d8901bfe99210d1c3929"}]}
