[openstack-dev] [Neutron][qa] Parallel testing update

Salvatore Orlando sorlando at nicira.com
Mon Jan 6 16:04:47 UTC 2014

I have already discussed the matter with Jay on IRC, even if for a
different issue.
In this specific case 'batching' will have the benefit of reducing the
rootwrap overhead.

However, it seems the benefit from batching is not resolutive. I admit I
have not run tests in the gate with batching; I've just tested in an
environment without significant load, obtaining a performance increase of
less than 10%.

>From what I gathered even if commands are 'batched' to ovs-vsctl,
operations are still individually performed on the kernel module. I did not
investigate whether the cli commands sends a single or multiple commands on
the ovsdb interface.
Nevertheless, another thing to note is that it's not just ovs-vsctl that
becomes very slow, but also, and more often than that, ovs-ofctl, for which
there is no batching.

Summarising, I'm not opposed to batching for ovs-vsctl, and I would
definitely welcome it; I just don't think it will be the ultimate solution.


On 6 January 2014 11:40, Isaku Yamahata <isaku.yamahata at gmail.com> wrote:

> On Fri, Dec 27, 2013 at 11:09:02AM +0100,
> Salvatore Orlando <sorlando at nicira.com> wrote:
> > Hi,
> >
> > We now have several patches under review which improve a lot how neutron
> > handles parallel testing.
> > In a nutshell, these patches try to ensure the ovs agent processes new,
> > removed, and updated interfaces as soon as possible,
> >
> > These patches are:
> > https://review.openstack.org/#/c/61105/
> > https://review.openstack.org/#/c/61964/
> > https://review.openstack.org/#/c/63100/
> > https://review.openstack.org/#/c/63558/
> >
> > There is still room for improvement. For instance the calls from the
> agent
> > into the plugins might be consistently reduced.
> > However, even if the above patches shrink a lot the time required for
> > processing a device, we are still hitting a hard limit with the execution
> > ovs commands for setting local vlan tags and clearing flows (or adding
> the
> > flow rule for dropping all the traffic).
> > In some instances this commands slow down a lot, requiring almost 10
> > seconds to complete. This adds a delay in interface processing which in
> > some cases leads to the hideous SSH timeout error (the same we see with
> bug
> > 1253896 in normal testing).
> > It is also worth noting that when this happens sysstat reveal CPU usage
> is
> > very close to 100%
> >
> > From the neutron side there is little we can do. Introducing parallel
> > processing for interface, as we do for the l3 agent, is not actually a
> > solution, since ovs-vswitchd v1.4.x, the one executed on gate tests, is
> not
> > multithreaded. If you think the situation might be improved by changing
> the
> > logic for handling local vlan tags and putting ports on the dead vlan, I
> > would be happy to talk about that.
> How about batching those ovsdb operations?
> Instead of issueing many ovs-vsctl command,
> ovs-vsctl -- command0 [args] -- command1 [args] -- ...
> Then, the number of ovs-vsctl will be reduced and ovs-vsctl issues
> only single ovsdb transaction.
> --
> Isaku Yamahata <isaku.yamahata at gmail.com>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140106/ac8f5d91/attachment.html>

More information about the OpenStack-dev mailing list