From: Cleber Rosa <crosa@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: ldoktor@redhat.com, qemu-devel@nongnu.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] Cryptic errors from PIP install if missing openssl-devel
Date: Fri, 6 Sep 2019 11:29:40 -0400 [thread overview]
Message-ID: <20190906152940.GA24347@localhost.localdomain> (raw)
In-Reply-To: <20190906151415.GM4617@habkost.net>
On Fri, Sep 06, 2019 at 12:14:15PM -0300, Eduardo Habkost wrote:
> On Fri, Sep 06, 2019 at 10:52:02AM -0400, Cleber Rosa wrote:
> > On Fri, Sep 06, 2019 at 11:43:58AM -0300, Eduardo Habkost wrote:
> > > On Fri, Sep 06, 2019 at 10:34:16AM +1000, David Gibson wrote:
> > > > On Thu, Sep 05, 2019 at 09:38:24AM -0400, Cleber Rosa wrote:
> > > > > On Thu, Sep 05, 2019 at 12:09:24PM +1000, David Gibson wrote:
> > > > > > On Wed, Sep 04, 2019 at 03:57:17PM -0400, Cleber Rosa wrote:
> > > > > > >
> > > > > > > Hi David,
> > > > > > >
> > > > > > > I've pushed a branch here (most of the commits have already been sent
> > > > > > > separately):
> > > > > > >
> > > > > > > https://github.com/clebergnu/qemu/tree/ppc64
> > > > > > >
> > > > > > > I've tested on a RHEL 8 ppc64le Power 9, and it seems to work for me.
> > > > > > > My steps for building QEMU:
> > > > > > >
> > > > > > > - Configured with: '/home/cleber/src/qemu/configure' '--enable-slirp=git' '--python=/usr/bin/python3' '--target-list=x86_64-softmmu,ppc64-softmmu,arm-softmmu,aarch64-softmmu,mips-softmmu,mipsel-softmmu,mips64-softmmu,mips64el-softmmu,sh4-softmmu,s390x-softmmu,alpha-softmmu,m68k-softmmu,riscv64-softmmu'
> > > > > > > - make
> > > > > > > - make check-acceptance
> > > > > > >
> > > > > > > Would you be able to test if that branch works smoothly for you?
> > > > > >
> > > > > > So, with this tree I'm no longer getting problems if openssl-devel is
> > > > > > not installed, so that much looks good.
> > > > > >
> > > > > > I am getting some different errors - I was seeing this before (with
> > > > > > openssl-devel installed) sometimes, but only sometimes. I haven't yet
> > > > > > worked out a pattern for when they appeared. They also don't appear
> > > > > > to be fatal, the rest of the tests seem to be running ok. Any ideas?
> > > > > >
> > > > > > VENV /home/dwg/qemu/build/rhel8/tests/venv
> > > > > > PIP /home/dwg/qemu/tests/requirements.txt
> > > > > > AVOCADO tests/acceptance
> > > > > > Error running method "run" of plugin "html": 'Namespace' object has no attribute 'get'
> > > > > > Error running method "run" of plugin "varianter_cit": 'Namespace' object has no attribute 'get'
> > > > >
> > > > > Hi David,
> > > > >
> > > > > Yes, those should not be fatal. Anyway, they are caused by two things:
> > > > >
> > > > > 1) A second set of Avocado plugins installation with different versions
> > > > > than the Avocado installation on QEMU's tests venv
> > > >
> > > > Ah! That'll be from the Avocado setup that Lukaš set up on there for
> > > > some different tests.
> > > >
> > > > > 2) The tests' venv, which is created with "--system-site-packages",
> > > > > option that is described as "Give the virtual environment access
> > > > > to the system site-packages dir."
> > > > >
> > > > > The motivation to have "--system-site-packages" is that, if the user
> > > > > had any of the "requirements.txt" depedencies installed system wide,
> > > > > the venv would simply use it and skip downloads. Maybe we should make
> > > > > that an optional feature, disabled by default, so that the test's venv
> > > > > is better isolated and more predictable by default.
> > > >
> > > > If pip doesn't have good enough version tracking that it's verifying
> > > > the correct versions of the installed packages as well as the
> > > > presence, then yes I tend to agree that keeping it better isolated
> > > > would be preferable.
> > >
> > > pip ensures the right version of packages we request are
> > > installed, but Avocado plugins are separate packages and we don't
> > > tell pip anything about the plugins we are not using (but could be
> > > already installed in the system).
> >
> > Right.
> >
> > >
> > > Cleber, does Avocado have any kind of plugin API versioning, so
> > > it could detect incompatible plugins before using them?
> > >
> >
> > It does not. And while making an exact version match requirement
> > between plugins and core Avocado would be easy, it would put unfair
> > (IMO) requirements on plugin writers. It's quite possible that
> > an external plugin would work for many different avocado versions,
> > and the author wouldn't feel like updating it just to satisfy the
> > version check.
>
> I agree that tying a plugin to a specific Avocado version seems
> too strict. Are there any rules about API stability that plugin
> writers can expect Avocado to follow?
>
TBH the plugin interfaces[1] are quite stable (have changed very
little), but:
1) They're still part of the "avocado.core" namespace, which means
the stability is a best effort, and not a promise/guarantee
2) Most plugins make use of other "avocado.core" modules, which
follow the same logic as #1
It's a known fact that it'd be good to have a supportable plugin
API[2], but we haven't had the resources to implement that.
> >
> > I'm not quite sure we should be trying to solve this problem here, but
> > I'm open to suggestions.
>
> This will probably become a minor problem once we stop using
> --system-site-packages by default.
>
Exactly, I think at this moment, this is the simple and best course of
action.
> --
> Eduardo
Thanks,
- Cleber.
[1] - https://github.com/avocado-framework/avocado/blob/master/avocado/core/plugin_interfaces.py
[2] - https://trello.com/c/rKIfx7rY/1285-create-a-sufficient-and-supportable-plugin-api
prev parent reply other threads:[~2019-09-06 15:33 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-29 1:31 [Qemu-devel] Cryptic errors from PIP install if missing openssl-devel David Gibson
2019-08-29 1:51 ` David Gibson
2019-08-29 3:27 ` Cleber Rosa
2019-08-29 9:24 ` Philippe Mathieu-Daudé
2019-08-29 9:46 ` Philippe Mathieu-Daudé
2019-09-03 15:08 ` Cleber Rosa
2019-09-03 15:22 ` Philippe Mathieu-Daudé
2019-09-03 15:47 ` Cleber Rosa
2019-09-03 15:56 ` Lukáš Doktor
2019-09-03 15:57 ` Lukáš Doktor
2019-09-03 17:27 ` Eduardo Habkost
2019-09-03 22:33 ` Cleber Rosa
2019-09-03 15:18 ` Cleber Rosa
2019-08-30 17:56 ` Eduardo Habkost
2019-08-31 1:48 ` David Gibson
2019-09-03 15:31 ` Cleber Rosa
2019-09-04 19:57 ` Cleber Rosa
2019-09-05 2:09 ` David Gibson
2019-09-05 13:38 ` Cleber Rosa
2019-09-05 14:06 ` Eduardo Habkost
2019-09-05 15:24 ` Cleber Rosa
2019-09-06 0:34 ` David Gibson
2019-09-06 14:43 ` Eduardo Habkost
2019-09-06 14:52 ` Cleber Rosa
2019-09-06 15:14 ` Eduardo Habkost
2019-09-06 15:29 ` Cleber Rosa [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190906152940.GA24347@localhost.localdomain \
--to=crosa@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=ehabkost@redhat.com \
--cc=ldoktor@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).