-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[chassis]: support virtual-chassis setup in vs docker #4709
Conversation
This pull request introduces 3 alerts when merging ca4b79aa358ecdd7e252bb870560413dd130c892 into f31eabb - view on LGTM.com new alerts:
|
031a2d8
to
86072d9
Compare
retest baseimage please |
retest vsimage please |
1 similar comment
retest vsimage please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments/questions.
459c97c
to
1004270
Compare
This pull request introduces 1 alert when merging 10042701d68e35f2cfb76bf208ab88f9908cff02 into 31baf38 - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging 8ed1c4bf2839e71a2b70446d6117cecfc527c07d into fa885c9 - view on LGTM.com new alerts:
|
This pull request introduces 1 alert when merging aa7d4155aa1e73bfddd8e68eeaa7c5d0d8a3019b into fa885c9 - view on LGTM.com new alerts:
|
fc10ce4
to
8264c88
Compare
sonic-net/sonic-buildimage#4709 is a PR for create/delete a virtual chassis. Similar to create_vnet.sh, virtual_chassis.py is used to create the virtual chassis test environment. The changes here are to 1. Add a test_virtual_chassis.py to verify the virtual chassis 2. support virtual chassis topology in conftest.py to run the test_virtual_chassis.py. Notable changes in conftest.py are * Unlike create_vnet, virtual_chassis does not use a sw container. * New DockerVirtualChassisTopology class to setup the connections when the vitual chassis containers restart.
sonic-net/sonic-buildimage#4709 is a PR for create/delete a virtual chassis. Similar to create_vnet.sh, virtual_chassis.py is used to create the virtual chassis test environment. The changes here are to 1. Add a test_virtual_chassis.py to verify the virtual chassis 2. support virtual chassis topology in conftest.py to run the test_virtual_chassis.py. Notable changes in conftest.py are * Unlike create_vnet, virtual_chassis does not use a sw container. * New DockerVirtualChassisTopology class to setup the connections when the vitual chassis containers restart.
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/virtual_chassis.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments.
Also, I think for this PR it is OK but I think we should try to figure out how to use a template or something to generate the config files for the different SONiC instances. There's a lot of overlap and this might become tricky to maintain if we expand to more line cards, multiple supervisors, etc. in the future.
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/virtual_chassis.py
Outdated
Show resolved
Hide resolved
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/virtual_chassis.py
Outdated
Show resolved
Hide resolved
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/virtual_chassis.py
Outdated
Show resolved
Hide resolved
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/virtual_chassis.py
Outdated
Show resolved
Hide resolved
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/virtual_chassis.py
Outdated
Show resolved
Hide resolved
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/topology_nbr.json
Outdated
Show resolved
Hide resolved
device/virtual/x86_64-kvm_x86_64-r0/virtual_chassis/common/port_config.ini
Outdated
Show resolved
Hide resolved
e8ae74d
to
c1d45cf
Compare
virtual-chassis test uses multiple vs instances to simulate a modular switch and a redis-chassis service is required to run on the vs instance that represents a supervisor card. This change allows vs docker start redis-chassis service according to external config file. Signed-off-by: Honggang Xu <hxu@arista.com> (cherry picked from commit c1d45cf81ce3238be2dcbccae98c0780944981ce)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BrynXu @saravanansv @eswaranb LGTM, have you guys already run the pizza-box VS tests with this newly updated VS docker image?
retest vsimage please
yes, we run both pizza-box vs swss tests and virtual-chassis tests with docker vs image built with this PR. |
virtual-chassis test uses multiple vs instances to simulate a
modular switch and a redis-chassis service is required to run in
the vs instance that represents a supervisor card.
This change allows vs docker start redis-chassis service according
to external config file.
Signed-off-by: Honggang Xu hxu@arista.com
- Why I did it
To support virtual-chassis setup, so that we can test distributed forwarding feature in virtual sonic environment, see
Distributed forwarding in a VOQ architecture HLD
pull request at sonic-net/SONiC#622- How I did it
The sonic-vs start.sh is enhanced to start new redis_chassis service if external chassis config file found. The config file doesn't exist in current vs environment, start.sh will behave like before.
- How to verify it
The swss/test still pass. The chassis_db service is verified in virtual-chassis topology and tests which are in following PRs.
- Description for the changelog
[vs] support chassis_db service in vs
- A picture of a cute animal (not mandatory but encouraged)