yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #07790
[Bug 1264608] [NEW] openvswitch agent plugin should execute batched ovs-vsctl CLI statements on __init__()
Public bug reported:
When restarting neutron-plugin-openvswitch-agent, the plugin goes
through a series of initialization calls, many of which call out to ovs-
vsctl to set up things like the integration bridge, tun bridge and all
the flows.
I've seen this __init__() process take upwards of 2 hours (!) to
complete on a small (<100 compute node) zone. Most of the time is spent
spawning rootwrap'd calls to ovs-vsctl to set up the various tunnels,
flows and bridges.
ovs-vsctl can take a series of action arguments in the same CLI
statement, and will perform those actions as an atomic unit. At the very
least, the plugin's __init__() function's setup_xxx() subroutines should
take advantages of this instead of looping over possibly dozens or
hundreds of port and flows, each with a separate subprocess call out to
utils.execute('ovs.vsctl...').
** Affects: neutron
Importance: Undecided
Status: New
** Tags: low-hanging-fruit performance
** Summary changed:
- openvswitch agent plugin should execute a single ovs-vsctl CLI statement on __init__()
+ openvswitch agent plugin should execute batched ovs-vsctl CLI statements on __init__()
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1264608
Title:
openvswitch agent plugin should execute batched ovs-vsctl CLI
statements on __init__()
Status in OpenStack Neutron (virtual network service):
New
Bug description:
When restarting neutron-plugin-openvswitch-agent, the plugin goes
through a series of initialization calls, many of which call out to
ovs-vsctl to set up things like the integration bridge, tun bridge and
all the flows.
I've seen this __init__() process take upwards of 2 hours (!) to
complete on a small (<100 compute node) zone. Most of the time is
spent spawning rootwrap'd calls to ovs-vsctl to set up the various
tunnels, flows and bridges.
ovs-vsctl can take a series of action arguments in the same CLI
statement, and will perform those actions as an atomic unit. At the
very least, the plugin's __init__() function's setup_xxx() subroutines
should take advantages of this instead of looping over possibly dozens
or hundreds of port and flows, each with a separate subprocess call
out to utils.execute('ovs.vsctl...').
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1264608/+subscriptions
Follow ups
References