Vdsm tests are 4X times faster on travis
Barak Korren
bkorren at redhat.com
Sun Dec 4 07:59:30 UTC 2016
On 3 December 2016 at 21:36, Nir Soffer <nsoffer at redhat.com> wrote:
> HI all,
>
> Watching vdsm travis builds in the last weeks, it is clear that vdsm tests
> on travis are about 4X times faster compared with jenkins builds.
>
> Here is a typical build:
>
> ovirt ci: http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc24-x86_64/5101/consoleFull
> travis ci: https://travis-ci.org/nirs/vdsm/builds/179056079
>
> The build took 4:34 on travis, and 19:34 on ovirt ci.
Interesting, thanks for looking at this!
>
> This has a huge impact on vdsm maintainers. Having to wait 20 minutes
> for each patch
> means that we must ignore the ci and merge and hope that previous tests without
> rebasing on master were good enough.
>
> The builds are mostly the same, expect:
>
> - In travis we don't check if the build system was changed and
> packages should be built
> takes 9:18 minutes in ovirt ci.
Well, I guess the infra team can't help with that, but still, is there
anything we could do at the infrastructure level to speed this up?
> - In travis we don't clean or install anything before the test, we use
> a container with all the
> available packages, pulled from dockerhub.
> takes about 3:52 minutes in ovirt ci
Well, I guess this is where we (the infra team) should pay attention.
We do have a plan to switch from mock to Docker at some point
(OVIRT-873 [1]), but it'll take a while until we can make such a large
switch.
It the meantime there may be some low-hanging fruit we can pick to
make things faster. Looking at the same log:
16:03:28 Init took 77 seconds
16:05:50 Install packages took 142 seconds
We may be able to speed those up - looking at the way muck is
configured, we may be running with its caches turned off (I'm not yet
100% sure about this - muck_runner.sh is not the simplest script...).
I've created OVIRT-902 [2] for us to look at this.
> - In travis we don't enable coverage. Running the tests with coverage
> may slow down the tests
> takes 5:04 minutes in ovirt ci
> creating the coverage report takes only 15 seconds, not interesting
We can easily check this by just sending a patch with coverage turned
on and then sending another patch set for the same patch with coverage
turned off.
> - In travis we don't cleanup anything after the test
> this takes 34 seconds in ovirt ci
We can look at speeding this up - or perhaps just change things so
that results are reported as soon as check_patch.sh is done as opposed
to when the Jenkins job is done.
There may be some pitfalls here so I need to think a little more
before I recommend going down this path.
> The biggest problem is the build system check taking 9:18 minutes.
> fixing it will cut the build time in half.
Please try fixing that, or maybe this should just move to build_artifacts.sh?
[1]: https://ovirt-jira.atlassian.net/browse/OVIRT-873
[2]: https://ovirt-jira.atlassian.net/browse/OVIRT-902
--
Barak Korren
bkorren at redhat.com
RHCE, RHCi, RHV-DevOps Team
https://ifireball.wordpress.com/
More information about the Infra
mailing list