Skip to content

Prevent deletion of project_bot users with non-expiring access tokens

What does this MR do and why?

Backport of !182621 (merged) to 17.9

In #471683 (closed) we implemented cron worker ResourceAccessTokens::InactiveTokensDeletionCronWorker that deletes project_bot users whose all tokens became inactive more than 30 days ago or without tokens.

#521001 (closed) reported that for GitLab Self-Managed instances that disabled require_personal_access_token_expiry setting and use non-expiring access tokens, the cron worker deletes non-expiring project/group access tokens and related project_bot users.

This MR resolves this issue and amends existing test related to the cron worker to confirm the fix and prevent regression in the future.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

  • This MR is backporting a bug fix, documentation update, or spec fix, previously merged in the default branch.
  • The MR that fixed the bug on the default branch has been deployed to GitLab.com (not applicable for documentation or spec changes).
  • This MR has a severity label assigned (if applicable).
  • Set the milestone of the merge request to match the target backport branch version.
  • This MR has been approved by a maintainer (only one approval is required).
  • Ensure the e2e:test-on-omnibus-ee job has either succeeded or been approved by a Software Engineer in Test.

Note to the merge request author and maintainer

If you have questions about the patch release process, please:

Edited by Bogdan Denkovych

Merge request reports

Loading