
On 25 May 2017 at 15:42, Nir Soffer <nsoffer@redhat.com> wrote:
In this case, I don't see how vdsm tests can pollute the host /var/tmp.
Vdsm run 2 tests running virt-alignment-scan, one with --help, and one with non existing images, so the temporary directory cannot be created by these tests.
As you see in $subject, we are looking for something that is invoking libgustfs, could vdsm or imageio be doing that?
We need a location which exists on developer laptop, developer hosts, and CI environments, and /var/tmp proved to be a good choice so far. We expect that ovirt CI will not break this assumption in the future.
One thing you can do is use something like "/var/tmp/vdst_test" and also include that string in an "automation/*.mounts" file. This will cause 'mock_runner.sh' to mkdir and bind-mount it into the environment so you are using the hosts real '/var/tmp/vdsm_test' which will probably remain a real file-system for the time being. But if you do this, please clean up when you're done...
However, writing test data to storage is a waste of time, and having a memory based file system supporting direct I/O would speed up lot of tests.
So we can do this:
truncate -s 5g /tmp/backing mkfs.ext4 /tmp/backing mount -o loop /tmp/backing /tmp/mnt
And now we have direct I/O support and great performance:
This requires root to mounting and unmounting the backing file, so it is not a good solution for developers, when you need to run certain tests all the time, but it can be a good solution for the CI.
Have you tried doing this from inside mock? You are root there so it might work. But note that /tmp is not in RAM in EL7. Better use /dev/shm for compatibility.
Barak, do you think ovirt CI can provide this functionality?
I guess we could come up with some special syntax in the '*.mounts' file to support something like this, but I'd rather not add any big features to mock_runner before we rewrite it to use containers. -- Barak Korren RHV DevOps team , RHCE, RHCi Red Hat EMEA redhat.com | TRIED. TESTED. TRUSTED. | redhat.com/trusted