)]}'
{"install-guide/source/conf.py":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"3b59998dd2fc5f81cea7180efef16636ab660139","unresolved":false,"context_lines":[{"line_number":74,"context_line":"#   extracted from git log."},{"line_number":75,"context_line":"#   bug_tag: Tag for categorizing the bug. Must be set manually."},{"line_number":76,"context_line":"# These variables are passed to the logabug code via html_context."},{"line_number":77,"context_line":"giturl \u003d u\u0027http://git.openstack.org/cgit/openstack/trove \\"},{"line_number":78,"context_line":"           /tree/install-guide/source\u0027"},{"line_number":79,"context_line":"git_cmd \u003d \"/usr/bin/git log | head -n1 | cut -f2 -d\u0027 \u0027\""},{"line_number":80,"context_line":"gitsha \u003d os.popen(git_cmd).read().strip(\u0027\\n\u0027)"},{"line_number":81,"context_line":"html_context \u003d {\"gitsha\": gitsha, \"bug_tag\": bug_tag,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9ad45d7e_065e9d43","line":78,"range":{"start_line":77,"start_character":0,"end_line":78,"end_character":38},"updated":"2016-08-10 17:59:00.000000000","message":"This code is not identical to the one it\u0027s replacing. Try:\n\n  giturl \u003d (u\u0027http://git.openstack.org/cgit/openstack/trove/tree/\u0027\n             \u0027install-guide/source\u0027)","commit_id":"60e2983fb37db1ba07c7a5e834a3d0ec572043ca"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"3535fcfb18c03dd1720c20d21da7e740da8779a9","unresolved":false,"context_lines":[{"line_number":74,"context_line":"#   extracted from git log."},{"line_number":75,"context_line":"#   bug_tag: Tag for categorizing the bug. Must be set manually."},{"line_number":76,"context_line":"# These variables are passed to the logabug code via html_context."},{"line_number":77,"context_line":"giturl \u003d u\u0027http://git.openstack.org/cgit/openstack/trove\u0027 \\"},{"line_number":78,"context_line":"         u\u0027/tree/install-guide/source\u0027"},{"line_number":79,"context_line":"git_cmd \u003d \"/usr/bin/git log | head -n1 | cut -f2 -d\u0027 \u0027\""},{"line_number":80,"context_line":"gitsha \u003d os.popen(git_cmd).read().strip(\u0027\\n\u0027)"},{"line_number":81,"context_line":"html_context \u003d {\"gitsha\": gitsha, \"bug_tag\": bug_tag,"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_b4e81812","line":78,"range":{"start_line":77,"start_character":9,"end_line":78,"end_character":38},"updated":"2016-08-26 19:22:23.000000000","message":"Looks good now\n\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\n\n\u003e\u003e\u003e old \u003d u\u0027http://git.openstack.org/cgit/openstack/trove/tree/install-guide/source\u0027\n\u003e\u003e\u003e new \u003d u\u0027http://git.openstack.org/cgit/openstack/trove\u0027 \\\n...          u\u0027/tree/install-guide/source\u0027\n\u003e\u003e\u003e old \u003d\u003d new\nTrue","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"}],"run_tests.py":[{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"2170b3dfcc84e006d21e3dc783cc94001075bcc8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        code.interact()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"def import_tests():"},{"line_number":203,"context_line":"    pass"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"def main(import_func):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_51a85177","line":203,"range":{"start_line":202,"start_character":0,"end_line":203,"end_character":8},"updated":"2016-08-04 19:59:20.000000000","message":"Not sure why we keep this then...","commit_id":"bab216c2f342e4144d99a0e91b715d3b16d2146e"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"ff655e34e14bfbaee3d7b080dc8639bcb605608e","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        code.interact()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"def import_tests():"},{"line_number":203,"context_line":"    pass"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"def main(import_func):"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_16ced381","line":203,"range":{"start_line":202,"start_character":0,"end_line":203,"end_character":8},"updated":"2016-08-29 16:52:11.000000000","message":"I\u0027d suggest removing this function entirely since it no longer serves its purpose. You will need to cleanup the references (see below).","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"8513b6d6de6ef88fad89e37dcc2d6b72e404eb5e","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        code.interact()"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"def import_tests():"},{"line_number":203,"context_line":"    pass"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"def main(import_func):"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_71280987","line":203,"range":{"start_line":202,"start_character":0,"end_line":203,"end_character":8},"in_reply_to":"fa7ab95a_16ced381","updated":"2016-08-29 16:58:19.000000000","message":"I\u0027d like to see this removed too because this just looks weird but more importantly this serves as a base for other files to import tests if they want.","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"ff655e34e14bfbaee3d7b080dc8639bcb605608e","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    pass"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"def main(import_func):"},{"line_number":207,"context_line":"    try:"},{"line_number":208,"context_line":"        wsgi_install()"},{"line_number":209,"context_line":"        add_support_for_localization()"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_960ca3ee","line":206,"updated":"2016-08-29 16:52:11.000000000","message":"here","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"8513b6d6de6ef88fad89e37dcc2d6b72e404eb5e","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    pass"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"def main(import_func):"},{"line_number":207,"context_line":"    try:"},{"line_number":208,"context_line":"        wsgi_install()"},{"line_number":209,"context_line":"        add_support_for_localization()"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_961f436b","line":206,"in_reply_to":"fa7ab95a_960ca3ee","updated":"2016-08-29 16:58:19.000000000","message":"This import_func parameter is used in generate_examples.py and would break the code if this was deleted.","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"ff655e34e14bfbaee3d7b080dc8639bcb605608e","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        test_config_file, repl \u003d parse_args_for_test_config()"},{"line_number":222,"context_line":"        CONFIG.load_from_file(test_config_file)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        import_func()"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        from trove.tests.util import event_simulator"},{"line_number":227,"context_line":"        event_simulator.run_main(functools.partial(run_tests, repl))"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_d612ab08","line":224,"updated":"2016-08-29 16:52:11.000000000","message":"here","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"ff655e34e14bfbaee3d7b080dc8639bcb605608e","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":238,"context_line":"    main(import_tests)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_3602f7b4","line":238,"updated":"2016-08-29 16:52:11.000000000","message":"and here","commit_id":"bd779e04a1ac877643b08934c7b6d0c5ccec64fc"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"687ad60c380ff20823b52908a82ae84287f521cf","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"def import_tests():"},{"line_number":203,"context_line":"    # F401 unused imports needed for tox tests"},{"line_number":204,"context_line":"    from trove.tests.api import backups  # noqa"},{"line_number":205,"context_line":"    from trove.tests.api import configurations  # noqa"},{"line_number":206,"context_line":"    from trove.tests.api import databases  # noqa"},{"line_number":207,"context_line":"    from trove.tests.api import datastores  # noqa"},{"line_number":208,"context_line":"    from trove.tests.api import flavors  # noqa"},{"line_number":209,"context_line":"    from trove.tests.api import header  # noqa"},{"line_number":210,"context_line":"    from trove.tests.api import instances as rd_instances  # noqa"},{"line_number":211,"context_line":"    from trove.tests.api import instances_actions as rd_actions  # noqa"},{"line_number":212,"context_line":"    from trove.tests.api import instances_delete  # noqa"},{"line_number":213,"context_line":"    from trove.tests.api import instances_mysql_down  # noqa"},{"line_number":214,"context_line":"    from trove.tests.api import instances_resize  # noqa"},{"line_number":215,"context_line":"    from trove.tests.api import limits  # noqa"},{"line_number":216,"context_line":"    from trove.tests.api.mgmt import accounts  # noqa"},{"line_number":217,"context_line":"    from trove.tests.api.mgmt import admin_required  # noqa"},{"line_number":218,"context_line":"    from trove.tests.api.mgmt import hosts  # noqa"},{"line_number":219,"context_line":"    from trove.tests.api.mgmt import instances as mgmt_instances  # noqa"},{"line_number":220,"context_line":"    from trove.tests.api.mgmt import instances_actions as mgmt_actions  # noqa"},{"line_number":221,"context_line":"    from trove.tests.api.mgmt import malformed_json  # noqa"},{"line_number":222,"context_line":"    from trove.tests.api.mgmt import storage  # noqa"},{"line_number":223,"context_line":"    from trove.tests.api import replication  # noqa"},{"line_number":224,"context_line":"    from trove.tests.api import root  # noqa"},{"line_number":225,"context_line":"    from trove.tests.api import root_on_create  # noqa"},{"line_number":226,"context_line":"    from trove.tests.api import user_access  # noqa"},{"line_number":227,"context_line":"    from trove.tests.api import users  # noqa"},{"line_number":228,"context_line":"    from trove.tests.api import versions  # noqa"},{"line_number":229,"context_line":"    from trove.tests.db import migrations  # noqa"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"def main(import_func):"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa7ab95a_138ea5cf","side":"PARENT","line":229,"range":{"start_line":204,"start_character":0,"end_line":229,"end_character":49},"updated":"2016-08-30 13:50:18.000000000","message":"so, if you remove these imports, the tests never get run. Other than that, great idea!","commit_id":"2514c53f14b6b18ce77bed493877db5d33ff7d12"}],"setup.py":[{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"2170b3dfcc84e006d21e3dc783cc94001075bcc8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"# In python \u003c 2.7.4, a lazy loading of package `pbr` will break"},{"line_number":20,"context_line":"# setuptools if some other modules registered functions in `atexit`."},{"line_number":21,"context_line":"# solution from: http://bugs.python.org/issue15881#msg170215"},{"line_number":22,"context_line":"try:"},{"line_number":23,"context_line":"    pass"},{"line_number":24,"context_line":"except ImportError:"},{"line_number":25,"context_line":"    pass"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"setuptools.setup("},{"line_number":28,"context_line":"    setup_requires\u003d[\u0027pbr\u003e\u003d1.8\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_f1a8658e","line":25,"range":{"start_line":22,"start_character":0,"end_line":25,"end_character":8},"updated":"2016-08-04 19:59:20.000000000","message":"This is now useless.","commit_id":"bab216c2f342e4144d99a0e91b715d3b16d2146e"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4e244de5816f0684da7b9180ec57a0c4612b65ae","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT"},{"line_number":17,"context_line":"import setuptools"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# In python \u003c 2.7.4, a lazy loading of package `pbr` will break"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_4657ce25","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":68},"updated":"2016-08-05 14:46:28.000000000","message":"It says here that this file should not be edited. Why then are we editing it?","commit_id":"8e2bc0a3a00788117d76efb58f79d5a8f62fcefc"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4e244de5816f0684da7b9180ec57a0c4612b65ae","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT"},{"line_number":17,"context_line":"import setuptools"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# In python \u003c 2.7.4, a lazy loading of package `pbr` will break"},{"line_number":20,"context_line":"# setuptools if some other modules registered functions in `atexit`."},{"line_number":21,"context_line":"# solution from: http://bugs.python.org/issue15881#msg170215"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"setuptools.setup("},{"line_number":24,"context_line":"    setup_requires\u003d[\u0027pbr\u003e\u003d1.8\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_46806e8b","line":21,"range":{"start_line":19,"start_character":0,"end_line":21,"end_character":60},"updated":"2016-08-05 14:46:28.000000000","message":"Is this comment still meaningful?","commit_id":"8e2bc0a3a00788117d76efb58f79d5a8f62fcefc"}]}
