runroot: Log different commands to different files
JIRA: COMPOSE-3980 Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
7f35ac622a
commit
51b1144b70
@ -97,6 +97,9 @@ class Runroot(kobo.log.LoggingBase):
|
||||
ssh_cmd = ["ssh", "-oBatchMode=yes", "-n", "-l", user, hostname, formatted_cmd]
|
||||
return run(ssh_cmd, show_cmd=True, logfile=log_file)[1]
|
||||
|
||||
def _log_file(self, base, suffix):
|
||||
return base.replace(".log", "." + suffix + ".log")
|
||||
|
||||
def _run_openssh(self, command, log_file=None, arch=None, packages=None,
|
||||
chown_paths=None, **kwargs):
|
||||
"""
|
||||
@ -128,7 +131,12 @@ class Runroot(kobo.log.LoggingBase):
|
||||
if init_template:
|
||||
fmt_dict = {"runroot_tag": runroot_tag}
|
||||
runroot_key = self._ssh_run(
|
||||
hostname, user, init_template, fmt_dict, log_file=log_file)
|
||||
hostname,
|
||||
user,
|
||||
init_template,
|
||||
fmt_dict,
|
||||
log_file=self._log_file(log_file, "init"),
|
||||
)
|
||||
runroot_key = runroot_key.rstrip("\n\r")
|
||||
else:
|
||||
runroot_key = None
|
||||
@ -139,7 +147,11 @@ class Runroot(kobo.log.LoggingBase):
|
||||
if runroot_key:
|
||||
fmt_dict["runroot_key"] = runroot_key
|
||||
self._ssh_run(
|
||||
hostname, user, install_packages_template, fmt_dict, log_file=log_file
|
||||
hostname,
|
||||
user,
|
||||
install_packages_template,
|
||||
fmt_dict,
|
||||
log_file=self._log_file(log_file, "install_packages"),
|
||||
)
|
||||
|
||||
# Run the runroot task and get the buildroot RPMs.
|
||||
@ -151,7 +163,11 @@ class Runroot(kobo.log.LoggingBase):
|
||||
|
||||
fmt_dict["command"] = "rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"
|
||||
buildroot_rpms = self._ssh_run(
|
||||
hostname, user, run_template, fmt_dict, log_file=log_file
|
||||
hostname,
|
||||
user,
|
||||
run_template,
|
||||
fmt_dict,
|
||||
log_file=self._log_file(log_file, "rpms"),
|
||||
)
|
||||
else:
|
||||
self._ssh_run(hostname, user, command, log_file=log_file)
|
||||
@ -159,7 +175,7 @@ class Runroot(kobo.log.LoggingBase):
|
||||
hostname,
|
||||
user,
|
||||
"rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'",
|
||||
log_file=log_file,
|
||||
log_file=self._log_file(log_file, "rpms"),
|
||||
)
|
||||
|
||||
# Parse the buildroot_rpms and store it in self._result.
|
||||
|
@ -29,13 +29,14 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
method = self.runroot.get_runroot_method()
|
||||
self.assertEqual(method, "openssh")
|
||||
|
||||
def _ssh_call(self, cmd):
|
||||
def _ssh_call(self, cmd, suffix=None):
|
||||
"""
|
||||
Helper method returning default SSH mock.call with given command `cmd`.
|
||||
"""
|
||||
logfile = ("/foo/runroot." + suffix + ".log") if suffix else "/foo/runroot.log"
|
||||
return mock.call(
|
||||
['ssh', '-oBatchMode=yes', '-n', '-l', 'root', 'localhost', cmd],
|
||||
logfile='/foo/runroot.log',
|
||||
logfile=logfile,
|
||||
show_cmd=True,
|
||||
)
|
||||
|
||||
@ -45,7 +46,9 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
self.runroot.run("df -h", log_file="/foo/runroot.log", arch="x86_64")
|
||||
run.assert_has_calls([
|
||||
self._ssh_call('df -h'),
|
||||
self._ssh_call("rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"),
|
||||
self._ssh_call(
|
||||
"rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'", suffix="rpms"
|
||||
),
|
||||
])
|
||||
|
||||
@mock.patch("pungi.runroot.run")
|
||||
@ -69,10 +72,13 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
self.runroot.run("df -h", log_file="/foo/runroot.log", arch="x86_64",
|
||||
packages=["lorax", "automake"])
|
||||
run.assert_has_calls([
|
||||
self._ssh_call('/usr/sbin/init_runroot f28-build'),
|
||||
self._ssh_call('install key lorax automake'),
|
||||
self._ssh_call('/usr/sbin/init_runroot f28-build', suffix="init"),
|
||||
self._ssh_call('install key lorax automake', suffix="install_packages"),
|
||||
self._ssh_call('run key df -h'),
|
||||
self._ssh_call("run key rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"),
|
||||
self._ssh_call(
|
||||
"run key rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'",
|
||||
suffix="rpms",
|
||||
),
|
||||
])
|
||||
|
||||
@mock.patch("pungi.runroot.run")
|
||||
@ -85,9 +91,12 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
self.runroot.run("df -h", log_file="/foo/runroot.log", arch="x86_64",
|
||||
packages=["lorax", "automake"])
|
||||
run.assert_has_calls([
|
||||
self._ssh_call('install lorax automake'),
|
||||
self._ssh_call('install lorax automake', suffix="install_packages"),
|
||||
self._ssh_call('run df -h'),
|
||||
self._ssh_call("run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"),
|
||||
self._ssh_call(
|
||||
"run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'",
|
||||
suffix="rpms",
|
||||
),
|
||||
])
|
||||
|
||||
@mock.patch("pungi.runroot.run")
|
||||
@ -100,7 +109,10 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
self.runroot.run("df -h", log_file="/foo/runroot.log", arch="x86_64")
|
||||
run.assert_has_calls([
|
||||
self._ssh_call('run df -h'),
|
||||
self._ssh_call("run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"),
|
||||
self._ssh_call(
|
||||
"run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'",
|
||||
suffix="rpms",
|
||||
),
|
||||
])
|
||||
|
||||
@mock.patch("pungi.runroot.run")
|
||||
@ -112,7 +124,10 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
packages=["lorax", "automake"])
|
||||
run.assert_has_calls([
|
||||
self._ssh_call('run df -h'),
|
||||
self._ssh_call("run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"),
|
||||
self._ssh_call(
|
||||
"run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'",
|
||||
suffix="rpms",
|
||||
),
|
||||
])
|
||||
|
||||
@mock.patch("pungi.runroot.run")
|
||||
@ -127,5 +142,8 @@ class TestRunrootOpenSSH(helpers.PungiTestCase):
|
||||
self._ssh_call(
|
||||
"run df -h && chmod -R a+r /mnt/foo/compose /mnt/foo/x && "
|
||||
"chown -R %d /mnt/foo/compose /mnt/foo/x" % os.getuid()),
|
||||
self._ssh_call("run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'"),
|
||||
self._ssh_call(
|
||||
"run rpm -qa --qf='%{name}-%{version}-%{release}.%{arch}\n'",
|
||||
suffix="rpms",
|
||||
),
|
||||
])
|
||||
|
Loading…
Reference in New Issue
Block a user