LNST-project/lnst

allow empty offload_combinations in OffloadSubConfigMixin

Closed this issue · 0 comments

If a recipe inherits from the mixin, but does not override the offload_combinations parameter, following bug is hit:

Traceback (most recent call last):
  File "/mnt/tests/data.lnst.anl.lab.eng.bos.redhat.com/data-server-content/gitlab-tasks/beaker-lnst-tasks/master.tar.gz/lnst/test-runner/./do-my-test", line 34, in main
    ctl.run(recipe)
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Controller/Controller.py", line 172, in run
    recipe.test()
  File "/root/rhextensions-lnst/lnst/RHExtensions/RHRecipeMixin.py", line 79, in test
    super(RHRecipeMixin, self).test()
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/BaseEnrtRecipe.py", line 172, in test
    self.do_tests(recipe_config)
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/BaseEnrtRecipe.py", line 294, in do_tests
    self.do_perf_tests(recipe_config)
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/BaseEnrtRecipe.py", line 318, in do_perf_tests
    for perf_config in self.generate_perf_configurations(recipe_config):
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/BaseEnrtRecipe.py", line 405, in generate_perf_configurations
    for measurements in self.generate_perf_measurements_combinations(
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/MeasurementGenerators/FlowEndpointsStatCPUMeasurementGenerator.py", line 13, in generate_perf_measurements_combinations
    for combination in combinations:
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/MeasurementGenerators/LinuxPerfMeasurementGenerator.py", line 25, in generate_perf_measurements_combinations
    combinations = super().generate_perf_measurements_combinations(config)
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/MeasurementGenerators/FlowMeasurementGenerator.py", line 110, in generate_perf_measurements_combinations
    for flow_combination in self.generate_flow_combinations(config):
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/ConfigMixins/OffloadSubConfigMixin.py", line 92, in generate_flow_combinations
    if self._check_test_offload_conflicts(config, flows):
  File "/root/virtualenvs/rhextensions-lnst-Xo1BSm3a-py3.9/lib/python3.9/site-packages/lnst/Recipes/ENRT/ConfigMixins/OffloadSubConfigMixin.py", line 102, in _check_test_offload_conflicts
    and config.offload_settings.get("gro", "on") == "off"
AttributeError: 'EnrtConfiguration' object has no attribute 'offload_settings'