Skip to content

Commit

Permalink
[yang]Add missing fields in PortChannel yang model (sonic-net#14045)
Browse files Browse the repository at this point in the history
Fixing issue sonic-net#13983
Added Missing fields in sonic-portchannel yang model.
"fallback" and "fast_rate" fields are present in configuration schema but not in yang model. This leads to traceback when yang is validated

sonic_yang(3):All Keys are not parsed in PORTCHANNEL
dict_keys(['PortChannel100'])
sonic_yang(3):exceptionList:["'fast_rate'"]
sonic_yang(3):Data Loading Failed:All Keys are not parsed in PORTCHANNEL
dict_keys(['PortChannel100'])
exceptionList:["'fast_rate'"]
Data Loading Failed
All Keys are not parsed in PORTCHANNEL
dict_keys(['PortChannel100'])
exceptionList:["'fast_rate'"]
ConfigMgmt Class creation failed
Failed to break out Port. Error: Failed to load the config. Error: ConfigMgmtDPB Class creation failed

Updated yang model

Added tests to verify

Part of the PR
  • Loading branch information
dgsudharsan committed Mar 7, 2023
1 parent e57197b commit e1ec0d3
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 3 deletions.
6 changes: 5 additions & 1 deletion src/sonic-yang-models/doc/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,9 @@ name as object key and member list as attribute.
"members": [
"Ethernet56"
],
"mtu": "9100"
"mtu": "9100",
"fallback": "false",
"fast_rate": "true"
}
}
}
Expand Down Expand Up @@ -1938,3 +1940,5 @@ Incremental Configuration by Subscribing to ConfigDB
Detail instruction to be added. A sample could be found in this
[PR](https://github.com/Azure/sonic-buildimage/pull/861) that
implemented dynamic configuration for BGP.
=======
# SONiC Configuration Database Manual
4 changes: 3 additions & 1 deletion src/sonic-yang-models/tests/files/sample_config_db.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,9 @@
],
"min_links": "2",
"mtu": "9100",
"tpid": "0x8100"
"tpid": "0x8100",
"fast_rate": "false",
"fallback" : "true"
}
},
"PORTCHANNEL_INTERFACE": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@
"eStrKey" : "Pattern",
"eStr": ["0x8100|0x9100|0x9200|0x88a8|0x88A8"]
},
"PORT_CHANNEL_INVALID_FALLBACK": {
"desc": "INCORRECT PORTCHANNEL FALLBACK IN PORT_CHANNEL TABLE.",
"eStrKey" : "Pattern",
"eStr": ["false|true|False|True"]
},
"PORT_CHANNEL_INVALID_FAST_RATE": {
"desc": "INCORRECT PORTCHANNEL FAST_RATE IN PORT_CHANNEL TABLE.",
"eStrKey" : "Pattern",
"eStr": ["false|true|False|True"]
},
"PORTCHANNEL_INTERFACE_IP_ADDR_TEST": {
"desc": "Configure IP address on PORTCHANNEL_INTERFACE table."
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
"mtu": "9100",
"tpid": "0x8100",
"lacp_key": "auto",
"name": "PortChannel0001"
"name": "PortChannel0001",
"fast_rate": "false",
"fallback" : "false"
}
]
}
Expand Down Expand Up @@ -125,6 +127,36 @@
}
}
},
"PORT_CHANNEL_INVALID_FALLBACK": {
"sonic-portchannel:sonic-portchannel": {
"sonic-portchannel:PORTCHANNEL": {
"PORTCHANNEL_LIST": [
{
"admin_status": "up",
"mtu": "9100",
"tpid": "0x9100",
"name": "PortChannel0001",
"fallback": "enabled"
}
]
}
}
},
"PORT_CHANNEL_INVALID_FAST_RATE": {
"sonic-portchannel:sonic-portchannel": {
"sonic-portchannel:PORTCHANNEL": {
"PORTCHANNEL_LIST": [
{
"admin_status": "up",
"mtu": "9100",
"tpid": "0x9100",
"name": "PortChannel0001",
"fast_rate": "TRUE"
}
]
}
}
},
"PORTCHANNEL_INTERFACE_IP_ADDR_TEST": {
"sonic-portchannel:sonic-portchannel": {
"sonic-portchannel:PORTCHANNEL": {
Expand Down
9 changes: 9 additions & 0 deletions src/sonic-yang-models/yang-models/sonic-portchannel.yang
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,15 @@ module sonic-portchannel {
type stypes:tpid_type;
}

leaf fallback {
description "Enable LACP fallback feature";
type stypes:boolean_type;
}
leaf fast_rate {
description "Enable LACP fast rate";
type stypes:boolean_type;
}

} /* end of list PORTCHANNEL_LIST */

} /* end of container PORTCHANNEL */
Expand Down

0 comments on commit e1ec0d3

Please sign in to comment.