Hi all,
Right now, when we merge a patch e.g. to the engine (and many other
projects), it can take up to several days until it is used by the
hosted-engine ovirt-system-tests suite. Something similar will happen
soon if/when we introduce suites that use ovirt-node.
If I got it right:
- Merge causes CI to build the engine - immediately, takes ~ 1 hour (say)
- A publisher job [1] publishes it to
resources.ovirt.org (daily,
midnight (UTC))
- The next run of an appliance build [2] includes it (daily, afternoon)
- The next run of the publisher [1] publishes the appliance (daily, midnight)
- The next run of ost-images [3] includes the appliance (daily,
midnight, 2 hours after the publisher) (and publishes it immediately)
- The next run of ost (e.g. [4]) will use it (daily, slightly *before*
ost-images, but I guess we can change that. And this does not affect
manual runs of OST, so can probably be ignored in the calculation, at
least to some extent).
So if I got it right, a patch merged to the engine in some morning,
will be used by the nightly run of OST HE only after almost 3 days,
and available for manual runs after 2 days. IMO that's too much time.
I might be somewhat wrong, but not very, I think.
One partial solution is to add automation .repos lines to relevant
projects that will link at lastSuccessfulBuild (let's call it lastSB)
of the more important projects they consume - e.g. appliance to use
lastSB of engine+dwh+a few others, node to use lastSB of vdsm, etc.
This will require more maintenance (adding/removing/fixing projects as
needed) and cause some more load on CI (as now packages will be
downloaded from it instead of from
resources.ovirt.org).
Another solution is to run relevant jobs (publisher/appliance/node)
far more often - say, once every two hours. This will also add load,
and might cause "perceived" instability - as things will likely
fluctuate between green and red more often.
I think I prefer the latter. What do you think?
Thanks and best regards,
[1]
https://jenkins.ovirt.org/job/ovirt_master_publish-rpms_nightly/
[2]
https://jenkins.ovirt.org/job/ovirt-appliance_master_build-artifacts-el8-...
[3]
https://jenkins.ovirt.org/job/ost-images_master_standard-poll-upstream-so...
[4]
https://jenkins.ovirt.org/job/ovirt-system-tests_he-basic-suite-master/
--
Didi