3721 lines
135 KiB
Python
3721 lines
135 KiB
Python
# Copyright (c) 2023-2024 Arista Networks, Inc.
|
|
# Use of this source code is governed by the Apache License 2.0
|
|
# that can be found in the LICENSE file.
|
|
"""Tests for anta.tests.routing.bgp.py."""
|
|
|
|
# pylint: disable=C0302
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
# pylint: disable=C0413
|
|
# because of the patch above
|
|
from anta.tests.routing.bgp import (
|
|
VerifyBGPAdvCommunities,
|
|
VerifyBGPExchangedRoutes,
|
|
VerifyBGPPeerASNCap,
|
|
VerifyBGPPeerCount,
|
|
VerifyBGPPeerMD5Auth,
|
|
VerifyBGPPeerMPCaps,
|
|
VerifyBGPPeerRouteRefreshCap,
|
|
VerifyBGPPeersHealth,
|
|
VerifyBGPSpecificPeers,
|
|
VerifyBGPTimers,
|
|
VerifyEVPNType2Route,
|
|
)
|
|
from tests.lib.anta import test # noqa: F401; pylint: disable=W0611
|
|
|
|
DATA: list[dict[str, Any]] = [
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.255.0.21": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.255.0.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.255.0.2": {
|
|
"description": "DC1-SPINE2_Ethernet1",
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.255.0.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.255.0.12": {
|
|
"description": "DC1-SPINE2_Ethernet1",
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.255.0.21": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.255.0.22": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 2},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT", "num_peers": 1},
|
|
{"afi": "evpn", "num_peers": 2},
|
|
{"afi": "link-state", "num_peers": 2},
|
|
{"afi": "path-selection", "num_peers": 2},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-wrong-count",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.255.0.21": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.255.0.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.255.0.2": {
|
|
"description": "DC1-SPINE2_Ethernet1",
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.255.0.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.255.0.12": {
|
|
"description": "DC1-SPINE2_Ethernet1",
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.255.0.21": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 3},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT", "num_peers": 2},
|
|
{"afi": "evpn", "num_peers": 1},
|
|
{"afi": "link-state", "num_peers": 3},
|
|
{"afi": "path-selection", "num_peers": 3},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'default': 'Expected: 3, Actual: 2'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'Expected: 2, Actual: 1'}}, "
|
|
"{'afi': 'evpn', 'vrfs': {'default': 'Expected: 1, Actual: 2'}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': 'Expected: 3, Actual: 2'}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': 'Expected: 3, Actual: 1'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peers",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default", "num_peers": 2},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT", "num_peers": 1},
|
|
{"afi": "evpn", "num_peers": 2},
|
|
{"afi": "link-state", "num_peers": 2},
|
|
{"afi": "path-selection", "num_peers": 2},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'default': 'Expected: 2, Actual: 0'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'Expected: 1, Actual: 0'}}, "
|
|
"{'afi': 'evpn', 'vrfs': {'default': 'Expected: 2, Actual: 0'}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': 'Expected: 2, Actual: 0'}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': 'Expected: 2, Actual: 0'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-configured",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [{"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv6", "safi": "multicast", "vrf": "DEV", "num_peers": 3},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT", "num_peers": 1},
|
|
{"afi": "evpn", "num_peers": 2},
|
|
{"afi": "link-state", "num_peers": 2},
|
|
{"afi": "path-selection", "num_peers": 2},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv6', 'safi': 'multicast', 'vrfs': {'DEV': 'Not Configured'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'Not Configured'}}, "
|
|
"{'afi': 'evpn', 'vrfs': {'default': 'Not Configured'}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': 'Not Configured'}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': 'Not Configured'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-vrf-all",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "all", "num_peers": 3},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "all", "num_peers": 2},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-vrf-all",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "all", "num_peers": 5},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "all", "num_peers": 2},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'all': 'Expected: 5, Actual: 3'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'all': 'Expected: 2, Actual: 3'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-afi",
|
|
"test": VerifyBGPPeerCount,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{"vrfs": {}},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.1.254.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.21": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.0.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.0.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.0.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.0.21": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.0.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.0.22": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "PROD", "num_peers": 3},
|
|
{"afi": "ipv6", "safi": "unicast", "vrf": "default", "num_peers": 3},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT", "num_peers": 3},
|
|
{"afi": "evpn", "num_peers": 3},
|
|
{"afi": "link-state", "num_peers": 4},
|
|
{"afi": "path-selection", "num_peers": 1},
|
|
],
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'PROD': 'Expected: 3, Actual: 2'}}, "
|
|
"{'afi': 'ipv6', 'safi': 'unicast', 'vrfs': {'default': 'Not Configured'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'Expected: 3, Actual: 2'}}, "
|
|
"{'afi': 'evpn', 'vrfs': {'default': 'Expected: 3, Actual: 2'}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': 'Expected: 4, Actual: 2'}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': 'Expected: 1, Actual: 2'}}]",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.20": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.22": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.30": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.32": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-issues",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.20": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
"10.1.255.22": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.30": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.32": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "default"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "path-selection"},
|
|
{"afi": "link-state"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'default': {'10.1.255.0': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': {'10.1.255.12': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': {'10.1.255.20': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': {'10.1.255.32': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success-vrf-all",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.111": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "all"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "all"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "success",
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-issues-vrf-all",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.1": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.11": {
|
|
"inMsgQueue": 100,
|
|
"outMsgQueue": 200,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
"10.1.255.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
"PROD": {
|
|
"peers": {
|
|
"10.1.254.11": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"192.168.1.111": {
|
|
"inMsgQueue": 100,
|
|
"outMsgQueue": 200,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "all"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "all"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'default': {'10.1.255.0': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}, "
|
|
"'PROD': {'192.168.1.11': {'peerState': 'Established', 'inMsgQueue': 100, 'outMsgQueue': 200}}}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'default': {'10.1.255.10': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}, "
|
|
"'PROD': {'192.168.1.111': {'peerState': 'Established', 'inMsgQueue': 100, 'outMsgQueue': 200}}}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-configured",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [{"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "unicast", "vrf": "DEV"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "link-state"},
|
|
{"afi": "path-selection"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'DEV': 'Not Configured'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'Not Configured'}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': 'Not Configured'}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': 'Not Configured'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peers",
|
|
"test": VerifyBGPPeersHealth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "multicast"},
|
|
{"afi": "ipv4", "safi": "sr-te", "vrf": "MGMT"},
|
|
{"afi": "link-state"},
|
|
{"afi": "path-selection"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'multicast', 'vrfs': {'default': 'No Peers'}}, {'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'No Peers'}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': 'No Peers'}}, {'afi': 'path-selection', 'vrfs': {'default': 'No Peers'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.20": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.22": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.30": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.32": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "unicast",
|
|
"vrf": "default",
|
|
"peers": ["10.1.255.0", "10.1.255.2"],
|
|
},
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "sr-te",
|
|
"vrf": "MGMT",
|
|
"peers": ["10.1.255.10", "10.1.255.12"],
|
|
},
|
|
{"afi": "path-selection", "peers": ["10.1.255.20", "10.1.255.22"]},
|
|
{"afi": "link-state", "peers": ["10.1.255.30", "10.1.255.32"]},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-issues",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.0": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
"10.1.255.2": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"peers": {
|
|
"10.1.255.10": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.12": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.20": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
"10.1.255.22": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peers": {
|
|
"10.1.255.30": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Established",
|
|
},
|
|
"10.1.255.32": {
|
|
"inMsgQueue": 0,
|
|
"outMsgQueue": 0,
|
|
"peerState": "Idle",
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "unicast",
|
|
"vrf": "default",
|
|
"peers": ["10.1.255.0", "10.1.255.2"],
|
|
},
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "sr-te",
|
|
"vrf": "MGMT",
|
|
"peers": ["10.1.255.10", "10.1.255.12"],
|
|
},
|
|
{"afi": "path-selection", "peers": ["10.1.255.20", "10.1.255.22"]},
|
|
{"afi": "link-state", "peers": ["10.1.255.30", "10.1.255.32"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'default': {'10.1.255.0': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': {'10.1.255.12': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': {'10.1.255.20': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': {'10.1.255.32': {'peerState': 'Idle', 'inMsgQueue': 0, 'outMsgQueue': 0}}}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-configured",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [{"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}, {"vrfs": {}}],
|
|
"inputs": {
|
|
"address_families": [
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "unicast",
|
|
"vrf": "DEV",
|
|
"peers": ["10.1.255.0"],
|
|
},
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "sr-te",
|
|
"vrf": "MGMT",
|
|
"peers": ["10.1.255.10"],
|
|
},
|
|
{"afi": "link-state", "peers": ["10.1.255.20"]},
|
|
{"afi": "path-selection", "peers": ["10.1.255.30"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'unicast', 'vrfs': {'DEV': 'Not Configured'}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': 'Not Configured'}}, {'afi': 'link-state', 'vrfs': {'default': 'Not Configured'}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': 'Not Configured'}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peers",
|
|
"test": VerifyBGPSpecificPeers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"MGMT": {
|
|
"vrf": "MGMT",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": "65120",
|
|
"peers": {},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"address_families": [
|
|
{"afi": "ipv4", "safi": "multicast", "peers": ["10.1.255.0"]},
|
|
{
|
|
"afi": "ipv4",
|
|
"safi": "sr-te",
|
|
"vrf": "MGMT",
|
|
"peers": ["10.1.255.10"],
|
|
},
|
|
{"afi": "link-state", "peers": ["10.1.255.20"]},
|
|
{"afi": "path-selection", "peers": ["10.1.255.30"]},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Failures: [{'afi': 'ipv4', 'safi': 'multicast', 'vrfs': {'default': {'10.1.255.0': {'peerNotFound': True}}}}, "
|
|
"{'afi': 'ipv4', 'safi': 'sr-te', 'vrfs': {'MGMT': {'10.1.255.10': {'peerNotFound': True}}}}, "
|
|
"{'afi': 'link-state', 'vrfs': {'default': {'10.1.255.20': {'peerNotFound': True}}}}, "
|
|
"{'afi': 'path-selection', 'vrfs': {'default': {'10.1.255.30': {'peerNotFound': True}}}}]"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.5/32", "192.0.254.3/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.4/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.5/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.4/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-routes",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"vrf": "default",
|
|
"routerId": "192.0.255.1",
|
|
"asn": "65001",
|
|
"bgpRouteEntries": {},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32"],
|
|
"received_routes": ["192.0.255.3/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.31/32"],
|
|
"received_routes": ["192.0.255.31/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not found or routes are not exchanged properly:\n"
|
|
"{'bgp_peers': {'172.30.11.11': {'default': 'Not configured'}, '172.30.11.12': {'default': 'Not configured'}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{"vrfs": {}},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{"vrfs": {}},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"advertised_routes": ["192.0.254.3/32"],
|
|
"received_routes": ["192.0.255.3/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.5/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.4/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["Following BGP peers are not found or routes are not exchanged properly:\n{'bgp_peers': {'172.30.11.11': {'MGMT': 'Not configured'}}}"],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-routes",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": True,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.51/32"],
|
|
"received_routes": ["192.0.254.31/32", "192.0.255.4/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.31/32", "192.0.254.5/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.41/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not found or routes are not exchanged properly:\n{'bgp_peers': "
|
|
"{'172.30.11.1': {'default': {'advertised_routes': {'192.0.254.51/32': 'Not found'}, 'received_routes': {'192.0.254.31/32': 'Not found'}}}, "
|
|
"'172.30.11.5': {'default': {'advertised_routes': {'192.0.254.31/32': 'Not found'}, 'received_routes': {'192.0.255.41/32': 'Not found'}}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-invalid-or-inactive-routes",
|
|
"test": VerifyBGPExchangedRoutes,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"192.0.254.5/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": False,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"bgpRouteEntries": {
|
|
"192.0.254.3/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
"192.0.255.4/32": {
|
|
"bgpRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"valid": True,
|
|
"active": False,
|
|
},
|
|
}
|
|
],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.3/32", "192.0.254.51/32"],
|
|
"received_routes": ["192.0.254.31/32", "192.0.255.4/32"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.5",
|
|
"vrf": "default",
|
|
"advertised_routes": ["192.0.254.31/32", "192.0.254.5/32"],
|
|
"received_routes": ["192.0.254.3/32", "192.0.255.41/32"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not found or routes are not exchanged properly:\n{'bgp_peers': "
|
|
"{'172.30.11.1': {'default': {'advertised_routes': {'192.0.254.3/32': {'valid': True, 'active': False}, '192.0.254.51/32': 'Not found'}, "
|
|
"'received_routes': {'192.0.254.31/32': 'Not found', '192.0.255.4/32': {'valid': False, 'active': False}}}}, "
|
|
"'172.30.11.5': {'default': {'advertised_routes': {'192.0.254.31/32': 'Not found', '192.0.254.5/32': {'valid': True, 'active': False}}, "
|
|
"'received_routes': {'192.0.254.3/32': {'valid': False, 'active': True}, '192.0.255.41/32': 'Not found'}}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsLabels": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"capabilities": ["Ipv4 Unicast", "ipv4 Mpls labels"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "ipv4 MplsVpn"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-vrf",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
}
|
|
},
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4 Unicast", "ipv4mplslabels"],
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer multiprotocol capabilities are not found or not ok:\n{'bgp_peers': {'172.30.11.1': {'MGMT': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
"capabilities": ["ipv4Unicast", "L2 Vpn EVPN"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4Unicast", "L2 Vpn EVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer multiprotocol capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.10': {'default': {'status': 'Not configured'}}, '172.30.11.1': {'MGMT': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-capabilities",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"capabilities": ["ipv4 Unicast", "L2VpnEVPN"],
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer multiprotocol capabilities are not found or not ok:\n{'bgp_peers': {'172.30.11.1': {'default': {'l2VpnEvpn': 'not found'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-capabilities",
|
|
"test": VerifyBGPPeerMPCaps,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": True,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"l2VpnEvpn": {
|
|
"advertised": True,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
"ipv4MplsVpn": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"capabilities": ["ipv4 unicast", "ipv4 mpls vpn", "L2 vpn EVPN"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["ipv4unicast", "ipv4 mplsvpn", "L2vpnEVPN"],
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"capabilities": ["Ipv4 Unicast", "ipv4 MPLSVPN", "L2 vpnEVPN"],
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer multiprotocol capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'ipv4Unicast': {'advertised': False, 'received': False, 'enabled': False}, "
|
|
"'ipv4MplsVpn': {'advertised': False, 'received': True, 'enabled': False}, 'l2VpnEvpn': 'not found'}}, "
|
|
"'172.30.11.10': {'MGMT': {'ipv4Unicast': 'not found', 'ipv4MplsVpn': {'advertised': False, 'received': False, 'enabled': True}, "
|
|
"'l2VpnEvpn': {'advertised': True, 'received': False, 'enabled': False}}}, "
|
|
"'172.30.11.11': {'MGMT': {'ipv4Unicast': {'advertised': False, 'received': False, 'enabled': False}, "
|
|
"'ipv4MplsVpn': {'advertised': False, 'received': False, 'enabled': False}, 'l2VpnEvpn': 'not found'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-vrf",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer four octet asn capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'MGMT': {'status': 'Not configured'}}, '172.30.11.10': {'default': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
},
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer four octet asn capabilities are not found or not ok:\n{'bgp_peers': {'172.30.11.10': {'default': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-capabilities",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4MplsLabels": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.10", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer four octet asn capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'fourOctetAsnCap': 'not found'}}, '172.30.11.10': {'MGMT': {'fourOctetAsnCap': 'not found'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-capabilities",
|
|
"test": VerifyBGPPeerASNCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"neighborCapabilities": {
|
|
"fourOctetAsnCap": {
|
|
"advertised": True,
|
|
"received": False,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.10", "vrf": "MGMT"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer four octet asn capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'fourOctetAsnCap': {'advertised': False, 'received': False, 'enabled': False}}}, "
|
|
"'172.30.11.10': {'MGMT': {'fourOctetAsnCap': {'advertised': True, 'received': False, 'enabled': True}}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-vrf",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [{"vrfs": {}}],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer route refresh capabilities are not found or not ok:\n{'bgp_peers': {'172.30.11.1': {'MGMT': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ip4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.12",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ip4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer route refresh capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.12': {'default': {'status': 'Not configured'}}, '172.30.11.1': {'CS': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-missing-capabilities",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"multiprotocolCaps": {
|
|
"ipv4Unicast": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
}
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.11", "vrf": "CS"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer route refresh capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'routeRefreshCap': 'not found'}}, '172.30.11.11': {'CS': {'routeRefreshCap': 'not found'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-incorrect-capabilities",
|
|
"test": VerifyBGPPeerRouteRefreshCap,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": False,
|
|
"received": False,
|
|
"enabled": False,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"neighborCapabilities": {
|
|
"routeRefreshCap": {
|
|
"advertised": True,
|
|
"received": True,
|
|
"enabled": True,
|
|
},
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{"peer_address": "172.30.11.1", "vrf": "default"},
|
|
{"peer_address": "172.30.11.11", "vrf": "CS"},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peer route refresh capabilities are not found or not ok:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'routeRefreshCap': {'advertised': False, 'received': False, 'enabled': False}}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-vrf",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured, not established or MD5 authentication is not enabled:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'MGMT': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"state": "Established",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "default",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured, not established or MD5 authentication is not enabled:\n"
|
|
"{'bgp_peers': {'172.30.11.10': {'default': {'status': 'Not configured'}}, '172.30.11.11': {'default': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-established-peer",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Idle",
|
|
"md5AuthEnabled": True,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Idle",
|
|
"md5AuthEnabled": False,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured, not established or MD5 authentication is not enabled:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'state': 'Idle', 'md5_auth_enabled': True}}, "
|
|
"'172.30.11.10': {'MGMT': {'state': 'Idle', 'md5_auth_enabled': False}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-md5-peer",
|
|
"test": VerifyBGPPeerMD5Auth,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"state": "Established",
|
|
},
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"state": "Established",
|
|
"md5AuthEnabled": False,
|
|
},
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"state": "Established",
|
|
"md5AuthEnabled": False,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured, not established or MD5 authentication is not enabled:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'state': 'Established', 'md5_auth_enabled': None}}, "
|
|
"'172.30.11.11': {'MGMT': {'state': 'Established', 'md5_auth_enabled': False}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
}
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-endpoints",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"vxlan_endpoints": [
|
|
{"address": "192.168.20.102", "vni": 10020},
|
|
{"address": "aac1.ab5d.b41e", "vni": 10010},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-ip",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-mac",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "aac1.ab4e.bec2", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-multiple-paths-ip",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": True,
|
|
},
|
|
},
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "success-multiple-routes-multiple-paths-mac",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": True,
|
|
},
|
|
},
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
"ecmp": True,
|
|
"ecmpContributor": True,
|
|
"ecmpHead": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "aac1.ab4e.bec2", "vni": 10020}]},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-routes",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [{"vrf": "default", "routerId": "10.1.0.3", "asn": 65120, "evpnRoutes": {}}],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["The following VXLAN endpoint do not have any EVPN Type-2 route: [('192.168.20.102', 10020)]"],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-path-not-active",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"The following EVPN Type-2 routes do not have at least one valid and active path: ['RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102']"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-routes-not-active",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"The following EVPN Type-2 routes do not have at least one valid and active path: "
|
|
"['RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102', "
|
|
"'RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102']"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-routes-multiple-paths-not-active",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": True,
|
|
"valid": True,
|
|
},
|
|
},
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": True,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
"RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {"vxlan_endpoints": [{"address": "192.168.20.102", "vni": 10020}]},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"The following EVPN Type-2 routes do not have at least one valid and active path: ['RD: 10.1.0.6:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102']"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-endpoints",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"vxlan_endpoints": [
|
|
{"address": "192.168.20.102", "vni": 10020},
|
|
{"address": "aac1.ab5d.b41e", "vni": 10010},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"The following EVPN Type-2 routes do not have at least one valid and active path: "
|
|
"['RD: 10.1.0.5:500 mac-ip 10020 aac1.ab4e.bec2 192.168.20.102', "
|
|
"'RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e']"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-endpoints-one-no-routes",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{"vrf": "default", "routerId": "10.1.0.3", "asn": 65120, "evpnRoutes": {}},
|
|
{
|
|
"vrf": "default",
|
|
"routerId": "10.1.0.3",
|
|
"asn": 65120,
|
|
"evpnRoutes": {
|
|
"RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e 192.168.10.101": {
|
|
"evpnRoutePaths": [
|
|
{
|
|
"routeType": {
|
|
"active": False,
|
|
"valid": False,
|
|
},
|
|
},
|
|
]
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"inputs": {
|
|
"vxlan_endpoints": [
|
|
{"address": "aac1.ab4e.bec2", "vni": 10020},
|
|
{"address": "192.168.10.101", "vni": 10010},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"The following VXLAN endpoint do not have any EVPN Type-2 route: [('aa:c1:ab:4e:be:c2', 10020)]",
|
|
"The following EVPN Type-2 routes do not have at least one valid and active path: "
|
|
"['RD: 10.1.0.5:500 mac-ip 10010 aac1.ab5d.b41e 192.168.10.101']",
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-multiple-endpoints-no-routes",
|
|
"test": VerifyEVPNType2Route,
|
|
"eos_data": [
|
|
{"vrf": "default", "routerId": "10.1.0.3", "asn": 65120, "evpnRoutes": {}},
|
|
{"vrf": "default", "routerId": "10.1.0.3", "asn": 65120, "evpnRoutes": {}},
|
|
],
|
|
"inputs": {
|
|
"vxlan_endpoints": [
|
|
{"address": "aac1.ab4e.bec2", "vni": 10020},
|
|
{"address": "192.168.10.101", "vni": 10010},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": ["The following VXLAN endpoint do not have any EVPN Type-2 route: [('aa:c1:ab:4e:be:c2', 10020), ('192.168.10.101', 10010)]"],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-vrf",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.17",
|
|
"vrf": "MGMT",
|
|
}
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured or advertised communities are not standard, extended, and large:\n"
|
|
"{'bgp_peers': {'172.30.11.17': {'MGMT': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": True,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.12",
|
|
"vrf": "MGMT",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured or advertised communities are not standard, extended, and large:\n"
|
|
"{'bgp_peers': {'172.30.11.10': {'default': {'status': 'Not configured'}}, '172.30.11.12': {'MGMT': {'status': 'Not configured'}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-correct-communities",
|
|
"test": VerifyBGPAdvCommunities,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"advertisedCommunities": {
|
|
"standard": False,
|
|
"extended": False,
|
|
"large": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
"CS": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.10",
|
|
"advertisedCommunities": {
|
|
"standard": True,
|
|
"extended": True,
|
|
"large": False,
|
|
},
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.10",
|
|
"vrf": "CS",
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured or advertised communities are not standard, extended, and large:\n"
|
|
"{'bgp_peers': {'172.30.11.1': {'default': {'advertised_communities': {'standard': False, 'extended': False, 'large': False}}}, "
|
|
"'172.30.11.10': {'CS': {'advertised_communities': {'standard': True, 'extended': True, 'large': False}}}}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "success",
|
|
"test": VerifyBGPTimers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"holdTime": 180,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"holdTime": 180,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
]
|
|
},
|
|
"expected": {"result": "success"},
|
|
},
|
|
{
|
|
"name": "failure-no-peer",
|
|
"test": VerifyBGPTimers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"holdTime": 180,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {"peerList": []},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured or hold and keep-alive timers are not correct:\n"
|
|
"{'172.30.11.1': {'MGMT': 'Not configured'}, '172.30.11.11': {'MGMT': 'Not configured'}}"
|
|
],
|
|
},
|
|
},
|
|
{
|
|
"name": "failure-not-correct-timers",
|
|
"test": VerifyBGPTimers,
|
|
"eos_data": [
|
|
{
|
|
"vrfs": {
|
|
"default": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.1",
|
|
"holdTime": 160,
|
|
"keepaliveTime": 60,
|
|
}
|
|
]
|
|
},
|
|
"MGMT": {
|
|
"peerList": [
|
|
{
|
|
"peerAddress": "172.30.11.11",
|
|
"holdTime": 120,
|
|
"keepaliveTime": 40,
|
|
}
|
|
]
|
|
},
|
|
}
|
|
}
|
|
],
|
|
"inputs": {
|
|
"bgp_peers": [
|
|
{
|
|
"peer_address": "172.30.11.1",
|
|
"vrf": "default",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
{
|
|
"peer_address": "172.30.11.11",
|
|
"vrf": "MGMT",
|
|
"hold_time": 180,
|
|
"keep_alive_time": 60,
|
|
},
|
|
]
|
|
},
|
|
"expected": {
|
|
"result": "failure",
|
|
"messages": [
|
|
"Following BGP peers are not configured or hold and keep-alive timers are not correct:\n"
|
|
"{'172.30.11.1': {'default': {'hold_time': 160, 'keep_alive_time': 60}}, "
|
|
"'172.30.11.11': {'MGMT': {'hold_time': 120, 'keep_alive_time': 40}}}"
|
|
],
|
|
},
|
|
},
|
|
]
|