)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0433ec7a5a037d1f79fa221dfbb8116b5574d563","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tang Chen \u003ctangchen@cn.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-26 11:35:13 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce macros to indicate live migration status."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the current code, live migration statuses (Migration.status) are"},{"line_number":10,"context_line":"represented with pure String."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a1a9d01_b420d49c","line":7,"updated":"2015-09-27 06:26:35.000000000","message":"please use constant instead of macro","commit_id":"660a92dce87ea09ccd968e2f43a403d07265f574"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"040aae5a9675cbbfc1a5f1e570907344a547b722","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tang Chen \u003ctangchen@cn.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-26 11:35:13 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce macros to indicate live migration status."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the current code, live migration statuses (Migration.status) are"},{"line_number":10,"context_line":"represented with pure String."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a1a9d01_ab0f0fe0","line":7,"in_reply_to":"9a1a9d01_b420d49c","updated":"2015-09-28 01:45:05.000000000","message":"OK, followed.","commit_id":"660a92dce87ea09ccd968e2f43a403d07265f574"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0433ec7a5a037d1f79fa221dfbb8116b5574d563","unresolved":false,"context_lines":[{"line_number":10,"context_line":"represented with pure String."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"All the task states are defined in task_states.py, and referred by"},{"line_number":13,"context_line":"task_states.XXX. So we can do the same to live migration statuses."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The solution is simple: define all live migration statuses in a new"},{"line_number":16,"context_line":"file, migration_status.py."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a1a9d01_9436f0e5","line":13,"updated":"2015-09-27 06:26:35.000000000","message":"that is in nova/compute\n\nwhy not put this file there - the changes are not at all related to objects","commit_id":"660a92dce87ea09ccd968e2f43a403d07265f574"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"040aae5a9675cbbfc1a5f1e570907344a547b722","unresolved":false,"context_lines":[{"line_number":10,"context_line":"represented with pure String."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"All the task states are defined in task_states.py, and referred by"},{"line_number":13,"context_line":"task_states.XXX. So we can do the same to live migration statuses."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The solution is simple: define all live migration statuses in a new"},{"line_number":16,"context_line":"file, migration_status.py."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a1a9d01_8bf56bcc","line":13,"in_reply_to":"9a1a9d01_9436f0e5","updated":"2015-09-28 01:45:05.000000000","message":"Since I fould Migration class is defined here in nova/objects/, I put the constants here.\n\nWill move it to nova/compute if it is better.\n\nThanks.","commit_id":"660a92dce87ea09ccd968e2f43a403d07265f574"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"827b23cc8b448a674cc1cf9b67c877645a52ce22","unresolved":false,"context_lines":[{"line_number":18,"context_line":"There are 16 migration statuses in the current code, and they will be"},{"line_number":19,"context_line":"mapped to the macros below:"},{"line_number":20,"context_line":"1. preparing            : migration_status.PREPARING"},{"line_number":21,"context_line":"2. pre-migrating        : migration_status.PREPARING"},{"line_number":22,"context_line":"3. migrating            : migration_status.MIGRATING"},{"line_number":23,"context_line":"4. running              : migration_status.MIGRATING"},{"line_number":24,"context_line":"5. post-migrating       : migration_status.PREPARING"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a1a9d01_4c8db6d4","line":21,"updated":"2015-09-30 11:40:25.000000000","message":"PRE-MIGRATING?","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"9b27263b55eb869a0969ab1e09b869a36ea56d6c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"There are 16 migration statuses in the current code, and they will be"},{"line_number":19,"context_line":"mapped to the macros below:"},{"line_number":20,"context_line":"1. preparing            : migration_status.PREPARING"},{"line_number":21,"context_line":"2. pre-migrating        : migration_status.PREPARING"},{"line_number":22,"context_line":"3. migrating            : migration_status.MIGRATING"},{"line_number":23,"context_line":"4. running              : migration_status.MIGRATING"},{"line_number":24,"context_line":"5. post-migrating       : migration_status.PREPARING"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a1a9d01_47b35150","line":21,"in_reply_to":"9a1a9d01_4c8db6d4","updated":"2015-09-30 11:48:58.000000000","message":"Yes, will fix it in the next version.\n\nThanks.","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"}],"nova/common/constants.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"95a8287fd1c1d354989892686bcbf6675773c9c6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from nova.i18n import _"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Live migration statuses"},{"line_number":18,"context_line":"MIGRATION_STATUS_PREPARING \u003d _(\u0027preparing\u0027)"},{"line_number":19,"context_line":"MIGRATION_STATUS_PRE_MIGRATING \u003d _(\u0027pre-migrating\u0027)"},{"line_number":20,"context_line":"MIGRATION_STATUS_MIGRATING \u003d _(\u0027migrating\u0027)"},{"line_number":21,"context_line":"MIGRATION_STATUS_POST_MIGRATING \u003d _(\u0027post-migrating\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_88f27505","line":18,"updated":"2015-10-02 11:20:28.000000000","message":"these get stored in a DB, so we must not translate them, as that will create a world of problems.","commit_id":"b9483a6d002689cdd42bc6673c729af110264ed2"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a8a96c7ca57cec53698457d9fe43faafe0d11f32","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from nova.i18n import _"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Live migration statuses"},{"line_number":18,"context_line":"MIGRATION_STATUS_PREPARING \u003d _(\u0027preparing\u0027)"},{"line_number":19,"context_line":"MIGRATION_STATUS_PRE_MIGRATING \u003d _(\u0027pre-migrating\u0027)"},{"line_number":20,"context_line":"MIGRATION_STATUS_MIGRATING \u003d _(\u0027migrating\u0027)"},{"line_number":21,"context_line":"MIGRATION_STATUS_POST_MIGRATING \u003d _(\u0027post-migrating\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_b82c2c4b","line":18,"in_reply_to":"9a1a9d01_88f27505","updated":"2015-10-05 11:26:32.000000000","message":"OK. But would you please share more about what kind of problems there could be ?","commit_id":"b9483a6d002689cdd42bc6673c729af110264ed2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"95a8287fd1c1d354989892686bcbf6675773c9c6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"MIGRATION_STATUS_REVERTED \u003d _(\u0027reverted\u0027)"},{"line_number":28,"context_line":"MIGRATION_STATUS_ERROR \u003d _(\u0027error\u0027)                 # Known exceptions occurred"},{"line_number":29,"context_line":"MIGRATION_STATUS_FAILED \u003d _(\u0027failed\u0027)               # Unexpectedly failed"},{"line_number":30,"context_line":"MIGRATION_STATUS_DUMMY \u003d _(\u0027dummy\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_48969d95","line":30,"updated":"2015-10-02 11:20:28.000000000","message":"We generally use this sort of pattern for these:\nhttps://github.com/openstack/nova/blob/master/nova/compute/vm_states.py","commit_id":"b9483a6d002689cdd42bc6673c729af110264ed2"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"a8a96c7ca57cec53698457d9fe43faafe0d11f32","unresolved":false,"context_lines":[{"line_number":27,"context_line":"MIGRATION_STATUS_REVERTED \u003d _(\u0027reverted\u0027)"},{"line_number":28,"context_line":"MIGRATION_STATUS_ERROR \u003d _(\u0027error\u0027)                 # Known exceptions occurred"},{"line_number":29,"context_line":"MIGRATION_STATUS_FAILED \u003d _(\u0027failed\u0027)               # Unexpectedly failed"},{"line_number":30,"context_line":"MIGRATION_STATUS_DUMMY \u003d _(\u0027dummy\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_1868b886","line":30,"in_reply_to":"9a1a9d01_48969d95","updated":"2015-10-05 11:26:32.000000000","message":"I did something similar in patch set 1. Add a file named migration_status.py, and define all constants in that file. And comparing with this version, which one is better? \n\nAnd also, I think we can make a decision here, and put it to BP. Then the BP could be approved.","commit_id":"b9483a6d002689cdd42bc6673c729af110264ed2"}],"nova/compute/migration_status.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"eae44d39a331cc38623ac8fc7898a1261d896c71","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\"Possible statuses of instance live migration."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Live migration statuses represent what is happening during instance live"},{"line_number":18,"context_line":"migration. These statuses will be shown to users/administrators when"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_8510b75a","line":15,"updated":"2015-09-29 11:47:28.000000000","message":"i prefer states instead of statuses. both are correct","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8b1b3e6933d389c5fac0ca2ec73a63a18f918e92","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\"Possible statuses of instance live migration."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Live migration statuses represent what is happening during instance live"},{"line_number":18,"context_line":"migration. These statuses will be shown to users/administrators when"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_780ae67a","line":15,"in_reply_to":"9a1a9d01_8510b75a","updated":"2015-09-29 12:05:19.000000000","message":"Well, if we choose state finally, I think we\u0027d also change the name of Migration.status.","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"eae44d39a331cc38623ac8fc7898a1261d896c71","unresolved":false,"context_lines":[{"line_number":27,"context_line":"MIGRATING \u003d \u0027migrating\u0027"},{"line_number":28,"context_line":"POST_MIGRATING \u003d \u0027post-migrating\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# Possible statuses when migration pregress is over."},{"line_number":31,"context_line":"FINISHED \u003d \u0027finished\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# Possible statuses when migration pregress is queued."}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_05058712","line":30,"updated":"2015-09-29 11:47:28.000000000","message":"pregress  \u003d\u003e process","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8b1b3e6933d389c5fac0ca2ec73a63a18f918e92","unresolved":false,"context_lines":[{"line_number":27,"context_line":"MIGRATING \u003d \u0027migrating\u0027"},{"line_number":28,"context_line":"POST_MIGRATING \u003d \u0027post-migrating\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"# Possible statuses when migration pregress is over."},{"line_number":31,"context_line":"FINISHED \u003d \u0027finished\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# Possible statuses when migration pregress is queued."}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_980fba87","line":30,"in_reply_to":"9a1a9d01_05058712","updated":"2015-09-29 12:05:19.000000000","message":"OK. Followed.\n\nThanks.","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"eae44d39a331cc38623ac8fc7898a1261d896c71","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Possible statuses when migration pregress is over."},{"line_number":31,"context_line":"FINISHED \u003d \u0027finished\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# Possible statuses when migration pregress is queued."},{"line_number":34,"context_line":"QUEUED \u003d \u0027queued\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# Possible statuses during migration confirmation."}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_b8015e07","line":33,"updated":"2015-09-29 11:47:28.000000000","message":"ditto","commit_id":"c1e1f59933770de014dba0512f6982a0ba1f8ab4"}],"nova/objects/migration_status.py":[{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"155a1f86e75029d455a6dfd93ca2df905fd85397","unresolved":false,"context_lines":[{"line_number":34,"context_line":"# Possible statuses when migration pregress is queued."},{"line_number":35,"context_line":"QUEUED \u003d \u0027queued\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Possible statuses during migration confirmation."},{"line_number":38,"context_line":"CONFIRMING \u003d \u0027confirming\u0027"},{"line_number":39,"context_line":"CONFIRMED \u003d \u0027confirmed\u0027"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_0d21789f","line":37,"updated":"2015-09-26 20:33:28.000000000","message":"in context of live-migration what is confirming?","commit_id":"660a92dce87ea09ccd968e2f43a403d07265f574"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"edc842187a490050e5a95349303f708653f0a817","unresolved":false,"context_lines":[{"line_number":34,"context_line":"# Possible statuses when migration pregress is queued."},{"line_number":35,"context_line":"QUEUED \u003d \u0027queued\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Possible statuses during migration confirmation."},{"line_number":38,"context_line":"CONFIRMING \u003d \u0027confirming\u0027"},{"line_number":39,"context_line":"CONFIRMED \u003d \u0027confirmed\u0027"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_8b3b2b38","line":37,"in_reply_to":"9a1a9d01_0d21789f","updated":"2015-09-28 02:14:01.000000000","message":"According to the comments in confirm_resize(), a migration needs to be confirmed after it is executed. If it has no problem, confirm_resize() will delete the old source instance. A migration is set to CONFIRMING status while it is being confirmed.\n\nThanks.","commit_id":"660a92dce87ea09ccd968e2f43a403d07265f574"}]}
