sonic-net/sonic-sairedis

check_object_default_state on objlist type should only return error when non SAI_OBJECT_NULL_ID presented in the list

baxia-lan opened this issue · 0 comments

During dynamic port breakout, set objlist of port attribute to empty

2021-12-08.03:57:14.810442|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_DSCP_TO_TC_MAP=oid:0x0
2021-12-08.03:57:14.810830|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_DOT1P_TO_TC_MAP=oid:0x0
2021-12-08.03:57:14.811252|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_TC_TO_QUEUE_MAP=oid:0x0
2021-12-08.03:57:14.811705|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_SCHEDULER_PROFILE_ID=oid:0x0
2021-12-08.03:57:14.812091|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_TC_TO_PRIORITY_GROUP_MAP=oid:0x0
2021-12-08.03:57:14.812449|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_PFC_PRIORITY_TO_PRIORITY_GROUP_MAP=oid:0x0
2021-12-08.03:57:14.812819|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_PFC_PRIORITY_TO_QUEUE_MAP=oid:0x0
2021-12-08.03:57:14.813182|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_EGRESS_BUFFER_PROFILE_LIST=0:null
2021-12-08.03:57:14.813605|s|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_QOS_INGRESS_BUFFER_PROFILE_LIST=0:null
2021-12-08.03:57:14.814041|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002

And then deleting the port gets error

Dec  8 03:57:10.823905 68cdf23b649e NOTICE #orchagent: :- meta_port_remove_validation: all objects related to port oid:0x1000000000002 are in default state, can be remove
Dec  8 03:57:10.824321 68cdf23b649e NOTICE #syncd: :- collectPortRelatedObjects: obtained 41 port oid:0x100000001 related RIDs
Dec  8 03:57:10.824392 68cdf23b649e NOTICE #syncd: :- meta_port_remove_validation: all objects related to port oid:0x100000001 are in default state, can be remove
Dec  8 03:57:10.824409 68cdf23b649e NOTICE #syncd: :- check_port_dependencies: port oid:0x100000001 found, for removal
Dec  8 03:57:10.824432 68cdf23b649e NOTICE #syncd: :- get_object_list: SAI_PORT_ATTR_QOS_QUEUE_LIST returned 20 objects for oid:0x100000001
Dec  8 03:57:10.824448 68cdf23b649e NOTICE #syncd: :- get_object_list: SAI_PORT_ATTR_INGRESS_PRIORITY_GROUP_LIST returned 8 objects for oid:0x100000001
Dec  8 03:57:10.824463 68cdf23b649e NOTICE #syncd: :- get_object_list: SAI_PORT_ATTR_QOS_SCHEDULER_GROUP_LIST returned 13 objects for oid:0x100000001
Dec  8 03:57:10.824497 68cdf23b649e ERR #syncd: :- check_object_default_state: expected empty list on SAI_PORT_ATTR_QOS_INGRESS_BUFFER_PROFILE_LIST on oid:0x100000001, contents:
Dec  8 03:57:10.824507 68cdf23b649e ERR #syncd: :- check_object_default_state:  - oid: oid:0x0
Dec  8 03:57:10.824968 68cdf23b649e ERR #syncd: message repeated 127 times: [ :- check_object_default_state:  - oid: oid:0x0]
Dec  8 03:57:10.825058 68cdf23b649e ERR #syncd: :- check_port_dependencies: one of objects is not in default state, can't remove port oid:0x100000001
Dec  8 03:57:10.825067 68cdf23b649e ERR #syncd: :- removePort: port oid:0x100000001 still have some active dependencies, can't remove
Dec  8 03:57:10.825071 68cdf23b649e ERR #syncd: :- remove: remove status: SAI_STATUS_OBJECT_IN_USE
Dec  8 03:57:10.825076 68cdf23b649e ERR #syncd: :- sendApiResponse: api SAI_COMMON_API_REMOVE failed in syncd mode: SAI_STATUS_OBJECT_IN_USE
Dec  8 03:57:10.825376 68cdf23b649e ERR #orchagent: :- remove: remove status: SAI_STATUS_OBJECT_IN_USE