Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-01-12 17:47:34 +0300
committerÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-01-18 19:50:49 +0300
commit86c8480e89b290af7d30dd5d5d09a53df8b107a8 (patch)
tree7df4aec9a628248c9ce429d348d8fcd67b039e1e
parent424c584cbe67d640705122802087ced5a4b728f4 (diff)
Feature flag rollout doc: expand on post-100% steps
Add more steps reflecting what we need to do after we have the feature at 100%. Includes a paraphrased version of what I noted in my a96949aef (Enable feature flag go_user_delete_{branch,tag} by default, 2021-01-12) as part of https://gitlab.com/gitlab-org/gitaly/-/merge_requests/2994
-rw-r--r--.gitlab/issue_templates/Feature Flag Roll Out.md3
-rw-r--r--doc/PROCESS.md21
2 files changed, 24 insertions, 0 deletions
diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md
index e925767d7..a46e95e27 100644
--- a/.gitlab/issue_templates/Feature Flag Roll Out.md
+++ b/.gitlab/issue_templates/Feature Flag Roll Out.md
@@ -57,6 +57,9 @@ If applicable, any groups/projects that are happy to have this feature turned on
- [ ] Enable on GitLab.com by running chatops command in `#production` ([howto](https://gitlab.com/gitlab-org/gitaly/-/blob/master/doc/PROCESS.md#enable-in-production))
- [ ] Cross post chatops slack command to `#support_gitlab-com` and in your team channel
- [ ] Announce on the issue that the flag has been enabled
+- [ ] Submit a MR to have the feature `OnByDefault: true` and add changelog entry ([howto](https://gitlab.com/gitlab-org/gitaly/-/blob/master/doc/PROCESS.md#feature-lifecycle-after-it-is-live))
+- [ ] Have that MR merged
+- [ ] Possibly wait for at least one deployment cycle ([howto](https://gitlab.com/gitlab-org/gitaly/-/blob/master/doc/PROCESS.md#two-phase-ruby-to-go-rollouts))
- [ ] Remove feature flag and add changelog entry
- [ ] Close this issue
diff --git a/doc/PROCESS.md b/doc/PROCESS.md
index 59e2d989a..171bac470 100644
--- a/doc/PROCESS.md
+++ b/doc/PROCESS.md
@@ -185,6 +185,27 @@ Nobody's better off if you wait 10 hours at 1% to get error data you
could have waited 1 hour at 10% to get, or just over 10 minutes with
close monitoring at 50%.
+#### Feature lifecycle after it is live
+
+##### Discussion
+
+After a feature is running at `100%` for what ever's deemed to be a
+safe amount of time we should change it to be `OnByDefault: true`. See
+[this MR for an example][example-on-by-default-mr].
+
+[example-on-by-default-mr]: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/2994
+
+##### Two phase Ruby to Go rollouts
+
+Depending on what the feature does it may be bad to remove the `else`
+branch where we have the feature disabled at this point. E.g. if it's
+a rewrite of Ruby code in Go.
+
+As we deploy the Ruby code might be in the middle of auto-restarting,
+so we could remove its code before the Go code has a chance to update
+with its default, and would still want to call it. So therefore you
+need to do any such removal in two gitlab.com release cycles.
+
### Gitaly Releases
Gitaly releases are tagged automatically by