Skip to content

Acceptance Testing: SSH::SSHReceivePack

~Conversation: #349 (closed)

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

Blocked on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12730 getting picked into 9.4-stable, and figuring out what to do with the git-hooks...

Details


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:

  • !feature-set gitaly_ssh_receive_pack true in #dev-gitlab

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_ssh_receive_pack 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_ssh_receive_pack false in #development otherwise leave running and proceed to next stage.

4. Production Server Version Check

5. Initial Impact Check

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_ssh_receive_pack false in #production otherwise leave running and proceed to next stage.

6. Low Impact Trial

  • Set Gitaly to 5% using the command !feature-set gitaly_ssh_receive_pack 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_ssh_receive_pack false in #production otherwise leave running and proceed to next stage.

7. Mid Impact Trial

  • Set Gitaly to 50% using the command !feature-set gitaly_ssh_receive_pack 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_ssh_receive_pack false in #production otherwise leave running and proceed to next stage.

8. Full Impact Trial

  • Set Gitaly to 100% using the command !feature-set gitaly_ssh_receive_pack 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 Andrew Newdigate
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information