Skip to content
GitLab
Next
    • Why GitLab
    • Pricing
    • Contact Sales
    • Explore
  • Why GitLab
  • Pricing
  • Contact Sales
  • Explore
  • Sign in
  • Get free trial
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #338347

[Feature flag] Rollout of `pipeline_source_filter`

Summary

This issue is to rollout "filter pipelines by source in API" on production, that is currently behind the pipeline_source_filter feature flag.

This feature lets users pass source as a parameter to list pipelines of a project via API, so that only pipelines caused by the specified source are returned.

Owners

  • Team: grouppipeline execution
  • Most appropriate slack channel to reach out to: #g_pipeline-execution
  • Best individual to reach out to: @matteeyah
  • PM: @jreporter

The Rollout Plan

  • Rollout Feature for everyone as soon as it's ready, and turn off the flag if we see performance issues

Expectations

What are we expecting to happen?

Users being able to filter specific pipelines based on their source.

What might happen if this goes wrong?

Turn off the feature if we see performance issues due to too many DB queries being executed as a result of users using this feature.

What can we monitor to detect problems with this?

https://dashboards.gitlab.net/d/api-rails-controller/api-rails-controller?orgId=1&var-PROMETHEUS_DS=Global&var-environment=gprd&var-stage=main&var-controller=Grape&var-action=GET%20%2Fapi%2Fprojects&var-action=GET%20%2Fapi%2Fprojects%2F:id%2Fpipelines

Rollout Steps

Global rollout on production

  • Enable the feature globally on production environment.
    • /chatops run feature set pipeline_source_filter true
  • Announce on the feature issue that the feature has been globally enabled.
  • Wait for at least one day for the verification term.

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.

  • Create a merge request to remove pipeline_source_filter 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 deployed to both production and canary. If the merge request was deployed before the code cutoff, the feature can be officially announced in a release blog post.
    • /chatops run auto_deploy status <merge-commit-of-cleanup-mr>
  • Close the feature 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 <feature-flag-name> --dev
    • /chatops run feature delete <feature-flag-name> --staging
    • /chatops run feature delete <feature-flag-name>
  • Close this rollout issue.

Rollback Steps

  • This feature can be disabled by running the following Chatops command:
/chatops run feature set pipeline_source_filter false
Edited Sep 01, 2021 by Balasankar 'Balu' C
Assignee
Assign to
Time tracking