Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor(eos_designs): Move default platform_settings. network_services_keys and connected_endpoints_keys to schema #4395

Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ keys:
If you need to replace all the default platforms, it is recommended to copy the defaults and modify them.
If you need to add custom platforms, create them under `custom_platform_settings`.
Entries under `custom_platform_settings` will be matched before the equivalent entries from `platform_settings`.

Campus platforms are separated out by their ability to support "trident_forwarding_table_partition".
This is required for EVPN multicast, currently only supported on all 720XP platforms.
This command is not supported on 710P or 722XP platforms. 720D range has some devices that support this
and others that don't, but they are all grouped together as none of them support EVPN multicast.
items:
type: dict
keys:
Expand Down
175 changes: 4 additions & 171 deletions python-avd/pyavd/_eos_designs/shared_utils/platform.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,181 +8,14 @@
from typing import TYPE_CHECKING

from pyavd._utils import default, get
from pyavd.avd_schema_tools import AvdSchemaTools
from pyavd.constants import EOS_DESIGNS_SCHEMA_ID

if TYPE_CHECKING:
from . import SharedUtils

# Campus platforms are separated out by their ability to support "trident_forwarding_table_partition".
# This is required for EVPN multicast, currently only supported on all 720XP platforms.
# This command is not supported on 710P or 722XP platforms. 720D range has some devices that support this
# and others that don't, but I've grouped them all together as none of them support EVPN multicast.
DEFAULT_PLATFORM_SETTINGS = [
{
"platforms": ["default"],
"reload_delay": {"mlag": 300, "non_mlag": 330},
"feature_support": {
"queue_monitor_length_notify": False,
},
},
{
"platforms": ["7050X3"],
"trident_forwarding_table_partition": "flexible exact-match 16384 l2-shared 98304 l3-shared 131072",
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {
"queue_monitor_length_notify": False,
},
},
{
"platforms": ["720XP"],
"trident_forwarding_table_partition": "flexible exact-match 16000 l2-shared 18000 l3-shared 22000",
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {"queue_monitor_length_notify": False, "poe": True},
},
{
"platforms": ["750", "755", "758"],
"management_interface": "Management0",
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {"queue_monitor_length_notify": False, "poe": True},
},
{
"platforms": ["720DP", "722XP", "710P"],
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {"queue_monitor_length_notify": False, "poe": True},
},
{
"platforms": ["7010TX"],
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {"queue_monitor_length_notify": False, "per_interface_mtu": False},
},
{
"platforms": ["7280R", "7280R2", "7020R"],
"tcam_profile": "vxlan-routing",
"lag_hardware_only": True,
"reload_delay": {
"mlag": 900,
"non_mlag": 1020,
},
},
{
"platforms": ["7280R3"],
"reload_delay": {
"mlag": 900,
"non_mlag": 1020,
},
},
{
"platforms": ["7500R", "7500R2"],
"tcam_profile": "vxlan-routing",
"lag_hardware_only": True,
"management_interface": "Management0",
"reload_delay": {
"mlag": 900,
"non_mlag": 1020,
},
},
{
"platforms": ["7500R3", "7800R3"],
"management_interface": "Management0",
"reload_delay": {
"mlag": 900,
"non_mlag": 1020,
},
},
{
"platforms": ["7358X4"],
"management_interface": "Management1/1",
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {
"queue_monitor_length_notify": False,
"interface_storm_control": True,
"bgp_update_wait_for_convergence": True,
"bgp_update_wait_install": False,
},
},
{
"platforms": ["7368X4"],
"management_interface": "Management0",
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
},
{
"platforms": ["7300X3"],
"management_interface": "Management0",
"trident_forwarding_table_partition": "flexible exact-match 16384 l2-shared 98304 l3-shared 131072",
"reload_delay": {
"mlag": 1200,
"non_mlag": 1320,
},
},
{
"platforms": ["VEOS", "VEOS-LAB", "vEOS", "vEOS-lab"],
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {
"queue_monitor_length_notify": False,
"interface_storm_control": False,
"bgp_update_wait_for_convergence": False,
"bgp_update_wait_install": False,
},
},
{
"platforms": ["CEOS", "cEOS", "ceos", "cEOSLab"],
"management_interface": "Management0",
"reload_delay": {
"mlag": 300,
"non_mlag": 330,
},
"feature_support": {
"queue_monitor_length_notify": False,
"interface_storm_control": False,
"bgp_update_wait_for_convergence": False,
"bgp_update_wait_install": False,
},
},
{
"platforms": ["AWE-5310", "AWE-5510", "AWE-7250R", "AWE-7230R"],
"management_interface": "Management1/1",
"feature_support": {
"queue_monitor_length_notify": False,
"interface_storm_control": False,
"bgp_update_wait_for_convergence": True,
"bgp_update_wait_install": False,
},
},
{
"platforms": ["AWE-7220R"],
"management_interface": "Management1",
"feature_support": {
"queue_monitor_length_notify": False,
"interface_storm_control": False,
"bgp_update_wait_for_convergence": True,
"bgp_update_wait_install": False,
"poe": True,
},
},
]
eos_designs_schema_tools = AvdSchemaTools(schema_id=EOS_DESIGNS_SCHEMA_ID)
DEFAULT_PLATFORM_SETTINGS = eos_designs_schema_tools.avdschema.subschema(["platform_settings"])["default"]


class PlatformMixin:
Expand Down
Loading