Fri, May 19, 2017 at 12:12:45PM CEST, olichtne(a)redhat.com wrote:
From: Ondrej Lichtner <olichtne(a)redhat.com>
v2 changes:
add lnst.Common.IpAddress
* modify exception string.
add lnst.Common.Parameters
* add docstring explaining the __getattribute__ magic
* make val a property
* rename x to attr in Parameters dir() iterations
* fix IpParam value setter for string values
* modify IpParam Exception string
add lnst.Devices
* make Device a Meta class and register RemoteDevice as implementing
the Device interface
* removed unnecessary imports
* added MasterDevice class for slave* methods
* made master_set to be a 'master' property setter
* renamed {add, del}_route to route_{add, del}
* renamed set_speed to speed_set
* renamed set_autoneg to autoneg_set
* removed modprobes where unnecessary
* link_stats are now retrieved from netlink message
* added link_stats64
* OvsBridge calls parent _type_init for modprobe
* remove SoftDevice import - not required
add lnst.Controller.Host
* removed debug pprint import
* added docstrings to requested methods
* Host::run throws an exception when netns set (not supported yet)
* added TODO comments to some parts that need to be implemented
add lnst.Controller.MachineMapper
* docstring now explains that implementing your own MachineMapper is
not supported at this moment
* removed debug pprint import
add lnst.Controller.Recipe
* renamed variable 'x' to 'attr'
Machine, NetTestSlave: heavy reimplementation
* improved class and module synchronization implementation
* join split lines in deviceref_to_device method
lnst.Common.Parameters: IpParam accepts Device objects
* import Device on demand (Device class arrives on Slave later) and
check isinstance Device instead of RemoteDevice (not available on
Slave)
* fix IpParam Exception string
v2 new commits:
Controller, Devices: removing unused imports
NetTestSlave: create dynamic lnst.Tests package
lnst.Tests: add package docstring
lnst.Common.Parameters: add DeviceParam
lnst.Tests.IcmpPing: use DeviceParam for iface parameter
Looks good on a quick look. Lets apply this and continue in-tree.
>Including the original cover letter as well:
>
>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 (47):
> 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 Device objects
> add example python_recipe.py script
> Controller, Devices: removing unused imports
> NetTestSlave: create dynamic lnst.Tests package
> lnst.Tests: add package docstring
> lnst.Common.Parameters: add DeviceParam
> lnst.Tests.IcmpPing: use DeviceParam for iface parameter
>
> 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 | 99 +++
> lnst/Common/JobError.py | 22 +
> lnst/Common/LnstError.py | 18 +
> lnst/Common/NetTestCommand.py | 5 +-
> lnst/Common/Parameters.py | 157 ++++
> 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 | 17 +
> lnst/Controller/Config.py | 99 +++
> lnst/Controller/Controller.py | 218 ++++++
> lnst/Controller/CtlSecSocket.py | 2 -
> lnst/Controller/Host.py | 160 ++++
> lnst/Controller/Job.py | 196 +++++
> lnst/Controller/Machine.py | 1356 +++++++--------------------------
> lnst/Controller/MachineMapper.py | 328 ++++++++
> lnst/Controller/MessageDispatcher.py | 203 +++++
> lnst/Controller/NetTestController.py | 620 ---------------
> lnst/Controller/Recipe.py | 97 +++
> 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 | 38 +
> lnst/Devices/BridgeDevice.py | 33 +
> lnst/Devices/Device.py | 355 +++++++++
> lnst/Devices/MacvlanDevice.py | 38 +
> lnst/Devices/MasterDevice.py | 33 +
> lnst/Devices/OvsBridgeDevice.py | 115 +++
> lnst/Devices/RemoteDevice.py | 98 +++
> lnst/Devices/SoftDevice.py | 51 ++
> lnst/Devices/TeamDevice.py | 60 ++
> lnst/Devices/VethDevice.py | 58 ++
> lnst/Devices/VethPair.py | 24 +
> lnst/Devices/VirtNetCtl.py | 85 +++
> lnst/Devices/VirtualDevice.py | 98 +++
> lnst/Devices/VlanDevice.py | 35 +
> lnst/Devices/VtiDevice.py | 71 ++
> lnst/Devices/VxlanDevice.py | 65 ++
> lnst/Devices/__init__.py | 42 +
> lnst/RecipeCommon/ModuleWrap.py | 33 +-
> lnst/Slave/Config.py | 73 ++
> lnst/Slave/InterfaceManager.py | 648 ++--------------
> lnst/Slave/Job.py | 251 ++++++
> lnst/Slave/NetTestSlave.py | 846 ++++++++++----------
> lnst/Tests/IcmpPing.py | 62 ++
> lnst/Tests/__init__.py | 17 +
> lnst/__init__.py | 1 -
> recipes/examples/python_recipe.py | 32 +
> setup.py | 2 +-
> 67 files changed, 4991 insertions(+), 5301 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/MasterDevice.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.13.0
>_______________________________________________
>LNST-developers mailing list -- lnst-developers(a)lists.fedorahosted.org
>To unsubscribe send an email to lnst-developers-leave(a)lists.fedorahosted.org