-
Notifications
You must be signed in to change notification settings - Fork 708
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
Enhance test_ro_disk to ensure device finally be recovered by PDU reboot #14343
Merged
StormLiangMS
merged 1 commit into
sonic-net:master
from
lizhijianrd:enhance-test-ro-disk
Sep 1, 2024
Merged
Enhance test_ro_disk to ensure device finally be recovered by PDU reboot #14343
StormLiangMS
merged 1 commit into
sonic-net:master
from
lizhijianrd:enhance-test-ro-disk
Sep 1, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
liuh-80
approved these changes
Aug 30, 2024
mssonicbld
pushed a commit
to mssonicbld/sonic-mgmt
that referenced
this pull request
Sep 1, 2024
…oot (sonic-net#14343) What is the motivation for this PR? In PR sonic-net#13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular sudo reboot fail to do that. However, the do_reboot function may raise pytest_ansible.errors.AnsibleConnectionFailure which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered. In this PR, I enhance the testcase to ensure PDU reboot is always executed when regular reboot fail. How did you do it? Handle pytest_ansible.errors.AnsibleConnectionFailure in do_reboot function. Add try-except block for do_reboot to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT. How did you verify/test it? Verified by run test_ro_disk on Nokia-7215 testbeds.
Cherry-pick PR to 202405: #14351 |
mssonicbld
pushed a commit
to mssonicbld/sonic-mgmt
that referenced
this pull request
Sep 1, 2024
…oot (sonic-net#14343) What is the motivation for this PR? In PR sonic-net#13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular sudo reboot fail to do that. However, the do_reboot function may raise pytest_ansible.errors.AnsibleConnectionFailure which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered. In this PR, I enhance the testcase to ensure PDU reboot is always executed when regular reboot fail. How did you do it? Handle pytest_ansible.errors.AnsibleConnectionFailure in do_reboot function. Add try-except block for do_reboot to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT. How did you verify/test it? Verified by run test_ro_disk on Nokia-7215 testbeds.
Cherry-pick PR to 202311: #14352 |
mssonicbld
pushed a commit
that referenced
this pull request
Sep 1, 2024
…oot (#14343) What is the motivation for this PR? In PR #13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular sudo reboot fail to do that. However, the do_reboot function may raise pytest_ansible.errors.AnsibleConnectionFailure which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered. In this PR, I enhance the testcase to ensure PDU reboot is always executed when regular reboot fail. How did you do it? Handle pytest_ansible.errors.AnsibleConnectionFailure in do_reboot function. Add try-except block for do_reboot to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT. How did you verify/test it? Verified by run test_ro_disk on Nokia-7215 testbeds.
mssonicbld
added
Included in 202311 branch
and removed
Created PR to 202311 branch
labels
Sep 1, 2024
mssonicbld
pushed a commit
that referenced
this pull request
Sep 2, 2024
…oot (#14343) What is the motivation for this PR? In PR #13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular sudo reboot fail to do that. However, the do_reboot function may raise pytest_ansible.errors.AnsibleConnectionFailure which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered. In this PR, I enhance the testcase to ensure PDU reboot is always executed when regular reboot fail. How did you do it? Handle pytest_ansible.errors.AnsibleConnectionFailure in do_reboot function. Add try-except block for do_reboot to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT. How did you verify/test it? Verified by run test_ro_disk on Nokia-7215 testbeds.
mssonicbld
added
Included in 202405 branch
and removed
Created PR to 202405 branch
labels
Sep 2, 2024
hdwhdw
pushed a commit
to hdwhdw/sonic-mgmt
that referenced
this pull request
Sep 20, 2024
…oot (sonic-net#14343) What is the motivation for this PR? In PR sonic-net#13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular sudo reboot fail to do that. However, the do_reboot function may raise pytest_ansible.errors.AnsibleConnectionFailure which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered. In this PR, I enhance the testcase to ensure PDU reboot is always executed when regular reboot fail. How did you do it? Handle pytest_ansible.errors.AnsibleConnectionFailure in do_reboot function. Add try-except block for do_reboot to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT. How did you verify/test it? Verified by run test_ro_disk on Nokia-7215 testbeds.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of PR
Summary:
In PR #13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular
sudo reboot
fail to do that. However, thedo_reboot
function may raisepytest_ansible.errors.AnsibleConnectionFailure
which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered.In this PR, I enhance the code from below perspectives:
pytest_ansible.errors.AnsibleConnectionFailure
indo_reboot
function.try-except
block fordo_reboot
to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT.Type of change
Back port request
Approach
What is the motivation for this PR?
In PR #13974, I introduced PDU reboot to recover the DUT from RO-Disk state when regular
sudo reboot
fail to do that. However, thedo_reboot
function may raisepytest_ansible.errors.AnsibleConnectionFailure
which is not be handled. In this case, the PDU reboot part cannot be executed and DUT cannot be recovered.In this PR, I enhance the testcase to ensure PDU reboot is always executed when regular reboot fail.
How did you do it?
pytest_ansible.errors.AnsibleConnectionFailure
indo_reboot
function.try-except
block fordo_reboot
to ensure no matter what Exception is raised, PDU reboot can always be executed to recover the DUT.How did you verify/test it?
Verified by run
test_ro_disk
on Nokia-7215 testbeds.Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation