Hi Jagannathan,

This was not published on avocado-devel since it is moderated. Sorry
about that.

Replying here to reach Cleber, afaict, he was working with fd on QEMU.

--
Beraldo

On Mon, Nov 23, 2020 at 03:29:47PM -0500, Jagannathan Raman wrote:
> 
> 
> Hi,
> 
> I’m trying to pass a file descriptor to the QEMU process created by Avocado. 
> However,
> I’m having some trouble with it. Could someone please help me with it?
> 
> For context, I’m attaching the source code of the test I’m having trouble 
> with. The test is
> trying to pass “remote_sock” and “proxy_sock” as arguments to the QEMU 
> processes.
> However, it looks like python3 does not allow child processes from inheriting 
> file
> descriptors by default. I believe python3 requires the subprocess.Popen() 
> method to
> specify the file descriptors to be passed in using the “padd_fds” argument. 
> I’m wondering
> if there is a way to tell Test.vm.launch() method to pass some file 
> descriptors to the
> QEMU processes. Could you please confirm?
> 
> Thank you very much!
> --
> Jag
> 
> 
> 
> 
> Begin forwarded message:
> 
> > From: Jagannathan Raman <jag.ra...@oracle.com>
> > Date: November 21, 2020 at 8:43:01 PM EST
> > To: Philippe Mathieu-Daudé <phi...@redhat.com>
> > Cc: Elena Ufimtseva <elena.ufimts...@oracle.com>, Stefan Hajnoczi 
> > <stefa...@redhat.com>
> > Subject: Passing File Descriptors with Avocado tests
> > 
> > Hi Phil,
> > 
> > I’ve hit a roadblock while working on the acceptance test you wanted us to 
> > do.
> > 
> > The issue is that we are not able to pass file descriptors from the Avocado 
> > python module to QEMU. By default, python3 prevents the child process from 
> > inheriting the parent’s file descriptor (which is a change from python2, 
> > which allowed file descriptor to inherited from the parent automatically).
> > 
> > For this reason, we used “pass_fds” argument with the subprocess.Popen() 
> > method, in the script we included. However, we are wondering how to achieve 
> > something similar in the context of the avocado tests.
> > 
> > Is there a way to tell the “Test.vm” object in Avocado to pass certain fds 
> > to the child process?
> > 
> > Do you where the source for Test.vm object is? I’m wondering if we could 
> > add arguments to the Test.vm.launch() method to allow some file descriptors 
> > to be passed to the child.
> > 
> > We have everything in place for the next series of patches. We’ve been 
> > stuck on this one, and wondering how to proceed further.
> > 
> > Thank you very much!
> > —
> > Jag

Reply via email to