You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Orchagent exit after configuring incorrect advertised interface type value. But it seems that this is by design, see sonic-net/sonic-swss#1665. In the PR, it introduces a new way to handle SAI return value.
task_process_status Orch::handleSaiSetStatus(sai_api_t api, sai_status_t status, void *context)
{
/* * This function aims to provide coarse handling of failures in sairedis set * operation (i.e., notify users by throwing excepions when failures happen). * Return value: task_success - Handled the status successfully. No need to retry this SAI operation. * task_need_retry - Cannot handle the status. Need to retry the SAI operation. * task_failed - Failed to handle the status but another attempt is unlikely to resolve the failure. * TODO: 1. Add general handling logic for specific statuses * 2. Develop fine-grain failure handling mechanisms and replace this coarse handling * in each orch. * 3. Take the type of sai api into consideration.*/switch (status)
{
case SAI_STATUS_SUCCESS:
SWSS_LOG_WARN("SAI_STATUS_SUCCESS is not expected in handleSaiSetStatus");
return task_success;
default:
SWSS_LOG_ERROR("Encountered failure in set operation, exiting orchagent, SAI API: %s, status: %s",
sai_serialize_api(api).c_str(), sai_serialize_status(status).c_str());
exit(EXIT_FAILURE);
}
return task_need_retry;
}
It just exit if the SAI return value is not SAI_STATUS_SUCCESS. To me, it looks like too strict. In my case, I configured port adv_speeds=100G, adv_interface_types=CR (correct value should be CR4), SAI returned and orchagent just exited. Maybe we should provide a way for user to correct his/her configuration? Or is there a known better way to handle such case?
Related log:
Jun 1 03:35:22.172518 r-leopard-41 ERR swss#orchagent: :- set: set status: SAI_STATUS_INVALID_ATTR_VALUE_0
Jun 1 03:35:22.172518 r-leopard-41 ERR swss#orchagent: :- handleSaiSetStatus: Encountered failure in set operation, exiting orchagent, SAI API: SAI_API_PORT, status: SAI_STATUS_INVALID_ATTR_VALUE_0
Description
Orchagent exit after configuring incorrect advertised interface type value. But it seems that this is by design, see sonic-net/sonic-swss#1665. In the PR, it introduces a new way to handle SAI return value.
It just exit if the SAI return value is not SAI_STATUS_SUCCESS. To me, it looks like too strict. In my case, I configured port adv_speeds=100G, adv_interface_types=CR (correct value should be CR4), SAI returned and orchagent just exited. Maybe we should provide a way for user to correct his/her configuration? Or is there a known better way to handle such case?
Related log:
Steps to reproduce the issue:
Describe the results you received:
Orchagent exited.
Describe the results you expected:
Orchagent should not exit.
Output of
show version
:Master branch hash 6616c1b
Output of
show techsupport
:N/A
Additional information you deem important (e.g. issue happens only occasionally):
The text was updated successfully, but these errors were encountered: