Comment 4 for bug 1810518

Revision history for this message
Slawek Kaplonski (slaweq) wrote :

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