Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
GitLab
GitLab
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 37,115
    • Issues 37,115
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,403
    • Merge requests 1,403
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Issues
  • #323166

Closed
Open
Created Mar 02, 2021 by Shinya Maeda@shinya.maeda💡Maintainer11 of 11 tasks completed11/11 tasks

[Feature flag] Rollout of `environment_tier`

What

Remove the :environment_tier feature flag ...

Owners

  • Team: devopsrelease
  • Most appropriate slack channel to reach out to: #s_release
  • Best individual to reach out to: @shinya.maeda

Expectations

What are we expecting to happen?

By enabling the feature flag, the newly added environments.tier attribute will be automatically guessed/filled by the Deployments::UpdateEnvironmentWorker or Seed::Environment (i.e. pipeline creation).

You can see the full implementation in this MR.

What might happen if this goes wrong?

If the logic to set the tier on the application runtime has a problem, the process to create environments and pipelines (specifically with environment: keywords at jobs) could be aborted by an exception.

What can we monitor to detect problems with this?

We can monitor Sentry that there is no exception spike.

Beta groups/projects

If applicable, any groups/projects that are happy to have this feature turned on early. Some organizations may wish to test big changes they are interested in with a small subset of users ahead of time for example.

  • gitlab-org/gitlab project
  • gitlab-com/www-gitlab-com project

Roll Out Steps

  • Enable on staging (/chatops run feature set environment_tier true --staging)
  • Test on staging
  • [-] Ensure that documentation has been updated => documentation will be added upon the feature flag removal.
  • Enable on GitLab.com for individual groups/projects listed above and verify behaviour (/chatops run feature set --project=gitlab-org/gitlab environment_tier true)
  • Coordinate a time to enable the flag with the SRE oncall and release managers
    • In #production mention @sre-oncall and @release-managers. Once an SRE on call and Release Manager on call confirm, you can proceed with the rollout
  • Announce on the issue an estimated time this will be enabled on GitLab.com
  • Enable on GitLab.com by running chatops command in #production (/chatops run feature set environment_tier true)
  • Cross post chatops Slack command to #support_gitlab-com (more guidance when this is necessary in the dev docs) and in your team channel
  • Announce on the issue that the flag has been enabled
  • Remove feature flag and add changelog entry. Ensure that the feature flag definition YAML file has been removed in the same MR that is removing the feature flag from the code
  • After the flag removal is deployed, clean up the feature flag by running chatops command in #production channel

Rollback Steps

  • This feature can be disabled by running the following Chatops command:
/chatops run feature set --project=gitlab-org/gitlab environment_tier false
Edited Mar 17, 2021 by Shinya Maeda
Assignee
Assign to
13.10
Milestone
13.10 (Past due)
Assign milestone
Time tracking