On 25 May 2017 at 15:42, Nir Soffer <nsoffer(a)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