Thu, Apr 02, 2020 at 01:48:21PM CEST, olichtne(a)redhat.com wrote:
>On Fri, Mar 27, 2020 at 06:46:35PM +0100, Jan Tluka wrote:
>> This is a series of patches that attempts to remove the duplicated code
>> in Recipes/ENRT in case of cross-vlan ping runs.
>>
>> The changes include:
>> * split of ping command execution and evaluation of results
>> * introducing two basic Ping evaluators
>> * replacing the duplicated code in Recipes/ENRT with the new reusable code
>>
>> v2:
>>
>> * fixed a whitespace error
>> * moved Perf BaseEvaluator to BaseResultEvaluator
>> * used plural for ping_confing argument in ping_test()
>> * instead of overriding the do_ping_tests base class method I added few
>> mixin classes that do the same thing in even more reusable way
>> * be aware of additional patches compared to previous v1
>>
>> v3:
>> * renamed get_ping_evaluators to generate_ping_evaluators
>> * added PingEndpoints class that holds the information whether the
>> endpoints are reachable
>> * removed PingConditionMixin because PingEndpoints provides the needed
>> information about endpoint reachability
>>
>> Jan Tluka (17):
>> RecipeCommon.Ping: rename running_ping to ping
>> RecipeCommon.Ping: move prepare_job to ping_init
>> RecipeCommon.Ping: remove ping_config from ping_evaluate_and_report
>> Tests.Ping: update failure logic
>> Tests.Ping: do not check rtt data if no packets were received
>> RecipeCommon.Ping: rename ping_evaluate_and_report method
>> lnst.RecipeCommon: move Ping Recipe to separate directory
>> lnst.RecipeCommon: rename Perf BaseEvaluator to BaseResultEvaluator
>> lnst.RecipeCommon.Ping: add Ping evaluators
>> RecipeCommon.Ping.Recipe: add evaluators to PingConf object
>> lnst.RecipeCommon.Ping: add PingEndpoints class
>> Recipes.ENRT.BaseEnrtRecipe: use PingEndpoints in
>> generate_ping_configurations
>> Recipes.ENRT.BaseEnrtRecipe: register default PingEvaluator
>> RecipeCommon.Ping.Recipe: split report and evaluate
>> lnst.Recipes.ENRT: add PingMixins
>> lnst.Recipes.ENRT: use PingMixins to override Ping evaluators
>> lnst.RecipeCommon.Ping.Recipe: use plural for ping_config in ping_test
>>
>> ...aseEvaluator.py => BaseResultEvaluator.py} | 2 +-
>> .../Perf/Evaluators/BaselineEvaluator.py | 4 +-
>> .../Perf/Evaluators/NonzeroFlowEvaluator.py | 4 +-
>> .../Ping/Evaluators/RatePingEvaluator.py | 59 +++++++++++++
>> .../Ping/Evaluators/ZeroPassPingEvaluator.py | 21 +++++
>> lnst/RecipeCommon/Ping/Evaluators/__init__.py | 2 +
>> lnst/RecipeCommon/Ping/PingEndpoints.py | 20 +++++
>> lnst/RecipeCommon/{Ping.py => Ping/Recipe.py} | 55 +++++++-----
>> lnst/RecipeCommon/Ping/__init__.py | 0
>> lnst/Recipes/ENRT/BaseEnrtRecipe.py | 19 ++--
>> lnst/Recipes/ENRT/BasePvPRecipe.py | 2 +-
>> lnst/Recipes/ENRT/BondRecipe.py | 3 +-
>> lnst/Recipes/ENRT/DoubleBondRecipe.py | 3 +-
>> lnst/Recipes/ENRT/DoubleTeamRecipe.py | 7 +-
>> lnst/Recipes/ENRT/IpsecEspAeadRecipe.py | 16 ++--
>> lnst/Recipes/ENRT/IpsecEspAhCompRecipe.py | 26 +++---
>> lnst/Recipes/ENRT/NoVirtOvsVxlanRecipe.py | 3 +-
>> lnst/Recipes/ENRT/OvS_DPDK_PvP.py | 2 +-
>> lnst/Recipes/ENRT/PingFloodRecipe.py | 4 +-
>> .../ENRT/PingMixins/PingEvaluatorMixins.py | 13 +++
>> lnst/Recipes/ENRT/PingMixins/__init__.py | 3 +
>> lnst/Recipes/ENRT/SimpleNetworkRecipe.py | 3 +-
>> lnst/Recipes/ENRT/TeamRecipe.py | 7 +-
>> lnst/Recipes/ENRT/TeamVsBondRecipe.py | 7 +-
>> lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py | 77 +++--------------
>> .../VirtualBridgeVlanInGuestMirroredRecipe.py | 3 +-
>> .../ENRT/VirtualBridgeVlanInGuestRecipe.py | 3 +-
>> .../VirtualBridgeVlanInHostMirroredRecipe.py | 3 +-
>> .../ENRT/VirtualBridgeVlanInHostRecipe.py | 3 +-
>> .../ENRT/VirtualBridgeVlansOverBondRecipe.py | 86 ++++---------------
>> ...rtualOvsBridgeVlanInGuestMirroredRecipe.py | 3 +-
>> .../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 3 +-
>> ...irtualOvsBridgeVlanInHostMirroredRecipe.py | 3 +-
>> .../ENRT/VirtualOvsBridgeVlanInHostRecipe.py | 3 +-
>> .../VirtualOvsBridgeVlansOverBondRecipe.py | 86 ++++---------------
>> lnst/Recipes/ENRT/VlansOverBondRecipe.py | 63 ++------------
>> lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 64 ++------------
>> lnst/Recipes/ENRT/VlansRecipe.py | 63 ++------------
>> lnst/Recipes/ENRT/VxlanMulticastRecipe.py | 5 +-
>> lnst/Recipes/ENRT/VxlanRemoteRecipe.py | 3 +-
>> lnst/Tests/Ping.py | 20 ++---
>> 41 files changed, 317 insertions(+), 459 deletions(-)
>> rename lnst/RecipeCommon/{Perf/Evaluators/BaseEvaluator.py =>
BaseResultEvaluator.py} (70%)
>> create mode 100644 lnst/RecipeCommon/Ping/Evaluators/RatePingEvaluator.py
>> create mode 100644 lnst/RecipeCommon/Ping/Evaluators/ZeroPassPingEvaluator.py
>> create mode 100644 lnst/RecipeCommon/Ping/Evaluators/__init__.py
>> create mode 100644 lnst/RecipeCommon/Ping/PingEndpoints.py
>> rename lnst/RecipeCommon/{Ping.py => Ping/Recipe.py} (63%)
>> create mode 100644 lnst/RecipeCommon/Ping/__init__.py
>> create mode 100644 lnst/Recipes/ENRT/PingMixins/PingEvaluatorMixins.py
>> create mode 100644 lnst/Recipes/ENRT/PingMixins/__init__.py
>>
>> --
>> 2.21.1
>> _______________________________________________
>> LNST-developers mailing list -- lnst-developers(a)lists.fedorahosted.org
>> To unsubscribe send an email to lnst-developers-leave(a)lists.fedorahosted.org
>> Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedora...
>
>Looks good I think. One question though, I don't see reachable=False
>being used anywhere. So that means that we'll still only use the
>RatePingEvaluator in practice? Am I missing something, is that
>intentional?
>
>-Ondrej
It's used in this patch:
[PATCH v3 12/17] Recipes.ENRT.BaseEnrtRecipe: use PingEndpoints in
generate_ping_configurations
For example VlansRecipe.
However I did not explicitly wrote reachable=*, but instead put a
condition that either returns True/False. I guess I should make this
explicit instead as it may be more clear.
-Jan
Ah I see... yeah, I think actually adding reachable=(condition) would
look better.
-Ondrej