)]}'
{"doc/source/devref/api_change_tutorial.rst":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9e058ab4e69bd72e00218728d780c82110ad0595","unresolved":false,"context_lines":[{"line_number":22,"context_line":"-------------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In order to follow this tutorial, it is assumed that you have read our"},{"line_number":25,"context_line":":doc:`devref/development.best_practice` and :doc:`architecture`_ documents."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposing a change"},{"line_number":28,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_34a7b350","line":25,"updated":"2016-11-22 10:32:35.000000000","message":"You changed the name of the file to development_best_practice but kept the old link","commit_id":"316eca1ffee80784e7430cb9d2d3da0a65746e73"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ddb114910c95df8bbe2e315894af4193f8cdbda4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"-------------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In order to follow this tutorial, it is assumed that you have read our"},{"line_number":25,"context_line":":doc:`devref/development.best_practice` and :doc:`architecture`_ documents."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposing a change"},{"line_number":28,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_0abc406b","line":25,"in_reply_to":"7a77a97e_34a7b350","updated":"2016-11-22 14:59:30.000000000","message":"good catch!","commit_id":"316eca1ffee80784e7430cb9d2d3da0a65746e73"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"cfb9cf593c82c887d4933eea63f81a7a84f3beb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5a74a57a_3e72687d","side":"PARENT","line":27,"range":{"start_line":27,"start_character":3,"end_line":27,"end_character":82},"updated":"2016-11-23 03:53:34.000000000","message":"I feel you cannot remove this, or else the link here and the link @78 at in page won\u0027t work.\n\npls try the it on this page:\nhttp://docs-draft.openstack.org/81/399781/8/check/gate-keystone-docs-ubuntu-xenial/31f8434//doc/build/html/devref/api_change_tutorial.html?highlight\u003dapi%20change%20tutorial#id1","commit_id":"deeb8df7cd08afd5800d1a4bc0cfdc7053d46682"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"928a25f6e595ce4f5503fd95dfc148e0745abb5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5a74a57a_81b95d31","side":"PARENT","line":27,"range":{"start_line":27,"start_character":3,"end_line":27,"end_character":82},"in_reply_to":"5a74a57a_3e72687d","updated":"2016-11-23 03:57:54.000000000","message":"oh i think it has to be ../architecture","commit_id":"deeb8df7cd08afd5800d1a4bc0cfdc7053d46682"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"cfb9cf593c82c887d4933eea63f81a7a84f3beb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5a74a57a_5ef644d8","side":"PARENT","line":78,"range":{"start_line":78,"start_character":18,"end_line":78,"end_character":33},"updated":"2016-11-23 03:53:34.000000000","message":"This need a valid link.","commit_id":"deeb8df7cd08afd5800d1a4bc0cfdc7053d46682"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"928a25f6e595ce4f5503fd95dfc148e0745abb5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5a74a57a_e1869164","side":"PARENT","line":78,"range":{"start_line":78,"start_character":18,"end_line":78,"end_character":33},"in_reply_to":"5a74a57a_5ef644d8","updated":"2016-11-23 03:57:54.000000000","message":"same as above","commit_id":"deeb8df7cd08afd5800d1a4bc0cfdc7053d46682"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"cfb9cf593c82c887d4933eea63f81a7a84f3beb6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"-------------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In order to follow this tutorial, it is assumed that you have read our"},{"line_number":25,"context_line":":doc:`devref/development_best_practices` and :doc:`architecture`_ documents."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposing a change"},{"line_number":28,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a74a57a_fe0e30e4","line":25,"range":{"start_line":25,"start_character":5,"end_line":25,"end_character":40},"updated":"2016-11-23 03:53:34.000000000","message":"The link doesn\u0027t look like work well.","commit_id":"1ff360fd1722383def7001efabc23ab50dd5f0c0"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"928a25f6e595ce4f5503fd95dfc148e0745abb5c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"-------------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"In order to follow this tutorial, it is assumed that you have read our"},{"line_number":25,"context_line":":doc:`devref/development_best_practices` and :doc:`architecture`_ documents."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Proposing a change"},{"line_number":28,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a74a57a_416825bb","line":25,"range":{"start_line":25,"start_character":5,"end_line":25,"end_character":40},"in_reply_to":"5a74a57a_fe0e30e4","updated":"2016-11-23 03:57:54.000000000","message":"oops, missing the _ at the end","commit_id":"1ff360fd1722383def7001efabc23ab50dd5f0c0"}],"doc/source/devref/development.best_practice.rst":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1b9fa804e17e2396714ab8ea6e569d0c5edcef64","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a77a97e_4c56bf06","side":"PARENT","line":1,"updated":"2016-11-18 22:39:14.000000000","message":"This is an interesting name - why the period in between development and best_practice?\n\nDoes development_best_practice.rst not work?","commit_id":"b6871c16a6e61c8a3d95f3383a56531e748b725e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1bcdc4d6e5fa02410fee8cece5fc0ee3d02b4859","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7a77a97e_efee9a20","side":"PARENT","line":1,"in_reply_to":"7a77a97e_4c56bf06","updated":"2016-11-19 01:54:54.000000000","message":"I can switch it around.\n\nwe had development.environment, i figured we could use another with the naming scheme :)","commit_id":"b6871c16a6e61c8a3d95f3383a56531e748b725e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1b9fa804e17e2396714ab8ea6e569d0c5edcef64","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Initializing Keystone"},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Before using keystone, it is necessary to initially create the databases needed,"},{"line_number":61,"context_line":"perform the following:"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_ec45cb42","line":60,"updated":"2016-11-18 22:39:14.000000000","message":"nit s/initially//\n\nAlso, this step doesn\u0027t actually create the database, it just makes sure the schema is up to date.","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1bcdc4d6e5fa02410fee8cece5fc0ee3d02b4859","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Initializing Keystone"},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Before using keystone, it is necessary to initially create the databases needed,"},{"line_number":61,"context_line":"perform the following:"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_2ff5f2eb","line":60,"in_reply_to":"7a77a97e_ec45cb42","updated":"2016-11-19 01:54:54.000000000","message":"Done","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1b9fa804e17e2396714ab8ea6e569d0c5edcef64","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Interacting with Keystone"},{"line_number":110,"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"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"You can also interact with Keystone through its REST API. There is a Python"},{"line_number":113,"context_line":"Keystone client library `python-keystoneclient`_ which interacts exclusively"},{"line_number":114,"context_line":"through the REST API, and a command-line interface `python-openstackclient`_"},{"line_number":115,"context_line":"command-line interface."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_0cecc728","line":112,"updated":"2016-11-18 22:39:14.000000000","message":"nit: keystone","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1bcdc4d6e5fa02410fee8cece5fc0ee3d02b4859","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Interacting with Keystone"},{"line_number":110,"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"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"You can also interact with Keystone through its REST API. There is a Python"},{"line_number":113,"context_line":"Keystone client library `python-keystoneclient`_ which interacts exclusively"},{"line_number":114,"context_line":"through the REST API, and a command-line interface `python-openstackclient`_"},{"line_number":115,"context_line":"command-line interface."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_6fc28a86","line":112,"in_reply_to":"7a77a97e_0cecc728","updated":"2016-11-19 01:54:54.000000000","message":"Done","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1b9fa804e17e2396714ab8ea6e569d0c5edcef64","unresolved":false,"context_lines":[{"line_number":501,"context_line":""},{"line_number":502,"context_line":"For examples, feel free to run ``doctor`` locally using ``keystone-manage`` and"},{"line_number":503,"context_line":"inspect the existing symptoms. For help on developing specific symptoms for"},{"line_number":504,"context_line":"``doctor``."},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"Database Migrations"},{"line_number":507,"context_line":"\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":1,"id":"7a77a97e_acf753d1","line":504,"updated":"2016-11-18 22:39:14.000000000","message":"This last sentence no longer makes sense. We could probably just omit it.","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1bcdc4d6e5fa02410fee8cece5fc0ee3d02b4859","unresolved":false,"context_lines":[{"line_number":501,"context_line":""},{"line_number":502,"context_line":"For examples, feel free to run ``doctor`` locally using ``keystone-manage`` and"},{"line_number":503,"context_line":"inspect the existing symptoms. For help on developing specific symptoms for"},{"line_number":504,"context_line":"``doctor``."},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"Database Migrations"},{"line_number":507,"context_line":"\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":1,"id":"7a77a97e_6f49aa30","line":504,"in_reply_to":"7a77a97e_acf753d1","updated":"2016-11-19 01:54:54.000000000","message":"Done","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1b9fa804e17e2396714ab8ea6e569d0c5edcef64","unresolved":false,"context_lines":[{"line_number":552,"context_line":"    Only additive schema changes are allowed, such as new columns, tables,"},{"line_number":553,"context_line":"    indices, and triggers."},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    Data insertion, alteration, and removal is not allowed."},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    Triggers must be created to keep data in sync between the previous release"},{"line_number":558,"context_line":"    and the next release. Data written by the previous release must be readable"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_acccb389","line":555,"updated":"2016-11-18 22:39:14.000000000","message":"nit s/alteration/modification/","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1bcdc4d6e5fa02410fee8cece5fc0ee3d02b4859","unresolved":false,"context_lines":[{"line_number":552,"context_line":"    Only additive schema changes are allowed, such as new columns, tables,"},{"line_number":553,"context_line":"    indices, and triggers."},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    Data insertion, alteration, and removal is not allowed."},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    Triggers must be created to keep data in sync between the previous release"},{"line_number":558,"context_line":"    and the next release. Data written by the previous release must be readable"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_8f5446ca","line":555,"in_reply_to":"7a77a97e_acccb389","updated":"2016-11-19 01:54:54.000000000","message":"Done, but this was just moved around.","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1b9fa804e17e2396714ab8ea6e569d0c5edcef64","unresolved":false,"context_lines":[{"line_number":571,"context_line":"    Only contractive schema changes are allowed, such as dropping or altering"},{"line_number":572,"context_line":"    columns, tables, indices, and triggers."},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"    Data insertion, alteration, and removal is not allowed."},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    Triggers created during the expand phase must be dropped."},{"line_number":577,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_6c845b0a","line":574,"updated":"2016-11-18 22:39:14.000000000","message":"nit s/alteration/modification/","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1bcdc4d6e5fa02410fee8cece5fc0ee3d02b4859","unresolved":false,"context_lines":[{"line_number":571,"context_line":"    Only contractive schema changes are allowed, such as dropping or altering"},{"line_number":572,"context_line":"    columns, tables, indices, and triggers."},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"    Data insertion, alteration, and removal is not allowed."},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"    Triggers created during the expand phase must be dropped."},{"line_number":577,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_af4f4232","line":574,"in_reply_to":"7a77a97e_6c845b0a","updated":"2016-11-19 01:54:54.000000000","message":"Done, but this was just moved around.","commit_id":"f0fff96cbce65cd722a6d527019158a572412247"}],"doc/source/devref/http-api.rst":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"96abebe6699525df1402e86db9f892482d255b30","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    under the License."},{"line_number":13,"context_line":""},{"line_number":14,"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"},{"line_number":15,"context_line":"Identity API v2 and v3 History"},{"line_number":16,"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"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Specifications"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a77a97e_042aa9e7","line":15,"updated":"2016-11-21 16:57:49.000000000","message":"nit: use v2.0 to be consistent with the heading on line 50, or use v2 on line 50.","commit_id":"07408c8c4f6b90b67003016ca7572d64d5094f7c"}],"doc/source/devref/services.rst":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"cfb9cf593c82c887d4933eea63f81a7a84f3beb6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":11,"context_line":"    License for the specific language governing permissions and limitations"},{"line_number":12,"context_line":"    under the License."},{"line_number":13,"context_line":""},{"line_number":14,"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"},{"line_number":15,"context_line":"Keystone for other services"},{"line_number":16,"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"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a74a57a_3ee7c813","line":13,"updated":"2016-11-23 03:53:34.000000000","message":"Nice catch!","commit_id":"1ff360fd1722383def7001efabc23ab50dd5f0c0"}]}
