From 59fd1873965d7b14cd9da411dc92c265ec1fadcd Mon Sep 17 00:00:00 2001 From: Zhaohui Sun <94606222+ZhaohuiS@users.noreply.github.com> Date: Wed, 18 Dec 2024 18:33:56 +0800 Subject: [PATCH] Fix unexpected exception in wait_for while executing reboot (#16085) Description of PR Summary: Fixes # (issue) platform_tests/test_reload_config.py::test_reload_configuration_checks failed due to the following error: TypeError: unsupported type for timedelta seconds component: NoneType in the following error test log: Traceback (most recent call last): File \"/tmp/.ansible-AzDevOps/ansible-tmp-1734119665.955616-147727-226449133302882/AnsiballZ_wait_for.py\", line 107, in _ansiballz_main() File \"/tmp/.ansible-AzDevOps/ansible-tmp-1734119665.955616-147727-226449133302882/AnsiballZ_wait_for.py\", line 99, in _ansiballz_main invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS) File \"/tmp/.ansible-AzDevOps/ansible-tmp-1734119665.955616-147727-226449133302882/AnsiballZ_wait_for.py\", line 47, in invoke_module runpy.run_module(mod_name='ansible.modules.wait_for', init_globals=dict(_module_fqn='ansible.modules.wait_for', _modlib_path=modlib_path), File \"/usr/lib/python3.8/runpy.py\", line 207, in run_module return _run_module_code(code, init_globals, run_name, mod_spec) File \"/usr/lib/python3.8/runpy.py\", line 97, in _run_module_code _run_code(code, mod_globals, init_globals, File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code exec(code, run_globals) File \"/tmp/ansible_wait_for_payload_9brlx4xp/ansible_wait_for_payload.zip/ansible/modules/wait_for.py\", line 689, in File \"/tmp/ansible_wait_for_payload_9brlx4xp/ansible_wait_for_payload.zip/ansible/modules/wait_for.py\", line 544, in main TypeError: unsupported type for timedelta seconds component: NoneType ", "msg": "MODULE FAILURE See stdout/stderr for the exact error", That because timeout parameter is set to None for localhost.wait_for function. The change was made in #15951 Type of change Bug fix Testbed and Framework(new/improvement) Test case(new/improvement) Back port request 202012 202205 202305 202311 202405 Approach What is the motivation for this PR? Fix the TypeError: unsupported type for timedelta seconds component: NoneType for localhost.wait_for. How did you do it? Don't pass in timeout if it's not module chassis How did you verify/test it? Run platform_tests/test_reload_config.py::test_reload_configuration_checks on non T2 testbed. Any platform specific information? Signed-off-by: Zhaohui Sun --- tests/platform_tests/test_reload_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/platform_tests/test_reload_config.py b/tests/platform_tests/test_reload_config.py index 937ec4b622e..87ad691dcd8 100644 --- a/tests/platform_tests/test_reload_config.py +++ b/tests/platform_tests/test_reload_config.py @@ -150,7 +150,7 @@ def test_reload_configuration_checks(duthosts, enum_rand_one_per_hwsku_hostname, if not config_force_option_supported(duthost): return - timeout = None + timeout = 0 if duthost.get_facts().get("modular_chassis"): timeout = 420