From 91832ab4220e98459a8a06085d34fe3a17566a97 Mon Sep 17 00:00:00 2001 From: Bing Sun Date: Mon, 3 Feb 2025 00:47:23 -0500 Subject: [PATCH 1/2] add code for interface DCBx --- .../dcbx_interfaces/deleted_example_01.txt | 36 ++++++++++ .../dcbx_interfaces/deleted_example_02.txt | 36 ++++++++++ .../dcbx_interfaces/merged_example_01.txt | 35 ++++++++++ .../dcbx_interfaces/merged_example_02.txt | 36 ++++++++++ .../dcbx_interfaces/sonic_dcbx_interfaces.yml | 69 +++++++++++++++++++ 5 files changed, 212 insertions(+) create mode 100755 models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt create mode 100755 models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt create mode 100755 models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt create mode 100755 models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt create mode 100755 models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml diff --git a/models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt b/models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt new file mode 100755 index 00000000..e805c50f --- /dev/null +++ b/models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt @@ -0,0 +1,36 @@ +# Using Merged +# +# Before State: +# ------------- +# sonic# show running-configuration interface Ethernet 0 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown +# no dcbx enable +# no dcbx tlv-select pfc +# no dcbx tlv-select ets-conf +# no dcbx tlv-select ets-reco + + + - name: Delete and set default DCBx Interface configurations + dellemc.enterprise_sonic.sonic_dcbx_interfaces: + config: + - name: Ethernet0 + enabled: False + pfc_tlv_enabled: False + ets_configuration_tlv_enabled: False + ets_recommendation_tlv_enabled: False + state: deleted + +# After State: +# ------------ +# sonic# show running-configuration interface Ethernet0 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown diff --git a/models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt b/models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt new file mode 100755 index 00000000..0df7c41b --- /dev/null +++ b/models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt @@ -0,0 +1,36 @@ +# Using Merged +# +# Before State: +# ------------- +# sonic# show running-configuration interface Ethernet 24 +# ! +# interface Ethernet24 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown +# no dcbx enable +# no dcbx tlv-select pfc +# no dcbx tlv-select ets-conf +# no dcbx tlv-select ets-reco + + + - name: Delete and set default DCBx Interface configurations + dellemc.enterprise_sonic.sonic_dcbx_interfaces: + config: + - name: Ethernet0 + pfc_tlv_enabled: False + state: deleted + +# After State: +# ------------ +# sonic# show running-configuration interface Etherneti 24 +# ! +# interface Ethernet24 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown +# no dcbx enable +# no dcbx tlv-select ets-conf +# no dcbx tlv-select ets-reco diff --git a/models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt b/models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt new file mode 100755 index 00000000..2c72e683 --- /dev/null +++ b/models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt @@ -0,0 +1,35 @@ +# Using Merged +# +# Before State: +# ------------- +# sonic# show running-configuration interface Ethernet9 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown + + - name: Modify DCBx Interface configurations + dellemc.enterprise_sonic.sonic_dcbx_interfaces: + config: + - name: Ethernet0 + enabled: False + pfc_tlv_enabled: False + ets_configuration_tlv_enabled: False + ets_recommendation_tlv_enabled: False + state: merged + +# After State: +# ------------ +# sonic# show running-configuration interface Ethernet0 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown +# no dcbx enable +# no dcbx tlv-select pfc +# no dcbx tlv-select ets-conf +# no dcbx tlv-select ets-reco diff --git a/models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt b/models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt new file mode 100755 index 00000000..09486896 --- /dev/null +++ b/models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt @@ -0,0 +1,36 @@ +# Using Merged +# +# Before State: +# ------------- +# sonic# show running-configuration interface Ethernet 0 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown +# no dcbx enable +# no dcbx tlv-select pfc +# no dcbx tlv-select ets-conf +# no dcbx tlv-select ets-reco + + + - name: Modify DCBx Interface configurations + dellemc.enterprise_sonic.sonic_dcbx_interfaces: + config: + - name: Ethernet0 + enabled: True + pfc_tlv_enabled: True + ets_configuration_tlv_enabled: True + ets_recommendation_tlv_enabled: True + state: deleted + +# After State: +# ------------ +# sonic# show running-configuration interface Ethernet0 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown diff --git a/models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml b/models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml new file mode 100755 index 00000000..119c85a0 --- /dev/null +++ b/models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml @@ -0,0 +1,69 @@ +--- +GENERATOR_VERSION: '1.0' +ANSIBLE_METADATA: | + { + 'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community', + 'license': 'Apache 2.0' + } +NETWORK_OS: sonic +RESOURCE: dcbx_interfaces +COPYRIGHT: Copyright 2025 Dell Inc. or its subsidiaries. All Rights Reserved +DOCUMENTATION: | + module: sonic_dcbx_interfaces + version_added: '2.1.0' + short_description: Manage DCBx Interface configurations on SONiC + description: + - This module provides configuration management of DCBx Interface parameters + in devices running SONiC. + - It is intended for use in conjunction with global DCBX. + author: 'bing_sun@dell.com' + options: + config: + description: The set of DCBx interface attribute configurations + type: list + elements: dict + suboptions: + name: + description: + - Interface name in which DCBx needs to be configured on. + type: str + required: true + enabled: + description: + - This argument is a boolean value to enable or disable DCBx. + By default interface level DCBx is enabled. + - This command is supported only on physical interfaces and not on logical interfaces. + type: bool + pfc_tlv_enabled: + description: + - This command can be used to select whether to advertise and receive PFC TLV. + By default PFC TLV is advertised and received. + type: bool + ets_configuration_tlv_enabled: + description: + - This command can be used to select whether to advertise and receive ETS configuration TLV. + By default ETS configuration TLV is advertised and received. + type: bool + ets_recommendation_tlv_enabled: + description: + - This command can be used to select whether to advertise and receive ETS recommendation TLV. + By default ETS recommendation TLV is advertised and received. + type: bool + state: + description: + - The state specifies the type of configuration update to be performed on the device. + - If the state is "merged", merge specified attributes with existing configured attributes. + - For "deleted", delete the specified attributes from existing configuration. + type: str + choices: + - merged + - deleted + default: merged +EXAMPLES: + - merged_example_01.txt + - merged_example_02.txt + - deleted_example_01.txt + - deleted_example_02.txt + From c003cd2cc2f9a6b1e325320c8907d6cdcecda2a8 Mon Sep 17 00:00:00 2001 From: haemanthisree Date: Fri, 14 Feb 2025 15:02:04 -0500 Subject: [PATCH 2/2] Merge DCBx global and Interfaces Modules --- .../deleted_example_01.txt | 11 +-- .../deleted_example_02.txt | 7 +- .../dcbx/deleted_example_03.txt | 21 +++++ .../dcbx/merged_example_01.txt | 56 +++++++++++++ .../merged_example_02.txt | 11 +-- .../dcbx/merged_example_03.txt | 21 +++++ models/enterprise_sonic/dcbx/sonic_dcbx.yml | 83 +++++++++++++++++++ .../dcbx_interfaces/merged_example_01.txt | 35 -------- .../dcbx_interfaces/sonic_dcbx_interfaces.yml | 69 --------------- 9 files changed, 197 insertions(+), 117 deletions(-) rename models/enterprise_sonic/{dcbx_interfaces => dcbx}/deleted_example_01.txt (72%) rename models/enterprise_sonic/{dcbx_interfaces => dcbx}/deleted_example_02.txt (84%) create mode 100644 models/enterprise_sonic/dcbx/deleted_example_03.txt create mode 100755 models/enterprise_sonic/dcbx/merged_example_01.txt rename models/enterprise_sonic/{dcbx_interfaces => dcbx}/merged_example_02.txt (72%) create mode 100644 models/enterprise_sonic/dcbx/merged_example_03.txt create mode 100755 models/enterprise_sonic/dcbx/sonic_dcbx.yml delete mode 100755 models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt delete mode 100755 models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml diff --git a/models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt b/models/enterprise_sonic/dcbx/deleted_example_01.txt similarity index 72% rename from models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt rename to models/enterprise_sonic/dcbx/deleted_example_01.txt index e805c50f..dcb4f91d 100755 --- a/models/enterprise_sonic/dcbx_interfaces/deleted_example_01.txt +++ b/models/enterprise_sonic/dcbx/deleted_example_01.txt @@ -16,13 +16,14 @@ - name: Delete and set default DCBx Interface configurations - dellemc.enterprise_sonic.sonic_dcbx_interfaces: + dellemc.enterprise_sonic.sonic_dcbx: config: + interfaces: - name: Ethernet0 - enabled: False - pfc_tlv_enabled: False - ets_configuration_tlv_enabled: False - ets_recommendation_tlv_enabled: False + enabled: False + pfc_tlv_enabled: False + ets_configuration_tlv_enabled: False + ets_recommendation_tlv_enabled: False state: deleted # After State: diff --git a/models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt b/models/enterprise_sonic/dcbx/deleted_example_02.txt similarity index 84% rename from models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt rename to models/enterprise_sonic/dcbx/deleted_example_02.txt index 0df7c41b..76ea9b3a 100755 --- a/models/enterprise_sonic/dcbx_interfaces/deleted_example_02.txt +++ b/models/enterprise_sonic/dcbx/deleted_example_02.txt @@ -16,10 +16,11 @@ - name: Delete and set default DCBx Interface configurations - dellemc.enterprise_sonic.sonic_dcbx_interfaces: + dellemc.enterprise_sonic.sonic_dcbx: config: - - name: Ethernet0 - pfc_tlv_enabled: False + interfaces: + - name: Ethernet0 + pfc_tlv_enabled: False state: deleted # After State: diff --git a/models/enterprise_sonic/dcbx/deleted_example_03.txt b/models/enterprise_sonic/dcbx/deleted_example_03.txt new file mode 100644 index 00000000..f710e6e9 --- /dev/null +++ b/models/enterprise_sonic/dcbx/deleted_example_03.txt @@ -0,0 +1,21 @@ +# Using deleted +# +# Before State: +# ------------- +# +# sonic# show running-configuration | grep dcbx +# ! +# dcbx enable +# ! + + - name: Delete DCBX mode configuration + dellemc.enterprise_sonic.sonic_dcbx: + config: + global: + enable: true + state: deleted + +# After State: +# ------------ +# sonic# show running-configuration | grep dcbx +# sonic# \ No newline at end of file diff --git a/models/enterprise_sonic/dcbx/merged_example_01.txt b/models/enterprise_sonic/dcbx/merged_example_01.txt new file mode 100755 index 00000000..729e440c --- /dev/null +++ b/models/enterprise_sonic/dcbx/merged_example_01.txt @@ -0,0 +1,56 @@ +# Using Merged +# +# Before State: +# ------------- +# sonic# show running-configuration interface Ethernet9 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown + + - name: Modify DCBx Interface configurations + dellemc.enterprise_sonic.sonic_dcbx: + config: + -interfaces: + - name: Ethernet0 + enabled: False + pfc_tlv_enabled: False + ets_configuration_tlv_enabled: False + ets_recommendation_tlv_enabled: False + state: merged + +# After State: +# ------------ +# sonic# show running-configuration interface Ethernet0 +# ! +# interface Ethernet0 +# mtu 9100 +# speed 25000 +# unreliable-los auto +# no shutdown +# no dcbx enable +# no dcbx tlv-select pfc +# no dcbx tlv-select ets-conf +# no dcbx tlv-select ets-reco + +# Before State: +# ------------- +# +# sonic# show running-configuration | grep dcbx +# sonic# + + - name: Modify DCBX configurations + dellemc.enterprise_sonic.sonic_dcbx: + config: + global: + enable: true + state: merged + +# After State: +# ------------ +# sonic# show running-configuration | grep dcbx +# ! +# dcbx enable +# ! \ No newline at end of file diff --git a/models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt b/models/enterprise_sonic/dcbx/merged_example_02.txt similarity index 72% rename from models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt rename to models/enterprise_sonic/dcbx/merged_example_02.txt index 09486896..e07e4dca 100755 --- a/models/enterprise_sonic/dcbx_interfaces/merged_example_02.txt +++ b/models/enterprise_sonic/dcbx/merged_example_02.txt @@ -16,13 +16,14 @@ - name: Modify DCBx Interface configurations - dellemc.enterprise_sonic.sonic_dcbx_interfaces: + dellemc.enterprise_sonic.sonic_dcbx: config: + interfaces: - name: Ethernet0 - enabled: True - pfc_tlv_enabled: True - ets_configuration_tlv_enabled: True - ets_recommendation_tlv_enabled: True + enabled: True + pfc_tlv_enabled: True + ets_configuration_tlv_enabled: True + ets_recommendation_tlv_enabled: True state: deleted # After State: diff --git a/models/enterprise_sonic/dcbx/merged_example_03.txt b/models/enterprise_sonic/dcbx/merged_example_03.txt new file mode 100644 index 00000000..a7387513 --- /dev/null +++ b/models/enterprise_sonic/dcbx/merged_example_03.txt @@ -0,0 +1,21 @@ +# Using Merged +# +# Before State: +# ------------- +# +# sonic# show running-configuration | grep dcbx +# sonic# + + - name: Modify DCBX configurations + dellemc.enterprise_sonic.sonic_dcbx: + config: + global: + enable: true + state: merged + +# After State: +# ------------ +# sonic# show running-configuration | grep dcbx +# ! +# dcbx enable +# ! \ No newline at end of file diff --git a/models/enterprise_sonic/dcbx/sonic_dcbx.yml b/models/enterprise_sonic/dcbx/sonic_dcbx.yml new file mode 100755 index 00000000..22505a7c --- /dev/null +++ b/models/enterprise_sonic/dcbx/sonic_dcbx.yml @@ -0,0 +1,83 @@ +--- +GENERATOR_VERSION: '1.0' +ANSIBLE_METADATA: | + { + 'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community', + 'license': 'Apache 2.0' + } +NETWORK_OS: sonic +RESOURCE: dcbx +COPYRIGHT: Copyright 2025 Dell Inc. or its subsidiaries. All Rights Reserved +DOCUMENTATION: | + module: sonic_dcbx + version_added: '2.1.0' + short_description: Manage DCBx configurations on SONiC + description: + - This module provides configuration management of DCBx parameters + in devices running SONiC. + author: 'bing_sun@dell.com' + options: + config: + description: The set of DCBx attribute configurations + type: dict + suboptions: + global: + description: + - Global DCBx configuration + type: dict + suboptions: + enable: + description: + - This argument is a boolean value to enable or disable DCBx. + type: bool + interfaces: + description: + - Interfaces DCBx configuration + type: list + elements: dict + suboptions: + name: + description: + - Interface name in which DCBx needs to be configured on. + type: str + required: true + enabled: + description: + - This argument is a boolean value to enable or disable DCBx. + By default interface level DCBx is enabled. + - This command is supported only on physical interfaces and not on logical interfaces. + type: bool + pfc_tlv_enabled: + description: + - This command can be used to select whether to advertise and receive PFC TLV. + By default PFC TLV is advertised and received. + type: bool + ets_configuration_tlv_enabled: + description: + - This command can be used to select whether to advertise and receive ETS configuration TLV. + By default ETS configuration TLV is advertised and received. + type: bool + ets_recommendation_tlv_enabled: + description: + - This command can be used to select whether to advertise and receive ETS recommendation TLV. + By default ETS recommendation TLV is advertised and received. + type: bool + state: + description: + - The state specifies the type of configuration update to be performed on the device. + - If the state is "merged", merge specified attributes with existing configured attributes. + - For "deleted", delete the specified attributes from existing configuration. + type: str + choices: + - merged + - deleted + default: merged +EXAMPLES: + - merged_example_01.txt + - merged_example_02.txt + - merged_example_03.txt + - deleted_example_01.txt + - deleted_example_02.txt + - deleted_example_03.txt \ No newline at end of file diff --git a/models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt b/models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt deleted file mode 100755 index 2c72e683..00000000 --- a/models/enterprise_sonic/dcbx_interfaces/merged_example_01.txt +++ /dev/null @@ -1,35 +0,0 @@ -# Using Merged -# -# Before State: -# ------------- -# sonic# show running-configuration interface Ethernet9 -# ! -# interface Ethernet0 -# mtu 9100 -# speed 25000 -# unreliable-los auto -# no shutdown - - - name: Modify DCBx Interface configurations - dellemc.enterprise_sonic.sonic_dcbx_interfaces: - config: - - name: Ethernet0 - enabled: False - pfc_tlv_enabled: False - ets_configuration_tlv_enabled: False - ets_recommendation_tlv_enabled: False - state: merged - -# After State: -# ------------ -# sonic# show running-configuration interface Ethernet0 -# ! -# interface Ethernet0 -# mtu 9100 -# speed 25000 -# unreliable-los auto -# no shutdown -# no dcbx enable -# no dcbx tlv-select pfc -# no dcbx tlv-select ets-conf -# no dcbx tlv-select ets-reco diff --git a/models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml b/models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml deleted file mode 100755 index 119c85a0..00000000 --- a/models/enterprise_sonic/dcbx_interfaces/sonic_dcbx_interfaces.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -GENERATOR_VERSION: '1.0' -ANSIBLE_METADATA: | - { - 'metadata_version': '1.1', - 'status': ['preview'], - 'supported_by': 'community', - 'license': 'Apache 2.0' - } -NETWORK_OS: sonic -RESOURCE: dcbx_interfaces -COPYRIGHT: Copyright 2025 Dell Inc. or its subsidiaries. All Rights Reserved -DOCUMENTATION: | - module: sonic_dcbx_interfaces - version_added: '2.1.0' - short_description: Manage DCBx Interface configurations on SONiC - description: - - This module provides configuration management of DCBx Interface parameters - in devices running SONiC. - - It is intended for use in conjunction with global DCBX. - author: 'bing_sun@dell.com' - options: - config: - description: The set of DCBx interface attribute configurations - type: list - elements: dict - suboptions: - name: - description: - - Interface name in which DCBx needs to be configured on. - type: str - required: true - enabled: - description: - - This argument is a boolean value to enable or disable DCBx. - By default interface level DCBx is enabled. - - This command is supported only on physical interfaces and not on logical interfaces. - type: bool - pfc_tlv_enabled: - description: - - This command can be used to select whether to advertise and receive PFC TLV. - By default PFC TLV is advertised and received. - type: bool - ets_configuration_tlv_enabled: - description: - - This command can be used to select whether to advertise and receive ETS configuration TLV. - By default ETS configuration TLV is advertised and received. - type: bool - ets_recommendation_tlv_enabled: - description: - - This command can be used to select whether to advertise and receive ETS recommendation TLV. - By default ETS recommendation TLV is advertised and received. - type: bool - state: - description: - - The state specifies the type of configuration update to be performed on the device. - - If the state is "merged", merge specified attributes with existing configured attributes. - - For "deleted", delete the specified attributes from existing configuration. - type: str - choices: - - merged - - deleted - default: merged -EXAMPLES: - - merged_example_01.txt - - merged_example_02.txt - - deleted_example_01.txt - - deleted_example_02.txt -