I wrote a little about this a few weeks ago and got some good pointers
to how people are operating today. Thanks.
The problem I am facing in sig-net is a little different from what
most people described. Specifically I have 250+ issues, some years
old and some days old, which need to be looked at by a human. I want
to scrub EVERY SINGLE ONE.
This raises some tactical issues. I raised it on slack, but this is a
better forum.
Preface: This is not about assigning sig/* labels. This is about
following up on the issues that are assigned sig/network. Making sure
they are real, have enough information, and are actionable.
As we march through these issues, we'll get some looked at every week.
It will take months. During this time, new issues will arrive. Some
issues will be easy to handle - obviously a bug, obviously a feature
request, obviously support (close it). Some will need more
information. Some will need to be reproduced to confirm.
How do I, iteratively, week-on-week, keep track of which issues are
acknowledged and which issues are in progress and which issues are yet
to be done? Assignee is not right - I am not asking people to FIX the
issues, just to investigate. And many people are not org members
anyway, so can not be assigned.
I am proposing that we do something along the lines of adding a new
label, e.g. "needs-sig-ack", which is automatically applied to ALL new
issues.
Now, I can search for sig/network && needs-sig-ack, and chip away at
that list. I can get volunteers to followup on issues and either
close them, ask for more info, or ACK them (removing that label). We
can also use that moment to look at kind/* and area/* labels.
We have a handful of triage/* labels, but they mostly don't make sense
to me, at least for non-closed issues. As historical justification
for closing they make sense, but seem like the wrong mechanism (they
are retroactively mutable). Not sure what to do with those. The
meaning of "triage" there doesn't match what I think of as bug
triage.
Eventually we will have scrubbed them all and the needs-sig-ack label
will represent new issues only.
Aaron correctly said "OMG another label, ugh". That's why I am here
to discuss. Some issues are assigned multiple SIGs and some are
legitimately cross-SIG. I think that's fine - if one SIG acknowledges
an issue, that should be good enough.
Discuss...
--
You received this message because you are subscribed to the Google Groups "kubernetes-sig-leads" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-sig-l...@googlegroups.com.
To post to this group, send email to kubernetes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-leads/CAO_RewZnWAftdKGz99UjQfTYvv7GMgzc8EZFx-pQPMdyMe68eg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
I’m not sure one sig ack’ing an issue is enough. As I think about the state diagram it feels like doing this well is going to mean removing a triaged (past-tense) label upon removal of a sig label and upon addition of a sig label, or…it drives at per-sig triaged labels.
Often a first sig label is applied (eg: sig cluster lifecycle…”upgrade failed”), initial triage is done, and it’s on to next sig(s) and back in need of their triage.
--
Tim Pepper
Orchestration & Containers Lead
VMware Open Source Technology Center
LOL, very cool. Tim is all over in the news too :-)
I like the idea as mentioned on the slack but trying to understand more:
So currently we have a `needs-sig` label that applies automatically to new issues. Once a `sig/ *` label is applied, the `needs-sig` goes away. Can we use the same label as such or by renaming it with `needs-sig-ack`, and, instead of removing it automatically, keep it until at least one sig remove it manually? (so that we don’t create a new label, and keep it to one step instead of two steps).
Secondly, once the proposed `needs-sig-ack` removed manually by a SIG, an issue will look like what it looks like today with one or more sig labels right? Shouldn’t the removal of `needs-sig-ack` label reflect the acknowledged ownership of a particular SIG in the issue? So that a SIG can easily search those issues later on to work on their true backlog? (I assume ack doesn’t mean the SIG will work on the issue right away).
Thanks!
Regards,
Sahdev Zala
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-leads/CAO_Rewb4Ue%2Bp5CHMv3cPNZMucmJuLbVZz1JFfO%2BFVPjVi6YyjQ%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "kubernetes-sig-contribex" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-sig-con...@googlegroups.com.
To post to this group, send email to kubernetes-s...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-contribex/CAO_RewafjQ4JoNUT1aazhExr2VbEcf_NaU_uarRhSXhmURVrbg%40mail.gmail.com.
On Fri, Mar 8, 2019 at 3:04 PM 'Tim Hockin' via kubernetes-sig-contribex <kubernetes-s...@googlegroups.com> wrote:
On Fri, Mar 8, 2019 at 11:57 AM Sahdev Zala <sahdev...@gmail.com> wrote:
>
> LOL, very cool. Tim is all over in the news too :-)
>
>
> I like the idea as mentioned on the slack but trying to understand more:
>
>
> So currently we have a `needs-sig` label that applies automatically to new issues. Once a `sig/ *` label is applied, the `needs-sig` goes away. Can we use the same label as such or by renaming it with `needs-sig-ack`, and, instead of removing it automatically, keep it until at least one sig remove it manually? (so that we don’t create a new label, and keep it to one step instead of two steps).
In theory, yes. I think it's a little less clear, but I would roll
with it if that is what contribex thought best. Personally I like the
needs-* concept as single-purpose instructions. Needs a kind, needs a
sig, needs an ACK...
> Secondly, once the proposed `needs-sig-ack` removed manually by a SIG, an issue will look like what it looks like today with one or more sig labels right? Shouldn’t the removal of `needs-sig-ack` label reflect the acknowledged ownership of a particular SIG in the issue? So that a SIG can easily search those issues later on to work on their true backlog? (I assume ack doesn’t mean the SIG will work on the issue right away).
In my mind ACK means "we agree this is a valid bug report or RFE or
whatever". That includes "we did a repro and confirmed the bug" and
"this idea is not fundamentally impossible". It does not imply any
priority or timeline -- we have other labels for those things.
You received this message because you are subscribed to the Google Groups "kubernetes-sig-contribex" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-sig-con...@googlegroups.com.
To post to this group, send email to kubernetes-s...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-contribex/CAO_RewafjQ4JoNUT1aazhExr2VbEcf_NaU_uarRhSXhmURVrbg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-contribex/CAO_Rewb6D%2Be7fF754A6CS8sRp99oM25k2Z1zV6T3dJXfRdyiAw%40mail.gmail.com.
1.
All issues hitting K/K are auto-labeled as 'needs-sig-review' or something similar.
2.
SIGs are
tasked by definition to regularly search all issues and appropriately label them / categorize them - There seems to be good consensus for this here
3. Each SIG has a dedicated project/Kanban board each, where visibility of current and upcoming work and milestoned work is very, very visible with a quick glance - columns like Backlog, In Progress, Release-Blocking, etc..
Case in point: https://github.com/orgs/kubernetes/projects/8 , the SIG-Windows board has worked great, both for them and release issue triage.
4. After
SIG reviews the new ticket(issue), it gets an appropriate category - either via direct
labels or via Project Board automated labels. thockin suggested the use of
`triage` labels which are a bit legacy and should be reworked in tandem with
project boards to have the desired workflow.
An example on a project board being: issues moved from 'backlog' to 'in progress' automatically get a 'triage/inprogress' label (or smth similar). Label Automation + Projectboards + searchQueries should all have seamless integration and compliment each other in the final iteration of the new workflow.
5. Release team specific: Based
on all above, incoming 'milestoned' work is work that belongs
to SIGs and it should be a SIG's responsibility to control and estimate what can
be done for each release cycle, with the release team stepping in only when needed (as release approaches). Standard calendar checkpoints in release-readiness will further help - this is what the 'Enhancements Deadline' stands for, but doesn't cover stuff outside of new features and that work is usually left for the release team to ponder upon their fate.
6. Therefore, the prototype flowchart is: New Ticket -> SIG -> Labeling or Deletion <-> Project Boards <-> Re-labeling based on current status <-> Release Team is able to view status at any time via project boards
7. For all above, mass rework of labels is needed.
'priority' labels are a subject of discussion in every release cycle as it's a fuzzy concept in itself, it should be reworked with ideas such as 'impact' and 'importance' in mind,
'triage' labels are a bit old and currently mostly unused but can be very helpful if properly reworked and integrated into a standard system,
'kind' labels can be further reworked as there are many issues that do not belong in any current 'kind',
deletion of unwanted labels or re-work into other ones,
addition of new labels like 'needs-sig-review', 'release-blocking', etc.
Other generic improvements include:
- Mechanism that auto-applies milestone in PRs that are merged out of code freeze, so the full list of PRs included in 1.14 is easily grepped
(issue is here https://github.com/kubernetes/test-infra/issues/11611)
- Label that signifies a PR that is changing something Outside of core k/k, whether it's testing/CI/automation/external bundles like fluentd-gcp et cetera. Currently there's only a `kind/cleanup` which is rather vague. Label variety should be encouraged - with proper standardization, good ruling and automation around them they can be easily understood and utilized.
- Labels that indicate whether a ticket is release-blocking or good-to-have, e.g. (kind/release-blocking | kind/good-to-have)
- Label + mechanism that automatically shifts a Ticket to the next milestone
a few days after Freeze hits - this automates punting of 'good-to-have' stuff to the next milestone
- Any ticket in the release-blocking column of a board automatically gets a kind/release-blocking label - this way, anyone can search github issues and PRs via `label:kind/release-blocking+milestone:v1.14` query
To view this discussion on the web visit https://groups.google.com/d/msgid/kubernetes-sig-contribex/CAB_J3bZVKkJO_3YBQA-cPA6rt%3Dr3RaO%3Dw2me3jxTrANJrimgwA%40mail.gmail.com.