From: Ondrej Lichtner <olichtne(a)redhat.com>
Hi all,
the long avaited patchset for Python Recipes is here.
At this point there's still quite a lot of work left, but since the current
state is functional and the tester facing API should be mostly stable I think
it's a good time to get this merged into upstream so that more people can get
involved with filling in the missing pieces and can slowly start experimenting
and porting their XML recipes.
This I know are missing:
* Recipe run summary - how the Summary should look like was described in the
running proposal document, but I didn't manage to start with the
implementation yet...
* Porting of all the old test_modules into the lnst.Tests package, so far we
only have the IcmpPing module that should still be reworked to be more
universal (ip4 and ip6 in one class). Porting test_modules should be fairly
easy, but at this point there's no guide how to do it so if you're having
trouble feel free to contact me either on irc or email.
* test_tools - we haven't even thought of these yet
* network namespaces - also didn't think about them yet, though I'm hoping this
will be simple
* Ip address and network generators as we've discussed them on the upstream
meeting
Please review and provide any comments or features I forgot that should be
added to the above list.
Regards,
Ondrej
Ondrej Lichtner (42):
add lnst.Common.LnstError
add lnst.Common.DeviceError
add lnst.Common.DeviceRef
add lnst.Common.IpAddress
add lnst.Common.Parameters
add lnst.Common.TestModule
add lnst.Common.JobError
add lnst.Controller.Common
add lnst.Devices
add lnst.Controller.Requirements
add lnst.Controller.Job
add lnst.Controller.Host
add lnst.Controller.Config
add lnst.Slave.Config
add lnst.Controller.MachineMapper
lnst.Controller.Machine: change object initialization
add lnst.Controller.MessageDispatcher
add lnst.Controller.SlavePoolManager
add lnst.Controller.Recipe
add lnst.Controller.Controller
various files: retype exceptions
add lnst.Tests package
lnst.Common.Config: remove {controller, slave}_init
lnst.Common.Config: remove global lnst_config
Slave: use a local config object instead of a global one
lnst.Common.Utils: add sha256sum function
lnst.Common.ResourceCache: simplification
lnst.Controller.CtlSecSocket: remove lnst_config import
lnst.Controller.SlaveMachineParser: make standalone
add lnst.Common.InterfaceManagerError
add lnst.Slave.Job
lnst.Slave.InterfaceManager: heavy reimplementation
Machine, NetTestSlave: heavy reimplementation
lnst.Slave.InterfaceManager: remove Device class implementation
add lnst.Controller package imports
lnst/__init__.py remove imports
lnst.Controller: remove old modules
setup.py: add new packages
add lnst.Devices.VirtNetCtl
lnst.Controller: move VirtUtils to VirtDomainCtl, remove VirtNetCtl
class
lnst.Common.Parameters: IpParam accepts RemoteDevice objects
add example python_recipe.py script
lnst-slave | 20 +-
lnst/Common/Config.py | 152 +---
lnst/Common/DeviceError.py | 22 +
lnst/Common/DeviceRef.py | 19 +
lnst/Common/ExecCmd.py | 3 +-
lnst/Common/InterfaceManagerError.py | 16 +
lnst/Common/IpAddress.py | 98 +++
lnst/Common/JobError.py | 22 +
lnst/Common/LnstError.py | 18 +
lnst/Common/NetTestCommand.py | 5 +-
lnst/Common/Parameters.py | 120 +++
lnst/Common/ResourceCache.py | 128 ++--
lnst/Common/SecureSocket.py | 3 +-
lnst/Common/ShellProcess.py | 3 +-
lnst/Common/TestModule.py | 67 ++
lnst/Common/TestsCommon.py | 3 +-
lnst/Common/Utils.py | 11 +
lnst/Controller/Common.py | 19 +
lnst/Controller/Config.py | 99 +++
lnst/Controller/Controller.py | 220 ++++++
lnst/Controller/CtlSecSocket.py | 1 -
lnst/Controller/Host.py | 143 ++++
lnst/Controller/Job.py | 197 +++++
lnst/Controller/Machine.py | 1348 +++++++--------------------------
lnst/Controller/MachineMapper.py | 323 ++++++++
lnst/Controller/MessageDispatcher.py | 188 +++++
lnst/Controller/NetTestController.py | 620 ---------------
lnst/Controller/Recipe.py | 98 +++
lnst/Controller/RecipeParser.py | 572 --------------
lnst/Controller/Requirements.py | 113 +++
lnst/Controller/SlaveMachineParser.py | 144 +++-
lnst/Controller/SlavePool.py | 648 ----------------
lnst/Controller/SlavePoolManager.py | 273 +++++++
lnst/Controller/Task.py | 4 +-
lnst/Controller/VirtDomainCtl.py | 98 +++
lnst/Controller/VirtUtils.py | 268 -------
lnst/Controller/XmlParser.py | 188 -----
lnst/Controller/XmlProcessing.py | 235 ------
lnst/Controller/XmlTemplates.py | 438 -----------
lnst/Controller/__init__.py | 3 +
lnst/Devices/BondDevice.py | 48 ++
lnst/Devices/BridgeDevice.py | 49 ++
lnst/Devices/Device.py | 368 +++++++++
lnst/Devices/MacvlanDevice.py | 41 +
lnst/Devices/OvsBridgeDevice.py | 116 +++
lnst/Devices/RemoteDevice.py | 90 +++
lnst/Devices/SoftDevice.py | 51 ++
lnst/Devices/TeamDevice.py | 64 ++
lnst/Devices/VethDevice.py | 59 ++
lnst/Devices/VethPair.py | 24 +
lnst/Devices/VirtNetCtl.py | 85 +++
lnst/Devices/VirtualDevice.py | 99 +++
lnst/Devices/VlanDevice.py | 38 +
lnst/Devices/VtiDevice.py | 71 ++
lnst/Devices/VxlanDevice.py | 66 ++
lnst/Devices/__init__.py | 45 ++
lnst/RecipeCommon/ModuleWrap.py | 33 +-
lnst/Slave/Config.py | 73 ++
lnst/Slave/InterfaceManager.py | 648 ++--------------
lnst/Slave/Job.py | 251 ++++++
lnst/Slave/NetTestSlave.py | 832 ++++++++++----------
lnst/Tests/IcmpPing.py | 76 ++
lnst/Tests/__init__.py | 1 +
lnst/__init__.py | 1 -
recipes/examples/python_recipe.py | 31 +
setup.py | 2 +-
66 files changed, 4919 insertions(+), 5293 deletions(-)
create mode 100644 lnst/Common/DeviceError.py
create mode 100644 lnst/Common/DeviceRef.py
create mode 100644 lnst/Common/InterfaceManagerError.py
create mode 100644 lnst/Common/IpAddress.py
create mode 100644 lnst/Common/JobError.py
create mode 100644 lnst/Common/LnstError.py
create mode 100644 lnst/Common/Parameters.py
create mode 100644 lnst/Common/TestModule.py
create mode 100644 lnst/Controller/Common.py
create mode 100644 lnst/Controller/Config.py
create mode 100644 lnst/Controller/Controller.py
create mode 100644 lnst/Controller/Host.py
create mode 100644 lnst/Controller/Job.py
create mode 100644 lnst/Controller/MachineMapper.py
create mode 100644 lnst/Controller/MessageDispatcher.py
delete mode 100644 lnst/Controller/NetTestController.py
create mode 100644 lnst/Controller/Recipe.py
delete mode 100644 lnst/Controller/RecipeParser.py
create mode 100644 lnst/Controller/Requirements.py
delete mode 100644 lnst/Controller/SlavePool.py
create mode 100644 lnst/Controller/SlavePoolManager.py
create mode 100644 lnst/Controller/VirtDomainCtl.py
delete mode 100644 lnst/Controller/VirtUtils.py
delete mode 100644 lnst/Controller/XmlParser.py
delete mode 100644 lnst/Controller/XmlProcessing.py
delete mode 100644 lnst/Controller/XmlTemplates.py
create mode 100644 lnst/Devices/BondDevice.py
create mode 100644 lnst/Devices/BridgeDevice.py
create mode 100644 lnst/Devices/Device.py
create mode 100644 lnst/Devices/MacvlanDevice.py
create mode 100644 lnst/Devices/OvsBridgeDevice.py
create mode 100644 lnst/Devices/RemoteDevice.py
create mode 100644 lnst/Devices/SoftDevice.py
create mode 100644 lnst/Devices/TeamDevice.py
create mode 100644 lnst/Devices/VethDevice.py
create mode 100644 lnst/Devices/VethPair.py
create mode 100644 lnst/Devices/VirtNetCtl.py
create mode 100644 lnst/Devices/VirtualDevice.py
create mode 100644 lnst/Devices/VlanDevice.py
create mode 100644 lnst/Devices/VtiDevice.py
create mode 100644 lnst/Devices/VxlanDevice.py
create mode 100644 lnst/Devices/__init__.py
create mode 100644 lnst/Slave/Config.py
create mode 100644 lnst/Slave/Job.py
create mode 100644 lnst/Tests/IcmpPing.py
create mode 100644 lnst/Tests/__init__.py
create mode 100755 recipes/examples/python_recipe.py
--
2.12.2