-
Notifications
You must be signed in to change notification settings - Fork 694
[chassis]:sonic-swss test changes for Virtual chassis #1345
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
Merged
daall
merged 22 commits into
sonic-net:master
from
saravanansv:master-virtualchassistest
Aug 19, 2020
Merged
Changes from 4 commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
c5ba1eb
swss test changes for Virtual chassis
saravanansv 2fddadc
swss test changes for Virtual chassis
saravanansv c3d9b25
Integrate virtual chassis into conftest
saravanansv 25484c2
Integrate virtual chassis into conftest
saravanansv b3a79ee
Integrate virtual chassis into conftest
saravanansv 8592abc
verify virutal chassis is ready after creation
saravanansv 59cc05f
Address review comments
saravanansv 2949444
call right getstatusoutput based on version
saravanansv f1ce8cc
Merge branch 'master' into master-virtualchassistest
saravanansv 5ae8758
use new test fixture for virtual chassis
saravanansv 970f846
address LGTM alert
saravanansv f84c9b1
change iteritems to items
saravanansv 3fb7109
small comment to retrigger build
saravanansv 9cae70e
small comment to retrigger build
saravanansv 331858f
fix python3 warnings conftest and test_virtual_chassis
saravanansv e15712c
Merge branch 'master' into master-virtualchassistest
saravanansv 608a4bf
Merge branch 'master' into master-virtualchassistest
saravanansv 8125cfc
Merge branch 'master' into master-virtualchassistest
saravanansv 1006b2a
Merge branch 'master' into master-virtualchassistest
saravanansv b6daac9
Merge branch 'master' into master-virtualchassistest
saravanansv 2952364
Merge branch 'master' into master-virtualchassistest
saravanansv 7f67163
Merge branch 'master' into master-virtualchassistest
saravanansv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| import time | ||
| import json | ||
| import redis | ||
| import pytest | ||
| from swsscommon import swsscommon | ||
|
|
||
| class TestVirtualChassis(object): | ||
| def check_chassis_sysport(self, dvs): | ||
| # check if instance is connected to a chassis db | ||
| cfgFile = "/usr/share/sonic/virtual_chassis/default_config.json" | ||
| (ret, out) = dvs.runcmd("sonic-cfggen -v DEVICE_METADATA.localhost.chassis_db_address -j %s" % cfgFile) | ||
| verifyChassDb = True | ||
| if ret != 0 or out.strip() == "": | ||
| # instance has no connection to chassis db | ||
| verifyChassDb = False | ||
| print "verify vs without chassisDb" | ||
saravanansv marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| (ret, out) = dvs.runcmd("sonic-db-cli CHASSIS_DB keys SYSTEM_PORT\"*\"") | ||
| if verifyChassDb: | ||
| assert len( out.split() ) == 96 | ||
saravanansv marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| else: | ||
| assert 'Invalid database name' in out | ||
| (ret, out) = dvs.runcmd("sonic-db-cli CHASSIS_DB HGETALL 'SYSTEM_PORT|Linecard3|Ethernet0'") | ||
saravanansv marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| out = out.replace("u'", "'") | ||
| if verifyChassDb: | ||
| assert "'system_port_id': '65'" in out | ||
| assert "'switch_id': '2'" in out | ||
| else: | ||
| assert 'Invalid database name' in out | ||
|
|
||
| def test_chassis_sysport(self, dvs, testlog): | ||
| dvss = {} | ||
saravanansv marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| if dvs.vct is not None: | ||
| dvss = dvs.vct.dvss | ||
| else: | ||
| dvss[dvs.ctn.name] = dvs | ||
| for dv in dvss.values(): | ||
| print "checking %s" % dv.ctn.name | ||
| self.check_chassis_sysport( dv ) | ||
saravanansv marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| def test_connectivity(self, dvs, testlog): | ||
| if dvs.vct is None: | ||
| return | ||
| vct = dvs.vct | ||
| dvss = {} | ||
| dvss = vct.dvss | ||
| ns = vct.ns | ||
| nbrs = {} | ||
| nbrs[ "lc1." + ns ] = { "supervisor." + ns : "10.8.1.200", | ||
| "lc2." + ns : "10.8.1.2", | ||
| "lc3." + ns : "10.8.1.3", | ||
| "R1." + ns : "10.8.101.2", | ||
| "R4." + ns : "10.8.104.2" } | ||
| nbrs[ "lc2." + ns ] = { "supervisor." + ns : "10.8.1.200", | ||
| "lc1." + ns : "10.8.1.1", | ||
| "lc3." + ns : "10.8.1.3", | ||
| "R2." + ns : "10.8.102.2" } | ||
| nbrs[ "lc3" + ns ] = { "supervisor." + ns : "10.8.1.200", | ||
| "lc1." + ns : "10.8.1.1", | ||
| "lc2." + ns : "10.8.1.2", | ||
| "R3." + ns : "10.8.103.2" } | ||
| for name in dvss.keys(): | ||
| if name not in nbrs: | ||
| continue | ||
| for nbr, ip in nbrs[ name ].iteritems(): | ||
| if nbr not in dvss.keys(): | ||
| continue | ||
| dv = dvss[ nbr ] | ||
| print "%s: ping %s (%s)" % ( name, ip, nbr ) | ||
| _, out = dv.runcmd(['sh', "-c", "ping -c 5 -W 0 -q %s" % ip]) | ||
| print out | ||
| assert '5 received' in out | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.