Jump to: navigation, search

Difference between revisions of "Sahara/BugTriage"

m (Sergey Lukjanov moved page Savanna/BugTriage to Sahara/BugTriage: Savanna project was renamed due to the trademark issues.)
(changing body text and links from Savanna to Sahara, except the webnumbr.com link)
Line 1: Line 1:
 
These are the bug triaging tasks, in descending order of priority. Some tasks are accessible to everyone, while some others require bug supervisor rights (limited to the bug supervisors team). Before you start triaging, please learn everything on how we use [[Bugs]] !
 
These are the bug triaging tasks, in descending order of priority. Some tasks are accessible to everyone, while some others require bug supervisor rights (limited to the bug supervisors team). Before you start triaging, please learn everything on how we use [[Bugs]] !
  
[https://launchpad.net/~savanna-bugs/+members#active Savanna bugs supervisors team]
+
[https://launchpad.net/~sahara-bugs/+members#active Sahara bugs supervisors team]
  
 
== Some notes ==
 
== Some notes ==
Line 11: Line 11:
 
** [HDP] for Hortonworks Data Platform plugin code
 
** [HDP] for Hortonworks Data Platform plugin code
 
** [Doc] for documents needs to be updated
 
** [Doc] for documents needs to be updated
** [DIB] for Diskimage-builder code in savanna-image-elements repo
+
** [DIB] for Diskimage-builder code in sahara-image-elements repo
** [python-savannaclient] for... ok... you've got the idea
+
** [python-saharaclient] for... ok... you've got the idea
  
If bug affects more than one areas you can mix tags. [https://bugs.launchpad.net/savanna/+bug/1239776 Example].
+
If bug affects more than one areas you can mix tags. [https://bugs.launchpad.net/sahara/+bug/1239776 Example].
  
 
== Task 1: Confirm new bugs (anyone) ==
 
== Task 1: Confirm new bugs (anyone) ==
Line 20: Line 20:
 
When someone files a bug, its state is set to ''New''. The most important step in bug triaging is to provide feedback on that bug and make sure it's a genuine bug.
 
When someone files a bug, its state is set to ''New''. The most important step in bug triaging is to provide feedback on that bug and make sure it's a genuine bug.
  
[https://bugs.launchpad.net/savanna/+bugs?field.status=NEW&field.importance=UNDECIDED bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status=NEW&field.importance=UNDECIDED bugs list]
 
[http://webnumbr.com/untouched-savanna-bugs bugs graph]
 
[http://webnumbr.com/untouched-savanna-bugs bugs graph]
  
Line 26: Line 26:
 
* If the bug report contains enough information, you can reproduce it (or it looks valid), then you should set its status to ''Confirmed''
 
* If the bug report contains enough information, you can reproduce it (or it looks valid), then you should set its status to ''Confirmed''
 
* If the bug has security implications, you should set the security flag (under "This report is public" on the top right)
 
* If the bug has security implications, you should set the security flag (under "This report is public" on the top right)
* If the bug affects a specific area covered by an [[Savanna/BugTags|official tag]], you should set the tag. For example, if the bug is likely to be quite easy to solve, add the ''low-hanging-fruit'' tag
+
* If the bug affects a specific area covered by an [[Sahara/BugTags|official tag]], you should set the tag. For example, if the bug is likely to be quite easy to solve, add the ''low-hanging-fruit'' tag
  
 
While they are at it, people with bug supervisors rights can complete task 2 for the same bug.
 
While they are at it, people with bug supervisors rights can complete task 2 for the same bug.
Line 34: Line 34:
 
When someone files a bug, its importance is set to ''Undecided''. Setting importance is pretty critical as it allows to prioritize all the rest of the work correctly.
 
When someone files a bug, its importance is set to ''Undecided''. Setting importance is pretty critical as it allows to prioritize all the rest of the work correctly.
  
[https://bugs.launchpad.net/savanna/+bugs?field.status=CONFIRMED&field.importance=UNDECIDED confirmed bugs list], [https://bugs.launchpad.net/savanna/+bugs?field.status=TRIAGED&field.importance=UNDECIDED triaged bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status=CONFIRMED&field.importance=UNDECIDED confirmed bugs list], [https://bugs.launchpad.net/sahara/+bugs?field.status=TRIAGED&field.importance=UNDECIDED triaged bugs list]
  
 
* Based on the bug information, set priority to:
 
* Based on the bug information, set priority to:
Line 52: Line 52:
 
Status should be set to ''Confirmed'' (or ''In progress'' if an assignee is set):
 
Status should be set to ''Confirmed'' (or ''In progress'' if an assignee is set):
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=NEW&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&field.importance%3Alist=WISHLIST bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=NEW&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&field.importance%3Alist=WISHLIST bugs list]
  
 
=== In progress bugs without an assignee ===
 
=== In progress bugs without an assignee ===
Line 58: Line 58:
 
An assignee should bet set, or the bug should return to ''Confirmed'' status:
 
An assignee should bet set, or the bug should return to ''Confirmed'' status:
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=INPROGRESS&assignee_option=none bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=INPROGRESS&assignee_option=none bugs list]
  
 
=== In progress bugs without a priority set ===
 
=== In progress bugs without a priority set ===
Line 64: Line 64:
 
It's better to have priority set for "In progress" bugs:
 
It's better to have priority set for "In progress" bugs:
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=INPROGRESS&field.importance%3Alist=UNDECIDED bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=INPROGRESS&field.importance%3Alist=UNDECIDED bugs list]
  
 
== Task 4: Review incomplete bugs (anyone) ==
 
== Task 4: Review incomplete bugs (anyone) ==
Line 70: Line 70:
 
Incomplete bugs should be reassessed regularly.
 
Incomplete bugs should be reassessed regularly.
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE bugs list]
  
 
* If the reporter provided the requested answer: bug status should be set to ''Confirmed''
 
* If the reporter provided the requested answer: bug status should be set to ''Confirmed''
Line 90: Line 90:
 
Make sure ''In Progress'' bugs are actually in progress. Unassign them and set them back to ''Confirmed'' or ''Triaged'' if not.
 
Make sure ''In Progress'' bugs are actually in progress. Unassign them and set them back to ''Confirmed'' or ''Triaged'' if not.
  
[https://bugs.launchpad.net/savanna/+bugs?orderby=date_last_updated&field.status%3Alist=INPROGRESS&assignee_option=any bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?orderby=date_last_updated&field.status%3Alist=INPROGRESS&assignee_option=any bugs list]
  
 
== Task 6: Review bugs with a patch (bug supervisors) ==
 
== Task 6: Review bugs with a patch (bug supervisors) ==
Line 96: Line 96:
 
Some bugs are filed with an attached patch. We should review if the patch looks indeed like a patch, and if yes, set the bug status to ''Triaged'' to show that it comes with a likely solution, ready to be implemented.
 
Some bugs are filed with an attached patch. We should review if the patch looks indeed like a patch, and if yes, set the bug status to ''Triaged'' to show that it comes with a likely solution, ready to be implemented.
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.has_patch=on bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.has_patch=on bugs list]
  
 
== Task 7: Review Critical/High bugs (bug supervisors) ==
 
== Task 7: Review Critical/High bugs (bug supervisors) ==
Line 102: Line 102:
 
We should review all ''Critical'' and ''High'' bugs to make sure they are still relevant and properly prioritized.
 
We should review all ''Critical'' and ''High'' bugs to make sure they are still relevant and properly prioritized.
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH bugs list]
  
 
== Task 8: Review Medium/Low bugs (bug supervisors) ==
 
== Task 8: Review Medium/Low bugs (bug supervisors) ==
Line 108: Line 108:
 
We should review all ''Medium'' and ''Low'' bugs to make sure they are still relevant and properly prioritized.
 
We should review all ''Medium'' and ''Low'' bugs to make sure they are still relevant and properly prioritized.
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW bugs list]
  
 
== Task 9: Deprecate old wishlist bugs (bug supervisors) ==
 
== Task 9: Deprecate old wishlist bugs (bug supervisors) ==
Line 118: Line 118:
 
</nowiki></pre>
 
</nowiki></pre>
  
[https://bugs.launchpad.net/savanna/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance=WISHLIST bugs list]
+
[https://bugs.launchpad.net/sahara/+bugs?field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance=WISHLIST bugs list]
  
 
== Task 10: Celebrate! ==
 
== Task 10: Celebrate! ==
  
 
If you've reached this step, have a beer, it's on me.
 
If you've reached this step, have a beer, it's on me.

Revision as of 21:00, 11 March 2014

These are the bug triaging tasks, in descending order of priority. Some tasks are accessible to everyone, while some others require bug supervisor rights (limited to the bug supervisors team). Before you start triaging, please learn everything on how we use Bugs !

Sahara bugs supervisors team

Some notes

  • it's preferred to prepend all bug titles with the following 'tags':
    • [EDP] for EDP related stuff
    • [UI] for OpenStack Dashboard plugin code
    • [Vanilla] for Vanilla plugin code
    • [HDP] for Hortonworks Data Platform plugin code
    • [Doc] for documents needs to be updated
    • [DIB] for Diskimage-builder code in sahara-image-elements repo
    • [python-saharaclient] for... ok... you've got the idea

If bug affects more than one areas you can mix tags. Example.

Task 1: Confirm new bugs (anyone)

When someone files a bug, its state is set to New. The most important step in bug triaging is to provide feedback on that bug and make sure it's a genuine bug.

bugs list bugs graph

  • If the bug description is incomplete or the report is lacking the information necessary to reproduce the issue, you should ask the reporter to provide missing information, and set the bug status to Incomplete
  • If the bug report contains enough information, you can reproduce it (or it looks valid), then you should set its status to Confirmed
  • If the bug has security implications, you should set the security flag (under "This report is public" on the top right)
  • If the bug affects a specific area covered by an official tag, you should set the tag. For example, if the bug is likely to be quite easy to solve, add the low-hanging-fruit tag

While they are at it, people with bug supervisors rights can complete task 2 for the same bug.

Task 2: Prioritize confirmed and triaged bugs (bug supervisors)

When someone files a bug, its importance is set to Undecided. Setting importance is pretty critical as it allows to prioritize all the rest of the work correctly.

confirmed bugs list, triaged bugs list

  • Based on the bug information, set priority to:
    • Critical if the bug prevents a key feature from working properly (regression) for all users (or without a simple workaround) or result in data loss
    • High if the bug prevents a key feature from working properly for some users (or with a workaround)
    • Medium if the bug prevents a secondary feature from working properly
    • Low if the bug is mostly cosmetic
    • Wishlist if the bug is not really a bug, but rather a welcome change in behavior
  • If the bug contains the solution, or a patch, set the bug status to Triaged

Task 3: Solve inconsistencies (anyone)

Some bugs might end up in an incorrect state. You should fix:

New bugs with a priority set

Status should be set to Confirmed (or In progress if an assignee is set):

bugs list

In progress bugs without an assignee

An assignee should bet set, or the bug should return to Confirmed status:

bugs list

In progress bugs without a priority set

It's better to have priority set for "In progress" bugs:

bugs list

Task 4: Review incomplete bugs (anyone)

Incomplete bugs should be reassessed regularly.

bugs list

  • If the reporter provided the requested answer: bug status should be set to Confirmed
  • If the reporter did provide information, but more detail is required: ask for missing information
  • If the reporter did not answer within 2 weeks: Politely remind the reporter to provide missing information, for example:
We cannot solve the issue you reported without more information. Could you please provide the requested information ?
  • If the reporter did not answer the reminder for another 4 weeks: Set the bug status to Invalid with a comment, for example:
This bug lacks the necessary information to effectively reproduce and fix it, therefore it has been closed. Feel free to reopen the bug by providing the requested information and set the bug status back to ''New''.

Task 5: Review stale In Progress bugs (anyone)

Make sure In Progress bugs are actually in progress. Unassign them and set them back to Confirmed or Triaged if not.

bugs list

Task 6: Review bugs with a patch (bug supervisors)

Some bugs are filed with an attached patch. We should review if the patch looks indeed like a patch, and if yes, set the bug status to Triaged to show that it comes with a likely solution, ready to be implemented.

bugs list

Task 7: Review Critical/High bugs (bug supervisors)

We should review all Critical and High bugs to make sure they are still relevant and properly prioritized.

bugs list

Task 8: Review Medium/Low bugs (bug supervisors)

We should review all Medium and Low bugs to make sure they are still relevant and properly prioritized.

bugs list

Task 9: Deprecate old wishlist bugs (bug supervisors)

We should review all Wishlist bugs to make sure they are still relevant. Old wishlist bugs (created more than a year ago) should be reviewed to see if they were not accidentally implemented or improperly prioritized. If they really are wishlist items that nobody seems to be interested in implementing, they can be closed as "Opinion" to reduce bug list clutter. You can use the following message:

This wishlist bug has been open a year without any activity. I'm going to move it to "Opinion / Wishlist", which is an easily-obtainable queue of older requests that have come on. This bug can be reopened (set back to "New") if someone decides to work on this.

bugs list

Task 10: Celebrate!

If you've reached this step, have a beer, it's on me.