nova team mailing list archive
-
nova team
-
Mailing list archive
-
Message #00087
Re: Twisted or Eventlet?
Hi Vish,
I completely agree, add more tests first and do it gradually. As
Michael said we'll probably start with the rackspace/openstack API
that Todd was working on to make sure it looks solid and integrates
well, and then from there we can start with the other services.
-Eric
On Wed, Aug 04, 2010 at 09:45:22AM -0700, Vishvananda Ishaya wrote:
> If we are going to go through a major rewrite, I would suggest that we
> spend some serious time improving our test coverage, especially
> integration/smoketests. We need to know when our changes are breaking
> things. Any manpower that we can devote to this now will dramatically
> decrease the pain of switching over components in the future. I think
> switching one component at a time is probably the right way to go as well.
> Vish
> On Wed, Aug 4, 2010 at 9:03 AM, Michael Gundlach
> <michael.gundlach@xxxxxxxxxxxxx> wrote:
>
> All,
> I propose that we go ahead and decide to use Eventlet. We've all had a
> chance to talk, the decision isn't going to make itself, and it seems
> like we're coalescing around Eventlet:
> * In a long discussion about how to keep our code loosely coupled and
> easy to maintain (see Architecture For Shared Components on the
> openstack list), we concluded that WSGI would be a great solution,
> and eday has prototyped an Eventlet-powered WSGI app talking AMQP to
> Rabbit. The Twisted WSGI approach apparently isn't stable or
> standard, but WSGI works just as you'd expect in Eventlet.
> * As hazmat points out in the "twisted v. eventlet" thread, you can't
> use pdb with Twisted, while pdb works just as you'd hope in
> Eventlet.
> * hazmat's experience during his lightning talk (see the same thread)
> is a good datapoint verifying that people unfamiliar with either
> project will probably prefer to work with Eventlet over Twisted:
> good for recruiting.
> * It's a weaker argument, but it's really hard to find any comparisons
> between Twisted and Eventlet on the web that say Twisted is
> preferable (has anyone found any?)
> And as always, there's the argument that Eventlet code is easier to read
> and understand, and therefore to maintain.
> I'm going to be working on adding the RS API to Nova, and I'm going to
> proceed in Eventlet. If anyone feels strongly that we must use Twisted
> instead, speak up; otherwise, shall we call this decision made?
> trying-to-build-consensus-ly yrs,
> Michael
> On Tue, Aug 3, 2010 at 8:13 AM, Soren Hansen
> <soren.hansen@xxxxxxxxxxxxx> wrote:
>
> On Mon, Aug 02, 2010 at 05:21:23PM -0500, Eric Day wrote:
> > I took a closer look at the inner workings of how Twisted is
> currently
> > being used, and I think there is still a good chunk of work to be
> done
> > to make things work properly. For example, both Redis and AMQP
> modules
> > are not using the Twisted I/O event loop. Both are still issuing
> sync
> > socket calls in their own libs which could block the entire
> > application.
>
> Yup, this definitely needs fixing.
> > These things are very doable in Twisted, it will just require using
> > the txRedis and txAMQP modules. It will also introduce more
> deferreds
> > into the mix since we'll have non-blocking connections dependent on
> > each other. From this perspective, Eventlet may be easier since we
> > could still use the current libraries by patching
> > (http://eventlet.net/doc/patching.html).
>
> Yes, both python-redis and python-amqplib use Python's standard socket
> module, so they can be patched.
>
> Does anyone know how eventlet would deal with libvirt calls?
> python-libvirt just calls into libvirt obviously doesn't use Python's
> socket module.
> --
> Soren Hansen
> Systems Architect
> The Rackspace Cloud
>
> _______________________________________________
> Mailing list: https://launchpad.net/~nova
> Post to : nova@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~nova
> More help : https://help.launchpad.net/ListHelp
>
> Confidentiality Notice: This e-mail message (including any attached or
> embedded documents) is intended for the exclusive and confidential use of the
> individual or entity to which this message is addressed, and unless otherwise
> expressly indicated, is confidential and privileged information of Rackspace.
> Any dissemination, distribution or copying of the enclosed material is prohibited.
> If you receive this transmission in error, please notify us immediately by e-mail
> at abuse@xxxxxxxxxxxxx, and delete the original message.
> Your cooperation is appreciated.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~nova
> Post to : nova@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~nova
> More help : https://help.launchpad.net/ListHelp
> _______________________________________________
> Mailing list: https://launchpad.net/~nova
> Post to : nova@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~nova
> More help : https://help.launchpad.net/ListHelp
References
-
Re: Twisted or Eventlet?
From: Michael Gundlach, 2010-07-29
-
Re: Twisted or Eventlet?
From: Soren Hansen, 2010-07-29
-
Re: Twisted or Eventlet?
From: Michael Gundlach, 2010-07-30
-
Re: Twisted or Eventlet?
From: Jay Pipes, 2010-07-30
-
Re: Twisted or Eventlet?
From: Eric Day, 2010-07-30
-
Re: Twisted or Eventlet?
From: Vishvananda Ishaya, 2010-07-30
-
Re: Twisted or Eventlet?
From: Eric Day, 2010-08-02
-
Re: Twisted or Eventlet?
From: Soren Hansen, 2010-08-03
-
Re: Twisted or Eventlet?
From: Michael Gundlach, 2010-08-04
-
Re: Twisted or Eventlet?
From: Vishvananda Ishaya, 2010-08-04