yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #62206
[Bug 1629097] Re: neutron-rootwrap processes not getting cleaned up
I saw this last night, and can indeed confirm its related to DNS issues.
It was suggested by a colleague that it may be related to the sudo call
returning an error indicating that the hostname could not be found,
though I spent no time exploring this option today. Restarting the
openvswitch-switch service closes all the existing processes but it
seems more that the service can't stop cleanly. Also of note is that the
service stop took a very long time, whereas with working DNS it took a
few seconds at worst.
** Changed in: neutron
Status: Expired => Confirmed
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1629097
Title:
neutron-rootwrap processes not getting cleaned up
Status in neutron:
Confirmed
Bug description:
neutron-rootwrap processes aren't getting cleaned up on Newton. I'm
testing with Newton rc3.
I was noticing memory exhaustion on my neutron gateway units, which turned out to be due to compounding neutron-rootwrap processes:
sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
$ top -n1 -b -o VIRT
http://paste.ubuntu.com/23252407/
$ ps aux|grep ovsdb-client
http://paste.ubuntu.com/23252658/
Restarting openvswitch cleans up the processes but they just start piling again up soon after:
sudo systemctl restart openvswitch-switch
At first I thought this was an openvswitch issue, however I reverted
the code in get_root_helper_child_pid() and neutron-rootwrap processes
started getting cleaned up. See corresponding commit for code that
possibly introduced this at [1].
This can be recreated with the openstack charms using xenial-newton-
staging. On newton deploys, neutron-gateway and nova-compute units
will exhaust memory due to compounding ovsdb-client processes.
[1]
commit fd93e19f2a415b3803700fc491749daba01a4390
Author: Assaf Muller <amuller@xxxxxxxxxx>
Date: Fri Mar 18 16:29:26 2016 -0400
Change get_root_helper_child_pid to stop when it finds cmd
get_root_helper_child_pid recursively finds the child of pid,
until it can no longer find a child. However, the intention is
not to find the deepest child, but to strip away root helpers.
For example 'sudo neutron-rootwrap x' is supposed to find the
pid of x. However, in cases 'x' spawned quick lived children of
its own (For example: ip / brctl / ovs invocations),
get_root_helper_child_pid returned those pids if called in
the wrong time.
Change-Id: I582aa5c931c8bfe57f49df6899445698270bb33e
Closes-Bug: #1558819
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1629097/+subscriptions