Cleanup migration error when retrying a failed import

Problem

While testing in &7528 (comment 885468323), I realized that we're not clearing the migration_error of a repository when retrying a failed (pre)import:

Before:

gitlabhq_registry=> select * from repositories where path = 'jdrpereira/27441/foo';
-[ RECORD 1 ]----------+-----------------------------------------------------------------------------------------------------
id                     | 311837
top_level_namespace_id | 108527
parent_id              |
created_at             | 2022-03-30 15:46:09.307931+00
updated_at             | 2022-03-30 15:46:09.907941+00
name                   | foo
path                   | jdrpereira/27441/foo
migration_status       | pre_import_failed
deleted_at             |
migration_error        | 1 error occurred:                                                                                   +
                       |         * pre importing tagged manifests: reading tags: unknown repository name=jdrpereira/27441/foo+
                       |                                                                                                     +
                       |

after retry:

gitlabhq_registry=> select * from repositories where path = 'jdrpereira/27441/foo';
-[ RECORD 1 ]----------+-----------------------------------------------------------------------------------------------------
id                     | 311837
top_level_namespace_id | 108527
parent_id              |
created_at             | 2022-03-30 15:46:09.307931+00
updated_at             | 2022-04-01 15:07:27.336283+00
name                   | foo
path                   | jdrpereira/27441/foo
migration_status       | pre_import_in_progress
deleted_at             |
migration_error        | 1 error occurred:                                                                                   +
                       |         * pre importing tagged manifests: reading tags: unknown repository name=jdrpereira/27441/foo+
                       |                                                                                                     +
                       |

Solution

Clear migration_error as soon as a (pre)import is retried.

Edited by João Pereira