I've been working with @jlibosva and we've determined that if eventlet.timeout.Timeout exception was raised when a process is reading the output of a command executed through rootwrap-daemon, then this output will be read by the next command. All susbsequent calls to that instance of rootwrap-daemon will read the previous command output instead of their own.
Although we have implemented a workaround for this specific case of netns-cleanup, we should make sure that there are no calls to rootwrap-daemon inside a wait_until_true loop and/or fix rootwrap-daemon to allow processes to be interrupted before they're done with reading the output.
I've been working with @jlibosva and we've determined that if eventlet. timeout. Timeout exception was raised when a process is reading the output of a command executed through rootwrap-daemon, then this output will be read by the next command. All susbsequent calls to that instance of rootwrap-daemon will read the previous command output instead of their own.
Although we have implemented a workaround for this specific case of netns-cleanup, we should make sure that there are no calls to rootwrap-daemon inside a wait_until_true loop and/or fix rootwrap-daemon to allow processes to be interrupted before they're done with reading the output.