ci please build and send to OST
Description
is blocked by
is duplicated by
Activity

Barak Korren November 7, 2017 at 12:23 PM
If OST was cheap and quick, it would be lovely to run on any patch. It can also be run after a +2 from a maintainer, or after a workflow+1, providing a verified +0.5 to a patch. I don't know if that's what you're aiming at.
OST is probably not going to ever be cheap and quick enough.
I'm aiming at leveraging the same group-testing+bisection tech we use for post-merge OST runs. It was initially designed for pre-merge testing (a.k.a. gating) anyway, we just decided to deliver something that is useful and works before implementing everything we set out to.

danken November 7, 2017 at 11:30 AM
If OST was cheap and quick, it would be lovely to run on any patch. It can also be run after a +2 from a maintainer, or after a workflow+1, providing a verified +0.5 to a patch. I don't know if that's what you're aiming at.

Barak Korren November 7, 2017 at 7:14 AM
I suppose this is not a joke, so I'll answer it seriously. Yes. Vdsm and Engine are too big and complex.
Are there low-hanging fruits there? Could we improve the per-patch checking infrastructure in one way or another to reduce the need to run full OST? Will separate checking "threads" that respond asynchronously help?
Regardless, commit/fail/revert/fix is a frustrating development model. post/test/fix/commit is so much better.
Perhaps we can make efforts to structure patches so that commit/fail/fix can be more common then commit/fail/revert/fix? Will one or both of the following things help?
Lower latency of CQ/OST results
Posting CQ/OST results back directly to Gerrit

danken November 6, 2017 at 10:12 PM
> Could it be that the project contains too much independent stuff in it?
I suppose this is not a joke, so I'll answer it seriously. Yes. Vdsm and Engine are too big and complex.
Regardless, commit/fail/revert/fix is a frustrating development model. post/test/fix/commit is so much better.

Barak Korren November 6, 2017 at 3:51 PM
BTW I wonder why you need to run OST manually so often. We have change gating, so when merging a breaking change, you're only breaking the particular project you merged a change into. Other, unrelated projects can keep being tested against the last known working version...
Could it be that the project contains too much independent stuff in it?

Barak Korren November 6, 2017 at 3:49 PM
The process is clunky because the whole idea if having to launch stuff manually in CI is clunky.
We needed to provide a useful tool, so we brought some things together to make this possible. But I wouldn't want to spend efforts around automating a process which is IMO fundamentally broken.
Ideally you would just get OST results for every patch before merging it, but this requires several things:
Asynchronous result notification to Gerrit, so you can see check-patch results while OST is still running (We have that in GitHub already, but our Gerrit framework is a bit rigid still)
Submitting pre-merged patches to CQ
Merge emulation, which is to say, emulate how the code will look if all patches being tested were merged together.
We have bits and pieces of everything except #3 which is by far the most complex thing to do there...
Adding as a blocker
Details
Assignee
infrainfraReporter
dankendanken(Deactivated)Components
Priority
Medium
Details
Details
Assignee

Reporter

Can you please automate the frequent process, which is slow and error prone?
I am writing a patch, and would like to test it in ost. now I need to
"ci please build"
copy el7 url
wait for el7 build to finish
copy artifacts url to ovirt--system-test-manual, start it
copy the ost run URL to the gerrit patch, so I have it for reference of failure/success.