Renew expired SaaS error: Subscription is not upgradable

Summary

Coming from MRs !2408 and !2674 to allow renewing expired subscriptions during a grace period. Possibly related to #2574.

Customer has an expired subscription which presents the Renew button because it's within grace period. Clicking that to enter the renew workflow (/subscriptions/A-S00000000/renew) results in

Subscription is not upgradable

The order details can be found in this note.

Steps to reproduce

Try to renew the expired subscription

Relevant logs and/or screenshots

Sentry error states

Errors::NotFoundError: Order not found

Which is thrown by namespace_controller when locating an order.

Possibly, due to .with_self_service_gitlab_plan scoping orders to Plan.self_service_gitlab_com_plans:

    @@self_service_gitlab_com_plans ||= DEPRECATED_SAAS_GITLAB_PLANS +
      [PREMIUM_SAAS_1_YEAR_PLAN, ULTIMATE_SAAS_1_YEAR_PLAN]

None of which appear to contain FREE_PLAN, which the expired order is set to via product_rate_plan_id: "free-plan-id".

Workarounds

  • Sales assisted
  • Purchase new subscription

Reported examples

  1. https://gitlab.zendesk.com/agent/tickets/204835
  2. https://gitlab.zendesk.com/agent/tickets/206351
  3. https://gitlab.zendesk.com/agent/tickets/212091
  4. https://gitlab.zendesk.com/agent/tickets/211449
  5. https://gitlab.zendesk.com/agent/tickets/212874
  6. https://gitlab.zendesk.com/agent/tickets/251911
  7. https://gitlab.zendesk.com/agent/tickets/253597
  8. https://gitlab.zendesk.com/agent/tickets/254719
  9. https://gitlab.zendesk.com/agent/tickets/257772
Edited by Sokunrotanak Srey (Rotanak)