<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:36:04 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-3690] Improve gerrit reporting of patch status</title>
                <link>https://jira.whamcloud.com/browse/LU-3690</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;We use gerrit differently than it expects by default.  Most importantly, there are two conditions that signal that a patch is done code review and can be sent to the Gate Keeper for landing:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;A +2 CodeReview&lt;br/&gt;
OR&lt;/li&gt;
	&lt;li&gt;2 or more +1 CodeReviews&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Unfortunately, there is currently no way to create a reliable positive or negative pattern to match that second condition.  That makes it inpossible to create good filters that provide the following useful lists of patches:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Patches that are fully reviewed and waiting for landing&lt;/li&gt;
	&lt;li&gt;Patches that are awaiting further review&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;On the CDWG mailing list Denis Kondratenko provided a couple of great links that talk about possible solutions for this very problem:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://en.wikibooks.org/wiki/Git/Gerrit_Code_Review&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://en.wikibooks.org/wiki/Git/Gerrit_Code_Review&lt;/a&gt; (A hook could - for instance - allow a project to install an automated gatekeeper to vote +2 &apos;submit approved&apos; when sufficient +1 votes &apos;looks good to me&apos; have been received)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://review.whamcloud.com/Documentation/prolog-cookbook.html#_example_12_1_1_2_code_review&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/Documentation/prolog-cookbook.html#_example_12_1_1_2_code_review&lt;/a&gt; (but I don&apos;t know if it will get right searches..)&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="20173">LU-3690</key>
            <summary>Improve gerrit reporting of patch status</summary>
                <type id="3" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11318&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="6">Not a Bug</resolution>
                                        <assignee username="pjones">Peter Jones</assignee>
                                    <reporter username="morrone">Christopher Morrone</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Aug 2013 22:21:15 +0000</created>
                <updated>Thu, 30 Oct 2014 14:34:46 +0000</updated>
                            <resolved>Thu, 26 Jun 2014 23:29:15 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>11</watches>
                                                                            <comments>
                            <comment id="63609" author="pjones" created="Sat, 3 Aug 2013 00:23:10 +0000"  >&lt;p&gt;Thanks Chris.&lt;/p&gt;</comment>
                            <comment id="64266" author="denis_kondratenko" created="Wed, 14 Aug 2013 17:11:11 +0000"  >&lt;p&gt;Actually building prolog rule will not give us possibility to search for the submittable reviews. It will just allow user with submittable right to submit without review.&lt;/p&gt;

&lt;p&gt;I have checked another way to build correct search for issues or check their stages automatically - REST API. It is supported now by Gerrit 2.5.4, but provides very few data to analyze (and couldn&apos;t be used for searches).&lt;/p&gt;

&lt;p&gt;With Gerrit 2.6 REST API was improved a lot and there even &quot;submittable&quot; field there, so with that we could build scripts that will provide right searches for us.&lt;br/&gt;
More than that 2.6 provides huge number of other details, that possibly could be used to detect different stages of review to build scripts to gather stat - where we spend most of the time and where to improve. And maybe better tool to get some notification for people that are responsible for review now (ping developers that ball on their side for example).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://gerrit-documentation.googlecode.com/svn/ReleaseNotes/ReleaseNotes-2.6.html#_rest_api&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://gerrit-documentation.googlecode.com/svn/ReleaseNotes/ReleaseNotes-2.6.html#_rest_api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So maybe just updating to 2.6 will give us API that could resolve a lot of our issues for now.&lt;/p&gt;</comment>
                            <comment id="67104" author="denis_kondratenko" created="Fri, 20 Sep 2013 13:10:40 +0000"  >&lt;p&gt;Chris, Peter,&lt;/p&gt;

&lt;p&gt;there was sbj in our discussion about how simple script for gerrit could looks like and what it could do.&lt;/p&gt;

&lt;p&gt;In attachment there is example. It has some minor issues, but could give you overall idea.&lt;/p&gt;

&lt;p&gt;BTW, it would be cool to have Intel servers support &lt;a href=&quot;https://en.wikipedia.org/wiki/Cross-origin_resource_sharing&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;CORS &lt;/a&gt;. I don&apos;t really understand where it should be supported (by apache or gerrit), but I think IT guys could know. That feature could do scripts like in attachment to be interactive instead of static.&lt;/p&gt;</comment>
                            <comment id="69579" author="adilger" created="Tue, 22 Oct 2013 19:58:50 +0000"  >&lt;p&gt;One possibility that I think would be easy to implement (and also avoids the need to upgrade) is to only have Hudson/Jenkins mark the patch Verified -1 if it fails to build, but NOT add a Verified +1 if the build succeeds.&lt;/p&gt;

&lt;p&gt;That leaves +1 open for Maloo test results and ensures that Gerrit queries for Verified = +1 only return patches that have actually passed testing instead of patches that have merely been built. &lt;/p&gt;</comment>
                            <comment id="69609" author="jhammond" created="Wed, 23 Oct 2013 02:41:27 +0000"  >&lt;p&gt;This could also be done (inelegantly) via a script that leverages Gerrit&apos;s ssh API. Using say:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;ssh -p 29418 review.whamcloud.com gerrit query --all-approvals --format=JSON status:open limit:100
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Or human readably:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;ssh -p 29418 review.whamcloud.com gerrit query --all-approvals status:open limit:100
...
change I6e2837953902520240e9ceb251c92329d328d715
  project: fs/lustre-release
  branch: master
  id: I6e2837953902520240e9ceb251c92329d328d715
  number: 7803
  subject: LU-1345 cleanup: C89 and build cleanups
  owner:
    name: Alexey Lyashkov
    email: alexey_lyashkov@xyratex.com
    username: shadow
  url: http://review.whamcloud.com/7803
  createdOn: 2013-09-30 10:48:59 UTC
  lastUpdated: 2013-10-17 22:39:35 UTC
  sortKey: 00287e8f00001e7b
  open: true
  status: NEW
  patchSets:
    number: 1
    revision: 3e4dd4324536fbeaba06049a80ac131cd1fe2cd2
    parents:
 [92b43047fdfd1a61e200726ec93150543a75d2ff]
    ref: refs/changes/03/7803/1
    uploader:
      name: Alexey Lyashkov
      email: alexey_lyashkov@xyratex.com
      username: shadow
    createdOn: 2013-09-30 10:48:59 UTC
    approvals:
      type: VRIF
      description: Verified
      value: -1
      grantedOn: 2013-09-30 11:45:13 UTC
      by:
        name: Hudson
        username: hudson
  patchSets:
    number: 2
    revision: bc0ef1e16472cdae57fe68236e90aef66730b873
    parents:
 [63e8a4f33dc85d2957a035fc7d4b040de35c08ce]
    ref: refs/changes/03/7803/2
    uploader:
      name: Alexey Lyashkov
      email: alexey_lyashkov@xyratex.com
      username: shadow
    createdOn: 2013-10-01 08:02:17 UTC
    approvals:
      type: VRIF
      description: Verified
      value: 1
      grantedOn: 2013-10-02 05:45:32 UTC
      by:
        name: Hudson
        username: hudson
    approvals:
      type: CRVW
      description: Code Review
      value: -1
      grantedOn: 2013-10-04 17:16:19 UTC
      by:
        name: James Simmons
        email: uja.ornl@gmail.com
        username: jsimmons
    approvals:
      type: VRIF
      description: Verified
      value: -1
      grantedOn: 2013-10-03 06:48:00 UTC
      by:
        name: Maloo
        email: whamcloud.maloo@gmail.com
        username: maloo
    approvals:
      type: CRVW
      description: Code Review
      value: -1
      grantedOn: 2013-10-03 14:27:13 UTC
      by:
        name: Dmitry Eremin
        email: dmitry.eremin@intel.com
        username: dmiter
  patchSets:
    number: 3
    revision: 5122ed9a2f38d462266152fa818c195501d7c199
    parents:
 [780c49a765e6de0caeea5af7dce864f855570789]
    ref: refs/changes/03/7803/3
    uploader:
      name: Alexey Lyashkov
      email: alexey_lyashkov@xyratex.com
      username: shadow
    createdOn: 2013-10-16 08:17:11 UTC
    approvals:
      type: VRIF
      description: Verified
      value: 1
      grantedOn: 2013-10-16 09:03:40 UTC
      by:
        name: Hudson
        username: hudson
    approvals:
      type: CRVW
      description: Code Review
      value: -1
      grantedOn: 2013-10-16 14:29:42 UTC
      by:
        name: James Simmons
        email: uja.ornl@gmail.com
        username: jsimmons
    approvals:
      type: VRIF
      description: Verified
      value: -1
      grantedOn: 2013-10-17 04:08:38 UTC
      by:
        name: Maloo
        email: whamcloud.maloo@gmail.com
        username: maloo
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;See &lt;a href=&quot;http://review.whamcloud.com/Documentation/cmd-query.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/Documentation/cmd-query.html&lt;/a&gt; for some details.&lt;/p&gt;</comment>
                            <comment id="69658" author="morrone" created="Wed, 23 Oct 2013 18:02:26 +0000"  >&lt;p&gt;.bq One possibility that I think would be easy to implement (and also avoids the need to upgrade) is to only have Hudson/Jenkins mark the patch Verified -1 if it fails to build, but NOT add a Verified +1 if the build succeeds.&lt;/p&gt;

&lt;p&gt;What problem are you trying to solve?  Right now Maloo marks +1 and Jenkins marks +2, so those are already distinct and searchable states in gerrit.  The discussion in this ticket has been more focused on the Code-Review column, not the Verified column.&lt;/p&gt;

&lt;p&gt;If we mess with the &quot;Verified&quot; column at all, I think what I would want to do is eliminate it altogether.  Gerrit does not contrain us to just the two columns in the default configuration.  We can configure it however we want to match our workflow.  And I think that is the root of our problems so far: we try to shoehorn our workflow into gerrit&apos;s out-of-the-box defaults rather than changing gerrit&apos;s configuration to work with our workflow.&lt;/p&gt;

&lt;p&gt;Case in point, +1 and +2 in Code-Review column in the gerrit defaults have different meanings than +1 and +2 in Lustre&apos;s usage.  But we haven&apos;t taught gerrit our rules, so there is no way to create searches against the Code-Review column to gather the information that we really want.&lt;/p&gt;</comment>
                            <comment id="83345" author="adilger" created="Tue, 6 May 2014 19:32:44 +0000"  >&lt;p&gt;John has implemented some reports by interfacing with Gerrit directly:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wiki.hpdd.intel.com/display/Releases/2.6+Patch+Status+Report&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.hpdd.intel.com/display/Releases/2.6+Patch+Status+Report&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://wiki.hpdd.intel.com/display/~jhammond/Patch+Status&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.hpdd.intel.com/display/~jhammond/Patch+Status&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chris, does this meet your requirements for improved reporting of pending patches?&lt;/p&gt;</comment>
                            <comment id="83350" author="simmonsja" created="Tue, 6 May 2014 19:56:30 +0000"  >&lt;p&gt;The first link didn&apos;t work for me but the second did. Very nice looking.&lt;/p&gt;</comment>
                            <comment id="83385" author="jhammond" created="Wed, 7 May 2014 13:04:17 +0000"  >&lt;p&gt;There is also &lt;a href=&quot;https://wiki.hpdd.intel.com/display/~jhammond/Patch+Status+2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.hpdd.intel.com/display/~jhammond/Patch+Status+2&lt;/a&gt; which shows the same changes but in a single table.&lt;/p&gt;</comment>
                            <comment id="83589" author="morrone" created="Fri, 9 May 2014 01:19:18 +0000"  >&lt;p&gt;Andreas, as James pointed out we can&apos;t see the Releases/2.6+Patch+Status+Report page.&lt;/p&gt;

&lt;p&gt;I do like what I see at ~jhammond/Patch+Status and &lt;br/&gt;
~jhammond/Patch+Status+2!&lt;/p&gt;

&lt;p&gt;But there might be some bugs to work out...or perhaps the Patch+Status page hasn&apos;t been updated in a while?  For instance, change 1720/3 is listed under &quot;Needs Verify or Review&quot;, but it looks fully verified and reviewed in gerrit.  From the gerrit logs, it seems to have been that way since April, so my suspicion is a kink in the Patch+Status script that needs to be worked out.&lt;/p&gt;

&lt;p&gt;But even without that I am getting useful insight.  It looks pretty clear to me that we have an autotest issue.  Quite a few tests have been waiting well over a month for autotest to be run on them.  It is nice to have that easy visibility.&lt;/p&gt;
</comment>
                            <comment id="83651" author="morrone" created="Fri, 9 May 2014 17:42:33 +0000"  >&lt;p&gt;I think the scanning script may assume that &quot;Test-Parameters:&quot; can only be the first field at the end, or something like that.  It is missing fortestonly patches like this one:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/#/c/9167/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/9167/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are we going to get to see the scripts that generate this stuff?&lt;/p&gt;</comment>
                            <comment id="84854" author="jhammond" created="Mon, 26 May 2014 06:59:57 +0000"  >&lt;p&gt;1720/3 was under needs verify or review since we do not count positive reviews by the author or the committer.&lt;/p&gt;

&lt;p&gt;The commit message for &lt;a href=&quot;http://review.whamcloud.com/#/c/9167/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/9167/&lt;/a&gt; uses  &apos;Test-Requirements&apos; instead of &apos;Test-Parameters&apos;.&lt;/p&gt;</comment>
                            <comment id="84945" author="morrone" created="Tue, 27 May 2014 17:52:01 +0000"  >&lt;p&gt;Ah, right, fair enough.  I gave it a -1 to solve that.&lt;/p&gt;</comment>
                            <comment id="87642" author="morrone" created="Thu, 26 Jun 2014 23:24:21 +0000"  >&lt;p&gt;I like the pages alot.  This task is complete as far as I am concerned.&lt;/p&gt;</comment>
                            <comment id="87643" author="pjones" created="Thu, 26 Jun 2014 23:29:15 +0000"  >&lt;p&gt;Great - thanks Chris!&lt;/p&gt;</comment>
                            <comment id="96312" author="spitzcor" created="Tue, 14 Oct 2014 17:23:28 +0000"  >&lt;p&gt;What are the &apos;official&apos; URLs for the pages or will they stay at ~jhammond?  Once we confirm the publishable URLs, I&apos;d like to add them to the OpenSFS LWG wiki.&lt;/p&gt;</comment>
                            <comment id="97940" author="jhammond" created="Thu, 30 Oct 2014 14:34:46 +0000"  >&lt;p&gt;Hi Cory, we have decided that the ~jhammond URLs are the official ones.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13519" name="gerrit_infographic.zip" size="463171" author="denis_kondratenko" created="Fri, 20 Sep 2013 13:10:40 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzvx3z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9530</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>