-
-
Notifications
You must be signed in to change notification settings - Fork 60
gocd: split pipelines, leaving original, update migration check script #7525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gocd: split pipelines, leaving original, update migration check script #7525
Conversation
| checks: { | ||
| elastic_profile_id: 'snuba', | ||
| environment_variables: { | ||
| PIPELINE_FIRST_STEP: 'deploy-snuba-py-s4s', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
other than this line (and some renames) this is essentially a copy of snuba.libsonnet
| checks: { | ||
| elastic_profile_id: 'snuba', | ||
| environment_variables: { | ||
| PIPELINE_FIRST_STEP: 'deploy-snuba-rs-s4s', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
other than this line (and some renames) this is essentially a copy of snuba.libsonnet
scripts/fetch_service_refs.py
Outdated
| if "pipeline-complete" in stage_status_dict: | ||
| return stage_status_dict["pipeline-complete"] == "Passed" | ||
| else: | ||
| return all(status == "Passed" for status in stage_status_dict.values()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You slightly changed this to include the migrate stage in the result from before.
I think we should just keep the result of the pipeline-complete stage and call it a day.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds good to me
When deploying #7510, we encountered a couple problems.
First was that we were checking the health of a pipeline that we deleted (snuba was removed to be replaced with snuba-rs and snuba-py). This was addressed in #7523 which made snuba-py and snuba-rs check the s4s deploys for those pipelines, respectively.
We then found, however, that
checkswas checking if every stage in a pipeline had executed successfully. We could force bypass this to make a deploy happen, but there was a circular dependency here wherecheckscould only succeed oncecheckshad succeeded. So here I've changedscripts/fetch_service_refs.pyto makecheckssucceed as long as we reach thepipeline-completestage of a region successfully. So the first deploy will have to manually bypasschecksstill but future deploys should proceed unimpeded.In order to reduce gocd-change-deploy thrash, I'm reintroducing the original pipeline (#7510 deleted it while standing up the new ones), which I'm hoping we can just leave paused as we work out remaining kinks. But it eliminates the need to revert if we see any problems
Once we're deploying successfully on the new pipelines we can delete the files: