Skip to content

Conversation

@onewland
Copy link
Contributor

@onewland onewland commented Nov 4, 2025

Split out the current deploy pipelines into deploy-snuba-py and deploy-snuba-rs. The goal of this is to set us up for a future where we can only deploy rust consumers when changes are made in the Rust path (reducing the amount of SLO breaches on high-traffic consumers for rebalances).

At this stage, we'll still deploy both with any code change to test. Next, we'll want to change the triggering logic to ignore code changes from irrelevant sources

@onewland onewland changed the title make current deploys into deploy-py [gocd] split current deploys into snuba-deploy-py and snuba-deploy-rs Nov 4, 2025
@onewland onewland changed the title [gocd] split current deploys into snuba-deploy-py and snuba-deploy-rs [gocd] split snuba deploys into snuba-deploy-py and snuba-deploy-rs Nov 4, 2025
Copy link
Member

@volokluev volokluev left a comment

Choose a reason for hiding this comment

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

great start, I do think the migrations need to be removed from the rust stage

--container-name="transactions-consumer-new" \
--container-name="transactions-subscriptions-executor" \
--container-name="transactions-subscriptions-scheduler" \
--container-name="snuba" \
Copy link
Member

Choose a reason for hiding this comment

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

what is this container?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this is a dumb catch-all that just matches everything. If we keep it then it will restart all rust processes

Comment on lines 51 to 53
--container-name="cleanup" \
--container-name="optimize" \
--container-name="cardinality-report"
Copy link
Member

Choose a reason for hiding this comment

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

what's the cleanup job? Seems like you're also removing the cardinality report, which makes sense just unexpected in this PR

Copy link
Contributor Author

@onewland onewland Nov 4, 2025

Choose a reason for hiding this comment

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

I'll add those back in. I was reading some GoCD output and thought they had been deleted but it looks like they may still be defined:

INFO:scripts.k8s.k8s_deploy:Using context gke_internal-sentry_us-central1-b_zdpwkxst.
INFO:scripts.k8s.k8s_deploy:🔎 Looking for cronjobs in namespace 'default', matching label selector 'service=snuba' and with container names ['cleanup', 'optimize', 'cardinality-report']
INFO:scripts.k8s.k8s_deploy:👍 Found 5 matching cronjob(s)

@onewland onewland marked this pull request as ready for review November 4, 2025 22:32
@onewland onewland requested a review from a team as a code owner November 4, 2025 22:32
Copy link
Member

@volokluev volokluev left a comment

Choose a reason for hiding this comment

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

approved but please make the group attributes change

elastic_profile_id: 'snuba',
tasks: [
gocdtasks.script(importstr '../bash/check-github.sh'),
gocdtasks.script(importstr '../bash/check-migrations.sh'),
Copy link
Member

Choose a reason for hiding this comment

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

don't think this stage is necessary

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think we do want migration checks, because I think we want to block a consumer deploy on any migrations having not run in that SHA. If the python pipeline is blocked for some reason, a later rust commit could reach the "front of the line" for a single tenant.

Copy link
Member

Choose a reason for hiding this comment

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

ah fair enough, I recommend putting that in a comment, it's not an intuitive conclusion

@onewland onewland merged commit fc66311 into master Nov 4, 2025
34 checks passed
@onewland onewland deleted the ops/split-py-rs-deploys branch November 4, 2025 23:29
@getsentry-bot
Copy link
Contributor

PR reverted: 5fcd22c

getsentry-bot added a commit that referenced this pull request Nov 4, 2025
onewland added a commit that referenced this pull request Nov 5, 2025
onewland added a commit that referenced this pull request Nov 10, 2025
…take 2) (#7510)

Retrying #7507 which had to be reverted. Hopefully
getsentry/devinfra-deployment-service#800 fixed
the underlying configuration issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants