From: Ondrej Lichtner <olichtne(a)redhat.com>
Hi,
sending a v2 of this patchset that changes the name of the parent
variables to desc in the description generation methods.
In addition to that this patch set has additional 3 patches at the end
that fix some minor issues I overlooked.
-Ondrej
Original cover letter:
Hi,
This patchset deals with the refactoring of the ENRT recipes, for now
this specifically means the BaseEnrtRecipe and the SimplePerfRecipe.
The refactor utilizes Pythons' collaborative inheritance to enable
highly flexible way of extending the basic functionality of the recipe
with additional configuration parameters and implementation.
Yesterday I spent about an hour explaining this to my colleagues at RH
through a bluejeans call, I'm sharing the recording here in case anyone
else is also interested:
https://bluejeans.com/s/gAZXd
The patchset probably breaks some minor functionality of all the other
recipes that we currently have in the ENRT package, but I expect that in
general they could actually still work reasonably well, or need just
small changes to get working again.
As this is a proposal I didn't want to waste time with reworking the
other recipes as well, if we accept this, updating them should be the
next patchset after this one.
-Ondrej
Ondrej Lichtner (18):
add lnst.Recipes.ENRT.ConfigMixins package
lnst.Recipes.ENRT.BaseEnrtRecipe: refactor test method with contextmanagers
lnst.Recipes.ENRT.BaseEnrtRecipe: add config description generators
lnst.Recipes.ENRT.BaseEnrtRecipe: move sub configuration into mixins
lnst.Recipes.ENRT.BaseEnrtRecipe: remove the EnrtSubConfiguration class
lnst.Recipes.ENRT.BaseEnrtRecipe: refactor the ping/perf test loops
lnst.Recipes.ENRT.BaseEnrtRecipe: remove EnrtConfiguration attributes
lnst.Recipes.ENRT.BaseEnrtRecipe: remove _pin_dev_interrupts method
lnst.Recipes.ENRT.BaseEnrtRecipe: cosmetic changes
lnst.Recipes.ENRT.SimplePerfRecipe: add ping/perf endpoint generators
lnst.Recipes.ENRT.SimplePerfRecipe: add test wide description generation
add ConfigMixins.OffloadSubConfigMixin module, enable for SimplePerfRecipe
add lnst.Recipes.ENRT.ConfigMixins.BaseHWConfigMixin hierarchy
lnst.Recipes.ENRT.SimplePerfRecipe: use CommonHWConfigMixin by inheritance
lnst.Recipes.ENRT.SimplePerfRecipe: implement wait_tentative_ips
lnst.RecipeCommon.Perf.Evaluators.BaselineEvaluator: fix return value type
lnst.Recipes.ENRT.BaseEnrtRecipe: provide only recipe config to the Perf sub-recipe
lnst.RecipeCommon.Perf.Measurements.IperfFlowMeasurement: lower job level for --version
call
.../Perf/Evaluators/BaselineEvaluator.py | 2 +-
.../Perf/Measurements/IperfFlowMeasurement.py | 2 +-
lnst/Recipes/ENRT/BaseEnrtRecipe.py | 449 +++++++-----------
.../ENRT/ConfigMixins/BaseHWConfigMixin.py | 42 ++
.../ENRT/ConfigMixins/BaseSubConfigMixin.py | 12 +
.../ConfigMixins/CoalescingHWConfigMixin.py | 32 ++
.../ENRT/ConfigMixins/CommonHWConfigMixin.py | 31 ++
.../ConfigMixins/DevInterruptHWConfigMixin.py | 102 ++++
.../ENRT/ConfigMixins/MTUHWConfigMixin.py | 18 +
.../ConfigMixins/OffloadSubConfigMixin.py | 103 ++++
.../ParallelStreamQDiscHWConfigMixin.py | 32 ++
lnst/Recipes/ENRT/ConfigMixins/__init__.py | 0
lnst/Recipes/ENRT/SimplePerfRecipe.py | 83 ++--
13 files changed, 588 insertions(+), 320 deletions(-)
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/BaseHWConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/BaseSubConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/CoalescingHWConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/CommonHWConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/DevInterruptHWConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/MTUHWConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/OffloadSubConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/ParallelStreamQDiscHWConfigMixin.py
create mode 100644 lnst/Recipes/ENRT/ConfigMixins/__init__.py
--
2.22.0