From: Ondrej Lichtner <olichtne(a)redhat.com>
When the NetTestController code was refactored and several methods were
moved to the new class Machine, part of the code of run_command was
forgotten.
The system configuration data was moved to be stored in the slave
application, however for that the method _update_system_config has to be
called and that wasn't happening.
This commit fixes that. The fix also changes the behaviour of the
system_config command- it will not be running in the background anymore,
instead it is run in the main lnst-slave application, just like the
wait/intr/kill commands.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
---
lnst/Common/NetTestCommand.py | 5 +++--
lnst/Slave/NetTestSlave.py | 11 +++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/lnst/Common/NetTestCommand.py b/lnst/Common/NetTestCommand.py
index 527764e..8dc9562 100644
--- a/lnst/Common/NetTestCommand.py
+++ b/lnst/Common/NetTestCommand.py
@@ -80,7 +80,8 @@ class NetTestCommand:
return self._finished
def run(self):
- if isinstance(self._cmd_cls, NetTestCommandControl):
+ if isinstance(self._cmd_cls, NetTestCommandControl) or \
+ isinstance(self._cmd_cls, NetTestCommandSystemConfig):
return self._cmd_cls.run()
self._read_pipe, self._write_pipe = multiprocessing.Pipe()
@@ -321,7 +322,7 @@ class NetTestCommandSystemConfig(NetTestCommandGeneric):
res = {"passed": True}
res["res_data"] = res_data
- self.set_result(res)
+ return res
class NetTestCommandControl(NetTestCommandGeneric):
def __init__(self, command_context, command):
diff --git a/lnst/Slave/NetTestSlave.py b/lnst/Slave/NetTestSlave.py
index 9b39c0a..d2dd484 100644
--- a/lnst/Slave/NetTestSlave.py
+++ b/lnst/Slave/NetTestSlave.py
@@ -207,6 +207,7 @@ class SlaveMethods:
logging.warn("Unable to restore '%s' config option!",
option)
return False
+ self._system_config = {}
return True
def run_command(self, command):
@@ -218,6 +219,16 @@ class SlaveMethods:
res = cmd.run()
if not cmd.forked():
self._command_context.del_cmd(cmd)
+
+ if command["type"] == "system_config":
+ if res["passed"]:
+
self._update_system_config(res["res_data"]["options"],
+ command["persistent"])
+ else:
+ err = "Error occured while setting system "\
+ "configuration (%s)" % res["err_msg"]
+ logging.error(err)
+
return res
except:
log_exc_traceback()
--
1.8.1.4
_______________________________________________
LNST-developers mailing list
LNST-developers(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/lnst-developers
both applied. Thanks