Browse Source

Merge "Increase log information when a RootHelperProcess fails"

changes/02/706802/1
Zuul 1 week ago
parent
commit
1c4e349756
1 changed files with 19 additions and 5 deletions
  1. +19
    -5
      neutron/tests/common/net_helpers.py

+ 19
- 5
neutron/tests/common/net_helpers.py View File

@@ -327,11 +327,25 @@ class RootHelperProcess(subprocess.Popen):
if utils.pid_invoked_with_cmdline(child_pid, self.cmd):
return True

common_utils.wait_until_true(
child_is_running,
timeout,
exception=RuntimeError("Process %s hasn't been spawned "
"in %d seconds" % (self.cmd, timeout)))
try:
common_utils.wait_until_true(child_is_running, timeout)
except common_utils.WaitTimeout:
# If there is an error, the stderr and stdout pipes usually have
# information returned by the command executed. If not, timeout
# the pipe communication quickly.
stdout = stderr = ''
try:
stdout, stderr = self.communicate(timeout=0.5)
except subprocess.TimeoutExpired:
pass
msg = ("Process %(cmd)s hasn't been spawned in %(seconds)d "
"seconds. Return code: %(ret_code)s, stdout: %(stdout)s, "
"sdterr: %(stderr)s" %
{'cmd': self.cmd, 'seconds': timeout,
'ret_code': self.returncode, 'stdout': stdout,
'stderr': stderr})
raise RuntimeError(msg)

self.child_pid = utils.get_root_helper_child_pid(
self.pid, self.cmd, run_as_root=True)


Loading…
Cancel
Save