Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix unexpected exception in wait_for while executing reboot #16085

Merged
merged 2 commits into from
Dec 18, 2024

Conversation

ZhaohuiS
Copy link
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
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bingwang-ms
Copy link
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
Collaborator

/azp run

@ZhaohuiS
Copy link
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.

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
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
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ZhaohuiS
Copy link
Contributor Author

@yejianquan could you please help merge it?

@yejianquan yejianquan merged commit 5b619d4 into sonic-net:master Dec 18, 2024
17 checks passed
@yejianquan
Copy link
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
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
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