I found that problem is only with tests from neutron.tests.functional.agent.linux.test_netlink_lib.NetlinkLibTestCase module.
Every time first test from this module is run by worker, it fails with error like:
Captured traceback:
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "neutron/tests/base.py", line 150, in func
return f(self, *args, **kwargs)
File "neutron/tests/functional/agent/linux/test_netlink_lib.py", line 96, in test_delete_icmp_entry self._delete_entry(icmp_entry, remain_entries, _zone)
File "neutron/tests/functional/agent/linux/test_netlink_lib.py", line 56, in _delete_entry nl_lib.delete_entries(entries=delete_entries)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/priv_context.py", line 214, in _wrap
return self.channel.remote_call(name, args, kwargs)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/daemon.py", line 194, in remote_call
result = self.send_recv((Message.CALL.value, name, args, kwargs))
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/comm.py", line 165, in send_recv
reply = future.result()
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/comm.py", line 108, in result
raise self.error
IOError: Premature eof waiting for privileged process
And then all other tests which are using privsep lib are failing with:
Captured traceback:
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "neutron/tests/base.py", line 150, in func
return f(self, *args, **kwargs)
File "neutron/tests/functional/agent/linux/test_netlink_lib.py", line 116, in test_delete_udp_entry self._delete_entry(udp_entry, remain_entries, _zone)
File "neutron/tests/functional/agent/linux/test_netlink_lib.py", line 56, in _delete_entry nl_lib.delete_entries(entries=delete_entries)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/priv_context.py", line 214, in _wrap
return self.channel.remote_call(name, args, kwargs)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/daemon.py", line 194, in remote_call
result = self.send_recv((Message.CALL.value, name, args, kwargs))
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/comm.py", line 163, in send_recv self.writer.send((myid, msg))
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/oslo_privsep/comm.py", line 55, in send self.writesock.sendall(buf)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/eventlet/greenio/base.py", line 401, in sendall
tail = self.send(data, flags)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/eventlet/greenio/base.py", line 395, in send
return self._send_loop(self.fd.send, data, flags)
File "/opt/stack/neutron/.tox/dsvm-functional/local/lib/python2.7/site-packages/eventlet/greenio/base.py", line 382, in _send_loop
return send_method(data, *args)
socket.error: [Errno 32] Broken pipe
When I run all tests from neutron.tests.functional.agent module but with removed this module mentioned above, all tests were fine with privsep 1.31
I found that problem is only with tests from neutron. tests.functiona l.agent. linux.test_ netlink_ lib.NetlinkLibT estCase module.
Every time first test from this module is run by worker, it fails with error like:
Captured traceback: tests/base. py", line 150, in func tests/functiona l/agent/ linux/test_ netlink_ lib.py" , line 96, in test_delete_ icmp_entry
self._ delete_ entry(icmp_ entry, remain_entries, _zone) tests/functiona l/agent/ linux/test_ netlink_ lib.py" , line 56, in _delete_entry
nl_lib. delete_ entries( entries= delete_ entries) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ priv_context. py", line 214, in _wrap remote_ call(name, args, kwargs) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ daemon. py", line 194, in remote_call recv((Message. CALL.value, name, args, kwargs)) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ comm.py" , line 165, in send_recv neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ comm.py" , line 108, in result
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "neutron/
return f(self, *args, **kwargs)
File "neutron/
File "neutron/
File "/opt/stack/
return self.channel.
File "/opt/stack/
result = self.send_
File "/opt/stack/
reply = future.result()
File "/opt/stack/
raise self.error
IOError: Premature eof waiting for privileged process
And then all other tests which are using privsep lib are failing with:
Captured traceback: tests/base. py", line 150, in func tests/functiona l/agent/ linux/test_ netlink_ lib.py" , line 116, in test_delete_ udp_entry
self._ delete_ entry(udp_ entry, remain_entries, _zone) tests/functiona l/agent/ linux/test_ netlink_ lib.py" , line 56, in _delete_entry
nl_lib. delete_ entries( entries= delete_ entries) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ priv_context. py", line 214, in _wrap remote_ call(name, args, kwargs) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ daemon. py", line 194, in remote_call recv((Message. CALL.value, name, args, kwargs)) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ comm.py" , line 163, in send_recv
self.writer. send((myid, msg)) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ oslo_privsep/ comm.py" , line 55, in send
self.writesock .sendall( buf) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ eventlet/ greenio/ base.py" , line 401, in sendall neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ eventlet/ greenio/ base.py" , line 395, in send loop(self. fd.send, data, flags) neutron/ .tox/dsvm- functional/ local/lib/ python2. 7/site- packages/ eventlet/ greenio/ base.py" , line 382, in _send_loop
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "neutron/
return f(self, *args, **kwargs)
File "neutron/
File "neutron/
File "/opt/stack/
return self.channel.
File "/opt/stack/
result = self.send_
File "/opt/stack/
File "/opt/stack/
File "/opt/stack/
tail = self.send(data, flags)
File "/opt/stack/
return self._send_
File "/opt/stack/
return send_method(data, *args)
socket.error: [Errno 32] Broken pipe
When I run all tests from neutron. tests.functiona l.agent module but with removed this module mentioned above, all tests were fine with privsep 1.31