<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 11, 2014 at 8:32 AM, James E. Blair <span dir="ltr"><<a href="mailto:corvus@inaugust.com" target="_blank">corvus@inaugust.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>James Polley <<a href="mailto:jp@jamezpolley.com" target="_blank">jp@jamezpolley.com</a>> writes:<br>
<br>
> On Thu, Sep 11, 2014 at 6:52 AM, James E. Blair <<a href="mailto:corvus@inaugust.com" target="_blank">corvus@inaugust.com</a>> wrote:<br>
><br>
>> Steven Hardy <<a href="mailto:shardy@redhat.com" target="_blank">shardy@redhat.com</a>> writes:<br>
>><br>
>> > Yeah, I don't know what the optimal solution is - my attention has<br>
>> recently<br>
>> > been drawn to queries generated via gerrit-dash-creator, which I'm<br>
>> finding<br>
>> > help a lot.<br>
>><br>
>> This is one of several great solutions to the problem.  Any query in<br>
>> Gerrit can include an age specifier.  To get the old behavior, just add<br>
>> "age:-2week" (that translates to "last updated less than 2 weeks ago")<br>
>> to any query -- whether a dashboard or your own bookmarked query like<br>
>> this one:<br>
>><br>
>><br>
>> <a href="https://review.openstack.org/#/q/status:open+age:-2week+project:openstack/nova,n,z" target="_blank">https://review.openstack.org/#/q/status:open+age:-2week+project:openstack/nova,n,z</a><br>
><br>
><br>
> If someone uploads a patch, and 15 days later it's had no comments at all,<br>
> would it be visible in this query? My understanding is that it wouldn't, as<br>
> it was last updated more than two weeks ago<br>
><br>
> In my mind, a patch that's had no comments in two weeks should be high on<br>
> the list of thing that need feedback. As far as I know, Gerrit doesn't have<br>
> any way to sort by oldest-first though, so even if a two-week-old patch was<br>
> visible in the query, it would be at the bottom of the list.<br>
<br>
</span>Indeed, however, a slightly different query will get you exactly what<br>
you're looking for.  This will show changes that are at least 2 days<br>
old, have no code reviews, are not WIP, and have passed Jenkins:<br>
<br>
  project:openstack/nova status:open label:Verified>=1,jenkins NOT label:Workflow<=-1 NOT label:Code-Review<=2 age:2d<br>
<br>
or the direct link:<br>
<br>
  <a href="https://review.openstack.org/#/q/project:openstack/nova+status:open+label:Verified%253E%253D1%252Cjenkins+NOT+label:Workflow%253C%253D-1+NOT+label:Code-Review%253C%253D2+age:2d,n,z" target="_blank">https://review.openstack.org/#/q/project:openstack/nova+status:open+label:Verified%253E%253D1%252Cjenkins+NOT+label:Workflow%253C%253D-1+NOT+label:Code-Review%253C%253D2+age:2d,n,z</a></blockquote><div><br></div><div>Weeks later I finally went to add this to our dashboard, only to find that we already have something similar, if I'm reading correctly.</div><div><br></div><div><a href="http://git.openstack.org/cgit/stackforge/gerrit-dash-creator/tree/dashboards/tripleo.dash#n15" target="_blank">http://git.openstack.org/cgit/stackforge/gerrit-dash-creator/tree/dashboards/tripleo.dash#n15</a></div><div><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:14px"><code>[section "5 Days Without Feedback"]
query = label:Verified>=1%2cjenkins NOT owner:self NOT project:openstack/tripleo-specs NOT label:Code-Review<=2 age:5d
</code></pre></div><div><code><br></code></div><div>(plus the other qualifiers added in the header: status:open NOT label:Workflow<=-1 NOT label:Code-Review<=-2)<br><br>This particular section is okay right now - only one change visible. The "Needs Approval" section (query = label:Verified>=1%2cjenkins NOT owner:self label:Code-Review>=2 NOT label:Code-Review-1) is more of a problem; 43 reviews, with the oldest hidden at the bottom.<br><br>I can see a few ways I could improve this; one would be to to split "Needs approval" into multiple sections - "Needs Approval" for 0-5 days, "Really needs approval" for 5-10, and so on. Another would be to add something to enable oldest-first sorting in Gerrit. I'm thinking that it doesn't even need to be server-side, a client-side script (just like the one that adds the "Toggle CI" button) would probably suffice to enable the sorting.</div><div><br></div><div>If anyone has other ideas before I start tinkering with jquery to make the tables sortable, I'd love to hear it - but from my limited experience with jquery I don't think it should be too much of an issue.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
<br>
Incidentally, that is the query in the "Wayward Changes" section of the<br>
"Review Inbox" dashboard (thanks Sean!); for nova, you can see it here:<br>
<br>
  <a href="https://review.openstack.org/#/projects/openstack/nova,dashboards/important-changes:review-inbox-dashboard" target="_blank">https://review.openstack.org/#/projects/openstack/nova,dashboards/important-changes:review-inbox-dashboard</a><br>
<br>
The key here is that there are a lot of changes in a lot of different<br>
states, and one query isn't going to do everything that everyone wants<br>
it to do.  Gerrit has a _very_ powerful query language that can actually<br>
help us make sense of all the changes we have in our system without<br>
externalizing the cost of that onto contributors in the form of<br>
forced-abandoning of changes.  Dashboards can help us share the<br>
knowledge of how to get the most out of it.<br>
<br>
  <a href="https://review.openstack.org/Documentation/user-dashboards.html" target="_blank">https://review.openstack.org/Documentation/user-dashboards.html</a><br>
  <a href="https://review.openstack.org/Documentation/user-search.html" target="_blank">https://review.openstack.org/Documentation/user-search.html</a><br>
<div><div><br>
-Jim<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>