)]}'
{"doc/source/http-api.rst":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ec74d16233da948b6e7a82614739c508c2eb0330","unresolved":false,"context_lines":[{"line_number":41,"context_line":"early public cloud products."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"With the advent of OpenStack, Keystone served to provide a superset of the"},{"line_number":44,"context_line":"authentication \u0026 multi-tenant authorization model already implemented by"},{"line_number":45,"context_line":"Rackspace\u0027s public cloud, Nova, and Swift, and thus introduced v2.0."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ae8d1ca_6c0d5990","line":44,"updated":"2014-05-28 21:53:57.000000000","message":"personal preference, replace \u0026 with and.","commit_id":"3502864cd2e121054e8332dbe48a064124190a32"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"8ab173cadb605accb85cac3a31587c3a71ce9883","unresolved":false,"context_lines":[{"line_number":41,"context_line":"early public cloud products."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"With the advent of OpenStack, Keystone served to provide a superset of the"},{"line_number":44,"context_line":"authentication \u0026 multi-tenant authorization model already implemented by"},{"line_number":45,"context_line":"Rackspace\u0027s public cloud, Nova, and Swift, and thus introduced v2.0."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ae8d1ca_33f553ee","line":44,"in_reply_to":"3ae8d1ca_6c0d5990","updated":"2014-05-29 14:52:50.000000000","message":"there were like 3 \"ands\" in this sentence, but that\u0027s just my terrible writing. i\u0027ll break up the sentence and replace this one with an \"and\"","commit_id":"3502864cd2e121054e8332dbe48a064124190a32"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ec74d16233da948b6e7a82614739c508c2eb0330","unresolved":false,"context_lines":[{"line_number":176,"context_line":"Note a few key differences when compared to the v2 API:"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"1. The authentication method (``password``) is explicitly identified."},{"line_number":179,"context_line":"1. Both the user name (``my-username``) and project name (``project-x``) are"},{"line_number":180,"context_line":"   namespaced by an owning domain (where ``id``\u003d``default``). The \"default\""},{"line_number":181,"context_line":"   domain exists by default in keystone, and automatically owns the namespace"},{"line_number":182,"context_line":"   exposed by Identity API v2.0. Alternatively, you may reference users and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ae8d1ca_6cb1d9e0","line":179,"updated":"2014-05-28 21:53:57.000000000","message":"you have a funny number system going on here","commit_id":"3502864cd2e121054e8332dbe48a064124190a32"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"8ab173cadb605accb85cac3a31587c3a71ce9883","unresolved":false,"context_lines":[{"line_number":176,"context_line":"Note a few key differences when compared to the v2 API:"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"1. The authentication method (``password``) is explicitly identified."},{"line_number":179,"context_line":"1. Both the user name (``my-username``) and project name (``project-x``) are"},{"line_number":180,"context_line":"   namespaced by an owning domain (where ``id``\u003d``default``). The \"default\""},{"line_number":181,"context_line":"   domain exists by default in keystone, and automatically owns the namespace"},{"line_number":182,"context_line":"   exposed by Identity API v2.0. Alternatively, you may reference users and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ae8d1ca_7397db90","line":179,"in_reply_to":"3ae8d1ca_6cb1d9e0","updated":"2014-05-29 14:52:50.000000000","message":"always using #1 makes maintenance easier (you can resort things, etc, without renumbering the whole list), and it\u0027s always rendered out with the correct numbering sequence (1 to 3, here).\n\nthat said, taking a second look at this, there\u0027s no reason it should be a numbered list instead of just a bulleted list (the numbering isn\u0027t useful).","commit_id":"3502864cd2e121054e8332dbe48a064124190a32"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"    Copyright 2011-2012 OpenStack Foundation"},{"line_number":3,"context_line":"    All Rights Reserved."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_3328f333","line":2,"updated":"2014-05-29 15:16:30.000000000","message":"Is this right?","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"aac7c2d4a9928090c4d406b07e6c840d54de0584","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"    Copyright 2011-2012 OpenStack Foundation"},{"line_number":3,"context_line":"    All Rights Reserved."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"    Licensed under the Apache License, Version 2.0 (the \"License\"); you may not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_de1c2f7a","line":2,"in_reply_to":"3ae8d1ca_3328f333","updated":"2014-05-29 18:41:53.000000000","message":"no","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"},{"line_number":49,"context_line":"\"domains\" as a higher-level container for more flexible identity management,"},{"line_number":50,"context_line":"and fixed a security issue in the v2 API (bearer tokens appearing in URLs)."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Should I use v2 or v3?"},{"line_number":53,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_73cb5b53","line":50,"updated":"2014-05-29 15:16:30.000000000","message":"v2.0?","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\"domains\" as a higher-level container for more flexible identity management,"},{"line_number":50,"context_line":"and fixed a security issue in the v2 API (bearer tokens appearing in URLs)."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Should I use v2 or v3?"},{"line_number":53,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Identity API v3."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_d3c0af2c","line":52,"updated":"2014-05-29 15:16:30.000000000","message":"v2.0?","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Identity API v3 is a superset of all the functionality available in v2 and"},{"line_number":58,"context_line":"several of it\u0027s extensions, and provides a much more consistent developer"},{"line_number":59,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":60,"context_line":"reducing (or dropping) support for, Identity API v2."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"How do I migrate from v2 to v3?"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_13305755","line":60,"updated":"2014-05-29 15:16:30.000000000","message":"v2.0?","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":59,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":60,"context_line":"reducing (or dropping) support for, Identity API v2."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"How do I migrate from v2 to v3?"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"I am a deployer"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_933b8737","line":62,"updated":"2014-05-29 15:16:30.000000000","message":"v2.0?","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":121,"context_line":"You\u0027ll likely need to heavily reference our `API documentation`_ to port your"},{"line_number":122,"context_line":"application to Identity API v3."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The most common operation would be password-based authentication including a"},{"line_number":127,"context_line":"tenant name to specify an authorization scope. In Identity API v2, this would"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_33eab375","line":124,"updated":"2014-05-29 15:16:30.000000000","message":"Should we link to the published docs instead of github?","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"aac7c2d4a9928090c4d406b07e6c840d54de0584","unresolved":false,"context_lines":[{"line_number":121,"context_line":"You\u0027ll likely need to heavily reference our `API documentation`_ to port your"},{"line_number":122,"context_line":"application to Identity API v3."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"The most common operation would be password-based authentication including a"},{"line_number":127,"context_line":"tenant name to specify an authorization scope. In Identity API v2, this would"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_b9277db5","line":124,"in_reply_to":"3ae8d1ca_33eab375","updated":"2014-05-29 18:41:53.000000000","message":"these aren\u0027t published anywhere else, that i know of (?)","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"63ce62515d1ee1242392bf0e3519a75e6c66dbd7","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"- The authentication method (``password``) is explicitly identified."},{"line_number":180,"context_line":"- Both the user name (``my-username``) and project name (``project-x``) are"},{"line_number":181,"context_line":"  namespaced by an owning domain (where ``id``\u003d``default``). The \"default\""},{"line_number":182,"context_line":"  domain exists by default in keystone, and automatically owns the namespace"},{"line_number":183,"context_line":"  exposed by Identity API v2.0. Alternatively, you may reference users and"},{"line_number":184,"context_line":"  projects that exist outside the namespace of the default domain, which are"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_4e46b824","line":181,"updated":"2014-05-29 15:16:30.000000000","message":"``id``\u003d``default``\n\nrenders as:\n\nid``\u003d``default\n\nwhich look weird.","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"aac7c2d4a9928090c4d406b07e6c840d54de0584","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"- The authentication method (``password``) is explicitly identified."},{"line_number":180,"context_line":"- Both the user name (``my-username``) and project name (``project-x``) are"},{"line_number":181,"context_line":"  namespaced by an owning domain (where ``id``\u003d``default``). The \"default\""},{"line_number":182,"context_line":"  domain exists by default in keystone, and automatically owns the namespace"},{"line_number":183,"context_line":"  exposed by Identity API v2.0. Alternatively, you may reference users and"},{"line_number":184,"context_line":"  projects that exist outside the namespace of the default domain, which are"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_393b6dd2","line":181,"in_reply_to":"3ae8d1ca_4e46b824","updated":"2014-05-29 18:41:53.000000000","message":"Done","commit_id":"1faa00430e36411df4fdd0141d39292aa6e359aa"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"468b71fcd013a713c7145ecdf715d80204094122","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. code-block:: ini"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    [app:app_v3]"},{"line_number":83,"context_line":"    pipeline \u003d ... service_v3"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"   Replace \"...\" with whatever middleware you\u0027d like to run in front of the API"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_1250755d","line":82,"updated":"2014-06-02 05:18:00.000000000","message":"Not sure why, but the code block above has this syntax in green and blue. But this just comes out in black. Just thought I\u0027d mention it.","commit_id":"33be91e24d282c5a56b90a729504d884e68e5a69"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"677f8612c8d4ad6afa8ff9250fed6136d7b0036a","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. code-block:: ini"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    [app:app_v3]"},{"line_number":83,"context_line":"    pipeline \u003d ... service_v3"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"   Replace \"...\" with whatever middleware you\u0027d like to run in front of the API"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_f733bb5f","line":82,"in_reply_to":"1ae5cdf2_1250755d","updated":"2014-06-03 16:10:36.000000000","message":"i\u0027m guessing it\u0027s because the paragraph below is being parsed as part of the ini block, and breaking the parser. unindenting should address this","commit_id":"33be91e24d282c5a56b90a729504d884e68e5a69"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"468b71fcd013a713c7145ecdf715d80204094122","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    [app:app_v3]"},{"line_number":83,"context_line":"    pipeline \u003d ... service_v3"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"   Replace \"...\" with whatever middleware you\u0027d like to run in front of the API"},{"line_number":86,"context_line":"   service. Our `latest sample configuration`_ documents our tested"},{"line_number":87,"context_line":"   recommendations, but your requirements may vary."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_d25e0d76","line":85,"updated":"2014-06-02 05:18:00.000000000","message":"This part it\u0027s rendering in the code block, is that what your intention is? If not, decrease indent.","commit_id":"33be91e24d282c5a56b90a729504d884e68e5a69"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"677f8612c8d4ad6afa8ff9250fed6136d7b0036a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    [app:app_v3]"},{"line_number":83,"context_line":"    pipeline \u003d ... service_v3"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"   Replace \"...\" with whatever middleware you\u0027d like to run in front of the API"},{"line_number":86,"context_line":"   service. Our `latest sample configuration`_ documents our tested"},{"line_number":87,"context_line":"   recommendations, but your requirements may vary."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_77d96b21","line":85,"in_reply_to":"1ae5cdf2_d25e0d76","updated":"2014-06-03 16:10:36.000000000","message":"nope! the indentation is an artifact of when i had this as part of a numbered list :(","commit_id":"33be91e24d282c5a56b90a729504d884e68e5a69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0c3d1dd82b11024041bdeb77ecffdb3fcda37f63","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Identity API v3 is a superset of all the functionality available in v2.0 and"},{"line_number":55,"context_line":"several of it\u0027s extensions, and provides a much more consistent developer"},{"line_number":56,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":57,"context_line":"reducing (or dropping) support for, Identity API v2.0."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"How do I migrate from v2.0 to v3?"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_57daafe8","line":57,"updated":"2014-06-03 16:23:13.000000000","message":"A support matrix might be nice here, or if we could reference one that would be cool.","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9e7d4aa348acffdab13076da655a922fb1067e6f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Identity API v3 is a superset of all the functionality available in v2.0 and"},{"line_number":55,"context_line":"several of it\u0027s extensions, and provides a much more consistent developer"},{"line_number":56,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":57,"context_line":"reducing (or dropping) support for, Identity API v2.0."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"How do I migrate from v2.0 to v3?"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_ca89b676","line":57,"in_reply_to":"1ae5cdf2_57daafe8","updated":"2014-06-03 16:28:38.000000000","message":"a support matrix of what exactly?\n\n- stable/havana v2: check\n- stable/havana v3: check\n- stable/icehouse v2: check\n- stable/icehouse v3: check\n- master v2: check\n- master v3: check\n\nit\u0027s check marks all the way down :)","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"aa8f2612474c99f0cee5866e3bd77d30f14cdaa0","unresolved":false,"context_lines":[{"line_number":54,"context_line":"Identity API v3 is a superset of all the functionality available in v2.0 and"},{"line_number":55,"context_line":"several of it\u0027s extensions, and provides a much more consistent developer"},{"line_number":56,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":57,"context_line":"reducing (or dropping) support for, Identity API v2.0."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"How do I migrate from v2.0 to v3?"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_28e142fe","line":57,"in_reply_to":"1ae5cdf2_ca89b676","updated":"2014-06-03 18:09:21.000000000","message":"I should have been more clear, I was thinking of features supported by each kind of thing, but that is covered in the api specs.","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0c3d1dd82b11024041bdeb77ecffdb3fcda37f63","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"You\u0027ll likely need to heavily reference our `API documentation`_ to port your"},{"line_number":119,"context_line":"application to Identity API v3."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The most common operation would be password-based authentication including a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_17bae76d","line":120,"updated":"2014-06-03 16:23:13.000000000","message":"If we have (or get in the future) a good number of people leveraging Keystone with non-Python client then a standards page might be helpful. Or do\u0027s and don\u0027ts?","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"aa8f2612474c99f0cee5866e3bd77d30f14cdaa0","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"You\u0027ll likely need to heavily reference our `API documentation`_ to port your"},{"line_number":119,"context_line":"application to Identity API v3."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The most common operation would be password-based authentication including a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_e8891a76","line":120,"in_reply_to":"1ae5cdf2_0aa9dede","updated":"2014-06-03 18:09:21.000000000","message":"I guess I was thinking of an example, but maybe that would be to broad to address.","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9e7d4aa348acffdab13076da655a922fb1067e6f","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"You\u0027ll likely need to heavily reference our `API documentation`_ to port your"},{"line_number":119,"context_line":"application to Identity API v3."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The most common operation would be password-based authentication including a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_0aa9dede","line":120,"in_reply_to":"1ae5cdf2_17bae76d","updated":"2014-06-03 16:28:38.000000000","message":"i\u0027d generally put that burden on the openstacksdk efforts, but i\u0027m not sure what you\u0027re asking for regarding do\u0027s and don\u0027ts? best practices of... something?","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0c3d1dd82b11024041bdeb77ecffdb3fcda37f63","unresolved":false,"context_lines":[{"line_number":176,"context_line":"- The authentication method (``password``) is explicitly identified."},{"line_number":177,"context_line":"- Both the user name (``my-username``) and project name (``project-x``) are"},{"line_number":178,"context_line":"  namespaced by an owning domain (where ``id`` \u003d ``default``). The \"default\""},{"line_number":179,"context_line":"  domain exists by default in keystone, and automatically owns the namespace"},{"line_number":180,"context_line":"  exposed by Identity API v2.0. Alternatively, you may reference users and"},{"line_number":181,"context_line":"  projects that exist outside the namespace of the default domain, which are"},{"line_number":182,"context_line":"  thus inaccessible to the v2.0 API."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_b79773eb","line":179,"updated":"2014-06-03 16:23:13.000000000","message":"Keystone*","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"9e7d4aa348acffdab13076da655a922fb1067e6f","unresolved":false,"context_lines":[{"line_number":176,"context_line":"- The authentication method (``password``) is explicitly identified."},{"line_number":177,"context_line":"- Both the user name (``my-username``) and project name (``project-x``) are"},{"line_number":178,"context_line":"  namespaced by an owning domain (where ``id`` \u003d ``default``). The \"default\""},{"line_number":179,"context_line":"  domain exists by default in keystone, and automatically owns the namespace"},{"line_number":180,"context_line":"  exposed by Identity API v2.0. Alternatively, you may reference users and"},{"line_number":181,"context_line":"  projects that exist outside the namespace of the default domain, which are"},{"line_number":182,"context_line":"  thus inaccessible to the v2.0 API."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ae5cdf2_aa28ea86","line":179,"in_reply_to":"1ae5cdf2_b79773eb","updated":"2014-06-03 16:28:38.000000000","message":"Done","commit_id":"3f45fc451404e56877f6cbebbcaccdbff750ab45"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"efc131146c9e0b2e6a8a3d5a416bb93886bc0103","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Rackspace\u0027s public cloud, Nova, and Swift. Thus, Identity API v2.0 was"},{"line_number":43,"context_line":"introduced."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"},{"line_number":46,"context_line":"\"domains\" as a higher-level container for more flexible identity management,"},{"line_number":47,"context_line":"and fixed a security issue in the v2.0 API (bearer tokens appearing in URLs)."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_be62e83b","line":45,"updated":"2014-06-03 20:25:23.000000000","message":"This looks like these are the only 2 things introduced, but there\u0027s more than that (groups for example). How about\n\n Identity API v3 provides several features not present in the v2.0 API, for example \n v3 provided namespacing ...","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"10d2aed5788673f6e512b43fd932d2bf27c7a3fe","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Rackspace\u0027s public cloud, Nova, and Swift. Thus, Identity API v2.0 was"},{"line_number":43,"context_line":"introduced."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"},{"line_number":46,"context_line":"\"domains\" as a higher-level container for more flexible identity management,"},{"line_number":47,"context_line":"and fixed a security issue in the v2.0 API (bearer tokens appearing in URLs)."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_4a53bde1","line":45,"in_reply_to":"1ae5cdf2_be62e83b","updated":"2014-06-04 15:21:17.000000000","message":"Done","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"efc131146c9e0b2e6a8a3d5a416bb93886bc0103","unresolved":false,"context_lines":[{"line_number":43,"context_line":"introduced."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"},{"line_number":46,"context_line":"\"domains\" as a higher-level container for more flexible identity management,"},{"line_number":47,"context_line":"and fixed a security issue in the v2.0 API (bearer tokens appearing in URLs)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Should I use v2.0 or v3?"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_9e49acb9","line":46,"updated":"2014-06-03 20:25:23.000000000","message":"remove the , because the following doesn\u0027t have a subject.","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"10d2aed5788673f6e512b43fd932d2bf27c7a3fe","unresolved":false,"context_lines":[{"line_number":43,"context_line":"introduced."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Identity API v3 provided namespacing for users and projects by introducing"},{"line_number":46,"context_line":"\"domains\" as a higher-level container for more flexible identity management,"},{"line_number":47,"context_line":"and fixed a security issue in the v2.0 API (bearer tokens appearing in URLs)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Should I use v2.0 or v3?"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_aa6521b6","line":46,"in_reply_to":"1ae5cdf2_9e49acb9","updated":"2014-06-04 15:21:17.000000000","message":"Ooh, I\u0027ve never heard this rule spelled out, but it works. Done.","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"efc131146c9e0b2e6a8a3d5a416bb93886bc0103","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Identity API v3."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Identity API v3 is a superset of all the functionality available in v2.0 and"},{"line_number":55,"context_line":"several of it\u0027s extensions, and provides a much more consistent developer"},{"line_number":56,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":57,"context_line":"reducing (or dropping) support for, Identity API v2.0."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_3e6fb82c","line":55,"updated":"2014-06-03 20:25:23.000000000","message":"change \"it\u0027s\" to \"its\"","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"10d2aed5788673f6e512b43fd932d2bf27c7a3fe","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Identity API v3."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Identity API v3 is a superset of all the functionality available in v2.0 and"},{"line_number":55,"context_line":"several of it\u0027s extensions, and provides a much more consistent developer"},{"line_number":56,"context_line":"experience to boot. We\u0027re also on the road to deprecating, and ultimately"},{"line_number":57,"context_line":"reducing (or dropping) support for, Identity API v2.0."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_ca0d0dea","line":55,"in_reply_to":"1ae5cdf2_3e6fb82c","updated":"2014-06-04 15:21:17.000000000","message":"Done","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"efc131146c9e0b2e6a8a3d5a416bb93886bc0103","unresolved":false,"context_lines":[{"line_number":121,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The most common operation would be password-based authentication including a"},{"line_number":124,"context_line":"tenant name to specify an authorization scope. In Identity API v2.0, this would"},{"line_number":125,"context_line":"be a request to ``POST /v2.0/tokens``:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":".. code-block:: javascript"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_1ebafc6d","line":124,"updated":"2014-06-03 20:25:23.000000000","message":"change \"tenant\" to \"project\"","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"10d2aed5788673f6e512b43fd932d2bf27c7a3fe","unresolved":false,"context_lines":[{"line_number":121,"context_line":".. _`API documentation`: https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3.md"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"The most common operation would be password-based authentication including a"},{"line_number":124,"context_line":"tenant name to specify an authorization scope. In Identity API v2.0, this would"},{"line_number":125,"context_line":"be a request to ``POST /v2.0/tokens``:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":".. code-block:: javascript"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_eab729f3","line":124,"in_reply_to":"1ae5cdf2_1ebafc6d","updated":"2014-06-04 15:21:17.000000000","message":"in the scope of a v2-specific discussion, i think this should be \"tenant\" - but i\u0027m more than happy to put \"project\" in parens to foster transition.\n\nthis is also worth mentioning in the v2 vs v3 thing at the bottom","commit_id":"7c9330bacb0561a328c18f3f6a7f603f69f98f44"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1acb67f4b07eec743c42c15d63b9029ad693f578","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    [app:app_v3]"},{"line_number":84,"context_line":"    pipeline \u003d ... service_v3"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Replace \"...\" with whatever middleware you\u0027d like to run in front of the API"},{"line_number":87,"context_line":"service. Our `latest sample configuration`_ documents our tested"},{"line_number":88,"context_line":"recommendations, but your requirements may vary."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1ae5cdf2_6a531939","line":86,"updated":"2014-06-04 15:29:23.000000000","message":"thanks for fixing this!","commit_id":"09f1757db58f9b99af0746ee6fcb4e5bc0a5dbe6"}]}
