[vdsm] Running VDSM unit tests on Travis CI using Docker

Hi All, The following patch is proposing to run VDSM unit tests on Travis CI. It uses Docker, GitHub and Travis CI integration. We can extend the usage and run coverage with historic information using coveralls.io service (or similar). https://gerrit.ovirt.org/#/c/54856 Results of the run can be seen here: https://travis-ci.org/EdDev/vdsm Thanks, Edy.

On Tue, Apr 05, 2016 at 06:22:20PM +0300, Edward Haas wrote:
Hi All,
The following patch is proposing to run VDSM unit tests on Travis CI. It uses Docker, GitHub and Travis CI integration.
We can extend the usage and run coverage with historic information using coveralls.io service (or similar).
https://gerrit.ovirt.org/#/c/54856
Results of the run can be seen here: https://travis-ci.org/EdDev/vdsm
Thanks Edy. I've merged your patch to see how this historical data accumulate in https://travis-ci.org/EdDev/vdsm/builds If all is well for a week or so, I suggest that infra@ovirt adds vdsm to https://travis-ci.org/ovirt and move your el7 docker image to https://hub.docker.com/u/ovirt/ to make this thing more official. Regards, Dan.

Edward Haas <ehaas@redhat.com> writes:
The following patch is proposing to run VDSM unit tests on Travis CI.
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm. BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess

On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
The following patch is proposing to run VDSM unit tests on Travis CI.
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine? On Travis CI I could not run the full test suite. Maybe I need to check again.
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all': File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall() File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.

On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
Thanks! Can you send a patch to add the missing packages to our travis config?
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
Correct, the code is not compatible with python 3, we must implement rich comparison to make it work on Python 3 (__lt__, __le__, etc.)
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

Nir Soffer <nsoffer@redhat.com> writes:
Can you send a patch to add the missing packages to our travis config?
I think it's better to continue on your `travis' topic: - `psmisc' is needed by tests/fuserTests.py (it contains /usr/sbin/fuser) - `which' is needed by CommandPathTests.testExistingNotInPaths in tests/utilsTests.py"

On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253

On Wed, Apr 6, 2016 at 2:19 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Sure, make check in master run tests that should not run on travis. Try the travis branch - after adding ioprocess to the docker image, all tests should pass: https://gerrit.ovirt.org/55738 Nir

On Wed, Apr 6, 2016 at 2:23 PM, Nir Soffer <nsoffer@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:19 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com>
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker
for
building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting
wrote: this
result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Sure, make check in master run tests that should not run on travis.
Try the travis branch - after adding ioprocess to the docker image, all tests should pass: https://gerrit.ovirt.org/55738
Nir
Ok, will check it as well. But its a bit of a lie, many tests are skipped instead of not ran at all, this needs to be fixed. In addition, I find many tests as not unit tests, all tests should pass in a few seconds not in 2 minutes.

On Wed, Apr 6, 2016 at 2:33 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:23 PM, Nir Soffer <nsoffer@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:19 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Sure, make check in master run tests that should not run on travis.
Try the travis branch - after adding ioprocess to the docker image, all tests should pass: https://gerrit.ovirt.org/55738
Nir
Ok, will check it as well. But its a bit of a lie, many tests are skipped instead of not ran at all, this needs to be fixed. In addition, I find many tests as not unit tests, all tests should pass in a few seconds not in 2 minutes.
Storage people always lie :-) We have @slowtest for marking slow tests. Unfortunately, some tests are slow, and there is no value in mocking the thing you want to test. Nir

On Wed, Apr 6, 2016 at 2:41 PM, Nir Soffer <nsoffer@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:33 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:23 PM, Nir Soffer <nsoffer@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:19 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <
wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py",
mzamazal@redhat.com> line
160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Sure, make check in master run tests that should not run on travis.
Try the travis branch - after adding ioprocess to the docker image, all tests should pass: https://gerrit.ovirt.org/55738
Nir
Ok, will check it as well. But its a bit of a lie, many tests are skipped instead of not ran at all, this needs to be fixed. In addition, I find many tests as not unit tests, all tests should pass in a few seconds not in 2 minutes.
Storage people always lie :-)
We have @slowtest for marking slow tests. Unfortunately, some tests are slow, and there is no value in mocking the thing you want to test.
Nir
Well, I will like to run only the unit tests, and you seem to try and merge the integration tests in the same run. I think they need to be separated. I would like to see the unit tests pass in a few seconds, have no surprising skips and have no dependency or other services.

On Wed, Apr 6, 2016 at 2:55 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:41 PM, Nir Soffer <nsoffer@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:33 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:23 PM, Nir Soffer <nsoffer@redhat.com> wrote:
On Wed, Apr 6, 2016 at 2:19 PM, Edward Haas <ehaas@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
> On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal > <mzamazal@redhat.com> > wrote: > > Thank you, Edward, this is useful not only for CI. I use > docker > for > building Vdsm and running its unit tests and this helped me to > get > the > proper updated set of packages after recent changes in Vdsm. > > BTW, it seems that the following packages should be > additionally > added > for `make check-all': psmisc, which, python-ioprocess > > > Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Sure, make check in master run tests that should not run on travis.
Try the travis branch - after adding ioprocess to the docker image, all tests should pass: https://gerrit.ovirt.org/55738
Nir
Ok, will check it as well. But its a bit of a lie, many tests are skipped instead of not ran at all, this needs to be fixed. In addition, I find many tests as not unit tests, all tests should pass in a few seconds not in 2 minutes.
Storage people always lie :-)
We have @slowtest for marking slow tests. Unfortunately, some tests are slow, and there is no value in mocking the thing you want to test.
Nir
Well, I will like to run only the unit tests, and you seem to try and merge the integration tests in the same run.
make check run only unit tests, I'm using NOSE_EVAL_ATTR to filter out the integration tests: https://gerrit.ovirt.org/#/c/55728/2/tests/run_tests_local.sh.in Some integration tests are not marked yet, we will do this later.
I think they need to be separated. I would like to see the unit tests pass in a few seconds, have no surprising skips and have no dependency or other services.
I agree all goals, but it will take more time. We should follow the general rule: http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast Nir

--9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 04/06 14:19, Edward Haas wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote: =20
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker f= or building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 13= 4, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med =3D ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
=20 I ran it on Travis CI with your recommended addition, and I am getting th= is result: FAILED (SKIP=3D107, errors=3D14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117= 253
Afaik, you won't be able to run any tests that touch networking, or kernel modules (bonding and such). That is as much a limitation of travis as of docker, that was one of the points why we started using chroots instead of docker containers on ovirt ci.
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
--=20 David Caro Red Hat S.L. Continuous Integration Engineer - EMEA ENG Virtualization R&D Tel.: +420 532 294 605 Email: dcaro@redhat.com IRC: dcaro|dcaroest@{freenode|oftc|redhat} Web: www.redhat.com RHT Global #: 82-62605 --9jxsPFA5p3P2qPhR Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJXBPG/AAoJEEBxx+HSYmnDOfUH/1owj5bcM9PDqs5dFLohu5Us rRzAG1syutD1RKH6SoK6FvX2CHwsk2fc8hObEq8lASF7pwPfl6jKctceGiZXeNxC d3SLiYNyk9aTJPriz4zCqLKnem6FKkcSsDKFvLlJbKVGX6AaXO3YF9rbnml8Qxiv fr6k43u0ro/QHKZ5qvqJd8x1Y3Hmep2+nD7yWdd5sMLyUYdTdQnippJY+t7jkjEX 7IKZTU8Q8PZzQQ4t3pN4tobuA7IYfeMjPlxwo/Z5OXpeK0e/AZkeZXX5ztulbv7f 941Uacx2Ibo+KU1H50Jnak2MRCcllxDBbkUgXxcb8EcOem7hdtJTXqhLHP/Yo1E= =IhW6 -----END PGP SIGNATURE----- --9jxsPFA5p3P2qPhR--

On Wed, Apr 6, 2016 at 2:23 PM, David Caro <dcaro@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting
On 04/06 14:19, Edward Haas wrote: this
result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Afaik, you won't be able to run any tests that touch networking, or kernel modules (bonding and such). That is as much a limitation of travis as of docker, that was one of the points why we started using chroots instead of docker containers on ovirt ci.
Yes, that is why I intended it for unit tests only, not for integration or functional. We may find some integration tests that do pass, that needs some more investigation, but it's out of my original intent .
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- David Caro
Red Hat S.L. Continuous Integration Engineer - EMEA ENG Virtualization R&D
Tel.: +420 532 294 605 Email: dcaro@redhat.com IRC: dcaro|dcaroest@{freenode|oftc|redhat} Web: www.redhat.com RHT Global #: 82-62605

On Wed, Apr 6, 2016 at 2:23 PM, David Caro <dcaro@redhat.com> wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting
On 04/06 14:19, Edward Haas wrote: this
result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Afaik, you won't be able to run any tests that touch networking, or kernel modules (bonding and such). That is as much a limitation of travis as of docker, that was one of the points why we started using chroots instead of docker containers on ovirt ci.
All of those should run fine in Lago, right? Y.
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- David Caro
Red Hat S.L. Continuous Integration Engineer - EMEA ENG Virtualization R&D
Tel.: +420 532 294 605 Email: dcaro@redhat.com IRC: dcaro|dcaroest@{freenode|oftc|redhat} Web: www.redhat.com RHT Global #: 82-62605
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

--KDt/GgjP6HVcx58l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 04/06 14:31, Yaniv Kaul wrote:
On Wed, Apr 6, 2016 at 2:23 PM, David Caro <dcaro@redhat.com> wrote: =20
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.c= om> wrote:
Thank you, Edward, this is useful not only for CI. I use dock= er for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additiona= lly added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `= make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", l= ine 160, in test_latency med =3D ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting
On 04/06 14:19, Edward Haas wrote: this
result: FAILED (SKIP=3D107, errors=3D14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Afaik, you won't be able to run any tests that touch networking, or ker= nel modules (bonding and such). That is as much a limitation of travis as of docker, that was one of the points why we started using chroots instead= of docker containers on ovirt ci.
=20 All of those should run fine in Lago, right?
Yep, they run ok on chroot (with some mount magic) and they should run with= out any magic on lago
Y. =20 =20
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- David Caro
Red Hat S.L. Continuous Integration Engineer - EMEA ENG Virtualization R&D
Tel.: +420 532 294 605 Email: dcaro@redhat.com IRC: dcaro|dcaroest@{freenode|oftc|redhat} Web: www.redhat.com RHT Global #: 82-62605
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
--=20 David Caro Red Hat S.L. Continuous Integration Engineer - EMEA ENG Virtualization R&D Tel.: +420 532 294 605 Email: dcaro@redhat.com IRC: dcaro|dcaroest@{freenode|oftc|redhat} Web: www.redhat.com RHT Global #: 82-62605 --KDt/GgjP6HVcx58l Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJXBPQnAAoJEEBxx+HSYmnDPsYH/3LFeluRaU8CBGfIermzRE6n Qv/8WDVthq0KkMahmFLysvKc72fe55kNHvkSg+jVW2O1bRLOAqeznmXdTv+c9VlD MKmMsOZxHKLI6rEOOXOj6bJ88P3zgsklMcsimCmGC0/r8KJe3nOhuZI4D6sOwS+7 yNaTNIRJcmonw1YOlWnbwbOHig4ltsttePyZ1tiaTLq6r3gLT/Ti4ruFedWAquGG hfMJPVe5G6Uxi2JWKCAzhZFaBCa1NgvobI3cmm+oG9h1VQXOlyr79To45HQZ+9cO LawoDz2R822J4giBBxcYRkcxhbB8qgGE7Uy6sK6M/3Z0ZyRNZE62EsSog0rgRrI= =Jg39 -----END PGP SIGNATURE----- --KDt/GgjP6HVcx58l--

Afaik, you won't be able to run any tests that touch networking, or kernel modules (bonding and such). That is as much a limitation of travis as of docker, that was one of the points why we started using chroots instead of docker containers on ovirt ci.
You might be able to ask for the old architecture - standard or trusty - where you can do a bit more. https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments Martin On Wed, Apr 6, 2016 at 1:23 PM, David Caro <dcaro@redhat.com> wrote:
On 04/06 14:19, Edward Haas wrote:
On Wed, Apr 6, 2016 at 1:41 PM, Milan Zamazal <mzamazal@redhat.com> wrote:
Edward Haas <ehaas@redhat.com> writes:
On Wed, Apr 6, 2016 at 11:39 AM, Milan Zamazal <mzamazal@redhat.com> wrote:
Thank you, Edward, this is useful not only for CI. I use docker for building Vdsm and running its unit tests and this helped me to get the proper updated set of packages after recent changes in Vdsm.
BTW, it seems that the following packages should be additionally added for `make check-all': psmisc, which, python-ioprocess
Are you saying that make check is passing on your local machine?
When I add the packages given above, `make check-all' (as well as `make check') works for me except for 4 tests in lib/vdsm/schedule.py that produce the following errors with `make check-all':
File "/home/pdm/ovirt/vdsm/vdsm-test/lib/vdsm/schedule.py", line 134, in schedule heapq.heappush(self._calls, (deadline, call)) nose.proxy.TypeError: unorderable types: ScheduledCall() < ScheduledCall()
File "/home/pdm/ovirt/vdsm/vdsm-test/tests/scheduleTests.py", line 160, in test_latency med = ticker.latency[len(ticker.latency) / 2] nose.proxy.TypeError: list indices must be integers, not float
Those are probably Python 3 failures that should be fixed in Vdsm. The docker environment works fine for running the unit tests on my machine.
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
Afaik, you won't be able to run any tests that touch networking, or kernel modules (bonding and such). That is as much a limitation of travis as of docker, that was one of the points why we started using chroots instead of docker containers on ovirt ci.
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel
-- David Caro
Red Hat S.L. Continuous Integration Engineer - EMEA ENG Virtualization R&D
Tel.: +420 532 294 605 Email: dcaro@redhat.com IRC: dcaro|dcaroest@{freenode|oftc|redhat} Web: www.redhat.com RHT Global #: 82-62605
_______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel

Edward Haas <ehaas@redhat.com> writes:
I ran it on Travis CI with your recommended addition, and I am getting this result: FAILED (SKIP=107, errors=14): You can view the run here: https://travis-ci.org/EdDev/vdsm/builds/121117253
I see, the difference is I don't run the tests as root in my docker.

On Tue, Apr 5, 2016 at 6:22 PM, Edward Haas <ehaas@redhat.com> wrote:
Hi All,
The following patch is proposing to run VDSM unit tests on Travis CI. It uses Docker, GitHub and Travis CI integration.
We can extend the usage and run coverage with historic information using coveralls.io service (or similar).
https://gerrit.ovirt.org/#/c/54856
Results of the run can be seen here: https://travis-ci.org/EdDev/vdsm
Thanks for this great work! With little more work[1], we can run now the entire test suite on travis [2]! Nir [1] https://gerrit.ovirt.org/#/q/status:open+project:vdsm+branch:master+topic:tr... [2] https://travis-ci.org/nirs/vdsm/builds/121115473
participants (7)
-
Dan Kenigsberg
-
David Caro
-
Edward Haas
-
Martin Sivak
-
Milan Zamazal
-
Nir Soffer
-
Yaniv Kaul