Tue, Jan 12, 2021 at 09:33:57AM CET, olichtne@redhat.com wrote:
>From: Ondrej Lichtner <olichtne@redhat.com>
>
>Hi all,
>
>as promised, this is the updated second version of my patchset from last
>year. This should now be a good enough version to apply.
>
>The main chages are:
>* split evaluator refactoring into separate patch from commit adding
> type hinting and black reformatting
>* more complete type hinting for the lnst.RecipeCommon.Perf package
>* remove measurement_conf from *Measurement init - new commit based on
> coments from Jan to the previous patchset
>
>Info from previous cover letter (copy pasted):
>
>This is the first version of a patchset to refactor the Recipes.ENRT
>package to make it more flexible wrt. generating measurements, this is a
>pain point that we've hit with different type of recipes that we already
>have:
>
>* baremetal recipes, generating relatively simple iperf flows
>* virtual recipes, being very similar however requiring different cpu
> measurements generated along these flow measurements
>* ipsec type recipes that generate more complex iperf flows
>* ovs+dpdk type recipes that due to using trex have their own quirks
>
>This version of the patchset was focused on adding support for the
>second bullet in the list - the virtual recipes, and making sure that
>baremetal recipes still work.
>
>Ipsec recipes should still work the same way, the ovs+dpdk recipes;
>however, likely require additional work.
>
>There's also a note in the final commit that more work on adding type
>hints to the Perf.* package.
>
>And finally... documentation has not been updated and will be added in
>the second version of the patchset.
>
>Please take a look and provide any valuable feedback that I should work
>on in the second version of the set.
>
>-Ondrej
>
>Ondrej Lichtner (11):
> RecipeCommon.Perf.Measurements: add flows property to FlowMeasurements
> RecipeCommon.Perf.Measurements.StatCPUMeasurement: sort hosts
> create lnst.Recipes.ENRT.MeasurementGenerators
> Recipes.ENRT.BaseEnrtRecipe: remove perf measurement generation
> add lnst.Recipes.ENRT.BaremetalEnrtRecipe
> add lnst.Recipes.ENRT.VirtualEnrtRecipe
> refactor lnst.Recipes.ENRT.BaseEnrtRecipe
> lnst.RecipeCommon.Perf: Evaluators refactor to add parent recipe
> configuration
> RecipeCommon.Perf.RecipeConf: add parent recipe reference
> RecipeCommon.Perf: add typehints and use black to reformat code
> Perf.Measurements: remove measurement_conf from *Measurement
> initialization
>
> lnst/RecipeCommon/BaseResultEvaluator.py | 16 +-
> .../Evaluators/BaselineCPUAverageEvaluator.py | 45 ++++-
> .../Perf/Evaluators/BaselineEvaluator.py | 77 ++++++--
> .../BaselineFlowAverageEvaluator.py | 37 +++-
> .../Perf/Evaluators/NonzeroFlowEvaluator.py | 18 +-
> .../Perf/Measurements/BaseFlowMeasurement.py | 4 +
> .../Perf/Measurements/BaseMeasurement.py | 7 +-
> .../Perf/Measurements/IperfFlowMeasurement.py | 13 +-
> .../Perf/Measurements/StatCPUMeasurement.py | 11 +-
> .../Perf/Measurements/TRexFlowMeasurement.py | 14 +-
> lnst/RecipeCommon/Perf/Recipe.py | 82 +++++---
> lnst/Recipes/ENRT/BaremetalEnrtRecipe.py | 26 +++
> lnst/Recipes/ENRT/BaseEnrtRecipe.py | 178 +++---------------
> lnst/Recipes/ENRT/BondRecipe.py | 4 +-
> lnst/Recipes/ENRT/DoubleBondRecipe.py | 4 +-
> lnst/Recipes/ENRT/DoubleTeamRecipe.py | 4 +-
> lnst/Recipes/ENRT/IpsecEspAeadRecipe.py | 4 +-
> lnst/Recipes/ENRT/IpsecEspAhCompRecipe.py | 4 +-
> .../BaseMeasurementGenerator.py | 3 +
> ...lowEndpointsStatCPUMeasurementGenerator.py | 26 +++
> .../HypervisorsStatCPUMeasurementGenerator.py | 19 ++
> .../IperfMeasurementGenerator.py | 146 ++++++++++++++
> .../ENRT/MeasurementGenerators/__init__.py | 0
> lnst/Recipes/ENRT/NoVirtOvsVxlanRecipe.py | 4 +-
> .../ENRT/ShortLivedConnectionsRecipe.py | 4 +-
> lnst/Recipes/ENRT/SimpleMacsecRecipe.py | 4 +-
> lnst/Recipes/ENRT/SimpleNetworkRecipe.py | 7 +-
> lnst/Recipes/ENRT/TeamRecipe.py | 4 +-
> lnst/Recipes/ENRT/TeamVsBondRecipe.py | 4 +-
> lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py | 4 +-
> .../VirtualBridgeVlanInGuestMirroredRecipe.py | 4 +-
> .../ENRT/VirtualBridgeVlanInGuestRecipe.py | 4 +-
> .../VirtualBridgeVlanInHostMirroredRecipe.py | 4 +-
> .../ENRT/VirtualBridgeVlanInHostRecipe.py | 4 +-
> .../ENRT/VirtualBridgeVlansOverBondRecipe.py | 4 +-
> lnst/Recipes/ENRT/VirtualEnrtRecipe.py | 28 +++
> ...rtualOvsBridgeVlanInGuestMirroredRecipe.py | 4 +-
> .../ENRT/VirtualOvsBridgeVlanInGuestRecipe.py | 4 +-
> ...irtualOvsBridgeVlanInHostMirroredRecipe.py | 4 +-
> .../ENRT/VirtualOvsBridgeVlanInHostRecipe.py | 4 +-
> .../VirtualOvsBridgeVlansOverBondRecipe.py | 4 +-
> lnst/Recipes/ENRT/VlansOverBondRecipe.py | 4 +-
> lnst/Recipes/ENRT/VlansOverTeamRecipe.py | 4 +-
> lnst/Recipes/ENRT/VlansRecipe.py | 4 +-
> lnst/Recipes/ENRT/VxlanMulticastRecipe.py | 4 +-
> lnst/Recipes/ENRT/VxlanRemoteRecipe.py | 4 +-
> 46 files changed, 579 insertions(+), 282 deletions(-)
> create mode 100644 lnst/Recipes/ENRT/BaremetalEnrtRecipe.py
> create mode 100644 lnst/Recipes/ENRT/MeasurementGenerators/BaseMeasurementGenerator.py
> create mode 100644 lnst/Recipes/ENRT/MeasurementGenerators/FlowEndpointsStatCPUMeasurementGenerator.py
> create mode 100644 lnst/Recipes/ENRT/MeasurementGenerators/HypervisorsStatCPUMeasurementGenerator.py
> create mode 100644 lnst/Recipes/ENRT/MeasurementGenerators/IperfMeasurementGenerator.py
> create mode 100644 lnst/Recipes/ENRT/MeasurementGenerators/__init__.py
> create mode 100644 lnst/Recipes/ENRT/VirtualEnrtRecipe.py
>
>--
>2.29.2
>_______________________________________________
>LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org
>To unsubscribe send an email to lnst-developers-leave@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.fedorahosted.org
The patch set looks good. I could not spot any serious issues in it.
Acked-by: Jan Tluka <jtluka@redhat.com>
_______________________________________________
LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org
To unsubscribe send an email to lnst-developers-leave@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.fedorahosted.org