[openstack-dev] [cinder][neutron][nova][3rd party testing] Gerrit Jenkins plugin will not fulfill requirements of 3rd party testing

Sergey Lukjanov slukjanov at mirantis.com
Thu Feb 13 20:41:32 UTC 2014


nice, are you planning to commit it to upstream?


On Fri, Feb 14, 2014 at 12:34 AM, Sukhdev Kapur
<sukhdev at aristanetworks.com>wrote:

> Jay,
>
> Just an FYI. We have modified the Gerrit plugin it accept/match regex to
> generate notifications of for "receck no bug/bug ###". It turned out to be
> very simple fix and we (Arista Testing) is now triggering on recheck
> comments as well.
>
> regards..
> -Sukhdev
>
>
>
> On Thu, Feb 6, 2014 at 4:16 PM, Sukhdev Kapur <sukhdev at aristanetworks.com>wrote:
>
>> Hi Jay,
>>
>> Thanks for bringing this up. I have been trying to make the recheck work
>> and have not had much success. Therefore, I agree that we should go with
>> option a) for the short term until b) or c) becomes available.
>> I would prefer b) because we have already invested a lot in our solution
>> and it is fully operational.
>>
>> Thanks
>> -Sukhdev
>>
>>
>>
>>
>> On Tue, Feb 4, 2014 at 3:55 PM, Jay Pipes <jaypipes at gmail.com> wrote:
>>
>>> Sorry for cross-posting to both mailing lists, but there's lots of folks
>>> working on setting up third-party testing platforms that are not members
>>> of the openstack-infra ML...
>>>
>>> tl;dr
>>> -----
>>>
>>> The third party testing documentation [1] has requirements [2] that
>>> include the ability to trigger a recheck based on a gerrit comment.
>>>
>>> Unfortunately, the Gerrit Jenkins Trigger plugin [3] does not have the
>>> ability to trigger job runs based on a regex-filtered comment (only on
>>> the existence of any new comment to the code review).
>>>
>>> Therefore, we either should:
>>>
>>> a) Relax the requirement that the third party system trigger test
>>> re-runs when a comment including the word "recheck" appears in the
>>> Gerrit event stream
>>>
>>> b) Modify the Jenkins Gerrit plugin to support regex filtering on the
>>> comment text (in the same way that it currently supports regex filtering
>>> on the project name)
>>>
>>> or
>>>
>>> c) Add documentation to the third party testing pages that explains how
>>> to use Zuul as a replacement for the Jenkins Gerrit plugin.
>>>
>>> I propose we do a) for the short term, and I'll work on c) long term.
>>> However, I'm throwing this out there just in case there are some Java
>>> and Jenkins whizzes out there that could get b) done in a jiffy.
>>>
>>> details
>>> -------
>>>
>>> OK, so I've been putting together documentation on how to set up an
>>> external Jenkins platform that is "linked" [4] with the upstream
>>> OpenStack CI system.
>>>
>>> Recently, I wrote an article detailing how the upstream CI system
>>> worked, including a lot of the gory details from the
>>> openstack-infra/config project's files. [5]
>>>
>>> I've been working on a follow-up article that goes through how to set up
>>> a Jenkins system, and in writing that article, I created a source
>>> repository [6] that contains scripts, instructions and Puppet modules
>>> that set up a Jenkins system, the Jenkins Job Builder tool, and
>>> installs/configures the Jenkins Gerrit plugin [7].
>>>
>>> I planned to use the Jenkins Gerrit plugin as the mechanism that
>>> triggers Jenkins jobs on the external system based on gerrit events
>>> published by the OpenStack review.openstack.org Gerrit service. In
>>> addition to being mentioned in the third party documentation, Jenkins
>>> Job Builder has the ability to construct Jenkins jobs that are triggered
>>> by the Jenkins Gerrit plugin [8].
>>>
>>> Unforunately, I've run into a bit of a snag.
>>>
>>> The third party testing documentation has requirements that include the
>>> ability to trigger a recheck based on a gerrit comment:
>>>
>>> <quote>
>>> Support recheck to request re-running a test.
>>>  * Support the following syntaxes recheck no bug and recheck bug ###.
>>>  * Recheck means recheck everything. A single recheck comment should
>>> re-trigger all testing systems.
>>> </quote>
>>>
>>> The documentation has a section on using the Gerrit Jenkins Trigger
>>> plugin [3] to accept notifications from the upstream OpenStack Gerrit
>>> instance.
>>>
>>> But unfortunately, the Jenkins Gerrit plugin does not support the
>>> ability to trigger a re-run of a job given a regex match of the word
>>> "recheck". :(
>>>
>>> So, we either need to a) change the requirements of third party testers,
>>> b) enhance the Jenkins Gerrit plugin with the missing functionality, or
>>> c) add documentation on how to set up Zuul as the triggering system
>>> instead of the Jenkins Gerrit plugin.
>>>
>>> I'm happy to work on c), but I think relaxing the restriction (a) is
>>> probably needed short-term.
>>>
>>> Best,
>>> -jay
>>>
>>> [1] http://ci.openstack.org/third_party.html
>>> [2] http://ci.openstack.org/third_party.html#requirements
>>> [3]
>>>
>>> http://ci.openstack.org/third_party.html#the-jenkins-gerrit-trigger-plugin-way
>>> [4] By "linked" I mean it both reads from the OpenStack Gerrit system
>>> and writes (adds comments) to it
>>> [5] http://www.joinfu.com/2014/01/understanding-the-openstack-ci-system/
>>> [6] http://github.com/jaypipes/os-ext-testing
>>> [7] https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger
>>> [8]
>>>
>>> https://github.com/openstack-infra/jenkins-job-builder/blob/master/jenkins_jobs/modules/triggers.py#L121
>>>
>>>
>>>
>>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>


-- 
Sincerely yours,
Sergey Lukjanov
Savanna Technical Lead
Mirantis Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140214/a3620eea/attachment.html>


More information about the OpenStack-dev mailing list