Skip to content

Refactor(eos_designs): Move platform_settings.validate_hardware #6243

@gmuloc

Description

@gmuloc

Enhancement summary

This is non breaking because it has not been released officially yet.

The following keys will move

platform_settings: validate_hardware: # Enable hardware validation for the device. # If `false`, all hardware tests are skipped, therefore the other keys in `validate_hardware` are ignored. enabled: <bool; default=True> # Minimum number of power supplies required for the device. Set to 0 to skip validation. min_power_supplies: <int> # Minimum number of fans required for the device. Set to 0 to skip validation. min_fans: <int> # Minimum number of supervisor modules required for the device. Set to 0 to skip validation. min_supervisors: <int> # Minimum number of line cards required for the device. Set to 0 to skip validation. min_line_cards: <int> # Minimum number of fabric cards required for the device. Set to 0 to skip validation. min_fabric_cards: <int> # List of approved transceiver manufacturers for the device. transceiver_manufacturers: - <str> logging_settings: # Threshold (in minutes) defining how far back to check the logging buffer for error-level logs during the validation performed by the `anta_runner` role. validate_no_errors_period: <int> node_type_keys: # Exclude this node from being used as a destination target from other fabric devices in the extra fabric validation tests performed by the `anta_runner` role. exclude_as_extra_fabric_validation_target: <bool; default=False> 

Which component of AVD is impacted

eos_designs

Use case example

being able to give these inputs without having to redefine platform settings

Describe the solution you would like

One key will go under features

platform_settings: feature_support: # Enable hardware validation for the device. # If `false`, all hardware tests are skipped, therefore the other keys in `validate_hardware` are ignored. hardware_validation: <bool; default=True> 

Make it default false for cEOS and vEOS like it is today


validation_profiles: name: <str, primary_key> # Max one level of inheritance parent_profile: <str> # Only considered when `platform_settings.feature_support.hardware_validation: true` hardware: # Minimum number of power supplies required for the device. Set to 0 to skip validation. min_power_supplies: <int> # Minimum number of fans required for the device. Set to 0 to skip validation. min_fans: <int> # Minimum number of supervisor modules required for the device. Set to 0 to skip validation. min_supervisors: <int> # Minimum number of line cards required for the device. Set to 0 to skip validation. min_line_cards: <int> # Minimum number of fabric cards required for the device. Set to 0 to skip validation. min_fabric_cards: <int> # List of approved transceiver manufacturers for the device. transceiver_manufacturers: logging: # Threshold (in minutes) defining how far back to check the logging buffer for error-level logs during the validation performed by the `anta_runner` role. validate_no_errors_period: <int> # Exclude this node from being used as a destination target from other fabric devices in the extra fabric validation tests performed by the `anta_runner` role. exclude_as_extra_fabric_validation_target: <bool; default=False> 

and under node_type_settings

l3leaf: nodes: - name: <str> validation_profile: <str> 

The implementer will need to make sure anta_runner is updated appropriately however the output in strutcured_config should stay in metadata so it should be good enough.

If name referred to either under node_settings or parent_profile is missing - AVD should raise just like for PTP profile.

Describe alternatives you have considered

this is the only way

Additional context

No response

Contributing Guide

  • I agree to follow this project Code of Conduct

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions