[action] [PR:20726] [database]: Fix "program:redisprogram:redis_bmp" ERR from supervisor (#20726)#20898
Merged
mssonicbld merged 1 commit intosonic-net:202405from Dec 4, 2024
Conversation
…onic-net#20726) == Why I did it == Commit 06c469e added an extra redis instance. This resulted in a two item string without linefeeds in /etc/supervisor/critical_processes: program:redisprogram:redis_bmp That resulted in an error in syslog and docker-database failing. == Work item tracking == ERR database#supervisor-proc-exit-listener: Syntax of the line program:redisprogram:redis_bmp#012 in processes file is incorrect. Exiting... (sonic-net#20636) ossobv#17 == How I did it == Replace the jinja2 whitespace eating hyphens from BOL to EOL. Note that j2 and the jinja2 parser in sonig-cfggen do not behave the same. The sonig-cfggen is the relevant one. Before: $ j2 ./dockers/docker-database/critical_processes.j2.old -f json \ <<< '{"INSTANCES":{"foo":"bar","baz":"..."}}' | | program:foo program:baz # docker exec database sonic-cfggen \ -j /var/run/redis/sonic-db/database_config.json \ -t /usr/share/sonic/templates/critical_processes.j2.old program:redisprogram:redis_bmp After: $ j2 ./dockers/docker-database/critical_processes.j2 -f json \ <<< '{"INSTANCES":{"foo":"bar","baz":"..."}}' program:foo program:baz # docker exec database sonic-cfggen \ -j /var/run/redis/sonic-db/database_config.json \ -t /usr/share/sonic/templates/critical_processes.j2 program:redis program:redis_bmp | After this fix, the output in /etc/supervisor/critical_processes is correct and the error from docker-database is gone.
Collaborator
Author
|
Original PR: #20726 |
Contributor
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
== Why I did it ==
Commit 06c469e added an extra redis instance. This resulted in a
two item string without linefeeds in /etc/supervisor/critical_processes:
program:redisprogram:redis_bmp
That resulted in an error in syslog and docker-database failing.
== Work item tracking ==
ERR database#supervisor-proc-exit-listener: Syntax of the line
program:redisprogram:redis_bmp#012 in processes file is incorrect.
Exiting... (#20636)
ossobv#17
== How I did it ==
Replace the jinja2 whitespace eating hyphens from BOL to EOL.
Note that j2 and the jinja2 parser in sonig-cfggen do not behave the
same. The sonig-cfggen is the relevant one.
Before:
$ j2 ./dockers/docker-database/critical_processes.j2.old -f json
<<< '{"INSTANCES":{"foo":"bar","baz":"..."}}'
|
|
program:foo
program:baz
docker exec database sonic-cfggen \
program:redisprogram:redis_bmp
After:
$ j2 ./dockers/docker-database/critical_processes.j2 -f json
<<< '{"INSTANCES":{"foo":"bar","baz":"..."}}'
program:foo
program:baz
docker exec database sonic-cfggen \
program:redis
program:redis_bmp
|
After this fix, the output in /etc/supervisor/critical_processes is
correct and the error from docker-database is gone.