)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"51faf1efca46e2d8a777af741b772d74b6f63e5a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Reasons:"},{"line_number":10,"context_line":" - creating a slave for instance Trove"},{"line_number":11,"context_line":"   doesn\u0027t valiated that master exists,"},{"line_number":12,"context_line":" - replica source is not proper state."},{"line_number":13,"context_line":"   In this case trove-api needs to check"},{"line_number":14,"context_line":"   if replica source is  ACTIVE and raise"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a890539_a4041d4a","line":11,"updated":"2014-11-18 16:04:58.000000000","message":"validate (typo)","commit_id":"227ea2ad01a553a51ead0b35a6ab819156c05a3f"}],"trove/instance/models.py":[{"author":{"_account_id":4463,"name":"iccha-sethi","email":"iccha.sethi@rackspace.com","username":"iccha-sethi"},"change_message_id":"d0d65aea21a21fd0c90e74c79ed949298401cb73","unresolved":false,"context_lines":[{"line_number":639,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id)"},{"line_number":640,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":641,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"},{"line_number":642,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"            replication_support \u003d datastore_cfg.replication_strategy"},{"line_number":645,"context_line":"            if not replication_support:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_8ed6bd4d","line":642,"updated":"2014-08-28 22:16:12.000000000","message":"should this be a http precondition failed since you are not allowed to create this instance because the replica root doesnt exist?\nhttp 412","commit_id":"2f66aca0a405fd24dbd642b52b8355b7e1b72011"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"b9e38cb6dcd732994a457859e3897ff130ce150d","unresolved":false,"context_lines":[{"line_number":639,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id)"},{"line_number":640,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":641,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"},{"line_number":642,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"            replication_support \u003d datastore_cfg.replication_strategy"},{"line_number":645,"context_line":"            if not replication_support:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_707597f8","line":642,"in_reply_to":"1abeadc6_8ed6bd4d","updated":"2014-08-29 14:39:18.000000000","message":"HTTP 412 (see http://www.checkupdown.com/status/E412.html) doesn\u0027t look like appropriate response code. It should be 422 or 404. Please read HTTP 1.1 RFC (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)","commit_id":"2f66aca0a405fd24dbd642b52b8355b7e1b72011"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"89af4e69b5ac73a87bcca722802b7c98d8285daa","unresolved":false,"context_lines":[{"line_number":645,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"            replication_support \u003d datastore_cfg.replication_strategy"},{"line_number":648,"context_line":"            if not replication_support:"},{"line_number":649,"context_line":"                raise exception.ReplicationNotSupported("},{"line_number":650,"context_line":"                    datastore\u003ddatastore.name)"},{"line_number":651,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_dbb81f2d","line":648,"updated":"2014-08-30 22:45:15.000000000","message":"I think that:\n\nif replication_support is None:\n\nis a better practice.","commit_id":"42ac65add64e5de4a6dcc0e588ea74d5f48a9668"},{"author":{"_account_id":5390,"name":"Steve Leon","username":"steve-leon","inactive":true},"change_message_id":"4cfb117abce2dff5d2b6cf470aafaf492b820b3a","unresolved":false,"context_lines":[{"line_number":644,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"},{"line_number":645,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"            replication_support \u003d datastore_cfg.replication_strategy"},{"line_number":648,"context_line":"            if not replication_support:"},{"line_number":649,"context_line":"                raise exception.ReplicationNotSupported("},{"line_number":650,"context_line":"                    datastore\u003ddatastore.name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa98f980_5d47551d","line":647,"updated":"2014-09-02 17:07:30.000000000","message":"Not a big deal but I would rather have this check (check if replication is supported) before checking if master exists.","commit_id":"ccf81e0a1f264855e32ee76401fdb07d883498f0"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"f141711a543e281edf7fb50a2cc6af311f8aa857","unresolved":false,"context_lines":[{"line_number":668,"context_line":"                    datastore\u003ddatastore.name)"},{"line_number":669,"context_line":""},{"line_number":670,"context_line":"            try:"},{"line_number":671,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id,"},{"line_number":672,"context_line":"                                   deleted\u003dFalse)"},{"line_number":673,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":674,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_775e1a78","line":671,"updated":"2014-09-23 19:18:31.000000000","message":"this does not address the bug completely. your logic only asserts that the instance is not deleted, it does not assert that the instance is active.","commit_id":"e888b0c59b5cd034cb00bfb42aa8c678b7c065f8"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a4111c0fcc50c6b7701835bd7a37639a8aa4f33b","unresolved":false,"context_lines":[{"line_number":668,"context_line":"                    datastore\u003ddatastore.name)"},{"line_number":669,"context_line":""},{"line_number":670,"context_line":"            try:"},{"line_number":671,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id,"},{"line_number":672,"context_line":"                                   deleted\u003dFalse)"},{"line_number":673,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":674,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_4a9f9cb4","line":671,"in_reply_to":"da9df570_775e1a78","updated":"2014-09-24 08:23:00.000000000","message":"Yes please add that logic in here as well. The two issues are related, so no point in having two different bugs / reviews for it.","commit_id":"e888b0c59b5cd034cb00bfb42aa8c678b7c065f8"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"aa5ebbe04f8e92fd6ee243a55858db531c3e4153","unresolved":false,"context_lines":[{"line_number":671,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id,"},{"line_number":672,"context_line":"                                   deleted\u003dFalse)"},{"line_number":673,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":674,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"},{"line_number":675,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        client \u003d create_nova_client(context)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_97261e15","line":674,"updated":"2014-09-23 19:17:05.000000000","message":"poor exception message, should resemble:\n\n\"Instance id could not be found for slave_of_id: %s\" % slave_of_id.","commit_id":"e888b0c59b5cd034cb00bfb42aa8c678b7c065f8"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"a4111c0fcc50c6b7701835bd7a37639a8aa4f33b","unresolved":false,"context_lines":[{"line_number":671,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id,"},{"line_number":672,"context_line":"                                   deleted\u003dFalse)"},{"line_number":673,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":674,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"},{"line_number":675,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        client \u003d create_nova_client(context)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_6a6f00c6","line":674,"in_reply_to":"da9df570_80d5f2ba","updated":"2014-09-24 08:23:00.000000000","message":"Or better yet \"Instance could not be found for replication source: %s\" % slave_of_id.\"","commit_id":"e888b0c59b5cd034cb00bfb42aa8c678b7c065f8"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"74a769487d2fa6d48119b1ca3f74527afbbbe7c7","unresolved":false,"context_lines":[{"line_number":671,"context_line":"                DBInstance.find_by(context, id\u003dslave_of_id,"},{"line_number":672,"context_line":"                                   deleted\u003dFalse)"},{"line_number":673,"context_line":"            except exception.ModelNotFoundError:"},{"line_number":674,"context_line":"                LOG.exception(_(\"Root replica not found.\"))"},{"line_number":675,"context_line":"                raise exception.NotFound(uuid\u003dslave_of_id)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"        client \u003d create_nova_client(context)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da9df570_80d5f2ba","line":674,"in_reply_to":"da9df570_97261e15","updated":"2014-09-23 20:50:59.000000000","message":"will fix it.","commit_id":"e888b0c59b5cd034cb00bfb42aa8c678b7c065f8"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"51faf1efca46e2d8a777af741b772d74b6f63e5a","unresolved":false,"context_lines":[{"line_number":660,"context_line":""},{"line_number":661,"context_line":"        datastore_cfg \u003d CONF.get(datastore_version.manager)"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        if slave_of_id:"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":"            replication_support \u003d datastore_cfg.replication_strategy"},{"line_number":666,"context_line":"            if not replication_support:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_9f15ac41","line":663,"updated":"2014-11-18 16:04:58.000000000","message":"I\u0027m not a fan of re-ordering the checks here in create. It looks like we are first checking things related to replication. I\u0027d be more comfortable reverting this block to where it was before.\n\nAnd the answer isn\u0027t that we\u0027re doing this without create_nova_client() because load_simple_instance_server_status() does just that.","commit_id":"227ea2ad01a553a51ead0b35a6ab819156c05a3f"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"c8a707fa33508a51584cf88542e2f056acbc18a4","unresolved":false,"context_lines":[{"line_number":683,"context_line":"                replica_source \u003d Instance("},{"line_number":684,"context_line":"                    context, replica_source_db_info,"},{"line_number":685,"context_line":"                    None, datastore_status)"},{"line_number":686,"context_line":"                replica_source.validate_can_perform_action()"},{"line_number":687,"context_line":"            except exception.UnprocessableEntity as e:"},{"line_number":688,"context_line":"                LOG.exception(e)"},{"line_number":689,"context_line":"                raise"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a890539_b7edbfb9","line":686,"updated":"2014-11-21 07:53:55.000000000","message":"Do we need to do all of this? A lot of it seems extraneous. Why can\u0027t we just verify that the InstanceServicsStatus for the replica_source is ACTIVE? \n\nShouldn\u0027t that suffice?","commit_id":"227ea2ad01a553a51ead0b35a6ab819156c05a3f"}]}
