From 22765d73260209a36d1b530c6d91475d5e53190f Mon Sep 17 00:00:00 2001 From: isabelmsft Date: Tue, 25 Oct 2022 23:20:58 +0000 Subject: [PATCH 1/5] Add yang_config_validation to DEVICE_METADATA yang model, minigraph --- src/sonic-config-engine/minigraph.py | 3 ++- .../tests/yang_model_tests/tests/device_metadata.json | 9 +++++++++ .../tests_config/device_metadata.json | 11 +++++++++++ .../yang-models/sonic-device_metadata.yang | 8 ++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index e677981b5d63..74b3e514dc23 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -1450,7 +1450,8 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw 'hostname': hostname, 'hwsku': hwsku, 'type': device_type, - 'synchronous_mode': 'enable' + 'synchronous_mode': 'enable', + 'yang_config_validation': 'disable' } } 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 8a562ef536a5..e55ba4c82578 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 @@ -51,6 +51,15 @@ "value": "enable" } }, + "DEVICE_METADATA_DEFAULT_YANG_CONFIG_VALIDATION": { + "desc": "DEVICE_METADATA DEFAULT VALUE FOR YANG CONFIG VALIDATION.", + "eStrKey" : "Verify", + "verify": { + "xpath": "/sonic-device_metadata:sonic-device_metadata/DEVICE_METADATA/localhost/hostname", + "key": "sonic-device_metadata:yang_config_validation", + "value": "disable" + } + }, "DEVICE_METADATA_CORRECT_BUFFER_MODEL_PATTERN": { "desc": "DEVICE_METADATA correct value for BUFFER_MODEL field" }, 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 ece046f2afb7..638f83d562cb 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 @@ -85,6 +85,17 @@ } } }, + "DEVICE_METADATA_DEFAULT_YANG_CONFIG_VALIDATION": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "sonic-device_metadata:localhost": { + "bgp_asn": "65001", + "hostname": "DUT-CSW", + "platform": "Stone-DX010" + } + } + } + }, "DEV_META_DEV_NEIGH_VERSION_TABLE": { "sonic-device_metadata:sonic-device_metadata": { "sonic-device_metadata:DEVICE_METADATA": { 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 b04f929cddc9..f82140516465 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang @@ -119,6 +119,14 @@ module sonic-device_metadata { default enable; } + leaf yang_config_validation { + type enumeration { + enum enable; + enum disable; + } + default disable; + } + leaf cloudtype { type string; } From 8c9b9b410021a5b99e21e3d9f2a21eb7faf866c7 Mon Sep 17 00:00:00 2001 From: isabelmsft Date: Wed, 26 Oct 2022 05:21:49 +0000 Subject: [PATCH 2/5] add sample configdb --- src/sonic-yang-models/doc/Configuration.md | 3 ++- src/sonic-yang-models/tests/files/sample_config_db.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sonic-yang-models/doc/Configuration.md b/src/sonic-yang-models/doc/Configuration.md index f30a2c8c5f23..d09e2c8bac0b 100644 --- a/src/sonic-yang-models/doc/Configuration.md +++ b/src/sonic-yang-models/doc/Configuration.md @@ -831,7 +831,8 @@ instance is supported in SONiC. "deployment_id": "1", "type": "ToRRouter", "bgp_adv_lo_prefix_as_128" : "true", - "buffer_model": "traditional" + "buffer_model": "traditional", + "yang_config_validation": "disable" } } } 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 9dec93b52037..ecb0be1c4ce8 100644 --- a/src/sonic-yang-models/tests/files/sample_config_db.json +++ b/src/sonic-yang-models/tests/files/sample_config_db.json @@ -332,7 +332,8 @@ "max_cores": "8", "sub_role": "FrontEnd", "dhcp_server": "disabled", - "bgp_adv_lo_prefix_as_128": "true" + "bgp_adv_lo_prefix_as_128": "true", + "yang_config_validation": "disable" } }, "VLAN": { From 464dc50dc934ef864207c13a0b0dd7e7428de37a Mon Sep 17 00:00:00 2001 From: isabelmsft Date: Wed, 26 Oct 2022 05:42:56 +0000 Subject: [PATCH 3/5] change type to mode-status --- src/sonic-yang-models/yang-models/sonic-device_metadata.yang | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) 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 f82140516465..e1d9d4f8f5b0 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang @@ -120,10 +120,7 @@ module sonic-device_metadata { } leaf yang_config_validation { - type enumeration { - enum enable; - enum disable; - } + type stypes:mode-status default disable; } From a832df271ee242fd5844ff926188c477bdf16986 Mon Sep 17 00:00:00 2001 From: isabelmsft Date: Wed, 26 Oct 2022 05:51:32 +0000 Subject: [PATCH 4/5] Save minigraph change for separate PR --- src/sonic-config-engine/minigraph.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/sonic-config-engine/minigraph.py b/src/sonic-config-engine/minigraph.py index 74b3e514dc23..e677981b5d63 100644 --- a/src/sonic-config-engine/minigraph.py +++ b/src/sonic-config-engine/minigraph.py @@ -1450,8 +1450,7 @@ def parse_xml(filename, platform=None, port_config_file=None, asic_name=None, hw 'hostname': hostname, 'hwsku': hwsku, 'type': device_type, - 'synchronous_mode': 'enable', - 'yang_config_validation': 'disable' + 'synchronous_mode': 'enable' } } From fa83458a28b78a4b6b861a9842a7b5d784d1ef58 Mon Sep 17 00:00:00 2001 From: isabelmsft Date: Wed, 26 Oct 2022 08:09:02 +0000 Subject: [PATCH 5/5] fix typo --- src/sonic-yang-models/yang-models/sonic-device_metadata.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e1d9d4f8f5b0..1d40dc31b798 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang @@ -120,7 +120,7 @@ module sonic-device_metadata { } leaf yang_config_validation { - type stypes:mode-status + type stypes:mode-status; default disable; }