Skip to content

fix(gocd): remove s4s, mattrobenolt-kube references from pipelines and code#7875

Open
mwarkentin wants to merge 2 commits intomasterfrom
michaelwarkentin/prodeng-738-remove-s4s-from-gocd-pipelines
Open

fix(gocd): remove s4s, mattrobenolt-kube references from pipelines and code#7875
mwarkentin wants to merge 2 commits intomasterfrom
michaelwarkentin/prodeng-738-remove-s4s-from-gocd-pipelines

Conversation

@mwarkentin
Copy link
Copy Markdown
Member

@mwarkentin mwarkentin commented Apr 15, 2026

We killed s4s today, here's my attempt at getting claude to clean up references.. feel free to tear it apart.

Summary

  • Removes s4s (sentry4sentry) health check bash scripts and GoCD pipeline logic that is no longer needed
  • Updates PIPELINE_FIRST_STEP to reference us instead of s4s in both snuba-py and snuba-rs pipelines
  • Cleans up stale mattrobenolt-kube hostname in a trace log parsing example comment
  • Removes outdated s4s reference in a Rust code comment

Test plan

  • Verify GoCD pipelines render correctly without the removed s4s stages
  • Confirm check-migrations.sh works with the updated PIPELINE_FIRST_STEP values

Made with Cursor

…d code

S4S (sentry4sentry) is no longer used. This removes:
- s4s health check bash scripts
- s4s_health_check functions from GoCD pipeline templates
- Updates PIPELINE_FIRST_STEP to reference `us` instead of `s4s`
- Cleans up stale s4s/mattrobenolt-kube references in comments

Made-with: Cursor
@mwarkentin mwarkentin requested a review from a team as a code owner April 15, 2026 01:27
@linear-code
Copy link
Copy Markdown

linear-code Bot commented Apr 15, 2026

self.max_batch_size,
self.max_batch_time,
compute_batch_size,
// we need to enable this to deal with storages where we skip 100% of values, such as
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this means we can update the code? Not sure if there are non-s4s places where this applied.

Comment thread gocd/templates/pipelines/snuba-rs.libsonnet Outdated
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--pipeline", default="deploy-snuba-s4s")
parser.add_argument("--pipeline", default="deploy-snuba-us")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this also be s4s2 here?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mchen-sentry I wasn't sure exactly what this was doing - if it's supposed to be the first stage of the pipeline then yes.

Comment thread gocd/templates/pipelines/snuba-py.libsonnet Outdated
Co-authored-by: Michael Warkentin <mwarkentin@hey.com>
elastic_profile_id: 'snuba',
environment_variables: {
PIPELINE_FIRST_STEP: 'deploy-snuba-py-s4s',
PIPELINE_FIRST_STEP: 'deploy-snuba-py-s4s2',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The PIPELINE_FIRST_STEP variable is set to deploy-snuba-py-s4s2, a non-existent pipeline, instead of the intended deploy-snuba-py-us. This will cause deployment checks to fail.
Severity: CRITICAL

Suggested Fix

Change the value of PIPELINE_FIRST_STEP from 'deploy-snuba-py-s4s2' to 'deploy-snuba-py-us'. A corresponding change should be made in snuba-rs.libsonnet to use 'deploy-snuba-rs-us'.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: gocd/templates/pipelines/snuba-py.libsonnet#L171

Potential issue: The `PIPELINE_FIRST_STEP` variable is incorrectly updated to
`deploy-snuba-py-s4s2` instead of the intended `deploy-snuba-py-us`. This variable is
used by the `check-migrations.sh` script during the `checks` stage of deployments. The
script attempts to fetch deployment history from the GoCD API for the specified
pipeline. Since the `deploy-snuba-py-s4s2` pipeline does not exist, the API call will
fail, causing the script to exit with an error. This failure will block all `snuba-py`
and `snuba-rs` deployments, preventing any new code from reaching production.

Did we get this right? 👍 / 👎 to inform future reviews.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 05ff680. Configure here.

if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--pipeline", default="deploy-snuba-s4s")
parser.add_argument("--pipeline", default="deploy-snuba-us")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default pipeline name likely references nonexistent pipeline

Medium Severity

The default pipeline was changed from deploy-snuba-s4s to deploy-snuba-us, but the GoCD pipeline configs in this repo only define names snuba-py and snuba-rs, which generate pipelines like deploy-snuba-py-{region} and deploy-snuba-rs-{region}. There's no evidence a deploy-snuba-us pipeline exists. Since PIPELINE_FIRST_STEP was updated to deploy-snuba-py-s4s2 and deploy-snuba-rs-s4s2, the reviewers also flagged that this default likely needs to reference an s4s2 pipeline instead.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 05ff680. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants