[placement][TripleO][infra] zuul job dependencies for greater good?
Bogdan Dobrelya
bdobreli at redhat.com
Thu Feb 28 11:46:00 UTC 2019
On 28.02.2019 12:30, Bogdan Dobrelya wrote:
> Here is example jobs [0],[1] to illustrate the "middle-ground proposal".
>
> As you can see, disregard of the failed tox, a few jobs will be executed:
> - tripleo-ci-centos-7-undercloud-containers (the base job for UC
> deployments checking)
> - tripleo-ci-centos-7-standalone (the base job that emulates overcloud
> deployments but on all-in-one standalone layout)
> - tripleo-ci-fedora-28-standalone (the same, but performed for f28 zuul
> subnodes)
what's interesting, it gives even more prominent feedback for the listed
"base level" checks, than it normally does. See, a 1h after the last
update of [1], I have already been gotten some results this early. And
for the 2nd DNM test [0], that took even shorter - only a 30 min.
>
> So that hopefully still gives a developer some insights and as well
> prevents the rest of the deemed to fail (or deprecated multinode) jobs
> from execution and still saves some CI pool resources.
>
> To illustrate the further ordering, see [2],[3] that is expected to have
> the standalone and UC jobs passing. That would in turn cause the
> update/upgrade and custom standalone scenarios jobs executed *after*
> that logical build-step, so let's wait and see for results. If you think
> we should limit the changes scope for dependencies of tox jobs only, let
> me know and I'll remove those additional inter-jobs dependencies odd the
> patches.
Note that [2],[3] takes longer comparing to [0],[1] as the former jobs
are running after the "next level". So we can expect the total time of
the full check pipeline will take longer by a 50 minutes or so.
And if we moved the update/upgrade jobs to the base level, we'd have
results for those jobs always listed disregard of the tox jobs. But for
that case, the base later would take a ~2h instead, therefore the total
check pipeline delay would be also extended by that value.
>
> PS. I don't think that reworked layout abuses zuul dependencies feature
> in any way as we do have some logical state shared here across these
> consequently executed jobs. That is only the "succeeded-or-not" flag so
> far :-) Ideally, we'll need some real deployment artifacts shared, like
> the updated containers registry.
>
> [0] https://review.openstack.org/639615
> [1] https://review.openstack.org/639721
> [2] https://review.openstack.org/639725
> [3] https://review.openstack.org/639604
>
>
> On 27.02.2019 18:31, Bogdan Dobrelya wrote:
>> I think we can still consider the middle-ground, where only deprecated
>> multinode jobs, which tripleo infra team is in progress of migrating
>> into standalone jobs, could be made depending on unit and pep8 checks?
>> And some basic jobs will keep being depending on nothing.
>>
>> I expanded that idea in WIP topic [0]. Commit messages explain how the
>> ordering was reworked.
>>
>> PS. I'm sorry I missed the submitted stats for zuul projects posted
>> earlier in this topic, I'll take a look into that.
>>
>> [0]
>> https://review.openstack.org/#/q/topic:ci_pipelines+(status:open+OR+status:merged)
>>
>>
>>> Bogdan Dobrelya <bdobreli at redhat.com> writes:
>>>> On 26.02.2019 17:53, James E. Blair wrote:
>>>>> Bogdan Dobrelya <bdobreli at redhat.com> writes:
>>>>>
>>>>>> I attempted [0] to do that for tripleo-ci, but zuul was (and still
>>>>>> does) complaining for some weird graphs building things :/
>>>>>>
>>>>>> See also the related topic [1] from the past.
>>>>>>
>>>>>> [0] https://review.openstack.org/#/c/568543
>>>>>> [1]
>>>>>> http://lists.openstack.org/pipermail/openstack-dev/2018-March/127869.html
>>>>>>
>>>>>
>>>>> Thank you for linking to [1]. It's worth re-reading. Especially the
>>>>> part at the end.
>>>>>
>>>>> -Jim
>>>>>
>>>>
>>>
>>> Yes, the part at the end is the best indeed.
>>> I'd amend the time priorities graph though like that:
>>>
>>> CPU-time < a developer time < developers time
>>>
>>> That means burning some CPU and nodes in a pool for a waste might
>>> benefit a developer, but saving some CPU and nodes in a pool would
>>> benefit *developers* in many projects as they'd get the jobs results
>>> off the waiting check queues faster :)
>>
>>
>>
>
>
--
Best regards,
Bogdan Dobrelya,
Irc #bogdando
More information about the openstack-discuss
mailing list