Repository::WriteRef AT

~Conversation: #748 (closed)

See the Migration Process documentation for more information on the Acceptance Testing stage of the process.

Details

  • Feature Toggle Name: gitaly_write_ref
  • GRPC Service: RepositoryService::WriteRef
  • Required Gitaly Version: vX.X.X
  • Required GitLab Version: vX.X

1. Preparation

  • Routes: what routes use this migration?
    1. Please list a set of routes that are known to use this endpoint...
    2. ...
    3. ...

2. Development Trial

Check Dev Server Versions

Enable on dev.gitlab.org:

Then leave running while monitoring and performing some testing through web, api or SSH.

Monitor (initially )

Continue?

  • On unexpectedly high calls rates, error rates, CPU activity, etc, disable trial immediately with !feature-set gitaly_write_ref false in #dev-gitlab otherwise leave running and proceed proceed to next stage.

3. Staging Trial

Check Staging Server Versions

Enable on staging.gitlab.com

Then leave running while monitoring for at least 15 minutes while performing some testing through web, api or SSH.

Monitor (at least every 5 minutes, preferably real-time)

Continue?

  • On unexpectedly high calls rates, error rates, CPU activity, etc, disable trial immediately using !feature-set gitaly_write_ref false in #development otherwise leave running and proceed to next stage.

4. Production Server Version Check

5. Initial Impact Check

  • Create an issue in the infrastructure tracker: Create issue now
  • Set Gitaly to 1% using the command /chatops run feature set gitaly_write_ref 1 in #production

Then leave running while monitoring for at least 15 minutes while performing some testing through web, api or SSH.

Monitor (at least every 5 minutes, preferably real-time)

Continue?

  • On unexpectedly high calls rates, error rates, CPU activity, etc, disable trial immediately with !feature-set gitaly_write_ref false in #production otherwise leave running and proceed to next stage.

6. Low Impact Trial

  • Set Gitaly to 5% using the command /chatops run feature set gitaly_write_ref 5 in #production

Then leave running while monitoring for at least 2 hours.

Monitor (at least every 20 minutes)

Continue?

  • On unexpectedly high calls rates, error rates, CPU activity, etc, disable trial immediately with !feature-set gitaly_write_ref false in #production otherwise leave running and proceed to next stage.

7. Mid Impact Trial

  • Set Gitaly to 50% using the command /chatops run feature set gitaly_write_ref 50 in #production

Then leave running while monitoring for at least 24 hours.

Monitor (at least every few hours)

Continue?

  • On unexpectedly high calls rates, error rates, CPU activity, etc, disable trial immediately with !feature-set gitaly_write_ref false in #production otherwise leave running and proceed to next stage.

8. Full Impact Trial

  • Set Gitaly to 100% using the command /chatops run feature set gitaly_write_ref 100 in #production

Then leave running while monitoring for at least 1 week.

Monitor (at least every day)

Success?

  • Close this issue and mark the ~Conversation as ~"Migration:Opt-In"
Edited by Zeger-Jan van de Weg
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information