[action] [PR:14343] Enhance test_ro_disk to ensure device finally be recovered by PDU reboot#14351
Merged
mssonicbld merged 1 commit intosonic-net:202405from Sep 2, 2024
Merged
Conversation
…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.
8 tasks
Collaborator
Author
|
Original PR: #14343 |
Collaborator
Author
|
/azp run Azure.sonic-mgmt |
|
Azure Pipelines successfully started running 1 pipeline(s). |
This file contains hidden or 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
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 rebootfail to do that. However, thedo_rebootfunction may raisepytest_ansible.errors.AnsibleConnectionFailurewhich 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.AnsibleConnectionFailureindo_rebootfunction.try-exceptblock fordo_rebootto 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 rebootfail to do that. However, thedo_rebootfunction may raisepytest_ansible.errors.AnsibleConnectionFailurewhich 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.AnsibleConnectionFailureindo_rebootfunction.try-exceptblock fordo_rebootto 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_diskon Nokia-7215 testbeds.Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation