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
Show replies by date