-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add YANG model and unit tests for sonic-telemetry (#10840)
- Why I did it YANG schema is missing for sonic-telemetry - How I did it Added YANG schema to sonic-yang-models and appropriate unit tests inside of test and test_config - How to verify it Build sonic-yang-models python wheels target and verify that unit tests are passing
- Loading branch information
Showing
6 changed files
with
197 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
src/sonic-yang-models/tests/yang_model_tests/tests/telemetry.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
"TELEMETRY_TABLE_WITH_INCORRECT_CERT": { | ||
"desc": "TABLE_WITH_INCORRECT_CERT failure.", | ||
"eStrKey": "Pattern" | ||
}, | ||
"TELEMETRY_TABLE_WITH_INCORRECT_CLIENT_AUTH": { | ||
"desc": "TABLE_WITH_INCORRECT_CLIENT_AUTH failure", | ||
"eStrKey": "InvalidValue" | ||
}, | ||
"TELEMETRY_TABLE_WITH_INCORRECT_PORT": { | ||
"desc": "TABLE_WITH_INCORRECT_PORT failure.", | ||
"eStrKey": "InvalidValue" | ||
}, | ||
"TELEMETRY_TABLE_WITH_VALID_CONFIG": { | ||
"desc": "TABLE WITH VALID CONFIG." | ||
} | ||
} |
66 changes: 66 additions & 0 deletions
66
src/sonic-yang-models/tests/yang_model_tests/tests_config/telemetry.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
{ | ||
"TELEMETRY_TABLE_WITH_INCORRECT_CERT": { | ||
"sonic-telemetry:sonic-telemetry": { | ||
"sonic-telemetry:TELEMETRY": { | ||
"certs": { | ||
"ca_crt": "abcd.config", | ||
"server_crt": "a/b/c", | ||
"server_key": "123" | ||
}, | ||
"gnmi": { | ||
"client_auth": "true", | ||
"log_level": "2", | ||
"port": "50051" | ||
} | ||
} | ||
} | ||
}, | ||
"TELEMETRY_TABLE_WITH_INCORRECT_CLIENT_AUTH": { | ||
"sonic-telemetry:sonic-telemetry": { | ||
"sonic-telemetry:TELEMETRY": { | ||
"certs": { | ||
"ca_crt": "/etc/sonic/telemetry/dsmsroot.cer", | ||
"server_crt": "/etc/sonic/telemetry/streamingtelemetryserver.cer", | ||
"server_key": "/etc/sonic/telemetry/streamingtelemetryserver.key" | ||
}, | ||
"gnmi": { | ||
"client_auth": "up", | ||
"log_level": "2", | ||
"port": "50051" | ||
} | ||
} | ||
} | ||
}, | ||
"TELEMETRY_TABLE_WITH_INCORRECT_PORT": { | ||
"sonic-telemetry:sonic-telemetry": { | ||
"sonic-telemetry:TELEMETRY": { | ||
"certs": { | ||
"ca_crt": "/etc/sonic/telemetry/dsmsroot.cer", | ||
"server_crt": "/etc/sonic/telemetry/streamingtelemetryserver.cer", | ||
"server_key": "/etc/sonic/telemetry/streamingtelemetryserver.key" | ||
}, | ||
"gnmi": { | ||
"client_auth": "true", | ||
"log_level": "2", | ||
"port": "abc" | ||
} | ||
} | ||
} | ||
}, | ||
"TELEMETRY_TABLE_WITH_VALID_CONFIG": { | ||
"sonic-telemetry:sonic-telemetry": { | ||
"sonic-telemetry:TELEMETRY": { | ||
"certs": { | ||
"ca_crt": "/etc/sonic/telemetry/dsmsroot.cer", | ||
"server_crt": "/etc/sonic/telemetry/streamingtelemetryserver.cer", | ||
"server_key": "/etc/sonic/telemetry/streamingtelemetryserver.key" | ||
}, | ||
"gnmi": { | ||
"client_auth": "true", | ||
"log_level": "2", | ||
"port": "50051" | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
module sonic-telemetry { | ||
|
||
yang-version 1.1; | ||
|
||
namespace "http://github.com/Azure/sonic-telemetry"; | ||
prefix telemetry; | ||
|
||
import ietf-inet-types { | ||
prefix inet; | ||
} | ||
|
||
organization | ||
"SONiC"; | ||
|
||
contact | ||
"SONiC"; | ||
|
||
description "TELEMETRY YANG Module for SONiC OS"; | ||
|
||
revision 2022-05-13 { | ||
description "First Revision"; | ||
} | ||
|
||
container sonic-telemetry { | ||
|
||
container TELEMETRY { | ||
|
||
description "TELEMETRY TABLE part of config_db.json"; | ||
|
||
container certs { | ||
|
||
leaf ca_crt { | ||
type string { | ||
pattern '(/[a-zA-Z0-9_-]+)*/([a-zA-Z0-9_-]+).cer'; | ||
} | ||
description "Local path for ca_crt."; | ||
} | ||
|
||
leaf server_crt { | ||
type string { | ||
pattern '(/[a-zA-Z0-9_-]+)*/([a-zA-Z0-9_-]+).cer'; | ||
} | ||
description "Local path for server_crt."; | ||
} | ||
|
||
leaf server_key { | ||
type string { | ||
pattern '(/[a-zA-Z0-9_-]+)*/([a-zA-Z0-9_-]+).key'; | ||
} | ||
description "Local path for server_key."; | ||
} | ||
|
||
} | ||
|
||
container gnmi { | ||
|
||
leaf client_auth { | ||
type boolean; | ||
description "Flag for requiring client auth."; | ||
} | ||
|
||
leaf log_level { | ||
type uint8 { | ||
range 0..100; | ||
} | ||
description "Log level for gnmi."; | ||
} | ||
|
||
leaf port { | ||
type inet:port-number; | ||
description "Port gnmi runs on."; | ||
} | ||
|
||
} | ||
|
||
} | ||
} | ||
} |