[qos reload] Fix "config qos reload" overriding entire CONFIG_DB #90
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What I did
config qos reload
command uses a combination ofsonic-cfggen
's flags-d
and--write-to-db
that makes it override entire CONFIG_DB, updating every key. This leads to issues with Orchs, daemons that do not support updating keys in CONFIG_DB. Best case, it causes errors in logs.How I did it
First, render templates to temporary files, then load those files into CONFIG_DB.
Also, fixed an issue where using
dry_run
option only produced QOS config but not the buffer configuration and updated test files accordingly.How to verify it
Run on switch:
Previous command output (if the output of a command-line utility has changed)
New command output (if the output of a command-line utility has changed)