diff --git a/src/sonic-yang-models/doc/Configuration.md b/src/sonic-yang-models/doc/Configuration.md index f681aad44a..8d8acb0fdd 100644 --- a/src/sonic-yang-models/doc/Configuration.md +++ b/src/sonic-yang-models/doc/Configuration.md @@ -837,7 +837,8 @@ instance is supported in SONiC. "type": "ToRRouter", "bgp_adv_lo_prefix_as_128" : "true", "buffer_model": "traditional", - "yang_config_validation": "disable" + "yang_config_validation": "disable", + "rack_mgmt_map": "dummy_value" } } } diff --git a/src/sonic-yang-models/tests/files/sample_config_db.json b/src/sonic-yang-models/tests/files/sample_config_db.json index 4b534157bf..db35da3781 100644 --- a/src/sonic-yang-models/tests/files/sample_config_db.json +++ b/src/sonic-yang-models/tests/files/sample_config_db.json @@ -325,7 +325,8 @@ "sub_role": "FrontEnd", "dhcp_server": "disabled", "bgp_adv_lo_prefix_as_128": "true", - "yang_config_validation": "disable" + "yang_config_validation": "disable", + "rack_mgmt_map": "dummy_value" } }, "VLAN": { diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json index e55ba4c825..c654b90ebc 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json @@ -125,6 +125,13 @@ }, "DEVICE_METADATA_ADVERTISE_LO_PREFIX_AS_128": { "desc": "Verifying advertising lo prefix as /128." + }, + "DEVICE_METADATA_VALID_RACK_MGMT_MAP": { + "desc": "Verifying rack_mgmt_map configuration." + }, + "DEVICE_METADATA_INVALID_RACK_MGMT_MAP": { + "desc": "Verifying invalid rack_mgmt_map configuration.", + "eStr": "Invalid length for the rack mgmt map." } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json index 638f83d562..effa56806e 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json @@ -332,5 +332,23 @@ } } } + }, + "DEVICE_METADATA_VALID_RACK_MGMT_MAP": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "sonic-device_metadata:localhost": { + "rack_mgmt_map": "dummy_value" + } + } + } + }, + "DEVICE_METADATA_INVALID_RACK_MGMT_MAP": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "sonic-device_metadata:localhost": { + "rack_mgmt_map": "dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value-dummy_value" + } + } + } } } diff --git a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang index 62daae4206..a060d8023f 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang @@ -204,6 +204,15 @@ module sonic-device_metadata { description "Advertise Loopback0 interface IPv6 /128 subnet address as it is with set to true. By default SONiC advertises /128 subnet prefix in Loopback0 as /64 subnet route"; } + + leaf rack_mgmt_map { + type string { + length 0..128 { + error-message "Invalid length for the rack mgmt map."; + } + } + description "Information of rack mgmt map."; + } } /* end of container localhost */ }