[openstack-dev] Swift, netifaces, PyPy, and cffi

Clint Byrum clint at fewbar.com
Wed Aug 14 01:56:49 UTC 2013

Excerpts from Alex Gaynor's message of 2013-08-13 14:58:56 -0700:
> Hi all,
> (This references this changeset: https://review.openstack.org/#/c/38415/)
> One of the goals I've been working at has been getting swift running on
> PyPy (and from there, the rest of OpenStack). The last blocking issue in
> swift is that it currently uses netifaces, which is a C-extension that
> doesn't on PyPy. I've proposed to replace this dependency with a cffi based
> binding to the system.
> For those not familiar, cffi is a tool for binding to C libraries, similar
> to ctypes (in the stdlib), except more expressive, less error prone, and
> faster; some of our downstream dependencies already use it.
> One of the issues that came up in this review however, is that cffi is not
> packaged in the most recent Ubuntu LTS (and likely other distributions),
> although it is available in raring, and in a PPA (
> http://packages.ubuntu.com/raring/python-cffi and
> https://launchpad.net/~pypy/+archive/ppa?field.series_filter=preciserespectively).
> As a result of this, we wanted to get some feedback on which direction is
> best to go:
> a) cffi-only approach, this is obviously the simplest approach, and works
> everywhere (assuming you can install a PPA, use pip, or similar for cffi)

There are a lot of dependencies of Grizzly and Havana that aren't in
the official release of Ubuntu 12.04. That is why Canonical created
the cloud archive, so that users can keep everything that isn't
"OpenStack+Dependencies" on the LTS.

The fact that cffi is already available in a release makes it even
more likely that it will be a straight forward backport to the cloud
archive. However, is Ubuntu 12.04's pypy 1.8 sufficient?  Ubuntu 13.04
and 12.10 have 1.9, and saucy (the presumed 13.10) has 2.0.2.

More information about the OpenStack-dev mailing list