[action] [PR:20726] [database]: Fix "program:redisprogram:redis_bmp" ERR from supervisor (#20726) #20898
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.