Skip to content

[Feature flag] Rollout of `ci_fix_pipeline_status_for_dag_needs_manual`

What

  • Remove project param from Gitlab::Ci::Status::Composite.initialize (maybe don't remove)

  • Remove project param from Ci::HasStatus.composite_status (maybe don't remove)

  • Remove the :ci_fix_pipeline_status_for_dag_needs_manual feature flag ...

  • Feature issue: #31264 (closed)

  • Introduced in: !53476 (merged)

Owners

Expectations

What are we expecting to happen?

We are expecting pipelines not to stuck in "created" or "running" state anymore.

What might happen if this goes wrong?

Some jobs can be skipped although they should run.

What can we monitor to detect problems with this?

This is a behavioral change, so we cannot monitor via Sentry/Logs/Data...

However, since this change affects the play of jobs, we should not see an increase of 500 response in Projects::JobsController#play => https://log.gprd.gitlab.net/goto/f792eac30b3c85a57132eb0326f30e7a

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

  • Enable on staging (/chatops run feature set ci_fix_pipeline_status_for_dag_needs_manual 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 ci_fix_pipeline_status_for_dag_needs_manual 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 ci_fix_pipeline_status_for_dag_needs_manual 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 ci_fix_pipeline_status_for_dag_needs_manual false
Edited by Furkan Ayhan