From 2c499e06f1bf3f7fd735601b2baf88d976ef0014 Mon Sep 17 00:00:00 2001 From: Sergey Orlov Date: Tue, 26 Jan 2021 11:50:33 +0100 Subject: [PATCH] fix collecting log files which are symlinks One of the files that are collected after each test is /etc/resolv.conf. In Fedora 33 this file is actually a symlink. `tar` does not follow symlinks by default which results in either a broken link in test artifacts or a symlink pointing to local file on the tests controller machine. Fixed by instructing `tar` to resolve the symlinks, so that actual file pointed by symlink is stored in test artifacts. Reviewed-By: Florence Blanc-Renaud Reviewed-By: Rob Crittenden --- ipatests/pytest_ipa/integration/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ipatests/pytest_ipa/integration/__init__.py b/ipatests/pytest_ipa/integration/__init__.py index 77f8f09aa..55291ae8b 100644 --- a/ipatests/pytest_ipa/integration/__init__.py +++ b/ipatests/pytest_ipa/integration/__init__.py @@ -202,7 +202,8 @@ def collect_logs(name, logs_dict, logfile_dir=None, beakerlib_plugin=None): tmpname = cmd.stdout_text.strip() # Tar up the logs on the remote server cmd = host.run_command( - ['tar', 'cJvf', tmpname, '--ignore-failed-read'] + logs, + ['tar', 'cJvf', tmpname, '--ignore-failed-read', + '--dereference'] + logs, log_stdout=False, raiseonerr=False) if cmd.returncode: logger.warning('Could not collect all requested logs')