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 <flo@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
Sergey Orlov 2021-01-26 11:50:33 +01:00
parent 031c354e85
commit 2c499e06f1
No known key found for this signature in database
GPG Key ID: ADF8C90EDD04503D

View File

@ -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')