)]}'
{"doc/source/stable_apis.rst":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b5d292d4462310c53a872f4d0cb17fcd9478064e","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Tempest contains a number of APIs that are useful for plugins, but since"},{"line_number":7,"context_line":"they have depend on Tempest configuration, they cannot be included in the"},{"line_number":8,"context_line":"tempest.lib namespace. "},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"So that plugin can safely use these APIs, they have been marked as stable"},{"line_number":11,"context_line":"for plugins. The Tempest team won\u0027t introduce any backward incompatible"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_68d7c224","line":8,"range":{"start_line":8,"start_character":22,"end_line":8,"end_character":23},"updated":"2017-11-08 05:29:34.000000000","message":"a trailing space","commit_id":"985a963ea988e2b24a45e019bcb222046fb920b5"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ee0099a9e7c452c489be2f49da640ddfd78a82cc","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Tempest contains a number of APIs that are useful for plugins, but since"},{"line_number":7,"context_line":"they have depend on Tempest configuration, they cannot be included in the"},{"line_number":8,"context_line":"tempest.lib namespace. "},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"So that plugin can safely use these APIs, they have been marked as stable"},{"line_number":11,"context_line":"for plugins. The Tempest team won\u0027t introduce any backward incompatible"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_437bc779","line":8,"range":{"start_line":8,"start_character":22,"end_line":8,"end_character":23},"in_reply_to":"3f4b6375_68d7c224","updated":"2017-11-08 06:38:59.000000000","message":"Done","commit_id":"985a963ea988e2b24a45e019bcb222046fb920b5"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b5d292d4462310c53a872f4d0cb17fcd9478064e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"   stable_apis/credentials_factory"},{"line_number":23,"context_line":"   stable_apis/clients"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"drwxr-xr-x  26 af  staff  884  5 Nov 23:54 .."},{"line_number":26,"context_line":"-rw-r--r--   1 af  staff  642  5 Nov 23:28 clients.rst"},{"line_number":27,"context_line":"-rw-r--r--   1 af  staff  332  5 Nov 23:34 config.py"},{"line_number":28,"context_line":"-rw-r--r--   1 af  staff  737  5 Nov 23:32 credentials_factory.rst"},{"line_number":29,"context_line":"-rw-r--r--   1 af  staff  331  5 Nov 23:20 test.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_08e84edf","line":29,"range":{"start_line":25,"start_character":0,"end_line":29,"end_character":51},"updated":"2017-11-08 05:29:34.000000000","message":"what does this mean?","commit_id":"985a963ea988e2b24a45e019bcb222046fb920b5"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ee0099a9e7c452c489be2f49da640ddfd78a82cc","unresolved":false,"context_lines":[{"line_number":22,"context_line":"   stable_apis/credentials_factory"},{"line_number":23,"context_line":"   stable_apis/clients"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"drwxr-xr-x  26 af  staff  884  5 Nov 23:54 .."},{"line_number":26,"context_line":"-rw-r--r--   1 af  staff  642  5 Nov 23:28 clients.rst"},{"line_number":27,"context_line":"-rw-r--r--   1 af  staff  332  5 Nov 23:34 config.py"},{"line_number":28,"context_line":"-rw-r--r--   1 af  staff  737  5 Nov 23:32 credentials_factory.rst"},{"line_number":29,"context_line":"-rw-r--r--   1 af  staff  331  5 Nov 23:20 test.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f4b6375_03994fc2","line":29,"range":{"start_line":25,"start_character":0,"end_line":29,"end_character":51},"in_reply_to":"3f4b6375_08e84edf","updated":"2017-11-08 06:38:59.000000000","message":"Done","commit_id":"985a963ea988e2b24a45e019bcb222046fb920b5"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":4,"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\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"Tempest contains a number of APIs that are useful for plugins, but since"},{"line_number":7,"context_line":"they have depend on Tempest configuration, they cannot be included in the"},{"line_number":8,"context_line":"tempest.lib namespace."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"So that plugin can safely use these APIs, they have been marked as stable"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_ead94d22","line":7,"range":{"start_line":7,"start_character":5,"end_line":7,"end_character":16},"updated":"2017-11-10 11:02:05.000000000","message":"depend","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"they have depend on Tempest configuration, they cannot be included in the"},{"line_number":8,"context_line":"tempest.lib namespace."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"So that plugin can safely use these APIs, they have been marked as stable"},{"line_number":11,"context_line":"for plugins. The Tempest team won\u0027t introduce any backward incompatible"},{"line_number":12,"context_line":"change to the APIs without first going through a deprecation period."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_cad691f2","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":14},"updated":"2017-11-10 11:02:05.000000000","message":"plugins","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"tempest.lib namespace."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"So that plugin can safely use these APIs, they have been marked as stable"},{"line_number":11,"context_line":"for plugins. The Tempest team won\u0027t introduce any backward incompatible"},{"line_number":12,"context_line":"change to the APIs without first going through a deprecation period."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Current Library APIs"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_6aff9d67","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":11},"updated":"2017-11-10 11:02:05.000000000","message":"\"for plugins\" can be removed as it\u0027s inferred by 1st clause.","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"}],"doc/source/stable_apis/clients.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"Tempest clients.py Module"},{"line_number":4,"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":5,"context_line":""},{"line_number":6,"context_line":"The `clients.py` module defines `Manager` which is an implementation of the"},{"line_number":7,"context_line":"`ServiceClients` class from `tempest.lib.services.clients.py`."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Compared to the original class it adds a number of attributes to instances,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_4a04e17b","line":6,"updated":"2017-11-10 11:02:05.000000000","message":"Don\u0027t these single ticks need to be double ticks?","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"}],"doc/source/stable_apis/credentials_factory.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"Tempest credentials_factory.py module"},{"line_number":4,"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\u003d\u003d\u003d\u003d"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"The `credentials_factory.py` module defines a various helper methods that"},{"line_number":7,"context_line":"are used by Tempest base class to deal with credentials and client managers."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These modules wrap around classes for credentials management in the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_caefb1ae","line":6,"range":{"start_line":6,"start_character":44,"end_line":6,"end_character":45},"updated":"2017-11-10 11:02:05.000000000","message":"s/a//","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"These modules wrap around classes for credentials management in the"},{"line_number":10,"context_line":"tempest.lib namespaces, to which they add the input from Tempest configuration"},{"line_number":11,"context_line":"file. This module cannot be part of tempest.lib itself because of its"},{"line_number":12,"context_line":"dependency to configuration; however it contains functionality that is very"},{"line_number":13,"context_line":"useful for Tempest plugins and so it\u0027s stable API for them."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_aa2a35e4","line":12,"range":{"start_line":12,"start_character":11,"end_line":12,"end_character":13},"updated":"2017-11-10 11:02:05.000000000","message":"s/to/on","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"46ca2b9865096c37d6b709a019acf8d40726163b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"tempest.lib namespaces, to which they add the input from Tempest configuration"},{"line_number":11,"context_line":"file. This module cannot be part of tempest.lib itself because of its"},{"line_number":12,"context_line":"dependency to configuration; however it contains functionality that is very"},{"line_number":13,"context_line":"useful for Tempest plugins and so it\u0027s stable API for them."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"-------------------"},{"line_number":16,"context_line":"Credentials Factory"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1f485f77_4a39813f","line":13,"range":{"start_line":13,"start_character":39,"end_line":13,"end_character":45},"updated":"2017-11-10 11:02:05.000000000","message":"a stable","commit_id":"82af0432c4e163c0e194a50b27c1200130955249"}]}
