commit d3f9b8435c4e1189e9363196960bcead574c02d6 Author: Jan Tluka jtluka@redhat.com Date: Wed Sep 3 16:30:40 2014 +0200
Slave: add get_remaining_time method
This patch adds get_remaining_time() method to NetTestSlave. It's used to make a query from the controller to check if a command running in background has timeouted.
Signed-off-by: Jan Tluka jtluka@redhat.com Signed-off-by: Jiri Pirko jiri@resnulli.us
lnst/Slave/NetTestSlave.py | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) --- diff --git a/lnst/Slave/NetTestSlave.py b/lnst/Slave/NetTestSlave.py index 7819b82..0fbbcff 100644 --- a/lnst/Slave/NetTestSlave.py +++ b/lnst/Slave/NetTestSlave.py @@ -20,7 +20,7 @@ import socket import dbus import ctypes import multiprocessing -from time import sleep +from time import sleep, time from xmlrpclib import Binary from tempfile import NamedTemporaryFile from lnst.Common.Logs import log_exc_traceback @@ -331,6 +331,22 @@ class SlaveMethods: self._system_config = {} return True
+ def get_remaining_time(self, bg_id): + cmd = self._command_context.get_cmd(bg_id) + if "timeout" in cmd._command: + cmd_timeout = cmd._command["timeout"] + else: + cmd_timeout = DEFAULT_TIMEOUT + + start_time = cmd._start_time + current_time = time() + + remaining = cmd_timeout - (current_time - start_time) + if remaining < 0: + remaining = 0 + + return int(remaining) + def run_command(self, command): cmd = NetTestCommand(self._command_context, command, self._resource_table, self._log_ctl)