Update TELEMETRY_CLIENT YANG model (#16861)
### Why I did it Github issue: https://github.com/sonic-net/sonic-buildimage/issues/16356. The YANG definition breaks GCU feature. We can either update sonic_yang and GCU's search algorithm to enable the same key count case or simply update YANG model to solve the issue. The pros for update YANG model are it could solve the issue directly and we don't need to handle the complicate search algorithm in sonic_yang and GCU. This is the only YANG model that has this issue. ### How I did it Combine two list into one. The previous YANG validation unit tests are still applicable. #### How to verify it Unit test and E2E test
This commit is contained in:
parent
728df4e89d
commit
ad90ad9fcd
@ -70,6 +70,7 @@ Table of Contents
|
|||||||
* [TC to Priority group map](#tc-to-priority-group-map)
|
* [TC to Priority group map](#tc-to-priority-group-map)
|
||||||
* [TC to Queue map](#tc-to-queue-map)
|
* [TC to Queue map](#tc-to-queue-map)
|
||||||
* [Telemetry](#telemetry)
|
* [Telemetry](#telemetry)
|
||||||
|
* [Telemetry client](#telemetry-client)
|
||||||
* [Tunnel](#tunnel)
|
* [Tunnel](#tunnel)
|
||||||
* [Versions](#versions)
|
* [Versions](#versions)
|
||||||
* [VLAN](#vlan)
|
* [VLAN](#vlan)
|
||||||
@ -2221,6 +2222,31 @@ and is listed in this table.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Telemetry client
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"TELEMETRY_CLIENT": {
|
||||||
|
"Global": {
|
||||||
|
"encoding": "JSON_IETF",
|
||||||
|
"retry_interval": "30",
|
||||||
|
"src_ip": "30.57.185.38",
|
||||||
|
"unidirectional": "true"
|
||||||
|
},
|
||||||
|
"DestinationGroup|HS": {
|
||||||
|
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
||||||
|
},
|
||||||
|
"Subscription|HS_RDMA": {
|
||||||
|
"dst_group": "HS",
|
||||||
|
"path_target": "COUNTERS_DB",
|
||||||
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
|
"report_interval": "5000",
|
||||||
|
"report_type": "periodic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Tunnel
|
### Tunnel
|
||||||
|
|
||||||
This table configures the MUX tunnel for Dual-ToR setup
|
This table configures the MUX tunnel for Dual-ToR setup
|
||||||
|
@ -1235,10 +1235,10 @@
|
|||||||
"src_ip": "30.57.185.38",
|
"src_ip": "30.57.185.38",
|
||||||
"unidirectional": "true"
|
"unidirectional": "true"
|
||||||
},
|
},
|
||||||
"DestinationGroup_HS": {
|
"DestinationGroup|HS": {
|
||||||
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
||||||
},
|
},
|
||||||
"Subscription_HS_RDMA": {
|
"Subscription|HS_RDMA": {
|
||||||
"dst_group": "HS",
|
"dst_group": "HS",
|
||||||
"path_target": "COUNTERS_DB",
|
"path_target": "COUNTERS_DB",
|
||||||
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
|
@ -8,15 +8,15 @@
|
|||||||
"src_ip": "30.57.185.38",
|
"src_ip": "30.57.185.38",
|
||||||
"unidirectional": "true"
|
"unidirectional": "true"
|
||||||
},
|
},
|
||||||
"TELEMETRY_CLIENT_DS_LIST": [
|
"TELEMETRY_CLIENT_LIST": [
|
||||||
{
|
{
|
||||||
"prefix": "DestinationGroup_HS",
|
"prefix": "DestinationGroup",
|
||||||
|
"name": "HS",
|
||||||
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
||||||
}
|
},
|
||||||
],
|
|
||||||
"TELEMETRY_CLIENT_SUB_LIST": [
|
|
||||||
{
|
{
|
||||||
"prefix": "Subscription_HS_RDMA",
|
"prefix": "Subscription",
|
||||||
|
"name": "HS_RDMA",
|
||||||
"dst_group": "HS",
|
"dst_group": "HS",
|
||||||
"path_target": "COUNTERS_DB",
|
"path_target": "COUNTERS_DB",
|
||||||
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
@ -36,15 +36,15 @@
|
|||||||
"src_ip": "30.57.185.38",
|
"src_ip": "30.57.185.38",
|
||||||
"unidirectional": "true"
|
"unidirectional": "true"
|
||||||
},
|
},
|
||||||
"TELEMETRY_CLIENT_DS_LIST": [
|
"TELEMETRY_CLIENT_LIST": [
|
||||||
{
|
{
|
||||||
"prefix": "DestinationGroup_HS",
|
"prefix": "DestinationGroup",
|
||||||
|
"name": "HS",
|
||||||
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
||||||
}
|
},
|
||||||
],
|
|
||||||
"TELEMETRY_CLIENT_SUB_LIST": [
|
|
||||||
{
|
{
|
||||||
"prefix": "Subscription_HS_RDMA",
|
"prefix": "Subscription",
|
||||||
|
"name": "HS_RDMA",
|
||||||
"dst_group": "FS",
|
"dst_group": "FS",
|
||||||
"path_target": "COUNTERS_DB",
|
"path_target": "COUNTERS_DB",
|
||||||
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
@ -64,15 +64,15 @@
|
|||||||
"src_ip": "30.57.185.388",
|
"src_ip": "30.57.185.388",
|
||||||
"unidirectional": "true"
|
"unidirectional": "true"
|
||||||
},
|
},
|
||||||
"TELEMETRY_CLIENT_DS_LIST": [
|
"TELEMETRY_CLIENT_LIST": [
|
||||||
{
|
{
|
||||||
"prefix": "DestinationGroup_HS",
|
"prefix": "DestinationGroup",
|
||||||
|
"name": "HS",
|
||||||
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
||||||
}
|
},
|
||||||
],
|
|
||||||
"TELEMETRY_CLIENT_SUB_LIST": [
|
|
||||||
{
|
{
|
||||||
"prefix": "Subscription_HS_RDMA",
|
"prefix": "Subscription",
|
||||||
|
"name": "HS_RDMA",
|
||||||
"dst_group": "HS",
|
"dst_group": "HS",
|
||||||
"path_target": "COUNTERS_DB",
|
"path_target": "COUNTERS_DB",
|
||||||
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
@ -92,15 +92,15 @@
|
|||||||
"src_ip": "30.57.185.38",
|
"src_ip": "30.57.185.38",
|
||||||
"unidirectional": "true"
|
"unidirectional": "true"
|
||||||
},
|
},
|
||||||
"TELEMETRY_CLIENT_DS_LIST": [
|
"TELEMETRY_CLIENT_LIST": [
|
||||||
{
|
{
|
||||||
"prefix": "DestinationGroup_HS",
|
"prefix": "DestinationGroup",
|
||||||
|
"name": "HS",
|
||||||
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
"dst_addr": "30.57.186.214:8081,30.57.185.39:8081"
|
||||||
}
|
},
|
||||||
],
|
|
||||||
"TELEMETRY_CLIENT_SUB_LIST": [
|
|
||||||
{
|
{
|
||||||
"prefix": "Subscription_HS_RDMA",
|
"prefix": "Subscription",
|
||||||
|
"name": "HS_RDMA",
|
||||||
"dst_group": "HS",
|
"dst_group": "HS",
|
||||||
"path_target": "COUNTERS_DB",
|
"path_target": "COUNTERS_DB",
|
||||||
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
@ -120,15 +120,15 @@
|
|||||||
"src_ip": "30.57.185.38",
|
"src_ip": "30.57.185.38",
|
||||||
"unidirectional": "true"
|
"unidirectional": "true"
|
||||||
},
|
},
|
||||||
"TELEMETRY_CLIENT_DS_LIST": [
|
"TELEMETRY_CLIENT_LIST": [
|
||||||
{
|
{
|
||||||
"prefix": "DestinationGroup_HS",
|
"prefix": "DestinationGroup",
|
||||||
|
"name": "HS",
|
||||||
"dst_addr": "30.57.186.214:80819,30.57.185.39:8081"
|
"dst_addr": "30.57.186.214:80819,30.57.185.39:8081"
|
||||||
}
|
},
|
||||||
],
|
|
||||||
"TELEMETRY_CLIENT_SUB_LIST": [
|
|
||||||
{
|
{
|
||||||
"prefix": "Subscription_HS_RDMA",
|
"prefix": "Subscription",
|
||||||
|
"name": "HS_RDMA",
|
||||||
"dst_group": "HS",
|
"dst_group": "HS",
|
||||||
"path_target": "COUNTERS_DB",
|
"path_target": "COUNTERS_DB",
|
||||||
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
"paths": "COUNTERS/Ethernet*,COUNTERS_PORT_NAME_MAP",
|
||||||
|
@ -86,33 +86,26 @@ module sonic-telemetry_client {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
list TELEMETRY_CLIENT_DS_LIST {
|
list TELEMETRY_CLIENT_LIST {
|
||||||
ordered-by user;
|
ordered-by user;
|
||||||
key "prefix";
|
key "prefix name";
|
||||||
|
|
||||||
leaf prefix {
|
leaf prefix {
|
||||||
type string {
|
type string {
|
||||||
pattern "DestinationGroup_" + ".*";
|
pattern 'Subscription|DestinationGroup';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
leaf name {
|
||||||
|
type string;
|
||||||
|
}
|
||||||
|
|
||||||
leaf dst_addr {
|
leaf dst_addr {
|
||||||
type ipv4-port;
|
type ipv4-port;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
list TELEMETRY_CLIENT_SUB_LIST {
|
|
||||||
ordered-by user;
|
|
||||||
key "prefix";
|
|
||||||
|
|
||||||
leaf prefix {
|
|
||||||
type string {
|
|
||||||
pattern "Subscription_" + ".*";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
leaf dst_group {
|
leaf dst_group {
|
||||||
must "(contains(../../TELEMETRY_CLIENT_DS_LIST/prefix, current()))";
|
must "(contains(../../TELEMETRY_CLIENT_LIST/name, current()))";
|
||||||
type string;
|
type string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user