diff --git a/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/advanced/dc_vxlan_fabric_advanced.j2 b/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/advanced/dc_vxlan_fabric_advanced.j2 index ccdf4256d..3013aeae2 100644 --- a/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/advanced/dc_vxlan_fabric_advanced.j2 +++ b/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/advanced/dc_vxlan_fabric_advanced.j2 @@ -48,3 +48,7 @@ STP_BRIDGE_PRIORITY: {{ vxlan.global.ibgp.spanning_tree.bridge_priority | default(defaults.vxlan.global.ibgp.spanning_tree.bridge_priority) }} {% endif %} {% endif %} + POWER_REDUNDANCY_MODE: {{ vxlan.global.ibgp.power_redundancy | default(defaults.vxlan.global.ibgp.power_redundancy) }} + COPP_POLICY: {{ vxlan.global.ibgp.copp_policy | default(defaults.vxlan.global.ibgp.copp_policy) }} + HD_TIME: {{ vxlan.global.ibgp.vtep_holddown_time | default(defaults.vxlan.global.ibgp.vtep_holddown_time) }} + ENABLE_NGOAM: {{ vxlan.global.ibgp.enable_ngoam | default(defaults.vxlan.global.ibgp.enable_ngoam) }} diff --git a/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/general/dc_vxlan_fabric_general.j2 b/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/general/dc_vxlan_fabric_general.j2 index a805b1a0e..bed1896b0 100644 --- a/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/general/dc_vxlan_fabric_general.j2 +++ b/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/general/dc_vxlan_fabric_general.j2 @@ -14,4 +14,7 @@ LINK_STATE_ROUTING: {{ vxlan.underlay.general.routing_protocol | default(defaults.vxlan.underlay.general.routing_protocol) }} RR_COUNT: {{ vxlan.global.ibgp.route_reflectors | default(defaults.vxlan.global.ibgp.route_reflectors) }} ANYCAST_GW_MAC: {{ vxlan.global.ibgp.anycast_gateway_mac | default(defaults.vxlan.global.ibgp.anycast_gateway_mac) }} +{% if (ndfc_features | selectattr('name', 'equalto', 'Performance Monitoring') | selectattr('admin_state', 'equalto', 'enabled') | list | length > 0) %} + PM_ENABLE: {{ vxlan.global.ibgp.performance_monitoring | default(defaults.vxlan.global.ibgp.performance_monitoring) | ansible.builtin.bool }} +{% endif %} {# #} diff --git a/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/resources/dc_vxlan_fabric_resources.j2 b/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/resources/dc_vxlan_fabric_resources.j2 index 6b6cf3fe5..59015f492 100644 --- a/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/resources/dc_vxlan_fabric_resources.j2 +++ b/roles/dtc/common/templates/ndfc_fabric/dc_vxlan_fabric/resources/dc_vxlan_fabric_resources.j2 @@ -76,3 +76,4 @@ {% set l3_vlan_range = defaults.vxlan.global.ibgp.layer3_vlan_range.from ~ '-' ~ defaults.vxlan.global.ibgp.layer3_vlan_range.to %} {% endif %} VRF_VLAN_RANGE: {{ l3_vlan_range }} + SUBINTERFACE_RANGE: {{ vxlan.global.ibgp.sub_int_range | default(defaults.vxlan.global.ibgp.sub_int_range) }} diff --git a/roles/dtc/connectivity_check/tasks/main.yml b/roles/dtc/connectivity_check/tasks/main.yml index 5cc1c0399..ed28a2cc3 100644 --- a/roles/dtc/connectivity_check/tasks/main.yml +++ b/roles/dtc/connectivity_check/tasks/main.yml @@ -62,3 +62,17 @@ ansible.builtin.set_fact: ndfc_version: "{{ ndfc_version.response.DATA.version }}" tags: "{{ nac_tags.connectivity_check }}" # Tags defined in roles/common_global/vars/main.yml + +- name: Get Cisco Nexus Dashboard Fabric Controller Features + cisco.dcnm.dcnm_rest: + method: GET + path: /appcenter/cisco/ndfc/api/v1/fm/features + register: ndfc_features + tags: "{{ nac_tags.connectivity_check }}" # Tags defined in roles/common_global/vars/main.yml + +- name: Set Cisco Nexus Dashboard Fabric Controller Features Var + ansible.builtin.set_fact: + ndfc_features: "{{ features_dict | dict2items | json_query('[*].value.{name: name, admin_state: admin_state}') }}" + vars: + features_dict: "{{ ndfc_features.response.DATA.data.features }}" + tags: "{{ nac_tags.connectivity_check }}" # Tags defined in roles/common_global/vars/main.yml diff --git a/roles/validate/files/defaults.yml b/roles/validate/files/defaults.yml index e7be6bacb..c80a9fe6a 100644 --- a/roles/validate/files/defaults.yml +++ b/roles/validate/files/defaults.yml @@ -125,6 +125,12 @@ factory_defaults: enable_local_dhcp_server: false enable_cdp_mgmt: false tcam_allocation: true + performance_monitoring: false + power_redundancy: ps-redundant + copp_policy: strict + vtep_holddown_time: 180 + enable_ngoam: true + sub_int_range: 2-511 external: auth_proto: MD5 enable_nxapi_http: false