-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Proposal for automated management of issues targeted to release miles… #752
Conversation
contributors/devel/release/issues.md
Outdated
|
||
- *issue owners*: creator, assignees, and user who moved the issue it into a release milestone | ||
- *Y days*: refers to business days (using the location local to the release-manager M-F) | ||
- *post feature freeze* / *code slush*: starts when the master branch only accepts PRs for the release milestone |
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.
Feature Freeze is an overloaded term. I know PM also uses this to refer to when no additional issues/features are made available in the features repo.
https://github.com/kubernetes/features/blob/master/release-1.7/release-1.7.md
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.
ah. :( should we just call this code slush?
contributors/devel/release/issues.md
Outdated
The severity is used to triage which issues the release team needs to track as part of cutting | ||
a release. As the release date approaches, release blocking issues are expected to be updated | ||
frequently and have an issue owner present at all burn down meetings until the issue is resolved. | ||
|
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.
are these synonymous with priority/ labels. Will there ever be a priority/critical-urgent issues that is not a release-blocker? Are we just being very explicit?
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.
I am wondering the same thing. As proposed, priority/critical-urgent
seems to imply release/blocker
and priority/important-{soon,longerm}
seems to imply release/non-blocker
?
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 they do - and the doc says they need to match. I wrote this as having both labels because it makes it clear that only critical-urgent issues are release/blocker issues and all critical-urgent issues are release/blockers. Do you think I should just drop the release/blocker labels?
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.
I'd vote that less is more
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.
Removed release-blocker
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, I think release/
labels are unnecessary. It should be enough that only issues labelled priority/critical-urgent
are release blockers.
@@ -0,0 +1,193 @@ | |||
# Targeting issues and PRs to release milestones |
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.
This document is relevant across repos 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.
contributors/devel/release/issues.md
Outdated
- `kind/bug`: Fixes a bug. | ||
- were not known at the time the feature was implemented. | ||
- `kind/feature`: New functionality. | ||
- `kind/documentation`: Documentation updates for new features or bug fixes. |
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.
shouldn't all docs changes be in the docs repo. when would we use this label?
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.
good point. deleted
contributors/devel/release/issues.md
Outdated
|
||
Additional instructions available [here](<link to this doc>) | ||
``` | ||
- **If required labels are not applied within 2 days of being moved to the milestone, the issue is moved back out of the milestone. (unless it is critical-urgent)** |
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.
I think it says 3 days above
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.
fixed
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.
Would it be worth separating out the timelines for the bots to expect or take action rather than sprinkling it everywhere? I'm guessing these intervals are likely to be volatile.
contributors/devel/release/issues.md
Outdated
|
||
## Definitions | ||
|
||
- *issue owners*: creator, assignees, and user who moved the issue it into a release milestone |
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.
s/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.
done
contributors/devel/release/issues.md
Outdated
bot will attempt to contact the issue creator 3 times (over 3 days) | ||
before automatically removing the issue from the milestone. | ||
|
||
Labels categories: |
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.
s/Labels/Label/
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.
Done
contributors/devel/release/issues.md
Outdated
The severity is used to triage which issues the release team needs to track as part of cutting | ||
a release. As the release date approaches, release blocking issues are expected to be updated | ||
frequently and have an issue owner present at all burn down meetings until the issue is resolved. | ||
|
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.
I am wondering the same thing. As proposed, priority/critical-urgent
seems to imply release/blocker
and priority/important-{soon,longerm}
seems to imply release/non-blocker
?
contributors/devel/release/issues.md
Outdated
``` | ||
- **If required labels are not applied within 2 days of being moved to the milestone, the issue is moved back out of the milestone. (unless it is critical-urgent)** | ||
- Bot checks that release/blocker issues have critical-urgent priority. (Can be automatically applied). | ||
2. If labels change, bot checks that the needed lables are present and comments with updated meaning. |
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.
s/lables/labels/
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.
Done
contributors/devel/release/issues.md
Outdated
- after 2 days without a reply, bot follows escalation procedure derived from priority label | ||
- important-longterm, remove from milestone and notify the owners | ||
- important-soon, escalate to SIG daily for 2 days. | ||
- removal should add the `release/remove-from-milestone` label and contain the following message |
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.
s/remove/removed/ ?
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.
done
contributors/devel/release/issues.md
Outdated
ETA: ??? | ||
Risks: Root cause unknown. | ||
``` | ||
- `release/needs-attention` |
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.
Is there detail missing here?
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.
deleted
contributors/devel/release/issues.md
Outdated
- `release/needs-attention` | ||
4. 2 weeks after feature freeze | ||
- **priority/important-* issues** | ||
- bot comments mentioning issue owners, expects the issue to be escalated in priority or removed from milestone |
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.
What's the timeline for removal?
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.
2 days? Added as a strawman
contributors/devel/release/issues.md
Outdated
``` | ||
**Action Required**: | ||
This issue is marked as priority/important-x, and is in the 1.y milestone. Only critical-urgent issue | ||
are being tracked for the 1.y release. Escalate the priority to critical-urgent immediately, **or the issue |
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.
s/immediately/within 24h/ ?
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.
updated.
contributors/devel/release/issues.md
Outdated
|
||
## Issues tracked in other repos | ||
|
||
Some issues are filed in repos outside the [kubernetes repo]. For these repo's issues |
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.
I think this is necessary, but maybe puts an unfair burden on sigs that are devolving their work away from the main repo. Could this be automated?
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.
Good point. We could start using this: https://github.com/issues for x-repo queries.
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.
Should this proposal also include bot enforcement of the requirement that PRs in the milestone have an associated issue unless a label (e.g. 'no-issue-required') is applied? |
I can add that, but want to keep the document scoped to something we can get consensus on. When would this be enforced? Code slush, or throughout the release? |
contributors/devel/release/issues.md
Outdated
Priority label used by the bot to determine escalation path before moving an issues | ||
out of the release milestone. | ||
|
||
- `priority/critical-urgent`: Never automatically move out of a release milestone; continually escalate to contributor and SIG through all available channels.- `priority/critical-urgent`: Never automatically move out of a release milestone; continually escalate to contributor and SIG through all available channels. |
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.
duplicated content
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.
Done
contributors/devel/release/issues.md
Outdated
The severity is used to triage which issues the release team needs to track as part of cutting | ||
a release. As the release date approaches, release blocking issues are expected to be updated | ||
frequently and have an issue owner present at all burn down meetings until the issue is resolved. | ||
|
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.
I'd vote that less is more
contributors/devel/release/issues.md
Outdated
This will also be used to escalate to the correct SIG GitHub team. | ||
|
||
- `kind/bug`: Fixes a bug. | ||
- were not known at the time the feature was implemented. |
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.
Is this line necessary?
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.
unfortunately yes.
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.
Seems obvious, but I'll let it go ;-)
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.
Update this with some more clarity. The purpose of the label is to get a feel for how many issues we are surprised with. However, it is common to see bug fixes during code slush for issues that have been around since the last release, or were known at the time the feature was developed, but not fixed, to get the feature in before code slush (no "feature development" accepted at this time). The "bug" is then fixed during code slush. Both of these cases create noise when trying to determine - how many issues did we discover during and after code slush that we would have went out with had things not baked for 3 weeks.
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.
Oh! I wasn't asking if kind/bug was required. I totally accept that. I was asking if the text "were not known at the time the feature was implemented." was necessary.
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.
:). I'll remove it.
Only code slush, when traceability becomes critical. |
contributors/devel/release/issues.md
Outdated
1. An issue is added to the current release milestone (either through creation or update) | ||
- Bot automatically applies the '' | ||
- Bot checks to make sure all required labels are set on the issue | ||
- Iff any labels are missing, comment listing the missing labels and include a link to this document. Mention all issue owners. |
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.
Is this a typo, or intended as "if and only if"?
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.
If and only if. This has caused confusion before, so just typed it out.
contributors/devel/release/issues.md
Outdated
|
||
Additional instructions available [here](<link to this doc>) | ||
``` | ||
- Iff all labels are present, comment summarizing the state. Mention all issue owners. |
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.
Same here
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.
Done
contributors/devel/release/issues.md
Outdated
|
||
- `priority/critical-urgent`: Never automatically move out of a release milestone; continually escalate to contributor and SIG through all available channels. | ||
- considered a release blocking issue | ||
- post code slush: issue owner update frequency: every 3 days |
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.
s/post// (for parity with code freeze
below)
Or is 'code slush' a point in time vs 'code freeze' being an interval?
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.
good point. code slush is an interval
- would require a patch release if left undiscovered until after the minor release. | ||
- `priority/important-soon`: Escalate to the issue owners and SIG owner; move out of milestone after several unsuccessful escalation attempts. | ||
- not considered a release blocking issue | ||
- would not require a patch release |
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.
Should this line and the one below also apply to priority/important-longterm
? So the only difference between the 2 would be the mount of escalation?
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.
Yup. Updated to clarify this.
- Priority | ||
- Issue type | ||
|
||
### SIG owner label |
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.
How to handle test infra and issues related to gce/gke/etc? I think we started assigning them to sig/release for 1.7, should that continue for 1.8?
And maybe issues in this vein (related to the infrastructure that supports development rather than the software being developed) require their own issue type?
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.
I think for GCE/GKE, there's going to be a new sig-gcp created if the mailing list discussion pans out. test-infra would go to sig-testing?
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.
I'm not sure test-infra to sig-testing makes sense. afaik their missions are different.
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.
Using sig/testing
contributors/devel/release/issues.md
Outdated
## Workflow | ||
|
||
1. An issue is added to the current release milestone (either through creation or update) | ||
- Bot automatically applies the '' |
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.
'' ?
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.
No idea. deleted
contributors/devel/release/issues.md
Outdated
``` | ||
- **If required labels are not applied within 3 days of being moved to the milestone, the issue is moved back out of the milestone. (unless it is critical-urgent)** | ||
2. If labels change, bot checks that the needed labels are present and comments with updated meaning. | ||
3. Post-code slush |
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.
s/Post-// ?
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.
Done
contributors/devel/release/issues.md
Outdated
``` | ||
ACK. In progress | ||
ETA: DD/MM/YYYY | ||
Risks: Complicate fix required |
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.
s/Complicate/Complicated/
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.
Thanks. Done
SIGs will have issues needing attention escalated through the following channels | ||
|
||
- Comment mentioning the sig team appropriate for the issue type | ||
- Email the SIG googlegroup list |
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.
Im assuming the the bot has persistent configuration. How hard will it be to associate sig labels with email addresses?
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.
Should be easy. We should be able to just scrape / copy them from here:
https://github.com/kubernetes/community/blob/master/sig-list.md
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.
Updated with a comment.
SGTM. I need to create another proposal for PRs and enforcing labels and comments there for release notes anyway. |
Cleaned it up a bit. |
Most of the comments seemed like non-blockers. I have attempted to addressed all of them. If they need to be refined further, I can create a follow up. Self merging this since we seem to have achieved lazy consensus. Thanks for your feedback @ncdc @marun @cblecker @grodrigues3 |
Signed-off-by: Jacek Ewertowski <jewertow@redhat.com>
…tones