Skip to content

Disable pages_update_legacy_storage feature flag on gitlab.com

What

Disable the :pages_update_legacy_storage feature flag ...

Note: this change is partially irreversible. Once we stop updating legacy storage, it may become inconsistent, so it will be hard to re-enable it.

We don't serve from legacy storage for a few weeks already

There are only 2 project we even attempt to serve from legacy storage: https://log.gprd.gitlab.net/goto/10fcf832114f9f6540daba72a16141f2, both of them failed to be deleted.

At the moment I don't know what else we should check.

I tested this on staging

  1. disabled legacy storage
  2. deployed pages
  3. removed pages
  4. redeployed pages
  5. renamed project
  6. moved project to another group
  7. finally removed project

No DiskAccessDenied were raised and pages were successfully viewed except for the case when I removed them.

The exception is being reported successfully though: https://sentry.gitlab.net/gitlab/staginggitlabcom/issues/2582490/?environment=gstg, so I think tests on staging are successful

Owners

  • Team: Release
  • Most appropriate slack channel to reach out to: #gitlab-pages
  • Best individual to reach out to: @vshushlin

Expectations

What are we expecting to happen?

What might happen if this goes wrong?

What can we monitor to detect problems with this?

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-org/gitlab-com groups
  • ...

Roll Out Steps

  • Confirm that QA tests pass with the feature flag enabled (if you're unsure how, contact the relevant stable counterpart in the Quality department)
  • Enable on staging (/chatops run feature set feature_name true --staging)
  • Test on staging
  • Ensure that documentation has been updated
  • Enable on GitLab.com for individual groups/projects listed above and verify behaviour (/chatops run feature set --project=gitlab-org/gitlab feature_name 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 feature_name 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
  • 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 pages_update_legacy_storage true
Edited by Vladimir Shushlin