-
Notifications
You must be signed in to change notification settings - Fork 539
dra: use a google bucket that contains the elastic qualifier #15350
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
Conversation
|
This pull request does not have a backport label. Could you fix it @v1v? 🙏
|
|
|
| @@ -0,0 +1,80 @@ | |||
| # An opinionated approach to manage the Elatic Qualifier for the DRA in a Google Bucket | |||
| # Instead of using the ELASTIC_QUALIFIER env variable. | |||
| fetch_elastic_qualifier() { | |||
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.
Could a project have different qualifier for the same branch?
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.
Yes!
That's only for the release process, aka Staging. The release team will ask teams to:
- Create an
alpha1qualifier release. - Then a new release with a different qualifier ->
rc1, ...rc2... (let'\s sayrc2is the final one... in this example) - Finally, the release is approved and they will take
rc2as the valid release, hence the Release Team will ask product teams to run theDRA buildwithout a qualifier for the same gitcommit.
We initially supported the env variable called ELASTIC_QUALIFIER, but since this is gonna happen to a bunch of other GitHub repositories, @dliappis and I came up with centralising the qualifier and branch in a Google Bucket. So we update the Google bucket and then the DRA Buildkite pipeline will use it.
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.
so the answer is no, two Elastic Stack projects cannot have a different qualifier for the same branch. When the qualifier for branch X changes to Q, all projects must use the qualifier Q for branch X. Am I right?
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.
Yes, temporarily. Let me clarify.
Currently, each product team triggers a new DRA with a new qualifier. Eventually, they will converge with the same qualifier per branch, either within a few hours or within one or two days at the most.
So far, this is trying to solve what you just described if all the Projects enrolled on the Unified Release use the same approach as here. Otherwise, it's a manual process and what you just said it can happen
(cherry picked from commit ffba995)
…#15385) (cherry picked from commit ffba995) Co-authored-by: Victor Martinez <[email protected]>
update docs after the recent changes from elastic#15350
|
@Mergifyio backport 7.17 |
✅ Backports have been created
|
(cherry picked from commit ffba995) # Conflicts: # .buildkite/scripts/dra.sh # .buildkite/scripts/package.sh
Motivation/summary
Let's simplify the process ot create a DRA staging artifact with a given qualifier and use a Google Bucket that contains all the branches and their qualifiers.
This can help to support other Unified RElease projects without the need to care about the caveats when using push commits events.
In addition, I refactored some functions and simplify the logic:
snapshotutil.shto gather the Qualifier.dra.shorpackage.shscripts.Checklist
For functional changes, consider:
How to test these changes
See the dRA buildkite pipeline build -> https://buildkite.com/elastic/apm-server-package/builds/3810
Related issues