← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1658074] [NEW] openvswitch-agent spawning infinite number of ovsdb-client processes

 

Public bug reported:

After installing neutron on Ubuntu Xenial from the Newton UCA
(2:9.0.0-0ubuntu1.16.10.2~cloud0), I noticed these processes:

neutron  11222  2.9  0.8 262628 108712 ?       Ss   10:59   1:36 /usr/bin/python /usr/bin/neutron-openvswitch-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ml2/openvswitch_agent.ini --log-file=/var/log/neutron/neutron-openvswitch-agent.lo
root     11686  0.0  0.0  54112  3256 ?        S    11:00   0:00  \_ sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     11688  0.0  0.3  83336 45444 ?        S    11:00   0:00  |   \_ /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     11828  0.0  0.0  20056  2976 ?        S    11:00   0:00  |       \_ /usr/bin/ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     13426  0.0  0.0  54112  3204 ?        S    11:00   0:00  \_ sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     13430  0.0  0.3  83336 45480 ?        S    11:00   0:00  |   \_ /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     13490  0.0  0.0  20056  3052 ?        S    11:00   0:00  |       \_ /usr/bin/ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     14775  0.0  0.0  54112  3256 ?        S    11:01   0:00  \_ sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     14779  0.0  0.3  83336 45272 ?        S    11:01   0:00  |   \_ /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
root     14821  0.0  0.0  20056  2944 ?        S    11:01   0:00  |       \_ /usr/bin/ovsdb-client monitor Interface name,ofport,external_ids --format=json

with another set being spawned every 30 seconds. In /var/log/neutron
/neutron-openvswitch-agent.log I see these errors:

2017-01-20 11:00:39.804 11222 ERROR neutron.agent.linux.async_process [-] Error received from [ovsdb-client monitor Interface name,ofport,external_ids --format=json]: sudo: unable to resolve host jr-ansi02
2017-01-20 11:00:39.805 11222 ERROR neutron.agent.linux.async_process [-] Process [ovsdb-client monitor Interface name,ofport,external_ids --format=json] dies due to the error: sudo: unable to resolve host jr-ansi02

Now of course one can claim that properly setting up sudo (or /etc/hosts
rather) will solve this issue, but still maybe the ovs-agent process
should properly clean up its children and not assume that they are dead
as soon as there is any output to stderr (function _read_stderr() in
neutron/agent/linux/async_process.py).

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1658074

Title:
  openvswitch-agent spawning infinite number of ovsdb-client processes

Status in neutron:
  New

Bug description:
  After installing neutron on Ubuntu Xenial from the Newton UCA
  (2:9.0.0-0ubuntu1.16.10.2~cloud0), I noticed these processes:

  neutron  11222  2.9  0.8 262628 108712 ?       Ss   10:59   1:36 /usr/bin/python /usr/bin/neutron-openvswitch-agent --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ml2/openvswitch_agent.ini --log-file=/var/log/neutron/neutron-openvswitch-agent.lo
  root     11686  0.0  0.0  54112  3256 ?        S    11:00   0:00  \_ sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     11688  0.0  0.3  83336 45444 ?        S    11:00   0:00  |   \_ /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     11828  0.0  0.0  20056  2976 ?        S    11:00   0:00  |       \_ /usr/bin/ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     13426  0.0  0.0  54112  3204 ?        S    11:00   0:00  \_ sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     13430  0.0  0.3  83336 45480 ?        S    11:00   0:00  |   \_ /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     13490  0.0  0.0  20056  3052 ?        S    11:00   0:00  |       \_ /usr/bin/ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     14775  0.0  0.0  54112  3256 ?        S    11:01   0:00  \_ sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     14779  0.0  0.3  83336 45272 ?        S    11:01   0:00  |   \_ /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport,external_ids --format=json
  root     14821  0.0  0.0  20056  2944 ?        S    11:01   0:00  |       \_ /usr/bin/ovsdb-client monitor Interface name,ofport,external_ids --format=json

  with another set being spawned every 30 seconds. In /var/log/neutron
  /neutron-openvswitch-agent.log I see these errors:

  2017-01-20 11:00:39.804 11222 ERROR neutron.agent.linux.async_process [-] Error received from [ovsdb-client monitor Interface name,ofport,external_ids --format=json]: sudo: unable to resolve host jr-ansi02
  2017-01-20 11:00:39.805 11222 ERROR neutron.agent.linux.async_process [-] Process [ovsdb-client monitor Interface name,ofport,external_ids --format=json] dies due to the error: sudo: unable to resolve host jr-ansi02

  Now of course one can claim that properly setting up sudo (or
  /etc/hosts rather) will solve this issue, but still maybe the ovs-
  agent process should properly clean up its children and not assume
  that they are dead as soon as there is any output to stderr (function
  _read_stderr() in neutron/agent/linux/async_process.py).

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1658074/+subscriptions


Follow ups