[memory_checker] Enhance the implementation with flexible memory checker. #8343
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.
Signed-off-by: Yong Zhao yozhao@microsoft.com
Why I did it
This PR aims to enhance the implementation of high memory restart feature which will restart a container if the memory usage of it is continuously beyond the threshold.
Initially the memory threshold is passed as a parameter to the script
memory_checker
and high memory restart feature is by default enabled. However, the flexible way should be retrieving the high memory restart state and memory threshold of each container from Config_DB bymemory_checker
. Then the container will be restarted only if the high memory restart state is enabled and memory usage is continuously beyond the threshold.How I did it
First I add two more fields in the
FEATURE
table for each container:high_mem_restart
andmem_threshold
. Thenmemory_checker
invoked by Monit is changed to retrieve these two configuration fields fromConfig_DB
. After that,memory_checker
will move forward to do the checking.How to verify it
I tested this change on DuT
str-msn2700-20
. But I will submit PR to enhance the implementation of pytest script.Which release branch to backport (provide reason below if selected)
Description for the changelog
A picture of a cute animal (not mandatory but encouraged)