)]}'
{"nova/scheduler/manager.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3f6e00e36956bf5bf483a317f7113c9c669e7492","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        except Exception as ex:"},{"line_number":126,"context_line":"            request_spec \u003d {\u0027instance_properties\u0027: {"},{"line_number":127,"context_line":"                \u0027uuid\u0027: instance[\u0027uuid\u0027], },"},{"line_number":128,"context_line":"            }"},{"line_number":129,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":130,"context_line":"                self._set_vm_state_and_notify(\u0027live_migration\u0027,"},{"line_number":131,"context_line":"                                             {\u0027vm_state\u0027: vm_states.ERROR},"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAPX%2F%2Frck%3D","line":128,"updated":"2013-06-12 22:19:22.000000000","message":"For future reference, I think this would look better as:\n\n    request_spec \u003d {\n        \u0027instance_properties\u0027: {\u0027uuid\u0027: instance[\u0027uuid\u0027]},\n    }","commit_id":"f396f75d14f9da97a566e2e5607f537b07a6803a"}],"nova/tests/scheduler/test_scheduler.py":[{"author":{"_account_id":1970,"name":"Jacob Wen","email":"wenjianhn@gmail.com","username":"wenjianhn"},"change_message_id":"fcade53ca85522b6cb0267af4e3f86c6c20938a8","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def test_live_migration_set_vmstate_error(self):"},{"line_number":281,"context_line":"        inst \u003d {\"uuid\": \"fake-instance-id\","},{"line_number":282,"context_line":"                \"vm_state\": vm_states.ERROR, }"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        dest \u003d \u0027fake_host\u0027"},{"line_number":285,"context_line":"        block_migration \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FsE0%3D","line":282,"updated":"2013-05-27 00:55:02.000000000","message":"Should be \"vm_state\": vm_states.ACTIVE,","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"745897a6393b62d1b05a85f86c8352b30d917cad","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def test_live_migration_set_vmstate_error(self):"},{"line_number":281,"context_line":"        inst \u003d {\"uuid\": \"fake-instance-id\","},{"line_number":282,"context_line":"                \"vm_state\": vm_states.ERROR, }"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        dest \u003d \u0027fake_host\u0027"},{"line_number":285,"context_line":"        block_migration \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2Fql0%3D","line":282,"in_reply_to":"AAAAPH%2F%2Fq%2BU%3D","updated":"2013-05-28 08:18:39.000000000","message":"Done","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":1970,"name":"Jacob Wen","email":"wenjianhn@gmail.com","username":"wenjianhn"},"change_message_id":"f26513b77ada86e92bc87b7a2ac1315a2d804d1b","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def test_live_migration_set_vmstate_error(self):"},{"line_number":281,"context_line":"        inst \u003d {\"uuid\": \"fake-instance-id\","},{"line_number":282,"context_line":"                \"vm_state\": vm_states.ERROR, }"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        dest \u003d \u0027fake_host\u0027"},{"line_number":285,"context_line":"        block_migration \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2Fq%2BU%3D","line":282,"in_reply_to":"AAAAPH%2F%2Frik%3D","updated":"2013-05-28 01:41:23.000000000","message":"Then why did you call live_migration with a instance in ERROR state in this test? Unit test is a good way to know how the function works. Don\u0027t just make the test pass.","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":1970,"name":"Jacob Wen","email":"wenjianhn@gmail.com","username":"wenjianhn"},"change_message_id":"517ea9da9442013c1e90e61f61248c1241779141","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def test_live_migration_set_vmstate_error(self):"},{"line_number":281,"context_line":"        inst \u003d {\"uuid\": \"fake-instance-id\","},{"line_number":282,"context_line":"                \"vm_state\": vm_states.ERROR, }"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        dest \u003d \u0027fake_host\u0027"},{"line_number":285,"context_line":"        block_migration \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FsBY%3D","line":282,"in_reply_to":"AAAAPH%2F%2FsB8%3D","updated":"2013-05-27 02:20:35.000000000","message":"This is not a valid test, if before live_migration the vm_state is already ERROR.","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4d67320eb48814d5d44a19c305651674e3b0323d","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def test_live_migration_set_vmstate_error(self):"},{"line_number":281,"context_line":"        inst \u003d {\"uuid\": \"fake-instance-id\","},{"line_number":282,"context_line":"                \"vm_state\": vm_states.ERROR, }"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        dest \u003d \u0027fake_host\u0027"},{"line_number":285,"context_line":"        block_migration \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2Frik%3D","line":282,"in_reply_to":"AAAAPH%2F%2FsBY%3D","updated":"2013-05-27 13:29:30.000000000","message":"live migration cannot migrate VM which is in ERROR state","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"eb9d01407978dbf24550b3676ed53f08b929fe69","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def test_live_migration_set_vmstate_error(self):"},{"line_number":281,"context_line":"        inst \u003d {\"uuid\": \"fake-instance-id\","},{"line_number":282,"context_line":"                \"vm_state\": vm_states.ERROR, }"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        dest \u003d \u0027fake_host\u0027"},{"line_number":285,"context_line":"        block_migration \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FsB8%3D","line":282,"in_reply_to":"AAAAPH%2F%2FsE0%3D","updated":"2013-05-27 02:10:08.000000000","message":"No, we should use ERROR since the final VM state is ERROR for such case. Thanks.","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":1970,"name":"Jacob Wen","email":"wenjianhn@gmail.com","username":"wenjianhn"},"change_message_id":"517ea9da9442013c1e90e61f61248c1241779141","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                    inst, dest, block_migration, disk_over_commit).AndRaise("},{"line_number":294,"context_line":"                    ValueError)"},{"line_number":295,"context_line":"        db.instance_update_and_get_original(self.context, inst[\"uuid\"],"},{"line_number":296,"context_line":"                                {\"vm_state\": inst[\u0027vm_state\u0027],"},{"line_number":297,"context_line":"                                }).AndReturn((inst, inst))"},{"line_number":298,"context_line":"        compute_utils.add_instance_fault_from_exc(self.context,"},{"line_number":299,"context_line":"                                mox.IsA(conductor_api.LocalAPI), inst,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2FsBE%3D","line":296,"updated":"2013-05-27 02:20:35.000000000","message":"vm_states.ERROR here?","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4d67320eb48814d5d44a19c305651674e3b0323d","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                    inst, dest, block_migration, disk_over_commit).AndRaise("},{"line_number":294,"context_line":"                    ValueError)"},{"line_number":295,"context_line":"        db.instance_update_and_get_original(self.context, inst[\"uuid\"],"},{"line_number":296,"context_line":"                                {\"vm_state\": inst[\u0027vm_state\u0027],"},{"line_number":297,"context_line":"                                }).AndReturn((inst, inst))"},{"line_number":298,"context_line":"        compute_utils.add_instance_fault_from_exc(self.context,"},{"line_number":299,"context_line":"                                mox.IsA(conductor_api.LocalAPI), inst,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPH%2F%2Frig%3D","line":296,"in_reply_to":"AAAAPH%2F%2FsBE%3D","updated":"2013-05-27 13:29:30.000000000","message":"Yes, because this is a case to simulate set vm state to error","commit_id":"4208f6c28911ec912cd5ae1e9d2a1d9876dcbe32"}]}
