From: Ondrej Lichtner <olichtne(a)redhat.com>
The following patchset reimplements both the Logging subsystem and the
communication protocol used between controller and slaves.
Our new Logging subsystem is now using the class LoggingCtl that provides a
simpler interface than the previous implementation and also it's not a static
class anymore.
The communication protocol is also very simple, it works by sending dictionaries
in pickled form through TCP sockets. Both the controller and the slave are
capable of communicating with more end-points via the use of select, which
allows us to transport messages even if there are "blocking" operations
running. The protocol is not fully complete yet but this is a good basis
that implements everything necessary for it to work. In the future I will
add the ability to transfer exceptions and control messages for the protocol.
Ondrej Lichtner (10):
add module ConnectionHandler
LoggingHandler: add TransmitHandler
Logs: code removal
Logs: add class LoggingCtl
lnst-{ctl, slave}: changes to reflect the Logs change
NetTestCommand, NetTestController, NetTestSlave: log changes
NetTestSlave: remove current Slave communication implementation
NetTestCommand: add pipe, set logs
NetTestSlave: new Slave implementation
NetTestController: reimplement communication
lnst-ctl | 29 ++-
lnst-slave | 9 +-
lnst/Common/ConnectionHandler.py | 116 ++++++++++++
lnst/Common/LoggingHandler.py | 19 ++
lnst/Common/Logs.py | 329 ++++++++++++-----------------------
lnst/Common/NetTestCommand.py | 45 ++---
lnst/Controller/NetTestController.py | 127 ++++++++------
lnst/Slave/NetTestSlave.py | 170 +++++++++++++-----
8 files changed, 487 insertions(+), 357 deletions(-)
create mode 100644 lnst/Common/ConnectionHandler.py
--
1.7.11.7
Show replies by thread