On 25 May 2017 at 11:22, Nir Soffer <nsoffer@redhat.com> wrote:
Vdsm and ovirt-imageio use /var/tmp because we need file system supporting direct I/O. /tmp is using tmpfs which does not support it. 

We have no need for "cached" data kept after a test run, and we cannot promise that test will never leave junk in /var/tmp since tests run before they are reviewed. Even correct tests can leave junk if the test runner is killed (for example, on timeout).

The only way to keep slaves clean is to clean /tmp and /var/tmp after each run. Treating /var/tmp as cache is very wrong.

You need to differentiate between the '/var/tmp' you see from your
scripts to the one we are talking about here.

- When you use /var/tmp in your script you use the one inside the mock
  environment. It is specific to yore script run time environment and
  will always be wiped out when its done.

- We are talking about "/var/tmp" _of_the_execution_slave_, the only
  way you can get to it is either specifically bind-mount it from the
  "*.mounts" file, or have some daemon like libvirtd or dockerd write
  to it.

BTW if you want any guarantees about the FS you are using, you better
bind-mount something to the point you are writing to, otherwise things
will break when we make infrastructure changes like for example moving
the chroots to RAM or onto layered file-systems.

--
Barak Korren
RHV DevOps team , RHCE, RHCi
Red Hat EMEA
redhat.com | TRIED. TESTED. TRUSTED. | redhat.com/trusted