Skip to content

Fix unexpected exception in wait_for while executing reboot#16085

Merged
yejianquan merged 2 commits intosonic-net:masterfrom
ZhaohuiS:fix/reboot_timeout_parameter
Dec 18, 2024
Merged

Fix unexpected exception in wait_for while executing reboot#16085
yejianquan merged 2 commits intosonic-net:masterfrom
ZhaohuiS:fix/reboot_timeout_parameter

Conversation

@ZhaohuiS
Copy link
Copy Markdown
Contributor

@ZhaohuiS ZhaohuiS commented Dec 16, 2024

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 <module>
    _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 <module>
  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?

T0/T1/M0/Mx

Supported testbed topology if it's a new test case?

Documentation

Signed-off-by: Zhaohui Sun <zhaohuisun@microsoft.com>
@ZhaohuiS ZhaohuiS requested a review from prgeor as a code owner December 16, 2024 08:08
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@bingwang-ms
Copy link
Copy Markdown
Collaborator

We can set the default value to 0. The code will set the value if timeout == 0

Signed-off-by: Zhaohui Sun <zhaohuisun@microsoft.com>
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@ZhaohuiS
Copy link
Copy Markdown
Contributor Author

We can set the default value to 0. The code will set the value if timeout == 0
Thank you for the reminder, I set timeout to 0 instead of removing it.

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

@auspham auspham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking care of this

@yejianquan
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@ZhaohuiS
Copy link
Copy Markdown
Contributor Author

@yejianquan could you please help merge it?

@yejianquan yejianquan merged commit 5b619d4 into sonic-net:master Dec 18, 2024
@yejianquan
Copy link
Copy Markdown
Collaborator

@yejianquan could you please help merge it?

merged, thanks for the quick fix!

mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Dec 18, 2024
…t#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 <module>
    _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 <module>
  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 sonic-net#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 <zhaohuisun@microsoft.com>
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202405: #16138

mssonicbld pushed a commit that referenced this pull request Dec 18, 2024
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 <module>
    _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 <module>
  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 <zhaohuisun@microsoft.com>
@StormLiangMS
Copy link
Copy Markdown
Collaborator

hi @ZhaohuiS seems can't start the auto cherry pick, could you manually file one to 202411?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants