faucetsdn/faucet

clib test FaucetDockerHostTest fails

mwutzke opened this issue · 3 comments

When executing the 'clib' integration tests, all the FaucetDockerHostTest tests fail with the following time-out:

======================================================================
FAIL: clib_mininet_tests.FaucetDockerHostTest.test_ping_all (subunit.RemotedTestCase)
clib_mininet_tests.FaucetDockerHostTest.test_ping_all
----------------------------------------------------------------------
testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/faucet-src/clib/clib_mininet_tests.py", line 53, in setUp
    self.start_net()
  File "/faucet-src/clib/mininet_test_base.py", line 611, in start_net
    self._start_faucet(controller_intf, controller_ipv6)
...
  File "/venv/lib/python3.7/site-packages/mininet/node.py", line 123, in __init__
    self.startShell()
  File "/faucet-src/clib/docker_host.py", line 128, in startShell
    data = self.read(maxbytes=1)
  File "/faucet-src/clib/docker_host.py", line 234, in read
    (self.stdout.fileno(), self.startup_timeout_ms / 1e3))
AssertionError: Timeout waiting for read data on 11 after 90s

Looking at the Docker logs, the following appears:

time="2021-07-27T02:40:16.169301507Z" level=error msg="Handler for POST /v1.41/containers/create returned error: error creating aufs mount to /var/lib/docker/aufs/mnt/ ... xino=/dev/shm/aufs.xino: invalid argument"

I suspect that the AuFS support in the DockerInDocker (dind) environment is not working any more.

We managed to get to the bottom of this - running this test under localtest.sh will cause it to fail. Running it using other mechanisms works fine.

This is due to me forgetting about localtest.sh when I committed d041028.

Recommended fix is adding the missing /var/lib/docker mount to localtest.sh.

localtest.sh has been updated by #3917