)]}'
{"watcher/applier/actions/migration.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"d8740ecbac5c3213265c23d3a655228103a808e8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            voluptuous.Required(self.RESOURCE_ID): self.check_resource_id,"},{"line_number":78,"context_line":"            voluptuous.Required(self.MIGRATION_TYPE,"},{"line_number":79,"context_line":"                                default\u003dself.LIVE_MIGRATION):"},{"line_number":80,"context_line":"                                    voluptuous.Any(*[self.LIVE_MIGRATION]),"},{"line_number":81,"context_line":"            voluptuous.Required(self.DST_HYPERVISOR):"},{"line_number":82,"context_line":"                voluptuous.All(voluptuous.Any(*six.string_types),"},{"line_number":83,"context_line":"                               voluptuous.Length(min\u003d1)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_059dcabb","line":80,"range":{"start_line":80,"start_character":50,"end_line":80,"end_character":72},"updated":"2016-03-31 13:34:01.000000000","message":"shouldn\u0027t you add the cold migration here as well?\n\nCan you actually add a unit test that checks this btw?","commit_id":"ed4ade39fc2b1451f58d6f9b1fd3b521a5026a9d"},{"author":{"_account_id":20969,"name":"Vojtech Cima","email":"cima@zhaw.ch","username":"vojtechcima"},"change_message_id":"a373340685208ec0606c2b0e01b279696aa7fd3e","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            voluptuous.Required(self.RESOURCE_ID): self.check_resource_id,"},{"line_number":78,"context_line":"            voluptuous.Required(self.MIGRATION_TYPE,"},{"line_number":79,"context_line":"                                default\u003dself.LIVE_MIGRATION):"},{"line_number":80,"context_line":"                                    voluptuous.Any(*[self.LIVE_MIGRATION]),"},{"line_number":81,"context_line":"            voluptuous.Required(self.DST_HYPERVISOR):"},{"line_number":82,"context_line":"                voluptuous.All(voluptuous.Any(*six.string_types),"},{"line_number":83,"context_line":"                               voluptuous.Length(min\u003d1)),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_3d33c263","line":80,"range":{"start_line":80,"start_character":50,"end_line":80,"end_character":72},"in_reply_to":"ba0121b8_059dcabb","updated":"2016-03-31 14:20:10.000000000","message":"Yep, sorry I missed that. There already was an unit test using \u0027cold\u0027 migration type to raise an unsupported type exception and as cold migration option has not been added here the exception raised as expected and hence passed the unit test.","commit_id":"ed4ade39fc2b1451f58d6f9b1fd3b521a5026a9d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"d8740ecbac5c3213265c23d3a655228103a808e8","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            result \u003d nova.watcher_non_live_migrate_instance("},{"line_number":134,"context_line":"                        instance_id\u003dself.instance_uuid,"},{"line_number":135,"context_line":"                        dest_hostname\u003ddestination)"},{"line_number":136,"context_line":"        except Exception:"},{"line_number":137,"context_line":"            LOG.critical(_LC(\"Unexpected error occured. Migration failed for\""},{"line_number":138,"context_line":"                             \"instance %s. Leaving instance on previous \""},{"line_number":139,"context_line":"                             \"host.\"), self.instance_uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_45c862a8","line":136,"range":{"start_line":136,"start_character":8,"end_line":136,"end_character":25},"updated":"2016-03-31 13:34:01.000000000","message":"can you add a LOG.exception(exc) below this like:\n\nexcept Exception as exc:\n    LOG.exception(exc)\n    [...]","commit_id":"ed4ade39fc2b1451f58d6f9b1fd3b521a5026a9d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"d8740ecbac5c3213265c23d3a655228103a808e8","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                  destination)"},{"line_number":147,"context_line":"        instance \u003d nova.find_instance(self.instance_uuid)"},{"line_number":148,"context_line":"        if instance:"},{"line_number":149,"context_line":"            if self.migration_type \u003d\u003d \u0027live\u0027:"},{"line_number":150,"context_line":"                return self._live_migrate_instance(nova, destination)"},{"line_number":151,"context_line":"            elif self.migration_type \u003d\u003d \u0027cold\u0027:"},{"line_number":152,"context_line":"                return self._cold_migrate_instance(nova, destination)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_85227a50","line":149,"range":{"start_line":149,"start_character":38,"end_line":149,"end_character":44},"updated":"2016-03-31 13:34:01.000000000","message":"nit: can you swap this value with the LIVE_MIGRATION constant here please?","commit_id":"ed4ade39fc2b1451f58d6f9b1fd3b521a5026a9d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"d8740ecbac5c3213265c23d3a655228103a808e8","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if instance:"},{"line_number":149,"context_line":"            if self.migration_type \u003d\u003d \u0027live\u0027:"},{"line_number":150,"context_line":"                return self._live_migrate_instance(nova, destination)"},{"line_number":151,"context_line":"            elif self.migration_type \u003d\u003d \u0027cold\u0027:"},{"line_number":152,"context_line":"                return self._cold_migrate_instance(nova, destination)"},{"line_number":153,"context_line":"            else:"},{"line_number":154,"context_line":"                raise exception.Invalid("}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_a567beb5","line":151,"range":{"start_line":151,"start_character":40,"end_line":151,"end_character":46},"updated":"2016-03-31 13:34:01.000000000","message":"nit: can you make this a COAL_MIGRATION constant?","commit_id":"ed4ade39fc2b1451f58d6f9b1fd3b521a5026a9d"},{"author":{"_account_id":8358,"name":"zhangguoqing","email":"zhang.guoqing@99cloud.net","username":"zhangguoqing"},"change_message_id":"59bbed01a52bf4b7023f3e909cfa9e572ae6f91e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    \"\"\"Migrates a server to a destination nova-compute host"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    This action will allow you to migrate a server to another compute"},{"line_number":37,"context_line":"    destination host. As of now, only live migration can be performed using"},{"line_number":38,"context_line":"    this action."},{"line_number":39,"context_line":"    .. If either host uses shared storage, you can use ``live``"},{"line_number":40,"context_line":"    .. as ``migration_type``. If both source and destination hosts provide"},{"line_number":41,"context_line":"    .. local disks, you can set the block_migration parameter to True (not"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_1c115e52","line":38,"range":{"start_line":37,"start_character":22,"end_line":38,"end_character":16},"updated":"2016-04-08 02:29:36.000000000","message":"It should be deleted. or\nAs of now, live and cold migration can be performed using this action.","commit_id":"ce7b44db79733a327ae3ad46215390c5852b03fd"},{"author":{"_account_id":8358,"name":"zhangguoqing","email":"zhang.guoqing@99cloud.net","username":"zhangguoqing"},"change_message_id":"59bbed01a52bf4b7023f3e909cfa9e572ae6f91e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"         \u0027src_hypervisor\u0027: str,"},{"line_number":51,"context_line":"        })"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    The `resource_id` is the UUID of the server to migrate. Only live migration"},{"line_number":54,"context_line":"    is supported."},{"line_number":55,"context_line":"    The `src_hypervisor` and `dst_hypervisor` parameters are respectively the"},{"line_number":56,"context_line":"    source and the destination compute hostname (list of available compute"},{"line_number":57,"context_line":"    hosts is returned by this command: ``nova service-list --binary"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a061dce_7c1cda69","line":54,"range":{"start_line":53,"start_character":59,"end_line":54,"end_character":17},"updated":"2016-04-08 02:29:36.000000000","message":"ditto","commit_id":"ce7b44db79733a327ae3ad46215390c5852b03fd"}]}
