qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: iotests and python dependencies


From: John Snow
Subject: Re: iotests and python dependencies
Date: Thu, 5 May 2022 08:08:42 -0400



On Thu, May 5, 2022, 4:09 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
On Wed, May 04, 2022 at 03:38:45PM -0400, John Snow wrote:
> Howdy!
>
> So, I want to finally delete python/qemu/qmp from qemu.git, and this
> creates a small problem -- namely, iotests needs access to it in order
> to run the python-based tests.
>
> What I think needs to happen is that we create a virtual environment
> that installs python/qemu/. The reason this cannot be done with
> PYTHONPATH alone anymore is because the qmp package itself won't be
> there anymore, we need an installer like `pip` to actually fetch it
> for us and put it somewhere. (i.e., we need to process the
> dependencies of python/qemu now and can't treat it as a pre-installed
> location.)

Having pip fetch it on the fly creates a problem for RPM builds,
because the koji build env has no network access. We will, however,
have an RPM of python-qemu-qmp installed on the host system though.
IOW we need to be able to run iotests using system python and its
installed libs, not a virtual env.  So if we do anything with a
virtual env, it will need to be optional I believe.

Hm, do we need iotests during an rpm build? Is it because of "make check"?

It's possible to create a venv and run pip in no-network mode, too. If the package we want is installed on the system or otherwise in pip's cache, it'll succeed without network. If the dependencies require a qemu.qmp that's too new, the pip install will just fail instead.

I have to test a way to craft a pip statement that's network *optional* though. i.e. try to fetch and fall back to local otherwise. I think it's worth trying to keep the environment setup code unified, and always use a venv.

I think this is tractable, though.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]