[Bug 1750777] Re: openvswitch agent eating CPU, time spent in ip_conntrack.py
Brian Murray
brian at ubuntu.com
Thu May 3 20:05:56 UTC 2018
Hello Thomas, or anyone else affected,
Accepted neutron into bionic-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/neutron/2:12.0.1-0ubuntu1.1 in a
few hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-bionic to verification-done-bionic. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-bionic. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: neutron (Ubuntu Bionic)
Status: Triaged => Fix Committed
** Tags added: verification-needed verification-needed-bionic
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to neutron in Ubuntu.
https://bugs.launchpad.net/bugs/1750777
Title:
openvswitch agent eating CPU, time spent in ip_conntrack.py
Status in Ubuntu Cloud Archive:
Triaged
Status in Ubuntu Cloud Archive queens series:
Triaged
Status in neutron:
Fix Released
Status in neutron package in Ubuntu:
Triaged
Status in neutron source package in Bionic:
Fix Committed
Status in neutron source package in Cosmic:
Triaged
Bug description:
We just ran into a case where the openvswitch agent (local dev
destack, current master branch) eats 100% of CPU time.
Pyflame profiling show the time being largely spent in
neutron.agent.linux.ip_conntrack, line 95.
https://github.com/openstack/neutron/blob/master/neutron/agent/linux/ip_conntrack.py#L95
The code around this line is:
while True:
pool.spawn_n(self._process_queue)
The documentation of eventlet.spawn_n says: "The same as spawn(), but
it’s not possible to know how the function terminated (i.e. no return
value or exceptions). This makes execution faster. See spawn_n for
more details." I suspect that GreenPool.spawn_n may behave similarly.
It seems plausible that spawn_n is returning very quickly because of
some error, and then all time is quickly spent in a short circuited
while loop.
SRU details for Ubuntu:
-----------------------
[Impact]
We're cherry-picking a single bug-fix patch here from the upstream stable/queens branch as there is not currently an upstream stable point release available that includes this fix. We'd like to make sure all of our supported customers have access to this fix as there is a significant performance hit without it.
[Test Case]
The following SRU process was followed:
https://wiki.ubuntu.com/OpenStackUpdates
In order to avoid regression of existing consumers, the OpenStack team
will run their continuous integration test against the packages that
are in -proposed. A successful run of all available tests will be
required before the proposed packages can be let into -updates.
The OpenStack team will be in charge of attaching the output summary
of the executed tests. The OpenStack team members will not mark
‘verification-done’ until this has happened.
[Regression Potential]
In order to mitigate the regression potential, the results of the
aforementioned tests are attached to this bug.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1750777/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list