sonic-net / sonic-utilities

Command line utilities for the SONiC project
Other
150 stars 627 forks source link

mmuconfig fails to change profile parameters #359

Open andriymoroz-mlnx opened 5 years ago

andriymoroz-mlnx commented 5 years ago

Description mmuconfig utility is not able to update profile because the attribute it is about to change is defined as "create only"

Steps to reproduce the issue

  1. execute sudo mmuconfig -p pg_lossless_40000_40m_profile -a 1

Describe the results you received Oct 28 16:15:44.645926 arc-switch1038 ERR swss#orchagent: :- meta_generic_validation_set: SAI_BUFFER_PROFILE_ATTR_POOL_ID:SAI_ATTR_VALUE_TYPE_OBJECT_ID attr is create only and cannot be modified Oct 28 16:15:44.645926 arc-switch1038 ERR swss#orchagent: :- processBufferProfile: Failed to modify buffer profile, name:pg_lossless_40000_40m_profile, sai object:19000000000598, status:-5 Oct 28 16:15:44.645926 arc-switch1038 ERR swss#orchagent: :- doTask: Failed to process buffer task, drop it

Describe the results you expected No errors in log

Additional information you deem important (e.g. issue happens only occasionally)

Output of show version SONiC Software Version: SONiC.HEAD.775-b954fa9 Distribution: Debian 9.5 Kernel: 4.9.0-7-amd64 Build commit: b954fa9 Build date: Fri Oct 26 12:47:01 UTC 2018 Built by: johnar@jenkins-worker-3

wendani commented 5 years ago

@andriymoroz-mlnx Thank you for catching this error. This is due to the current implementation of SubscriberStateTable. When a field:value changes under a key, the whole field:value tuples under that key is fetched from config_db. Changes should be made in the processing logic of the case of sai object already existing. We should filter out only the one that is being changed by the user. https://github.com/Azure/sonic-swss/blob/36e304db4ab01ed9d75230b842ff44c1cda6b281/orchagent/bufferorch.cpp#L333 So we do not support mmconfig CLI yet so far though the cli itself has been defined.