diff --git a/tests/e2e/golden/osism_e2e-breakout-derived_config_db.json b/tests/e2e/golden/osism_e2e-breakout-derived_config_db.json new file mode 100644 index 00000000..94dbe170 --- /dev/null +++ b/tests/e2e/golden/osism_e2e-breakout-derived_config_db.json @@ -0,0 +1,647 @@ +{ + "BGP_GLOBALS": { + "default": { + "always_compare_med": "true", + "ebgp_requires_policy": "false", + "external_compare_router_id": "false", + "fast_external_failover": "true", + "holdtime": "180", + "ignore_as_path_length": "false", + "keepalive": "60", + "load_balance_mp_relax": "false", + "log_nbr_state_changes": "true", + "network_import_check": "true" + } + }, + "BGP_GLOBALS_AF": { + "default|ipv4_unicast": { + "ibgp_equal_cluster_length": "false", + "max_ebgp_paths": "2", + "max_ibgp_paths": "2", + "route_flap_dampen": "false" + }, + "default|ipv6_unicast": { + "ibgp_equal_cluster_length": "false", + "max_ebgp_paths": "2", + "max_ibgp_paths": "2" + }, + "default|l2vpn_evpn": { + "advertise-all-vni": "true", + "advertise-svi-ip": "true", + "dad-enabled": "true" + } + }, + "BGP_GLOBALS_AF_NETWORK": {}, + "BGP_GLOBALS_ROUTE_ADVERTISE": { + "default|L2VPN_EVPN|IPV4_UNICAST": {}, + "default|L2VPN_EVPN|IPV6_UNICAST": {} + }, + "BGP_NEIGHBOR": {}, + "BGP_NEIGHBOR_AF": {}, + "BREAKOUT_CFG": { + "Ethernet0": { + "breakout_owner": "MANUAL", + "brkout_mode": "4x100G", + "port": "1/1" + } + }, + "BREAKOUT_PORTS": { + "Ethernet0": { + "master": "Ethernet0" + }, + "Ethernet2": { + "master": "Ethernet0" + }, + "Ethernet4": { + "master": "Ethernet0" + }, + "Ethernet6": { + "master": "Ethernet0" + } + }, + "DEVICE_METADATA": { + "localhost": { + "hostname": "e2e-breakout-derived", + "hwsku": "Accton-AS9726-32D", + "mac": "00:00:00:00:00:00", + "platform": "x86_64-accton_as9726_32d-r0" + } + }, + "DNS_NAMESERVER": {}, + "INTERFACE": {}, + "LOOPBACK": {}, + "LOOPBACK_INTERFACE": {}, + "MGMT_INTERFACE": {}, + "NTP_SERVER": {}, + "PORT": { + "Ethernet0": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/1", + "autoneg": "off", + "index": "1", + "lanes": "73,74", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet104": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/14", + "autoneg": "off", + "index": "14", + "lanes": "137,138,139,140,141,142,143,144", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet112": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/15", + "autoneg": "off", + "index": "15", + "lanes": "145,146,147,148,149,150,151,152", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet120": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/16", + "autoneg": "off", + "index": "16", + "lanes": "153,154,155,156,157,158,159,160", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet128": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/17", + "autoneg": "off", + "index": "17", + "lanes": "169,170,171,172,173,174,175,176", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet136": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/18", + "autoneg": "off", + "index": "18", + "lanes": "161,162,163,164,165,166,167,168", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet144": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/19", + "autoneg": "off", + "index": "19", + "lanes": "177,178,179,180,181,182,183,184", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet152": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/20", + "autoneg": "off", + "index": "20", + "lanes": "185,186,187,188,189,190,191,192", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet16": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/3", + "autoneg": "off", + "index": "3", + "lanes": "81,82,83,84,85,86,87,88", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet160": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/21", + "autoneg": "off", + "index": "21", + "lanes": "1,2,3,4,5,6,7,8", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet168": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/22", + "autoneg": "off", + "index": "22", + "lanes": "9,10,11,12,13,14,15,16", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet176": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/23", + "autoneg": "off", + "index": "23", + "lanes": "17,18,19,20,21,22,23,24", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet184": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/24", + "autoneg": "off", + "index": "24", + "lanes": "25,26,27,28,29,30,31,32", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet192": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/25", + "autoneg": "off", + "index": "25", + "lanes": "201,202,203,204,205,206,207,208", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet2": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/3", + "autoneg": "off", + "index": "1", + "lanes": "75,76", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet200": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/26", + "autoneg": "off", + "index": "26", + "lanes": "193,194,195,196,197,198,199,200", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet208": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/27", + "autoneg": "off", + "index": "27", + "lanes": "217,218,219,220,221,222,223,224", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet216": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/28", + "autoneg": "off", + "index": "28", + "lanes": "209,210,211,212,213,214,215,216", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet224": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/29", + "autoneg": "off", + "index": "29", + "lanes": "233,234,235,236,237,238,239,240", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet232": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/30", + "autoneg": "off", + "index": "30", + "lanes": "225,226,227,228,229,230,231,232", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet24": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/4", + "autoneg": "off", + "index": "4", + "lanes": "89,90,91,92,93,94,95,96", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet240": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/31", + "autoneg": "off", + "index": "31", + "lanes": "249,250,251,252,253,254,255,256", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet248": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/32", + "autoneg": "off", + "index": "32", + "lanes": "241,242,243,244,245,246,247,248", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet256": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/33", + "autoneg": "off", + "index": "33", + "lanes": "259", + "link_training": "off", + "mtu": "9100", + "speed": "10000", + "unreliable_los": "auto", + "valid_speeds": "10000" + }, + "Ethernet257": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/34", + "autoneg": "off", + "index": "34", + "lanes": "260", + "link_training": "off", + "mtu": "9100", + "speed": "10000", + "unreliable_los": "auto", + "valid_speeds": "10000" + }, + "Ethernet32": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/5", + "autoneg": "off", + "index": "5", + "lanes": "97,98,99,100,101,102,103,104", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "tagged_vlans": [ + "200" + ], + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet4": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/5", + "autoneg": "off", + "index": "1", + "lanes": "77,78", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet40": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/6", + "autoneg": "off", + "index": "6", + "lanes": "105,106,107,108,109,110,111,112", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet48": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/7", + "autoneg": "off", + "index": "7", + "lanes": "113,114,115,116,117,118,119,120", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet56": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/8", + "autoneg": "off", + "index": "8", + "lanes": "121,122,123,124,125,126,127,128", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet6": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/7", + "autoneg": "off", + "index": "1", + "lanes": "79,80", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet64": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/9", + "autoneg": "off", + "index": "9", + "lanes": "41,42,43,44,45,46,47,48", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet72": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/10", + "autoneg": "off", + "index": "10", + "lanes": "33,34,35,36,37,38,39,40", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet8": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/2", + "autoneg": "off", + "index": "2", + "lanes": "65,66,67,68,69,70,71,72", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet80": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/11", + "autoneg": "off", + "index": "11", + "lanes": "49,50,51,52,53,54,55,56", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet88": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/12", + "autoneg": "off", + "index": "12", + "lanes": "57,58,59,60,61,62,63,64", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet96": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/13", + "autoneg": "off", + "index": "13", + "lanes": "129,130,131,132,133,134,135,136", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + } + }, + "PORTCHANNEL": {}, + "PORTCHANNEL_INTERFACE": {}, + "PORTCHANNEL_MEMBER": {}, + "ROUTE_REDISTRIBUTE": { + "default|connected|bgp|ipv4": {}, + "default|connected|bgp|ipv6": {} + }, + "SNMP_SERVER": { + "SYSTEM": { + "sysContact": "e2e@example.com", + "sysLocation": "E2E Lab", + "traps": "enable" + } + }, + "SNMP_SERVER_GROUP_MEMBER": { + "monitoring|e2e-monitor": { + "securityModel": [ + "usm" + ] + } + }, + "SNMP_SERVER_PARAMS": { + "targetEntry1": { + "security-level": "auth-priv", + "user": "e2e-monitor" + } + }, + "SNMP_SERVER_TARGET": { + "targetEntry1": { + "ip": "172.16.10.254", + "port": "162", + "retries": "3", + "tag": [ + "trapNotify", + "mgmt" + ], + "targetParams": "targetEntry1", + "timeout": "1500" + } + }, + "SNMP_SERVER_USER": { + "e2e-monitor": { + "aesKey": "OBFUSCATEDPRIVSECRET", + "shaKey": "OBFUSCATEDAUTHSECRET" + } + }, + "STATIC_ROUTE": {}, + "SYSLOG_SERVER": { + "172.16.10.254": { + "message-type": "log", + "protocol": "UDP", + "remote-port": "514", + "severity": "info", + "vrf_name": "mgmt" + } + }, + "VERSIONS": { + "DATABASE": { + "VERSION": "version_4_0_1" + } + }, + "VLAN": { + "Vlan200": { + "admin_status": "up", + "autostate": "enable", + "members": [ + "Ethernet32" + ], + "vlanid": "200" + } + }, + "VLAN_INTERFACE": {}, + "VLAN_MEMBER": { + "Vlan200|Ethernet32": { + "tagging_mode": "tagged" + } + }, + "VRF": { + "default": { + "enabled": "true" + } + }, + "VXLAN_EVPN_NVO": {}, + "VXLAN_TUNNEL": {}, + "VXLAN_TUNNEL_MAP": {} +} diff --git a/tests/e2e/golden/osism_e2e-breakout-explicit_config_db.json b/tests/e2e/golden/osism_e2e-breakout-explicit_config_db.json new file mode 100644 index 00000000..e9b0fe30 --- /dev/null +++ b/tests/e2e/golden/osism_e2e-breakout-explicit_config_db.json @@ -0,0 +1,631 @@ +{ + "BGP_GLOBALS": { + "default": { + "always_compare_med": "true", + "ebgp_requires_policy": "false", + "external_compare_router_id": "false", + "fast_external_failover": "true", + "holdtime": "180", + "ignore_as_path_length": "false", + "keepalive": "60", + "load_balance_mp_relax": "false", + "log_nbr_state_changes": "true", + "network_import_check": "true" + } + }, + "BGP_GLOBALS_AF": { + "default|ipv4_unicast": { + "ibgp_equal_cluster_length": "false", + "max_ebgp_paths": "2", + "max_ibgp_paths": "2", + "route_flap_dampen": "false" + }, + "default|ipv6_unicast": { + "ibgp_equal_cluster_length": "false", + "max_ebgp_paths": "2", + "max_ibgp_paths": "2" + }, + "default|l2vpn_evpn": { + "advertise-all-vni": "true", + "advertise-svi-ip": "true", + "dad-enabled": "true" + } + }, + "BGP_GLOBALS_AF_NETWORK": {}, + "BGP_GLOBALS_ROUTE_ADVERTISE": { + "default|L2VPN_EVPN|IPV4_UNICAST": {}, + "default|L2VPN_EVPN|IPV6_UNICAST": {} + }, + "BGP_NEIGHBOR": {}, + "BGP_NEIGHBOR_AF": {}, + "BREAKOUT_CFG": { + "Ethernet0": { + "breakout_owner": "MANUAL", + "brkout_mode": "4x100G", + "port": "1/1" + } + }, + "BREAKOUT_PORTS": { + "Ethernet0": { + "master": "Ethernet0" + }, + "Ethernet2": { + "master": "Ethernet0" + }, + "Ethernet4": { + "master": "Ethernet0" + }, + "Ethernet6": { + "master": "Ethernet0" + } + }, + "DEVICE_METADATA": { + "localhost": { + "hostname": "e2e-breakout-explicit", + "hwsku": "Accton-AS9726-32D", + "mac": "00:00:00:00:00:00", + "platform": "x86_64-accton_as9726_32d-r0" + } + }, + "DNS_NAMESERVER": {}, + "INTERFACE": {}, + "LOOPBACK": {}, + "LOOPBACK_INTERFACE": {}, + "MGMT_INTERFACE": {}, + "NTP_SERVER": {}, + "PORT": { + "Ethernet0": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/1", + "autoneg": "off", + "index": "1", + "lanes": "73,74", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet104": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/14", + "autoneg": "off", + "index": "14", + "lanes": "137,138,139,140,141,142,143,144", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet112": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/15", + "autoneg": "off", + "index": "15", + "lanes": "145,146,147,148,149,150,151,152", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet120": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/16", + "autoneg": "off", + "index": "16", + "lanes": "153,154,155,156,157,158,159,160", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet128": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/17", + "autoneg": "off", + "index": "17", + "lanes": "169,170,171,172,173,174,175,176", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet136": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/18", + "autoneg": "off", + "index": "18", + "lanes": "161,162,163,164,165,166,167,168", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet144": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/19", + "autoneg": "off", + "index": "19", + "lanes": "177,178,179,180,181,182,183,184", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet152": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/20", + "autoneg": "off", + "index": "20", + "lanes": "185,186,187,188,189,190,191,192", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet16": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/3", + "autoneg": "off", + "index": "3", + "lanes": "81,82,83,84,85,86,87,88", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet160": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/21", + "autoneg": "off", + "index": "21", + "lanes": "1,2,3,4,5,6,7,8", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet168": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/22", + "autoneg": "off", + "index": "22", + "lanes": "9,10,11,12,13,14,15,16", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet176": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/23", + "autoneg": "off", + "index": "23", + "lanes": "17,18,19,20,21,22,23,24", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet184": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/24", + "autoneg": "off", + "index": "24", + "lanes": "25,26,27,28,29,30,31,32", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet192": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/25", + "autoneg": "off", + "index": "25", + "lanes": "201,202,203,204,205,206,207,208", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet2": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/3", + "autoneg": "off", + "index": "1", + "lanes": "75,76", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet200": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/26", + "autoneg": "off", + "index": "26", + "lanes": "193,194,195,196,197,198,199,200", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet208": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/27", + "autoneg": "off", + "index": "27", + "lanes": "217,218,219,220,221,222,223,224", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet216": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/28", + "autoneg": "off", + "index": "28", + "lanes": "209,210,211,212,213,214,215,216", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet224": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/29", + "autoneg": "off", + "index": "29", + "lanes": "233,234,235,236,237,238,239,240", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet232": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/30", + "autoneg": "off", + "index": "30", + "lanes": "225,226,227,228,229,230,231,232", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet24": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/4", + "autoneg": "off", + "index": "4", + "lanes": "89,90,91,92,93,94,95,96", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet240": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/31", + "autoneg": "off", + "index": "31", + "lanes": "249,250,251,252,253,254,255,256", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet248": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/32", + "autoneg": "off", + "index": "32", + "lanes": "241,242,243,244,245,246,247,248", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet256": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/33", + "autoneg": "off", + "index": "33", + "lanes": "259", + "link_training": "off", + "mtu": "9100", + "speed": "10000", + "unreliable_los": "auto", + "valid_speeds": "10000" + }, + "Ethernet257": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/34", + "autoneg": "off", + "index": "34", + "lanes": "260", + "link_training": "off", + "mtu": "9100", + "speed": "10000", + "unreliable_los": "auto", + "valid_speeds": "10000" + }, + "Ethernet32": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/5", + "autoneg": "off", + "index": "5", + "lanes": "97,98,99,100,101,102,103,104", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet4": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/5", + "autoneg": "off", + "index": "1", + "lanes": "77,78", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet40": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/6", + "autoneg": "off", + "index": "6", + "lanes": "105,106,107,108,109,110,111,112", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet48": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/7", + "autoneg": "off", + "index": "7", + "lanes": "113,114,115,116,117,118,119,120", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet56": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/8", + "autoneg": "off", + "index": "8", + "lanes": "121,122,123,124,125,126,127,128", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet6": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/1/7", + "autoneg": "off", + "index": "1", + "lanes": "79,80", + "link_training": "off", + "mtu": "9100", + "speed": "100000", + "unreliable_los": "auto", + "valid_speeds": "100000,50000,25000,10000,1000" + }, + "Ethernet64": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/9", + "autoneg": "off", + "index": "9", + "lanes": "41,42,43,44,45,46,47,48", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet72": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/10", + "autoneg": "off", + "index": "10", + "lanes": "33,34,35,36,37,38,39,40", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet8": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/2", + "autoneg": "off", + "index": "2", + "lanes": "65,66,67,68,69,70,71,72", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet80": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/11", + "autoneg": "off", + "index": "11", + "lanes": "49,50,51,52,53,54,55,56", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet88": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/12", + "autoneg": "off", + "index": "12", + "lanes": "57,58,59,60,61,62,63,64", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + }, + "Ethernet96": { + "admin_status": "down", + "adv_speeds": "all", + "alias": "Eth1/13", + "autoneg": "off", + "index": "13", + "lanes": "129,130,131,132,133,134,135,136", + "link_training": "off", + "mtu": "9100", + "speed": "400000", + "unreliable_los": "auto", + "valid_speeds": "400000" + } + }, + "PORTCHANNEL": {}, + "PORTCHANNEL_INTERFACE": {}, + "PORTCHANNEL_MEMBER": {}, + "ROUTE_REDISTRIBUTE": { + "default|connected|bgp|ipv4": {}, + "default|connected|bgp|ipv6": {} + }, + "SNMP_SERVER": { + "SYSTEM": { + "sysContact": "e2e@example.com", + "sysLocation": "E2E Lab", + "traps": "enable" + } + }, + "SNMP_SERVER_GROUP_MEMBER": { + "monitoring|e2e-monitor": { + "securityModel": [ + "usm" + ] + } + }, + "SNMP_SERVER_PARAMS": { + "targetEntry1": { + "security-level": "auth-priv", + "user": "e2e-monitor" + } + }, + "SNMP_SERVER_TARGET": { + "targetEntry1": { + "ip": "172.16.10.254", + "port": "162", + "retries": "3", + "tag": [ + "trapNotify", + "mgmt" + ], + "targetParams": "targetEntry1", + "timeout": "1500" + } + }, + "SNMP_SERVER_USER": { + "e2e-monitor": { + "aesKey": "OBFUSCATEDPRIVSECRET", + "shaKey": "OBFUSCATEDAUTHSECRET" + } + }, + "STATIC_ROUTE": {}, + "SYSLOG_SERVER": { + "172.16.10.254": { + "message-type": "log", + "protocol": "UDP", + "remote-port": "514", + "severity": "info", + "vrf_name": "mgmt" + } + }, + "VERSIONS": { + "DATABASE": { + "VERSION": "version_4_0_1" + } + }, + "VLAN": {}, + "VLAN_INTERFACE": {}, + "VLAN_MEMBER": {}, + "VRF": { + "default": { + "enabled": "true" + } + }, + "VXLAN_EVPN_NVO": {}, + "VXLAN_TUNNEL": {}, + "VXLAN_TUNNEL_MAP": {} +} diff --git a/tests/e2e/scenario/devicetypes/Edgecore/9726-32D-E2E.yaml b/tests/e2e/scenario/devicetypes/Edgecore/9726-32D-E2E.yaml new file mode 100644 index 00000000..c161befd --- /dev/null +++ b/tests/e2e/scenario/devicetypes/Edgecore/9726-32D-E2E.yaml @@ -0,0 +1,37 @@ +--- +# Minimal device type for the SONiC E2E breakout regression scenarios. +# +# This is not a faithful model of the real 9726-32D; it defines only the +# interfaces the scenarios need. Config generation is driven by the hwsku +# custom field (Accton-AS9726-32D on the scenario devices), not by this +# device type -- the device type only controls which NetBox interfaces +# exist. +# +# The interface layout mirrors how real deployments model breakouts (the +# NetBox EthX/Y/Z sub-port notation, speed derived from the interface +# type rather than set explicitly). On the 8-lane 400G master Ethernet0 +# (Accton-AS9726-32D.ini), the four sub-ports Eth1/1/1..4 map to +# Ethernet0/2/4/6 as a 4x100G breakout; the three non-master sub-ports are +# absent from the .ini and so are generated by _add_missing_breakout_ports, +# where the sub-port speed is read back from the collected NetBox data. +# +# Eth1/5 is a plain (non-breakout) 100G port used for VLAN coverage. +manufacturer: Edgecore +model: 9726-32D-E2E +slug: edgecore-9726-32d-e2e +u_height: 1.0 +is_full_depth: true +interfaces: + - name: eth0 + type: 1000base-t + mgmt_only: true + - name: Eth1/1/1 + type: 100gbase-x-qsfp28 + - name: Eth1/1/2 + type: 100gbase-x-qsfp28 + - name: Eth1/1/3 + type: 100gbase-x-qsfp28 + - name: Eth1/1/4 + type: 100gbase-x-qsfp28 + - name: Eth1/5 + type: 100gbase-x-qsfp28 diff --git a/tests/e2e/scenario/resources/500-breakout.yml b/tests/e2e/scenario/resources/500-breakout.yml new file mode 100644 index 00000000..d41ac0ae --- /dev/null +++ b/tests/e2e/scenario/resources/500-breakout.yml @@ -0,0 +1,98 @@ +--- +# Scenario overlay for the SONiC E2E golden test. +# +# The bundled netbox-manager example models no breakout ports and sets no +# explicit interface speeds, so the breakout code paths and the kbps->Mbps +# speed handling are never exercised by it. These devices add that +# coverage. They reuse the site / location / tenant / roles / tags / custom +# fields created by 100-base.yml, and take the next free positions in the +# shared E2E rack so they never collide with the base devices. +# +# Both devices use the edgecore-9726-32d-e2e device type (hwsku +# Accton-AS9726-32D) and break Eth1/1 into a 4x100G group. They differ +# only in how the sub-port speed reaches NetBox: +# +# e2e-breakout-derived speed derived from the interface type +# (100gbase-x-qsfp28 -> 100000 Mbps); no explicit +# speed. This is how real deployments model +# breakouts. +# e2e-breakout-explicit the same sub-ports with an explicit NetBox speed +# set in kbps (100000000), the other unit the +# collection step must normalise. +# +# Both must yield sub-port speed 100000 in the generated config. + +# --- Derived-speed breakout (the real-deployment shape) -------------------- + +- device: + name: e2e-breakout-derived + tenant: Testbed + site: Discworld + location: Ankh-Morpork + rack: E2E + device_type: edgecore-9726-32d-e2e + device_role: leaf + face: front + position: 6 + status: active + tags: + - managed-by-metalbox + custom_fields: + sonic_parameters: + hwsku: Accton-AS9726-32D + version: 4.5.0 + +# Tagged VLAN on the plain (non-breakout) port, exercising the VLAN and +# tagged-VLAN-to-port paths. +- device_interface: + device: e2e-breakout-derived + name: Eth1/5 + type: 100gbase-x-qsfp28 + mode: tagged + tagged_vlans: + - name: data + site: Discworld + +# --- Explicit-speed breakout (the other speed unit) ----------------------- + +- device: + name: e2e-breakout-explicit + tenant: Testbed + site: Discworld + location: Ankh-Morpork + rack: E2E + device_type: edgecore-9726-32d-e2e + device_role: leaf + face: front + position: 7 + status: active + tags: + - managed-by-metalbox + custom_fields: + sonic_parameters: + hwsku: Accton-AS9726-32D + version: 4.5.0 + +- device_interface: + device: e2e-breakout-explicit + name: Eth1/1/1 + type: 100gbase-x-qsfp28 + speed: 100000000 + +- device_interface: + device: e2e-breakout-explicit + name: Eth1/1/2 + type: 100gbase-x-qsfp28 + speed: 100000000 + +- device_interface: + device: e2e-breakout-explicit + name: Eth1/1/3 + type: 100gbase-x-qsfp28 + speed: 100000000 + +- device_interface: + device: e2e-breakout-explicit + name: Eth1/1/4 + type: 100gbase-x-qsfp28 + speed: 100000000