)]}'
{"cinder/cmd/manage.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"243b9a9b9bed83fcb13c7ca5aaefe9e9942e9c33","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        try:"},{"line_number":216,"context_line":"            return db_migration.db_sync(version)"},{"line_number":217,"context_line":"        except exception.InvalidInput as ex:"},{"line_number":218,"context_line":"            sys.exit(ex.msg)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    def version(self):"},{"line_number":221,"context_line":"        \"\"\"Print the current database version.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_cb945838","line":218,"range":{"start_line":218,"start_character":24,"end_line":218,"end_character":25},"updated":"2016-03-10 18:23:24.000000000","message":"Exit code should be an integer, not some string message","commit_id":"490c55fbf24e10912e91c2654f483c02c2d24e52"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"805af8ce2c0dd205906553e1271e2b8ab94ee04c","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        try:"},{"line_number":216,"context_line":"            return db_migration.db_sync(version)"},{"line_number":217,"context_line":"        except exception.InvalidInput as ex:"},{"line_number":218,"context_line":"            sys.exit(ex.msg)"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    def version(self):"},{"line_number":221,"context_line":"        \"\"\"Print the current database version.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_c5b02a46","line":218,"range":{"start_line":218,"start_character":24,"end_line":218,"end_character":25},"in_reply_to":"5aef4532_cb945838","updated":"2016-05-19 18:48:49.000000000","message":"This is a valid technique, the only issue I see is that it uses stderr, which most of our messages don\u0027t.  So sticking with print() and exit(1) is probably better.","commit_id":"490c55fbf24e10912e91c2654f483c02c2d24e52"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"a4abd2a5cc204ce1c2917b680387f14480419168","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        try:"},{"line_number":222,"context_line":"            return db_migration.db_sync(version)"},{"line_number":223,"context_line":"        except db_exc.DbMigrationError as ex:"},{"line_number":224,"context_line":"            print(ex)"},{"line_number":225,"context_line":"            sys.exit(1)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    def version(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f201791_69d1a8fb","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":21},"updated":"2017-06-22 13:13:46.000000000","message":"Can we add some context around this error as well.  Indicate that the exception occurred during DbMigration and then print the exception?\n\nThanks!","commit_id":"b4baf47f8586933c6aa43822998079f35eb40ec3"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"afb5d366df2cf79d9125f88c42dcc9aa0b35b835","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        try:"},{"line_number":222,"context_line":"            return db_migration.db_sync(version)"},{"line_number":223,"context_line":"        except db_exc.DbMigrationError as ex:"},{"line_number":224,"context_line":"            print(ex)"},{"line_number":225,"context_line":"            sys.exit(1)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    def version(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f201791_dc9bdcc6","line":224,"range":{"start_line":224,"start_character":12,"end_line":224,"end_character":21},"in_reply_to":"5f201791_69d1a8fb","updated":"2017-06-22 13:32:27.000000000","message":"Done","commit_id":"b4baf47f8586933c6aa43822998079f35eb40ec3"}],"cinder/db/migration.py":[{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"a02bf255b63e3e96e2a7df094fd37d8a9627a830","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                     init_version\u003dinit_version)"},{"line_number":84,"context_line":"    except KeyError as exc:"},{"line_number":85,"context_line":"        message \u003d _(\u0027Database schema file with version %(args)s does \u0027"},{"line_number":86,"context_line":"                    \u0027not exist.\u0027) % {\u0027args\u0027: exc.message}"},{"line_number":87,"context_line":"        raise exception.InvalidInput(reason\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_893361f6","line":86,"range":{"start_line":86,"start_character":45,"end_line":86,"end_character":48},"updated":"2016-02-24 18:17:38.000000000","message":"change exc.message to six.text_type(exc)","commit_id":"76ec4c7ae107dc4d0f748082d9e37d817e78e73d"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"b3e52d60d706edd41160adb0062b1dce82f82da7","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                     init_version\u003dinit_version)"},{"line_number":84,"context_line":"    except KeyError as exc:"},{"line_number":85,"context_line":"        message \u003d _(\u0027Database schema file with version %(args)s does \u0027"},{"line_number":86,"context_line":"                    \u0027not exist.\u0027) % {\u0027args\u0027: exc.message}"},{"line_number":87,"context_line":"        raise exception.InvalidInput(reason\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_8f1181af","line":86,"range":{"start_line":86,"start_character":45,"end_line":86,"end_character":48},"in_reply_to":"bae84128_893361f6","updated":"2016-02-26 06:51:04.000000000","message":"Done","commit_id":"76ec4c7ae107dc4d0f748082d9e37d817e78e73d"},{"author":{"_account_id":17275,"name":"Nate Potter","email":"nathaniel.potter@intel.com","username":"npotter"},"change_message_id":"b272bf9865aa1669ef0959a8c80ba4673a1a419f","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        message \u003d _(\u0027New version value should be between \u0027"},{"line_number":75,"context_line":"                    \u0027%(current_version)d and %(max_version)d.\u0027"},{"line_number":76,"context_line":"                    ) % {\u0027current_version\u0027: current_db_version + 1,"},{"line_number":77,"context_line":"                         \u0027max_version\u0027: db.MAX_INT}"},{"line_number":78,"context_line":"        raise exception.InvalidInput(reason\u003dmessage)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aed3d3a_06ec058e","line":77,"updated":"2016-02-26 23:06:08.000000000","message":"I prefer the newer .format for formatting strings, but this works too and I\u0027m not sure if there\u0027s a preferred method in OpenStack for it","commit_id":"c78ae629362c5c89807745fce42a16933c6add0d"}],"cinder/tests/unit/test_cmd.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8b8ce2383618386448b11ab760a0742b14d3be7b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from cinder import db"},{"line_number":39,"context_line":"from cinder.db import migration"},{"line_number":40,"context_line":"from cinder.db.sqlalchemy import api as db_api"},{"line_number":41,"context_line":"from cinder.i18n import _"},{"line_number":42,"context_line":"from cinder.objects import fields"},{"line_number":43,"context_line":"from cinder import test"},{"line_number":44,"context_line":"from cinder.tests.unit import fake_volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"7af24918_fa70290d","line":41,"updated":"2016-03-03 18:41:12.000000000","message":"I don\u0027t think unit tests should be translating strings.","commit_id":"c78ae629362c5c89807745fce42a16933c6add0d"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"43c6a3409877491c98dd03f189faf5bdffe1c719","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from cinder import db"},{"line_number":39,"context_line":"from cinder.db import migration"},{"line_number":40,"context_line":"from cinder.db.sqlalchemy import api as db_api"},{"line_number":41,"context_line":"from cinder.i18n import _"},{"line_number":42,"context_line":"from cinder.objects import fields"},{"line_number":43,"context_line":"from cinder import test"},{"line_number":44,"context_line":"from cinder.tests.unit import fake_volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"7af24918_653d7fdc","line":41,"in_reply_to":"7af24918_fa70290d","updated":"2016-03-04 07:01:51.000000000","message":"Hi Eric, thanks for your review. As sync() method returns translated strings thats why i am asserting it with translated strings. Same has been followed in the existing code [1] [2].\n\n[1]https://github.com/openstack/cinder/blob/master/cinder/tests/unit/api/contrib/test_backups.py#L1361\n[2]https://github.com/openstack/cinder/blob/master/cinder/tests/unit/test_backup_ceph.py#L1003","commit_id":"c78ae629362c5c89807745fce42a16933c6add0d"},{"author":{"_account_id":20191,"name":"Dinesh Bhor","email":"bhordinesh07@gmail.com","username":"dineshbhor"},"change_message_id":"43e663bf4020c9783e24be0dccaa933d1034dfb6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"from cinder import db"},{"line_number":39,"context_line":"from cinder.db import migration"},{"line_number":40,"context_line":"from cinder.db.sqlalchemy import api as db_api"},{"line_number":41,"context_line":"from cinder.i18n import _"},{"line_number":42,"context_line":"from cinder.objects import fields"},{"line_number":43,"context_line":"from cinder import test"},{"line_number":44,"context_line":"from cinder.tests.unit import fake_volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_7302d170","line":41,"in_reply_to":"7af24918_fa70290d","updated":"2016-03-09 07:02:27.000000000","message":"Hi Eric, thanks for your review. I have fixed your comment.","commit_id":"c78ae629362c5c89807745fce42a16933c6add0d"}]}
