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
path: root/doc
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-02-25 13:33:04 +0300
committerÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-02-25 14:59:04 +0300
commit100fb6668c0b80b90a20c6508eba8efe5a7ece17 (patch)
treeb4c22e3e324c63d7019bb5d0a9d986f14e433cc9 /doc
parent938a75444ca047ce99abf0faf97f1062b6ffcf8d (diff)
Feature flag rollout docs: clarify doc & checklist WRT removal steps
It wasn't clear from the existing checklist item added in 2d9d7f9c9 (Add roll out issue template, 2019-06-11) what the removal steps are, and what "remove feature flag" meant. Split this up into steps where we discuss the removal from the codebase, and what changelog entries we expect there, and then discuss how to remove the feature via chatops.
Diffstat (limited to 'doc')
-rw-r--r--doc/PROCESS.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/PROCESS.md b/doc/PROCESS.md
index e8f8e6eb6..652bc73ff 100644
--- a/doc/PROCESS.md
+++ b/doc/PROCESS.md
@@ -222,6 +222,17 @@ 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].
+We should add a changelog entry when `OnByDefault: true` is flipped.
+
+That should then be followed up by another MR to remove the
+pre-feature code from the codebase, and we should add another
+changelog entry when doing that.
+
+This is because even after setting `OnByDefault: true` users might
+still have opted to disable the new feature. See [the discussion
+below](#two-phase-ruby-to-go-rollouts)) for possibly needing to do
+such changes over multiple releases.
+
[example-on-by-default-mr]: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3033
##### Two phase Ruby to Go rollouts
@@ -242,6 +253,28 @@ two-phase removal.
[example-on-by-default-mr]: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3033
[example-post-go-ruby-code-removal-mr]: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3056
+##### Remove the feature flag via chatops
+
+After completing the above steps the feature flag should be deleted
+from the database of available features via `chatops`.
+
+If you don't do this others will continue to see the features with
+e.g.:
+
+ /chatops run feature list --match=gitaly_
+
+It also incrementally adds to data that needs to be fetched &
+populated on every request.
+
+To remove the flag first sanity check that it's the feature you want,
+that it's at [`100%` and is `true`](#enable-in-production):
+
+ /chatops run feature get gitaly_X
+
+Then delete it if that's the data you're expecting:
+
+ /chatops run feature delete gitaly_X
+
### Gitaly Releases
Gitaly releases are tagged automatically by