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

[201911][multi asic] show ip bgp summary changes for bgp mon #1483

Merged
merged 6 commits into from
Mar 6, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 0 additions & 138 deletions sonic-utilities-tests/bgp_commands_test.py

This file was deleted.

67 changes: 62 additions & 5 deletions sonic-utilities-tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from imp import reload
import os
import sys

Expand Down Expand Up @@ -63,7 +64,11 @@ def mock_run_show_ip_route_commands(request):
def setup_multi_asic_bgp_instance(request):
import utilities_common.bgp_util as bgp_util

if request.param == 'ip_route':
if request.param == 'v4':
m_asic_json_file = 'ipv4_bgp_summary.json'
elif request.param == 'v6':
m_asic_json_file = 'ipv6_bgp_summary.json'
elif request.param == 'ip_route':
m_asic_json_file = 'ip_route.json'
elif request.param == 'ip_specific_route':
m_asic_json_file = 'ip_specific_route.json'
Expand Down Expand Up @@ -104,11 +109,15 @@ def mock_run_bgp_command(vtysh_cmd, bgp_namespace):
@pytest.fixture
def setup_bgp_commands():
import show.main as show
from show.bgp_frr_v4 import bgp as bgpv4
from show.bgp_frr_v6 import bgp as bgpv6
reload(show)
import show.bgp_frr_v4 as bgpv4
import show.bgp_frr_v6 as bgpv6
reload(bgpv4)
reload(bgpv6)

show.ip.add_command(bgpv4.bgp)
show.ipv6.add_command(bgpv6.bgp)

show.ip.add_command(bgpv4)
show.ipv6.add_command(bgpv6)
return show


Expand All @@ -117,3 +126,51 @@ def setup_ip_route_commands():
import show.main as show

return show

#@pytest.fixture(scope='class')
@pytest.fixture
def setup_multi_asic_display_options():
from sonic_py_common import multi_asic
from utilities_common import multi_asic as multi_asic_util
import show.main as show
import click

_multi_asic_click_options = multi_asic_util.multi_asic_click_options
_get_num_asics = multi_asic.get_num_asics
_is_multi_asic = multi_asic.is_multi_asic
_get_namespace_list = multi_asic.get_namespace_list
def mock_multi_asic_click_options(func):
_mock_multi_asic_click_options = [
click.option('--display',
'-d', 'display',
default="frontend",
show_default=True,
type=click.Choice(["all", "frontend"]),
help='Show internal interfaces'),
click.option('--namespace',
'-n', 'namespace',
default=None,
type=click.Choice(["asic0", "asic1"]),
show_default=True,
help='Namespace name or all'),
]
for option in reversed(_mock_multi_asic_click_options):
func = option(func)
return func

multi_asic.get_num_asics = mock.MagicMock(return_value=2)
multi_asic.is_multi_asic = mock.MagicMock(return_value=True)
multi_asic.get_namespace_list = mock.MagicMock(
return_value=["asic0", "asic1"])

multi_asic_util.multi_asic_click_options = mock_multi_asic_click_options
mock_tables.dbconnector.load_namespace_config()
yield

multi_asic.get_num_asics = _get_num_asics
multi_asic.is_multi_asic = _is_multi_asic
multi_asic.get_namespace_list = _get_namespace_list

multi_asic_util.multi_asic_click_options = _multi_asic_click_options
mock_tables.dbconnector.load_database_config()
reload(show)
60 changes: 60 additions & 0 deletions sonic-utilities-tests/mock_tables/asic0/config_db.json
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,66 @@
"auto_restart": "enabled",
"high_mem_alert": "disabled"
},
"BGP_NEIGHBOR|10.0.0.5": {
"rrclient": "0",
"name": "ARISTA03T2",
"local_addr": "10.0.0.4",
"nhopself": "0",
"admin_status": "up",
"holdtime": "10",
"asn": "65200",
"keepalive": "3"
},
"BGP_NEIGHBOR|fc00::6": {
"rrclient": "0",
"name": "ARISTA03T2",
"local_addr": "fc00::5",
"nhopself": "0",
"admin_status": "up",
"holdtime": "10",
"asn": "65200",
"keepalive": "3"
},
"BGP_NEIGHBOR|10.0.0.1": {
"rrclient": "0",
"name": "ARISTA01T2",
"local_addr": "10.0.0.0",
"nhopself": "0",
"admin_status": "up",
"holdtime": "10",
"asn": "65200",
"keepalive": "3"
},
"BGP_NEIGHBOR|fc00::2": {
"rrclient": "0",
"name": "ARISTA01T2",
"local_addr": "fc00::1",
"nhopself": "0",
"admin_status": "up",
"holdtime": "10",
"asn": "65200",
"keepalive": "3"
},
"BGP_INTERNAL_NEIGHBOR|10.1.0.2": {
"rrclient": "0",
"name": "ASIC1",
"local_addr": "10.1.0.3",
"nhopself": "0",
"admin_status": "up",
"holdtime": "0",
"asn": "65100",
"keepalive": "0"
},
"BGP_INTERNAL_NEIGHBOR|2603:10e2:400:1::1": {
"rrclient": "0",
"name": "ASIC1",
"local_addr": "2603:10e2:400:1::2",
"nhopself": "0",
"admin_status": "up",
"holdtime": "0",
"asn": "65100",
"keepalive": "0"
},
"BGP_NEIGHBOR|20.1.1.5": {
"rrclient": "0",
"name": "T2-Peer",
Expand Down
78 changes: 78 additions & 0 deletions sonic-utilities-tests/mock_tables/asic0/ipv4_bgp_summary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"ipv4Unicast": {
"routerId": "10.1.0.32",
"as": 65100,
"vrfId": 0,
"vrfName": "default",
"tableVersion": 12172,
"ribCount": 12751,
"ribMemory": 2346184,
"peerCount": 4,
"peerMemory": 83680,
"peerGroupCount": 4,
"peerGroupMemory": 256,
"peers": {
"10.1.0.2": {
"remoteAs": 65100,
"version": 4,
"msgRcvd": 0,
"msgSent": 0,
"tableVersion": 0,
"outq": 0,
"inq": 0,
"peerUptime": "never",
"peerUptimeMsec": 0,
"prefixReceivedCount": 0,
"pfxRcd": 0,
"state": "Active",
"connectionsEstablished": 0,
"connectionsDropped": 0,
"idType": "ipv4"
},
"10.0.0.1": {
"remoteAs": 65200,
"version": 4,
"msgRcvd": 3191,
"msgSent": 5,
"tableVersion": 0,
"outq": 0,
"inq": 0,
"peerUptime": "00:01:29",
"peerUptimeMsec": 89000,
"peerUptimeEstablishedEpoch": 1614894400,
"prefixReceivedCount": 6370,
"pfxRcd": 6370,
"pfxSnt": 1,
"state": "Established",
"connectionsEstablished": 1,
"connectionsDropped": 0,
"idType": "ipv4"
},
"10.0.0.5": {
"remoteAs": 65200,
"version": 4,
"msgRcvd": 3191,
"msgSent": 5,
"tableVersion": 0,
"outq": 0,
"inq": 0,
"peerUptime": "00:01:29",
"peerUptimeMsec": 89000,
"peerUptimeEstablishedEpoch": 1614894400,
"prefixReceivedCount": 6370,
"pfxRcd": 6370,
"pfxSnt": 1,
"state": "Established",
"connectionsEstablished": 1,
"connectionsDropped": 0,
"idType": "ipv4"
}
},
"failedPeers": 2,
"totalPeers": 4,
"dynamicPeers": 0,
"bestPath": {
"multiPathRelax": "true"
}
}
}
Loading