<p dir="ltr">I remembered vaguely that restarting the vm helps,  but I don&#39;t think we know the root cause. </p>
<p dir="ltr">Adding  Barak to help with the restart. </p>
<div class="gmail_quote">On Jan 6, 2016 10:20 AM, &quot;Fabian Deutsch&quot; &lt;<a href="mailto:fdeutsch@redhat.com">fdeutsch@redhat.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey,<br>
<br>
our Node Next builds are alos failing with some error around loop devices.<br>
<br>
This worked just before christmas, but is now constantly failing this year.<br>
<br>
Is the root cause already known?<br>
<br>
Ryan and Tolik were looking into this from the Node side.<br>
<br>
- fabian<br>
<br>
<br>
On Wed, Dec 23, 2015 at 4:52 PM, Nir Soffer &lt;<a href="mailto:nsoffer@redhat.com">nsoffer@redhat.com</a>&gt; wrote:<br>
&gt; On Wed, Dec 23, 2015 at 5:11 PM, Eyal Edri &lt;<a href="mailto:eedri@redhat.com">eedri@redhat.com</a>&gt; wrote:<br>
&gt;&gt; I&#39;m guessing this will e solved by running it on lago?<br>
&gt;&gt; Isn&#39;t that what yaniv is working on now?<br>
&gt;<br>
&gt; Yes, this may be more stable, but I heard that lago setup takes about<br>
&gt; an hour, and the whole<br>
&gt; run about 3 hours, so lot of work is needed until we can use it.<br>
&gt;<br>
&gt;&gt; or these are unit tests and not functional?<br>
&gt;<br>
&gt; Thats the problem these tests fail because they do not test our code,<br>
&gt; but the integration of our code in the environment. For example, if the test<br>
&gt; cannot find an available loop device, the test will fail.<br>
&gt;<br>
&gt; I think we must move these tests to the integration test package,<br>
&gt; that does not run on the ci. These tests can be run only on a vm using<br>
&gt; root privileges, and only single test per vm in the same time, to avoid races<br>
&gt; when accessing shared resources (devices, network, etc.).<br>
&gt;<br>
&gt; The best way to run such test is to start a stateless vm based on a template<br>
&gt; that include the entire requirements, so we don&#39;t need to pay for yum install<br>
&gt; on each test (may take 2-3 minutes).<br>
&gt;<br>
&gt; Some of our customers are using similar setups. Using such setup for our<br>
&gt; own tests is the best thing we can do to improve the product.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; e.<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Dec 23, 2015 at 4:48 PM, Dan Kenigsberg &lt;<a href="mailto:danken@redhat.com">danken@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wed, Dec 23, 2015 at 03:21:31AM +0200, Nir Soffer wrote:<br>
&gt;&gt;&gt; &gt; Hi all,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; We see too many failures of tests using loop devices. Is it possible<br>
&gt;&gt;&gt; &gt; that we run tests<br>
&gt;&gt;&gt; &gt; concurrently on the same slave, using all the available loop devices, or<br>
&gt;&gt;&gt; &gt; maybe<br>
&gt;&gt;&gt; &gt; creating races between different tests?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; It seems that we need new decorator for disabling tests on the CI<br>
&gt;&gt;&gt; &gt; slaves, since this<br>
&gt;&gt;&gt; &gt; environment is too fragile.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Here are some failures:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; ======================================================================<br>
&gt;&gt;&gt; &gt; 01:10:33 ERROR: testLoopMount (mountTests.MountTests)<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; ----------------------------------------------------------------------<br>
&gt;&gt;&gt; &gt; 01:10:33 Traceback (most recent call last):<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/tests/mountTests.py&quot;,<br>
&gt;&gt;&gt; &gt; line 128, in testLoopMount<br>
&gt;&gt;&gt; &gt; 01:10:33     m.mount(mntOpts=&quot;loop&quot;)<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/vdsm/storage/mount.py&quot;,<br>
&gt;&gt;&gt; &gt; line 225, in mount<br>
&gt;&gt;&gt; &gt; 01:10:33     return self._runcmd(cmd, timeout)<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/vdsm/storage/mount.py&quot;,<br>
&gt;&gt;&gt; &gt; line 241, in _runcmd<br>
&gt;&gt;&gt; &gt; 01:10:33     raise MountError(rc, &quot;;&quot;.join((out, err)))<br>
&gt;&gt;&gt; &gt; 01:10:33 MountError: (32, &#39;;mount: /tmp/tmpZuJRNk: failed to setup<br>
&gt;&gt;&gt; &gt; loop device: No such file or directory\n&#39;)<br>
&gt;&gt;&gt; &gt; 01:10:33 -------------------- &gt;&gt; begin captured logging &lt;&lt;<br>
&gt;&gt;&gt; &gt; --------------------<br>
&gt;&gt;&gt; &gt; 01:10:33 Storage.Misc.excCmd: DEBUG: /usr/bin/taskset --cpu-list 0-1<br>
&gt;&gt;&gt; &gt; /sbin/mkfs.ext2 -F /tmp/tmpZuJRNk (cwd None)<br>
&gt;&gt;&gt; &gt; 01:10:33 Storage.Misc.excCmd: DEBUG: SUCCESS: &lt;err&gt; = &#39;mke2fs 1.42.13<br>
&gt;&gt;&gt; &gt; (17-May-2015)\n&#39;; &lt;rc&gt; = 0<br>
&gt;&gt;&gt; &gt; 01:10:33 Storage.Misc.excCmd: DEBUG: /usr/bin/taskset --cpu-list 0-1<br>
&gt;&gt;&gt; &gt; /usr/bin/mount -o loop /tmp/tmpZuJRNk /var/tmp/tmpJO52Xj (cwd None)<br>
&gt;&gt;&gt; &gt; 01:10:33 --------------------- &gt;&gt; end captured logging &lt;&lt;<br>
&gt;&gt;&gt; &gt; ---------------------<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; ======================================================================<br>
&gt;&gt;&gt; &gt; 01:10:33 ERROR: testSymlinkMount (mountTests.MountTests)<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; ----------------------------------------------------------------------<br>
&gt;&gt;&gt; &gt; 01:10:33 Traceback (most recent call last):<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/tests/mountTests.py&quot;,<br>
&gt;&gt;&gt; &gt; line 150, in testSymlinkMount<br>
&gt;&gt;&gt; &gt; 01:10:33     m.mount(mntOpts=&quot;loop&quot;)<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/vdsm/storage/mount.py&quot;,<br>
&gt;&gt;&gt; &gt; line 225, in mount<br>
&gt;&gt;&gt; &gt; 01:10:33     return self._runcmd(cmd, timeout)<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/vdsm/storage/mount.py&quot;,<br>
&gt;&gt;&gt; &gt; line 241, in _runcmd<br>
&gt;&gt;&gt; &gt; 01:10:33     raise MountError(rc, &quot;;&quot;.join((out, err)))<br>
&gt;&gt;&gt; &gt; 01:10:33 MountError: (32, &#39;;mount: /var/tmp/tmp1UQFPz/backing.img:<br>
&gt;&gt;&gt; &gt; failed to setup loop device: No such file or directory\n&#39;)<br>
&gt;&gt;&gt; &gt; 01:10:33 -------------------- &gt;&gt; begin captured logging &lt;&lt;<br>
&gt;&gt;&gt; &gt; --------------------<br>
&gt;&gt;&gt; &gt; 01:10:33 Storage.Misc.excCmd: DEBUG: /usr/bin/taskset --cpu-list 0-1<br>
&gt;&gt;&gt; &gt; /sbin/mkfs.ext2 -F /var/tmp/tmp1UQFPz/backing.img (cwd None)<br>
&gt;&gt;&gt; &gt; 01:10:33 Storage.Misc.excCmd: DEBUG: SUCCESS: &lt;err&gt; = &#39;mke2fs 1.42.13<br>
&gt;&gt;&gt; &gt; (17-May-2015)\n&#39;; &lt;rc&gt; = 0<br>
&gt;&gt;&gt; &gt; 01:10:33 Storage.Misc.excCmd: DEBUG: /usr/bin/taskset --cpu-list 0-1<br>
&gt;&gt;&gt; &gt; /usr/bin/mount -o loop /var/tmp/tmp1UQFPz/link_to_image<br>
&gt;&gt;&gt; &gt; /var/tmp/tmp1UQFPz/mountpoint (cwd None)<br>
&gt;&gt;&gt; &gt; 01:10:33 --------------------- &gt;&gt; end captured logging &lt;&lt;<br>
&gt;&gt;&gt; &gt; ---------------------<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; ======================================================================<br>
&gt;&gt;&gt; &gt; 01:10:33 ERROR: test_getDevicePartedInfo<br>
&gt;&gt;&gt; &gt; (parted_utils_tests.PartedUtilsTests)<br>
&gt;&gt;&gt; &gt; 01:10:33<br>
&gt;&gt;&gt; &gt; ----------------------------------------------------------------------<br>
&gt;&gt;&gt; &gt; 01:10:33 Traceback (most recent call last):<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/tests/testValidation.py&quot;,<br>
&gt;&gt;&gt; &gt; line 97, in wrapper<br>
&gt;&gt;&gt; &gt; 01:10:33     return f(*args, **kwargs)<br>
&gt;&gt;&gt; &gt; 01:10:33   File<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &quot;/home/jenkins/workspace/vdsm_master_check-patch-fc23-x86_64/vdsm/tests/parted_utils_tests.py&quot;,<br>
&gt;&gt;&gt; &gt; line 61, in setUp<br>
&gt;&gt;&gt; &gt; 01:10:33     self.assertEquals(rc, 0)<br>
&gt;&gt;&gt; &gt; 01:10:33 AssertionError: 1 != 0<br>
&gt;&gt;&gt; &gt; 01:10:33 -------------------- &gt;&gt; begin captured logging &lt;&lt;<br>
&gt;&gt;&gt; &gt; --------------------<br>
&gt;&gt;&gt; &gt; 01:10:33 root: DEBUG: /usr/bin/taskset --cpu-list 0-1 dd if=/dev/zero<br>
&gt;&gt;&gt; &gt; of=/tmp/tmpasV8TD bs=100M count=1 (cwd None)<br>
&gt;&gt;&gt; &gt; 01:10:33 root: DEBUG: SUCCESS: &lt;err&gt; = &#39;1+0 records in\n1+0 records<br>
&gt;&gt;&gt; &gt; out\n104857600 bytes (105 MB) copied, 0.368498 s, 285 MB/s\n&#39;; &lt;rc&gt; =<br>
&gt;&gt;&gt; &gt; 0<br>
&gt;&gt;&gt; &gt; 01:10:33 root: DEBUG: /usr/bin/taskset --cpu-list 0-1 losetup -f<br>
&gt;&gt;&gt; &gt; --show /tmp/tmpasV8TD (cwd None)<br>
&gt;&gt;&gt; &gt; 01:10:33 root: DEBUG: FAILED: &lt;err&gt; = &#39;losetup: /tmp/tmpasV8TD: failed<br>
&gt;&gt;&gt; &gt; to set up loop device: No such file or directory\n&#39;; &lt;rc&gt; = 1<br>
&gt;&gt;&gt; &gt; 01:10:33 --------------------- &gt;&gt; end captured logging &lt;&lt;<br>
&gt;&gt;&gt; &gt; ---------------------<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;ve reluctantly marked another test as broken in<br>
&gt;&gt;&gt; <a href="https://gerrit.ovirt.org/50484" rel="noreferrer" target="_blank">https://gerrit.ovirt.org/50484</a><br>
&gt;&gt;&gt; due to a similar problem.<br>
&gt;&gt;&gt; Your idea of @brokentest_ci decorator is slightly less bad - at least we<br>
&gt;&gt;&gt; do not ignore errors in this test when run on non-ci platforms.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt; Dan.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Infra mailing list<br>
&gt;&gt;&gt; <a href="mailto:Infra@ovirt.org">Infra@ovirt.org</a><br>
&gt;&gt;&gt; <a href="http://lists.ovirt.org/mailman/listinfo/infra" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman/listinfo/infra</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Eyal Edri<br>
&gt;&gt; Associate Manager<br>
&gt;&gt; EMEA ENG Virtualization R&amp;D<br>
&gt;&gt; Red Hat Israel<br>
&gt;&gt;<br>
&gt;&gt; phone: <a href="tel:%2B972-9-7692018" value="+97297692018">+972-9-7692018</a><br>
&gt;&gt; irc: eedri (on #tlv #rhev-dev #rhev-integ)<br>
&gt; _______________________________________________<br>
&gt; Infra mailing list<br>
&gt; <a href="mailto:Infra@ovirt.org">Infra@ovirt.org</a><br>
&gt; <a href="http://lists.ovirt.org/mailman/listinfo/infra" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman/listinfo/infra</a><br>
<br>
<br>
<br>
--<br>
Fabian Deutsch &lt;<a href="mailto:fdeutsch@redhat.com">fdeutsch@redhat.com</a>&gt;<br>
RHEV Hypervisor<br>
Red Hat<br>
</blockquote></div>