Skip to content

Move deprovisioning of paid group and project features

What does this MR do and why?

Part of Move deprovisioning of paid group and project f... (#434461 - closed)

Prior to this change, the deprovisioning of paid group and project features happened within the transaction to update the group or project. This put a heavy load on the transaction and also made the deprovisioning of pipeline subscriptions buggy. The bug was caused by relying on a triggerer (group or project) to schedule the deprovisioning with a run_after_commit hook.

This change moves the deprovisioning out of the transaction and triggers it after the transaction has completed (as suggested here and here). The bug when deprovisioning is removed as part of this move by removing the run_after_commit hook.

How to set up and validate locally

Follow these steps but make sure to purchase an Ultimate subscription or the paid group won't be able to create test cases. The created groups/projects should also be public for the pipeline subscription part. Follow the logs or if you want to use the UI, move the group back to the paid group after the initial transfer to verify the deprovisioning worked.

Additional notes for the paid subgroup that will be used for the transfer:

  • Test cases can be created under the sub group's url with the addition of /-/quality/test_cases to it.
  • Pipeline subscriptions can be added under the sub group's url with the addition of /-/settings/ci_cd. The Pipeline subscriptions section includes a Subscriptions list where you can subscribe to a public project.
  • Access tokens can be created under the sub group's url with the addition of /-/settings/access_tokens to it.

MR acceptance checklist

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

Edited by Corinna Gogolok

Merge request reports