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
Jan Tluka (15):
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
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.py => Ping/Recipe.py} | 55 ++++++++------
lnst/RecipeCommon/Ping/__init__.py | 0
lnst/Recipes/ENRT/BaseEnrtRecipe.py | 15 ++--
lnst/Recipes/ENRT/BasePvPRecipe.py | 2 +-
lnst/Recipes/ENRT/IpsecEspAeadRecipe.py | 16 ++---
lnst/Recipes/ENRT/IpsecEspAhCompRecipe.py | 26 +++----
lnst/Recipes/ENRT/OvS_DPDK_PvP.py | 2 +-
lnst/Recipes/ENRT/PingFloodRecipe.py | 4 +-
.../ENRT/PingMixins/PingConditionMixins.py | 34 +++++++++
.../ENRT/PingMixins/PingEvaluatorMixins.py | 15 ++++
lnst/Recipes/ENRT/PingMixins/__init__.py | 9 +++
lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py | 69 ++----------------
.../ENRT/VirtualBridgeVlansOverBondRecipe.py | 71 ++-----------------
.../VirtualOvsBridgeVlansOverBondRecipe.py | 71 ++-----------------
lnst/Recipes/ENRT/VlansOverBondRecipe.py | 63 ++--------------
lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 63 ++--------------
lnst/Recipes/ENRT/VlansRecipe.py | 63 ++--------------
lnst/Tests/Ping.py | 20 +++---
24 files changed, 260 insertions(+), 430 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
rename lnst/RecipeCommon/{Ping.py => Ping/Recipe.py} (63%)
create mode 100644 lnst/RecipeCommon/Ping/__init__.py
create mode 100644 lnst/Recipes/ENRT/PingMixins/PingConditionMixins.py
create mode 100644 lnst/Recipes/ENRT/PingMixins/PingEvaluatorMixins.py
create mode 100644 lnst/Recipes/ENRT/PingMixins/__init__.py
--
2.21.1