)]}'
{"run_tests.py":[{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                              CONFIG.dbaas_datastore_version_id)"},{"line_number":81,"context_line":"    models.DBDatastore.create(id\u003d\"e00000e0-00e0-0e00-00e0-000e000000ee\","},{"line_number":82,"context_line":"                              name\u003d\u0027Test_Datastore_1\u0027,"},{"line_number":83,"context_line":"                              default_version_id\u003d"},{"line_number":84,"context_line":"                              \u0027a00000a0-00e0-0a00-00a0-000a000000aa\u0027)"},{"line_number":85,"context_line":"    models.DBDatastore.create(id\u003d\"g00000g0-00g0-0g00-00g0-000e000000gg\","},{"line_number":86,"context_line":"                              name\u003d\u0027Test_Datastore_2\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F8EI%3D","line":83,"updated":"2014-03-12 20:13:21.000000000","message":"Why are you modifying existing test data? Wouldn\u0027t it be less risky if you were adding rather than modifying?","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"638d48b42f8779967e73340d302dd40c4118757f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                              name\u003d\u0027Test_Datastore_1\u0027,"},{"line_number":84,"context_line":"                              default_version_id\u003dNone)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    models.DBDatastore.create(id\u003d\"g00000g0-00g0-0g00-00g0-000e000000gg\","},{"line_number":87,"context_line":"                              name\u003d\u0027Test_Datastore_2\u0027,"},{"line_number":88,"context_line":"                              default_version_id\u003d"},{"line_number":89,"context_line":"                              \u0027a00000a0-00e0-0a00-00a0-000a000000aa\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2Fv3g%3D","line":86,"updated":"2014-03-14 03:35:40.000000000","message":"There\u0027s an e in this ID. Perhaps it would be best if it was all g\u0027s.","commit_id":"ec343ac55778ab031fd07baac7e5f0b3b647b065"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"638d48b42f8779967e73340d302dd40c4118757f","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                              default_version_id\u003d"},{"line_number":89,"context_line":"                              \u0027a00000a0-00e0-0a00-00a0-000a000000aa\u0027)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    models.DBDatastoreVersion.create(id\u003d\"a00000a0-00e0-0a00-00a0-000a000000aa\","},{"line_number":92,"context_line":"                                     datastore_id\u003d"},{"line_number":93,"context_line":"                                     \"g00000g0-00g0-0g00-00g0-000e000000gg\","},{"line_number":94,"context_line":"                                     name\u003d\u0027Test_Datastore_2_Version_1\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2Fv3U%3D","line":91,"updated":"2014-03-14 03:35:40.000000000","message":"There\u0027s an e in this ID. Perhaps it would be best if it was all a\u0027s. On second thought, dbaas_datastore_id in trove/tests/config.py uses a\u0027s. Probably best to avoid that letter even though it is a different column. b\u0027s are also taken.","commit_id":"ec343ac55778ab031fd07baac7e5f0b3b647b065"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"638d48b42f8779967e73340d302dd40c4118757f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                                     image_id\u003d"},{"line_number":115,"context_line":"                                     \u0027c00000c0-00c0-0c00-00c0-000c000000cc\u0027,"},{"line_number":116,"context_line":"                                     packages\u003dNone, active\u003d0)"},{"line_number":117,"context_line":"    models.DBDatastoreVersion.create(id\u003d\"f00000f0-00d0-0f00-00f0-000f000000ff\","},{"line_number":118,"context_line":"                                     datastore_id\u003d"},{"line_number":119,"context_line":"                                     CONFIG.dbaas_datastore_id,"},{"line_number":120,"context_line":"                                     name\u003d\u0027mysql_version_old\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2Fv3Q%3D","line":117,"updated":"2014-03-14 03:35:40.000000000","message":"There\u0027s an d in this ID. Perhaps it would be best if it was all f\u0027s.","commit_id":"ec343ac55778ab031fd07baac7e5f0b3b647b065"}],"trove/backup/models.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"ad5b74685c018cf25970d7b1c41639cc1a57d04c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        Raises exception if backup strategy is not supported"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        datastore_cfg \u003d CONF.get(instance.datastore.name, None)"},{"line_number":53,"context_line":"        if datastore_cfg is None or datastore_cfg.get("},{"line_number":54,"context_line":"                \u0027backup_strategy\u0027, None) is None:"},{"line_number":55,"context_line":"            raise exception.DatastoreOperationNotSupported("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F9b4%3D","line":52,"updated":"2014-03-12 17:34:30.000000000","message":"datastore manager, not the datastore name","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        Raises exception if backup strategy is not supported"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        datastore_cfg \u003d CONF.get(instance.datastore.name, None)"},{"line_number":53,"context_line":"        if datastore_cfg is None or datastore_cfg.get("},{"line_number":54,"context_line":"                \u0027backup_strategy\u0027, None) is None:"},{"line_number":55,"context_line":"            raise exception.DatastoreOperationNotSupported("},{"line_number":56,"context_line":"                operation\u003doperation, datastore\u003dinstance.datastore.name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F8VE%3D","line":53,"updated":"2014-03-12 20:13:21.000000000","message":"Perhaps this is more Pythonic:\n\n    if not datastore_cfg or not datastore_cfg.get(\u0027backup_strategy\u0027, None):","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fbc697d139f7b8ccc1be0fe8fcc0dc1b9d6e8cd6","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        Raises exception if backup strategy is not supported"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        datastore_cfg \u003d CONF.get(instance.datastore.name, None)"},{"line_number":53,"context_line":"        if datastore_cfg is None or datastore_cfg.get("},{"line_number":54,"context_line":"                \u0027backup_strategy\u0027, None) is None:"},{"line_number":55,"context_line":"            raise exception.DatastoreOperationNotSupported("},{"line_number":56,"context_line":"                operation\u003doperation, datastore\u003dinstance.datastore.name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F7a4%3D","line":53,"in_reply_to":"AAAAWH%2F%2F8VE%3D","updated":"2014-03-12 21:32:18.000000000","message":"shorter will be better","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            instance_model \u003d Instance.load(context, instance_id)"},{"line_number":77,"context_line":"            instance_model.validate_can_perform_action()"},{"line_number":78,"context_line":"            cls.validate_can_perform_action("},{"line_number":79,"context_line":"                instance_model, \u0027backup-create\u0027)"},{"line_number":80,"context_line":"            cls.verify_swift_auth_token(context)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"            parent \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F8Uo%3D","line":79,"updated":"2014-03-12 20:13:21.000000000","message":"I see that https://review.openstack.org/#/c/78054/3/trove/guestagent/datastore/manager.py uses \u0027backup_create\u0027","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"372cd273cc3aa29c8e5db1fb9cdca3214b3d62c7","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        Raises exception if backup strategy is not supported"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        datastore_cfg \u003d CONF.get(instance.datastore_version.manager, None)"},{"line_number":53,"context_line":"        if datastore_cfg is None or datastore_cfg.get("},{"line_number":54,"context_line":"                \u0027backup_strategy\u0027, None) is None:"},{"line_number":55,"context_line":"            raise exception.DatastoreOperationNotSupported("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2F8H4%3D","line":52,"updated":"2014-03-12 19:56:08.000000000","message":"please do not add None in the end.\n\ndatastore_cfg \u003d CONF.get(instance.datastore_version.manager)","commit_id":"755f390e89881ac308e0e3fabb9a9d9e910f4a43"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"372cd273cc3aa29c8e5db1fb9cdca3214b3d62c7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        Raises exception if backup strategy is not supported"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        datastore_cfg \u003d CONF.get(instance.datastore_version.manager, None)"},{"line_number":53,"context_line":"        if datastore_cfg is None or datastore_cfg.get("},{"line_number":54,"context_line":"                \u0027backup_strategy\u0027, None) is None:"},{"line_number":55,"context_line":"            raise exception.DatastoreOperationNotSupported("},{"line_number":56,"context_line":"                operation\u003doperation, datastore\u003dinstance.datastore.name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2F8HY%3D","line":53,"updated":"2014-03-12 19:56:08.000000000","message":"if hasattr(datastore_cfg, \u0027backup_strategy\u0027):","commit_id":"755f390e89881ac308e0e3fabb9a9d9e910f4a43"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"372cd273cc3aa29c8e5db1fb9cdca3214b3d62c7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        datastore_cfg \u003d CONF.get(instance.datastore_version.manager, None)"},{"line_number":53,"context_line":"        if datastore_cfg is None or datastore_cfg.get("},{"line_number":54,"context_line":"                \u0027backup_strategy\u0027, None) is None:"},{"line_number":55,"context_line":"            raise exception.DatastoreOperationNotSupported("},{"line_number":56,"context_line":"                operation\u003doperation, datastore\u003dinstance.datastore.name)"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2F8H0%3D","line":54,"updated":"2014-03-12 19:56:08.000000000","message":"please do not add None in the end, and theres not need to check it for None.","commit_id":"755f390e89881ac308e0e3fabb9a9d9e910f4a43"}],"trove/common/exception.py":[{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":352,"context_line":"class BackupDatastoreMismatchError(TroveError):"},{"line_number":353,"context_line":"    message \u003d _(\"Unable to create instance because the backup\""},{"line_number":354,"context_line":"                \" %(backup_name)s\u0027s datastore %(name1)s does\""},{"line_number":355,"context_line":"                \" not match the instance datastore %(name2)s\")"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"class BackupDatastoreVersionMismatchError(TroveError):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F8SU%3D","line":355,"updated":"2014-03-12 20:13:21.000000000","message":"name1 and name2 names could be improved so that their purpose is obvious","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"ad5b74685c018cf25970d7b1c41639cc1a57d04c","unresolved":false,"context_lines":[{"line_number":357,"context_line":""},{"line_number":358,"context_line":"class BackupDatastoreVersionMismatchError(TroveError):"},{"line_number":359,"context_line":"    message \u003d _(\"Unable to create instance because the backup\""},{"line_number":360,"context_line":"                \"  %(backup_name)s\u0027s datastore version %(name1)s does\""},{"line_number":361,"context_line":"                \" not match instance datastore version %(name2)s\")"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F9bM%3D","line":360,"updated":"2014-03-12 17:34:30.000000000","message":"two spaces.","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"638d48b42f8779967e73340d302dd40c4118757f","unresolved":false,"context_lines":[{"line_number":352,"context_line":"class BackupDatastoreVersionMismatchError(TroveError):"},{"line_number":353,"context_line":"    message \u003d _(\"Unable to create instance because the backup\""},{"line_number":354,"context_line":"                \" %(backup_name)s\u0027s datastore %(version1)s does\""},{"line_number":355,"context_line":"                \" not match instance datastore %(version2)s\")"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"class SwiftAuthError(TroveError):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F%2Fvhk%3D","line":355,"updated":"2014-03-14 03:35:40.000000000","message":"version1 and version2 don\u0027t provide much information. How about:\n\nbackup_datastore_version_id and instance_datastore_version_id","commit_id":"ec343ac55778ab031fd07baac7e5f0b3b647b065"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"4c45eb4ee8e21c827d2e89ac5e8f2dbce58e1abc","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                \"storage.\")"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"class BackupDatastoreVersionMismatchError(TroveError):"},{"line_number":353,"context_line":"    message \u003d _(\"Unable to create instance because the backup\""},{"line_number":354,"context_line":"                \" %(backup_name)s\u0027s datastore %(version1)s does\""},{"line_number":355,"context_line":"                \" not match instance datastore %(version2)s\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F%2Fc3I%3D","line":352,"updated":"2014-03-17 20:24:35.000000000","message":"i\u0027d like the error message changed to:\n\n    The datastore-version from which the backup was taken, %(version1)s, does not match the destination datastore-version of %(version2)s\n\nbecause it\u0027s a bit more clear in my opinion.","commit_id":"50213895aad9caa59ab3f87426a73528c8401dac"}],"trove/instance/models.py":[{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                raise exception.BackupFileNotFound("},{"line_number":545,"context_line":"                    location\u003dbackup_info.location)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"            backup_instance \u003d Instance.load(context, backup_info.instance_id)"},{"line_number":548,"context_line":"            if backup_instance.datastore.name !\u003d datastore.name:"},{"line_number":549,"context_line":"                raise exception.BackupDatastoreMismatchError("},{"line_number":550,"context_line":"                    backup_name\u003dbackup_info.name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F8LM%3D","line":547,"updated":"2014-03-12 20:13:21.000000000","message":"I\u0027m concerned that Instance.load may not work on a deleted instance. Really you just want DBInstance.find_by(context\u003dcontext, id\u003did, deleted\u003dTrue). Can you please test with restoring from a backup whose instance has been deleted?","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"fbc697d139f7b8ccc1be0fe8fcc0dc1b9d6e8cd6","unresolved":false,"context_lines":[{"line_number":544,"context_line":"                raise exception.BackupFileNotFound("},{"line_number":545,"context_line":"                    location\u003dbackup_info.location)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"            backup_instance \u003d Instance.load(context, backup_info.instance_id)"},{"line_number":548,"context_line":"            if backup_instance.datastore.name !\u003d datastore.name:"},{"line_number":549,"context_line":"                raise exception.BackupDatastoreMismatchError("},{"line_number":550,"context_line":"                    backup_name\u003dbackup_info.name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F7Z0%3D","line":547,"in_reply_to":"AAAAWH%2F%2F8LM%3D","updated":"2014-03-12 21:32:18.000000000","message":"i guess with this impl Resource not Found would be throughn by the client. And we decided to avoid working with delete instances, so i think this is fine.","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":545,"context_line":"                    location\u003dbackup_info.location)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"            backup_instance \u003d Instance.load(context, backup_info.instance_id)"},{"line_number":548,"context_line":"            if backup_instance.datastore.name !\u003d datastore.name:"},{"line_number":549,"context_line":"                raise exception.BackupDatastoreMismatchError("},{"line_number":550,"context_line":"                    backup_name\u003dbackup_info.name,"},{"line_number":551,"context_line":"                    name1\u003dbackup_instance.datastore.name, name2\u003ddatastore.name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F7%2FA%3D","line":548,"updated":"2014-03-12 20:13:21.000000000","message":"Probably need to test the backup_type too. In the backups table, the strategy (e.g. mysqldump or innobackupex) is stored.","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"372cd273cc3aa29c8e5db1fb9cdca3214b3d62c7","unresolved":false,"context_lines":[{"line_number":545,"context_line":"                    location\u003dbackup_info.location)"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"            backup_instance \u003d Instance.load(context, backup_info.instance_id)"},{"line_number":548,"context_line":"            if backup_instance.datastore.name !\u003d datastore.name:"},{"line_number":549,"context_line":"                raise exception.BackupDatastoreMismatchError("},{"line_number":550,"context_line":"                    backup_name\u003dbackup_info.name,"},{"line_number":551,"context_line":"                    name1\u003dbackup_instance.datastore.name, name2\u003ddatastore.name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2F8HQ%3D","line":548,"updated":"2014-03-12 19:56:08.000000000","message":"datastore_version.manager","commit_id":"755f390e89881ac308e0e3fabb9a9d9e910f4a43"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"372cd273cc3aa29c8e5db1fb9cdca3214b3d62c7","unresolved":false,"context_lines":[{"line_number":550,"context_line":"                    backup_name\u003dbackup_info.name,"},{"line_number":551,"context_line":"                    name1\u003dbackup_instance.datastore.name, name2\u003ddatastore.name)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"            if (backup_instance.datastore_version.name"},{"line_number":554,"context_line":"                    !\u003d datastore_version.name):"},{"line_number":555,"context_line":"                raise exception.BackupDatastoreVersionMismatchError("},{"line_number":556,"context_line":"                    backup_name\u003dbackup_info.name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2F8HM%3D","line":553,"updated":"2014-03-12 19:56:08.000000000","message":"datastore_version.manager","commit_id":"755f390e89881ac308e0e3fabb9a9d9e910f4a43"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"372cd273cc3aa29c8e5db1fb9cdca3214b3d62c7","unresolved":false,"context_lines":[{"line_number":555,"context_line":"                raise exception.BackupDatastoreVersionMismatchError("},{"line_number":556,"context_line":"                    backup_name\u003dbackup_info.name,"},{"line_number":557,"context_line":"                    name1\u003dbackup_instance.datastore_version.name,"},{"line_number":558,"context_line":"                    name2\u003ddatastore_version.name)"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"        if not nics and CONF.default_neutron_networks:"},{"line_number":561,"context_line":"            nics \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2F8HE%3D","line":558,"updated":"2014-03-12 19:56:08.000000000","message":"datastore_version.manager","commit_id":"755f390e89881ac308e0e3fabb9a9d9e910f4a43"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"155f58024a3f0c4b01102a450e2c9fa88cd86b31","unresolved":false,"context_lines":[{"line_number":555,"context_line":"                    backup_name\u003dbackup_info.name,"},{"line_number":556,"context_line":"                    version1\u003dds_version.name,"},{"line_number":557,"context_line":"                    version2\u003ddatastore_version.name)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"        if not nics and CONF.default_neutron_networks:"},{"line_number":560,"context_line":"            nics \u003d []"},{"line_number":561,"context_line":"            for net_id in CONF.default_neutron_networks:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F%2Fuik%3D","line":558,"updated":"2014-03-14 07:10:40.000000000","message":"I don\u0027t think we should restrict restores by dictating that a user is only allowed to restore a backup to the same version of a datastore. \n\nConsider a scenario where I want to backup my mysql 5.5 db, and restore it to a mysql 5.6 instance. Since both mysql 5.5 and 5.6 support the innobackupex backup/restore strategy, this is a use case that we should consider supporting.\n\nCan we instead check that the instance being restored to is of a datastore type that supports the backup/restore strategy of the backup being restored from?","commit_id":"61d00a399fd03696d368a4924021d392bcdac794"}],"trove/tests/api/instances.py":[{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"6b53ab47e2039463740f01facc78665744be51d6","unresolved":false,"context_lines":[{"line_number":496,"context_line":"        instance_name \u003d \"datastore_default_version_notfound\""},{"line_number":497,"context_line":"        databases \u003d []"},{"line_number":498,"context_line":"        users \u003d []"},{"line_number":499,"context_line":"        datastore \u003d \"Test_Datastore_2\""},{"line_number":500,"context_line":"        try:"},{"line_number":501,"context_line":"            assert_raises(exceptions.NotFound,"},{"line_number":502,"context_line":"                          dbaas.instances.create, instance_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2F8Hg%3D","line":499,"updated":"2014-03-12 20:13:21.000000000","message":"Why has this line been modified?","commit_id":"2a96ff0612037ac9f32d298b9d831f68b14c4b91"}]}
