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

[201811][everflow] Add retry mechanism for mirror sessions and policers #1966

Merged
merged 3 commits into from
Oct 28, 2021

Conversation

bingwang-ms
Copy link
Contributor

@bingwang-ms bingwang-ms commented Oct 18, 2021

Signed-off-by: bingwang [email protected]

What I did
What I did
This PR is based on #1486. I have to open a PR for branch 201811 since it's not a clean cherry-pick.
This PR is to add retry mechanism for mirror session and policers for below scenarios

  1. Attempting to create ACL rule when mirror session is not created or activated
  2. Attempting to create mirror session when policer is not created.

Why I did it
This PR is to add retry mechanism for mirror session and policers for below scenarios.

How I verified it

  1. Verified by building a image and installing on a testbed, then ran test_wr_arp, and confirmed that ACL rule and mirror session is restored.
  2. Verified by UT
sudo pytest test_warm_reboot.py -v --pdb
==================================================================================================================== test session starts ====================================================================================================================
platform linux2 -- Python 2.7.17, pytest-3.3.0, py-1.10.0, pluggy-0.12.0 -- /usr/bin/python
cachedir: .cache
rootdir: /home/bingwang/work/sonic/sonic-buildimage-2018/src/sonic-swss/tests, inifile:
plugins: timeout-1.2.0
collected 10 items                                                                                                                                                                                                                                          

test_warm_reboot.py::test_PortSyncdWarmRestart PASSED                                                                                                                                                                                                 [ 10%]
test_warm_reboot.py::test_VlanMgrdWarmRestart PASSED                                                                                                                                                                                                  [ 20%]
test_warm_reboot.py::test_swss_neighbor_syncup PASSED                                                                                                                                                                                                 [ 30%]
test_warm_reboot.py::test_OrchagentWarmRestartReadyCheck PASSED                                                                                                                                                                                       [ 40%]
test_warm_reboot.py::test_swss_port_state_syncup PASSED                                                                                                                                                                                               [ 50%]
test_warm_reboot.py::test_routing_WarmRestart  ^H ^H ^HPASSED                                                                                                                                                                                                  [ 60%]
test_warm_reboot.py::test_system_warmreboot_neighbor_syncup  ^HPASSED                                                                                                                                                                                    [ 70%]
test_warm_reboot.py::test_MirrorSessionWarmReboot PASSED                                                                                                                                                                                              [ 80%]
test_warm_reboot.py::test_EverflowWarmReboot PASSED                                                                                                                                                                                                   [ 90%]
test_warm_reboot.py::test_nonflaky_dummy PASSED                                                                                                                                                                                                       [100%]

Details if related

@bingwang-ms bingwang-ms requested review from yxieca and prsunny October 18, 2021 08:02
Signed-off-by: bingwang <[email protected]>
@lgtm-com
Copy link

lgtm-com bot commented Oct 21, 2021

This pull request introduces 6 alerts and fixes 1 when merging a501f56 into 3503705 - view on LGTM.com

new alerts:

  • 4 for Unused argument in a formatting call
  • 2 for Variable defined multiple times

fixed alerts:

  • 1 for Unused import

Signed-off-by: bingwang <[email protected]>
@lgtm-com
Copy link

lgtm-com bot commented Oct 21, 2021

This pull request fixes 1 alert when merging b487717 into 3503705 - view on LGTM.com

fixed alerts:

  • 1 for Unused import

@bingwang-ms
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@bingwang-ms
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@bingwang-ms
Copy link
Contributor Author

I have confirmed that local build is passing, and UT is passing as well. Merge the PR since Azure pipiline refuse to retry,

@bingwang-ms bingwang-ms merged commit a2db2ab into sonic-net:201811 Oct 28, 2021
EdenGri pushed a commit to EdenGri/sonic-swss that referenced this pull request Feb 28, 2022
…vice Tree (sonic-net#1966)

The warm-reboot and fast-reboot commands currently expect a platform that uses
GRUB.  Information about the current kernel boot arguments is extracted from
the GRUB config file. This commit adds support for platforms that do not use
GRUB but rather use Device Tree to define the current kernel boot arguments.
Example platform architectures using Device Tree include armhf and arm64.

This commit also includes a minor improvement to a similar change made to the
soft-reboot command in PR# 1963
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants