"""
command = u"echo $(< /tmp/*supervisor*.log)"\
if DUTSetup.running_in_container(node) \
- else f"journalctl --no-pager --unit={service} " \
- f"--since=\"$(echo `systemctl show -p ActiveEnterTimestamp " \
- f"{service}` | awk \'{{print $2 $3}}\')\""
+ else f"journalctl --no-pager _SYSTEMD_INVOCATION_ID=$(systemctl " \
+ f"show -p InvocationID --value {service})"
+
message = f"Node {node[u'host']} failed to get logs from unit {service}"
exec_cmd_no_error(
else:
shell_cmd = f"ip netns exec {namespace} sh -c"
- pgrep_cmd = f"{shell_cmd} \'pgrep {program}\'"
- ret_code, _, _ = exec_cmd(node, pgrep_cmd, timeout=cmd_timeout,
- sudo=True)
- if ret_code == 0:
+ pgrep_cmd = f"{shell_cmd} \'pgrep -c {program}\'"
+ _, stdout, _ = exec_cmd(node, pgrep_cmd, timeout=cmd_timeout,
+ sudo=True)
+ if int(stdout) == 0:
logger.trace(f"{program} is not running on {host}")
return
- ret_code, _, _ = exec_cmd(node, f"{shell_cmd} \'pkill {program}\'",
- timeout=cmd_timeout, sudo=True)
+ exec_cmd(node, f"{shell_cmd} \'pkill {program}\'",
+ timeout=cmd_timeout, sudo=True)
for attempt in range(5):
- ret_code, _, _ = exec_cmd(node, pgrep_cmd, timeout=cmd_timeout,
- sudo=True)
- if ret_code != 0:
+ _, stdout, _ = exec_cmd(node, pgrep_cmd, timeout=cmd_timeout,
+ sudo=True)
+ if int(stdout) == 0:
logger.trace(f"Attempt {attempt}: {program} is dead on {host}")
return
sleep(1)
logger.trace(f"SIGKILLing {program} on {host}")
- ret_code, _, _ = exec_cmd(node, f"{shell_cmd} \'pkill -9 {program}\'",
- timeout=cmd_timeout, sudo=True)
+ exec_cmd(node, f"{shell_cmd} \'pkill -9 {program}\'",
+ timeout=cmd_timeout, sudo=True)
@staticmethod
def verify_program_installed(node, program):