Loss of GitLab subscription disables mirrors stopping them from being updated/decremented

Right now the method we use to check if a mirror is enabled is https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/models/ee/project.rb#L96 which checks if the user has a valid license in order to use pull mirror feature

If the license is revoked this could end up conflicting with the state machine used for the pull mirror lifecycle as seen in https://gitlab.com/gitlab-org/gitlab-ee/blob/master/ee/app/models/ee/project/import_status_state_machine.rb#L24

Proposed fix

Have a separate check for the state machine that only checks the attribute instead of checking if the user is allowed to perform that action as well

\cc @DouweM

Assignee Loading
Time tracking Loading