Skip to content

Commit

Permalink
[yang]Add missing fields in PortChannel yang model (#14045)
Browse files Browse the repository at this point in the history
Fixing issue #13983
#### Why I did it
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


#### How I did it
Updated yang model


#### How to verify it
Added tests to verify

#### Link to config_db schema for YANG module changes
Part of the PR
  • Loading branch information
dgsudharsan authored Mar 2, 2023
1 parent eca5599 commit 764d0b9
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/sonic-yang-models/doc/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -1476,7 +1476,9 @@ name as object key and member list as attribute.
"members": [
"Ethernet56"
],
"mtu": "9100"
"mtu": "9100",
"fallback": "false",
"fast_rate": "true"
}
}
}
Expand Down
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 @@ -108,7 +108,9 @@
"admin_status": "up",
"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 @@ -25,7 +25,9 @@
"mtu": "9100",
"tpid": "0x8100",
"lacp_key": "auto",
"name": "PortChannel0001"
"name": "PortChannel0001",
"fast_rate": "false",
"fallback" : "false"
}
]
}
Expand Down Expand Up @@ -116,6 +118,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 @@ -102,6 +102,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 764d0b9

Please sign in to comment.