Fix multipool tests broken by EventletDeprecationWarning in stdout
designate-manage imports oslo_concurrency, which detects eventlet
(still installed as a transitive dependency via oslo.service, nova,
etc.) and emits an EventletDeprecationWarning to stderr.
The _run_designate_manage helper was using stderr=subprocess.STDOUT,
merging stderr into the captured stdout. This corrupted the YAML
output that the tests parse, causing 4 multipool test failures.
Switch to stderr=subprocess.PIPE so that stderr is captured
separately and does not interfere with stdout parsing. Log stderr
on CalledProcessError to preserve debuggability.
Generated-By: Claude Code 4.6 Opus
Change-Id: I325fe31fc97ff0d9064f8cfdcf1559d96a203c4a
Signed-off-by: Omer <oschwart@redhat.com>
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py b/designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py
index ec8cc6f..418dc2d 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py
@@ -74,11 +74,12 @@
commands_list.extend(args[0])
try:
output = subprocess.check_output(commands_list,
- stderr=subprocess.STDOUT,
+ stderr=subprocess.PIPE,
text=True)
return output
except subprocess.CalledProcessError as e:
LOG.error(e.output)
+ LOG.error(e.stderr)
@classmethod
def _get_nameservers_in_use(cls):