Customer reports needing resync licence to get Code Suggestions working when upgrading from 17.0.4 -> 17.1.4
Report from @bpark1 on Slack:
https://gitlab.slack.com/archives/C06841NNQNS/p1724266124449749
I have a customer who is evaluating Duo (primarily Code Suggestions). We kicked off a trial on a self-managed instance and the customer was able to apply Duo licenses to users. The customer then upgraded their GitLab instance (from 17.0.4 -> 17.1.4) and noticed that Code Suggestions was failing with authentication for all users. The customer was able to resolve the issue by "manually syncing duo licenses", but is concerned that this will be a blocker for subsequent upgrades.Is this a know behavior for self-managed upgrade scenarios, or at least, for these specific versions? If it is expected behavior, will this manual syncing be a necessary step for all upgrades, and will this be added as part of our documentation?
Next steps
- Try to reproduce the issue by setting up a 17.0.4 instance and getting it working, then upgrade it to 17.1.4
- Could potentially try running @nmilojevic1's script on the instance to see what it shows
- If we can repro
- Establish if the bug is still present in the latest code, and fix if so
- Update documentation to describe the workaround for older version upgrades
Root Cause Update (2024-08-23)
We established there is a behaviour introduced in 17.1 that requires customers to resync the first time they upgrade to 17.1 or above. This problem was exacerbated by another issue that meant that the bad config would persist in a 17.1 instance until an instance restart. This secondary issue has now been fixed in 17.2.4 and above, so only a licence resync is required in versions higher than that (and will happen automatically within 24 hours if no action is taken).
Summary of upgrade scenarios:
If a customer is on 17.0 or below they will experience this issue when they upgrade to 17.1 or above. Once they have resolved this issue by carrying out the steps below, there will be no need to resync/restart on subsequent upgrades, it is a one time problem.
If they upgrade to 17.1, they are affected by the problem introduced by !153124 (merged) and also the memoization issue, so they must resync licence, then restart the instance. (because the memoization problem means the bug will be persisted until restart).
If they go to the latest released version of 17.2 or above, the memoization issue has been fixed, but the issue introduced by !153124 (merged) is still present so the customer must resync their licence after upgrade (or wait until the next scheduled resync happens within 24 hours).
TODO #480328 (comment 2073251877)
I think updating at 2 places should suffice, since thats where we are used to digging first before raising Support tickets with Customer.
https://docs.gitlab.com/ee/update/versions/gitlab_17_changes.html
https://docs.gitlab.com/ee/user/project/repository/code_suggestions/troubleshooting.html