From: Christos Sfakianakis csfakian@redhat.com
Add error handling in BaseEnrtRecipe to make sure hosts are deconfigured (e.g offloads back to all-'on', iptable rules reverted) in case of errors during perf tests (e.g iperf3: unrecognized option '--sctp').
Signed-off-by: Christos Sfakianakis csfakian@redhat.com --- lnst/Recipes/ENRT/BaseEnrtRecipe.py | 34 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 16 deletions(-)
diff --git a/lnst/Recipes/ENRT/BaseEnrtRecipe.py b/lnst/Recipes/ENRT/BaseEnrtRecipe.py index d97902a..43cfaa5 100644 --- a/lnst/Recipes/ENRT/BaseEnrtRecipe.py +++ b/lnst/Recipes/ENRT/BaseEnrtRecipe.py @@ -96,22 +96,24 @@ class BaseEnrtRecipe(PingTestAndEvaluate, PerfRecipe): def test(self): main_config = self.test_wide_configuration()
- for sub_config in self.generate_sub_configurations(main_config): - self.apply_sub_configuration(main_config, sub_config) - - for ping_config in self.generate_ping_configurations(main_config, - sub_config): - result = self.ping_test(ping_config) - self.ping_evaluate_and_report(ping_config, result) - - for perf_config in self.generate_perf_configurations(main_config, - sub_config): - result = self.perf_test(perf_config) - self.perf_report_and_evaluate(result) - - self.remove_sub_configuration(main_config, sub_config) - - self.test_wide_deconfiguration(main_config) + try: + for sub_config in self.generate_sub_configurations(main_config): + self.apply_sub_configuration(main_config, sub_config) + + for ping_config in self.generate_ping_configurations(main_config, + sub_config): + result = self.ping_test(ping_config) + self.ping_evaluate_and_report(ping_config, result) + + try: + for perf_config in self.generate_perf_configurations(main_config, + sub_config): + result = self.perf_test(perf_config) + self.perf_report_and_evaluate(result) + finally: + self.remove_sub_configuration(main_config, sub_config) + finally: + self.test_wide_deconfiguration(main_config)
def test_wide_configuration(self): raise NotImplementedError("Method must be defined by a child class.")