[Feature Flag] SM Release: enable_add_on_users_pagesize_selection

As a part of [Duo Provisioning] Expand UI-based bulk assignm... (&15050 - closed), we would like to allow customers to be able to choose number of user items(20/50/100) shown on Duo eligible users list. This issue covers the rollout procedures of the Feature flag that enables this feature.

This is the Release issue for: #500068 (closed)

(Optional) Release the feature with the feature flag

If you're still unsure whether the feature is deemed stable but want to release it in the current milestone, you can change the default state of the feature flag to be enabled. To do so, follow these steps:

  • Create a merge request with the following changes. Ask for review and merge it.
  • Ensure that the default-enabling MR has been included in the release package. If the merge request was deployed before the monthly release was tagged, the feature can be officially announced in a release blog post.
    • /chatops run release check <merge-request-url> <milestone>
  • Consider cleaning up the feature flag from all environments by running these chatops command in #production channel. Otherwise these settings may override the default enabled.
    • /chatops run feature delete enable_add_on_users_pagesize_selection --dev --staging --staging-ref --production
  • Close [the feature issue][main-issue] to indicate the feature will be released in the current milestone.
  • Set the next milestone to this rollout issue for scheduling the flag removal.
  • (Optional) You can create a separate issue for scheduling the steps below to Release the feature.
    • Set the title to "[Feature flag] Cleanup enable_add_on_users_pagesize_selection".
    • Execute the /copy_metadata <this-rollout-issue-link> quick action to copy the labels from this rollout issue.
    • Link this rollout issue as a related issue.
    • Close this rollout issue.

WARNING: This approach has the downside that it makes it difficult for us to clean up the flag. For example, on-premise users could disable the feature on their GitLab instance. But when you remove the flag at some point, they suddenly see the feature as enabled and they can't roll it back to the previous behavior. To avoid this potential breaking change, use this approach only for urgent matters.

Release the feature

After the feature has been deemed stable, the clean up should be done as soon as possible to permanently enable the feature and reduce complexity in the codebase.

You can either create a follow-up issue for Feature Flag Cleanup or use the checklist below in this same issue.

  • Create a merge request to remove enable_add_on_users_pagesize_selection feature flag. Ask for review and merge it.
    • Remove all references to the feature flag from the codebase.
    • Remove the YAML definitions for the feature from the repository.
    • Create a changelog entry.
  • Ensure that the cleanup MR has been included in the release package. If the merge request was deployed before the monthly release was tagged, the feature can be officially announced in a release blog post.
    • /chatops run release check <merge-request-url> <milestone>
  • Close [the feature issue][main-issue] to indicate the feature will be released in the current milestone.
  • Clean up the feature flag from all environments by running these chatops command in #production channel:
    • /chatops run feature delete enable_add_on_users_pagesize_selection --dev --staging --staging-ref --production
  • Close this rollout issue.

Rollback Steps

  • This feature can be disabled by running the following Chatops command:
/chatops run feature set enable_add_on_users_pagesize_selection false
Edited by Divya Mahadevan