[Gluster-devel] Changing a bug's status related to patches in Gerrit and/or git-tags?
Niels de Vos
ndevos at redhat.com
Thu Apr 10 10:52:37 UTC 2014
Hi all,
recently we have started to document the "Bug report life cycle"
(http://www.gluster.org/community/documentation/index.php/Bug_report_life_cycle).
The document contains quite some actions that are needed by engineers
and reporters. There does not seem to be any existing gatekeeper to
validate the procedures from the document.
This email contains two points on which I would like to hear your
opinions:
1. how to do recurring review of open bugs, and correct their status
2. should there be one bug per version/release to accommodate better
tracking
For 1:
Now, last weekend I've been looking into getting a summary of open
Gluster bugs in bugzilla, match them with patches posted in Gerrit and
check in a git repository if there has been a tagged release with those
changes. The result is a rather rough Python script that handles all
this and returns a complete summary. Some random examples:
#1032894 ON_QA - Anand Avati - spurious ENOENTs when using libgfapi
[master] I635fc0 cluster/afr: Remove stale index in self-heal codepath (NEW)
[release-3.4] I0909f2 Revert "core: fix errno for non-existent GFID" (MERGED)
[release-3.4] I38b72f tests: Don't use stripe-replicate volume in bug-905864.t (MERGED)
[release-3.4] I74818a cluster/dht: interim fix for reverting 837422858c (MERGED)
[master] Ib255b9 dht: handle ESTALE/ENOENT in dht_access (MERGED)
[release-3.4] I7a06ea core: fix errno for non-existent GFID (MERGED)
** Bug should be in POST, change I635fc0 is not merged yet **
#1036102 ON_QA - Kaleb KEITHLEY - glusterfsd: memory leak in glusterfs_volfile_fetch()
[release-3.4] I8f3117 glusterfsd: fix small memory leaks in glusterfsd-mgmt.c (MERGED)
[release-3.5] Id3f813 glusterfsd: fix small memory leaks in glusterfsd-mgmt.c (MERGED)
[master] Ic306d6 glusterfsd: fix small memory leaks in glusterfsd-mgmt.c (MERGED)
** Bug should be CLOSED, v3.4.3 contains a fix **
#1048188 POST - krishnan parthasarathi - socket doesn't notify disconnect due to packet drop, simulated using iptables, to higher layers
[master] I1d3f32 socket: propogate connect failure in socket_event_handler (MERGED)
** Change I1d3f32 has been merged, but bug is not in MODIFIED **
#1071504 MODIFIED - Justin Clift - rpmbuild/BUILD directory needs to be created for CentOS 5.x
[release-3.5] I2cd6ca build: Add missing rpmbuild/BUILD dir for CentOS 5.x (MERGED)
[master] I90ad70 build: Add missing rpmbuild/BUILD dir for CentOS 5.x (MERGED)
** Bug should be ON_QA, use v3.5.0beta5 for verification of the fix **
There are currently 265 bugs in POST, MODIFIED and ON_QA that get
detected with my script. I did not check other statuses yet, but that is
easy enough to do. For most of these bugs it is pretty clear what their
actual status should be. Changing the status, setting a "Fixed in
version" can mostly be automated with the "bugzilla" command (part of
the "python-bugzilla" package).
QUESTION for #1:
- Is there any objection if I mass-update many of these bugs to match
their actual status?
- After the list has been reduced to a smaller number of bugs, should
there be a nag-email every week about bugs in an unexpected status?
For 2:
There are some difficulties with bugs that have patches for different
release branches. Some branches could have a release (like 3.4) already,
and are in beta for an other (3.5). These bugs seem to have an internal
conflict. It also makes it very difficult for users to track what
version contains a fix.
QUESTION for #2:
- Shall we change the "Bug report life cycle" and advise to file
separate bugs per release? This makes it easier to track changes in
master (should go to MODIFIED), and copy/clone bugs for releases that
users are interested in (well, or copy the other way around, that does
not really matter).
And, one last thing... Of course I'd like to make the script available
for others too. However, I'm sure there must be some scripts that
interact with Bugzilla (like the Gerrit "patch has been posted" one).
Putting all these scripts in one location would likely be a good idea.
In future it might even be wanted to automatically update the status of
bugs when a git-tag is pushed the to repository / release is done. So,
where to place these kind of scripts?
Thanks for reading, but responses are more appreciated :)
Niels
More information about the Gluster-devel
mailing list