[OpenStack-Infra] Deep pipelining with zuul
Doug Wiegley
dougwig at parksidesoftware.com
Wed Feb 24 16:58:22 UTC 2016
I’m doing something similar, but am just specifying nodepool nodes on the child jobs, with artifact copying in Jenkins. I don’t think you need JClouds at that point. Jobs that use nodepool nodes don’t have to originate with zuul. Or am I missing your restriction?
doug
> On Feb 24, 2016, at 10:12 AM, Andrew Grimberg <agrimberg at linuxfoundation.org> wrote:
>
> The problem with that is that we would then continue to have to rely on
> JClouds to do slave management and we have two driving reasons for this
> desire / need to switch to Zuul and Nodepool (or something similar)
>
> 1) Recent versions of the Gerrit Trigger plugin for Jenkins forget, or
> do not update current triggers on JJB updates without someone either
> manually clicking save in the job configuration UI or doing a full
> restart of Jenkins. This is a bad thing for us, we're at nearly 2k jobs
> managed via JJB many of which are generated by templates and a single
> change can affect more than 100 jobs
>
> 2) JClouds is a single-threaded nightmare inside Jenkins and can easily
> cause it to hang creation of new slaves, deletion of old slaves and
> cause the Jenkins queue itself to not start jobs because a single job
> got hung and JClouds gets confused. This along with it completely
> forgetting about nodes that it started but they failed to connect for
> some reason.
>
> So, while that sounds like a viable solution, it's not :(
>
> -Andy-
>
> On 02/24/2016 08:04 AM, Doug Wiegley wrote:
>> Even if zuul doesn’t support the flow you want, you can also still
>> use matrix, multijob, and downstream jobs on Jenkins itself to simulate the
>> same behavior, with zuul just monitoring the parent job. Mix and match
>> until you get the flow that you need.
>>
>> doug
>>
>>
>>> On Feb 24, 2016, at 9:56 AM, Andrew Grimberg <agrimberg at linuxfoundation.org> wrote:
>>>
>>> Greetings,
>>>
>>> We're working on transitioning our Jenkins system off of Gerrit Trigger
>>> and JClouds to Zuul and Nodepool and have run into a bit of a snag.
>>>
>>> We have some rather deep pipeline dependencies with our current
>>> configurations where one job produces information and possibly artifacts
>>> that are then passed on to one or more jobs downstream.
>>>
>>> Is this sort of configuration even possible with Zuul? I can't seem to
>>> find anything in the documentation that would explain how to do this. If
>>> it's not currently possible, what would need to be done to extend Zuul
>>> to support something like this?
>>>
>>> As a simple example we're looking to something like this (please excuse
>>> the bad ascii art)
>>>
>>> / Verify1 \
>>> Gerrit event -- Zuul trigger -- Verify2 -- PipelineJob1 -- Response
>>> \ Verify3 /
>>>
>>>
>>> What the documentation is leading me to believe is that I can't do that
>>> extra PipelineJob1 (or multiple in serial / parallel)
>>>
>>> -Andy-
>>>
>>> --
>>> Andrew J Grimberg
>>> Systems Administrator
>>> The Linux Foundation
>>>
>>> _______________________________________________
>>> OpenStack-Infra mailing list
>>> OpenStack-Infra at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
>>
>
> --
> Andrew J Grimberg
> Systems Administrator
> The Linux Foundation
>
More information about the OpenStack-Infra
mailing list