)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ad75253d5ac19fd686eecb372e45062314631fda","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The comment about instance.locked is deprecated"},{"line_number":10,"context_line":"seems incorrect and missleading. As instance.locked"},{"line_number":11,"context_line":"is still used in check:"},{"line_number":12,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L195"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"On contrary, if the idea was to use instance.locked_by"},{"line_number":15,"context_line":"replace instance.locked in the check logic but never implemented, I"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_0cbe30fe","line":12,"range":{"start_line":12,"start_character":39,"end_line":12,"end_character":45},"updated":"2017-10-27 02:38:02.000000000","message":"nit: this link is going to change over time if you don\u0027t use a git hash or a tag like 16.0.0.","commit_id":"cbf71ad70e293d705065e6bcf5819bf4876ba95e"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"0861832440531bc04241a76996b7f5768029368a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The comment about instance.locked is deprecated"},{"line_number":10,"context_line":"seems incorrect and missleading. As instance.locked"},{"line_number":11,"context_line":"is still used in check:"},{"line_number":12,"context_line":"https://github.com/openstack/nova/blob/master/nova/compute/api.py#L195"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"On contrary, if the idea was to use instance.locked_by"},{"line_number":15,"context_line":"replace instance.locked in the check logic but never implemented, I"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f4b6375_b5019c07","line":12,"range":{"start_line":12,"start_character":39,"end_line":12,"end_character":45},"in_reply_to":"3f4b6375_0cbe30fe","updated":"2017-10-27 03:42:36.000000000","message":"Done","commit_id":"cbf71ad70e293d705065e6bcf5819bf4876ba95e"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"27978ab365bb236ede92de1d5f0b761246ea9d51","unresolved":false,"context_lines":[{"line_number":305,"context_line":"    # An instance may have moved to another host by live migration."},{"line_number":306,"context_line":"    launched_on \u003d Column(MediumText())"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    locked \u003d Column(Boolean)"},{"line_number":309,"context_line":"    locked_by \u003d Column(Enum(\u0027owner\u0027, \u0027admin\u0027))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    os_type \u003d Column(String(255))"},{"line_number":312,"context_line":"    architecture \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_53025940","line":309,"range":{"start_line":308,"start_character":0,"end_line":309,"end_character":46},"updated":"2017-10-29 23:42:27.000000000","message":"i think leaving some note about keeping both is better to avoid checking the git history.\n\nAs matt commented, you can add that as note where all there are used and why we are not removing one.","commit_id":"09024504a8b45dd502b99aad98c176f677fadb2f"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"9c82aa93202b7659d6275ed8d3f2d9894b45c5c2","unresolved":false,"context_lines":[{"line_number":305,"context_line":"    # An instance may have moved to another host by live migration."},{"line_number":306,"context_line":"    launched_on \u003d Column(MediumText())"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    locked \u003d Column(Boolean)"},{"line_number":309,"context_line":"    locked_by \u003d Column(Enum(\u0027owner\u0027, \u0027admin\u0027))"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    os_type \u003d Column(String(255))"},{"line_number":312,"context_line":"    architecture \u003d Column(String(255))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_c4c57e3f","line":309,"range":{"start_line":308,"start_character":0,"end_line":309,"end_character":46},"in_reply_to":"3f4b6375_53025940","updated":"2017-11-08 09:10:55.000000000","message":"Done","commit_id":"09024504a8b45dd502b99aad98c176f677fadb2f"}],"nova/objects/instance.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ad75253d5ac19fd686eecb372e45062314631fda","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        \u0027launched_on\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # NOTE(jdillaman): locked deprecated in favor of locked_by,"},{"line_number":165,"context_line":"        # to be removed in Icehouse"},{"line_number":166,"context_line":"        \u0027locked\u0027: fields.BooleanField(default\u003dFalse),"},{"line_number":167,"context_line":"        \u0027locked_by\u0027: fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_ccc93826","side":"PARENT","line":164,"updated":"2017-10-27 02:38:02.000000000","message":"This was copied from the data model:\n\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L308\n\nAnd that was added in I5040276c2d9fd42a71c9d8d4529331992abd7538 when the locked_by field was added.\n\nSo if locked_by is set, it implies that the instance is locked.\n\nThe \u0027locked\u0027 entry in the server API response is determined based on the locked_by value being set.\n\nWe could stop using \"locked\", but we can\u0027t drop the field here without bumping the major version on the Instance object, and we can\u0027t remove it from the data model without dropping the column from the instances table in an offline data migration, which is probably something we\u0027ll never do because it\u0027s not worth locking a giant table during an upgrade.\n\nSo I\u0027d say if you\u0027re going to remove this comment, also remove it from the data model. Or you could replace the comment in the data model with something like, \"locked is superseded by locked_by and locked is not really necessary but still used in API code so it remains.\".","commit_id":"6d61c61a329cdd46808c45c8e9faa9dc45dad11f"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"0861832440531bc04241a76996b7f5768029368a","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        \u0027launched_on\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # NOTE(jdillaman): locked deprecated in favor of locked_by,"},{"line_number":165,"context_line":"        # to be removed in Icehouse"},{"line_number":166,"context_line":"        \u0027locked\u0027: fields.BooleanField(default\u003dFalse),"},{"line_number":167,"context_line":"        \u0027locked_by\u0027: fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_3515ac40","side":"PARENT","line":164,"in_reply_to":"3f4b6375_ccc93826","updated":"2017-10-27 03:42:36.000000000","message":"Done","commit_id":"6d61c61a329cdd46808c45c8e9faa9dc45dad11f"}]}
