Skip to content

Commit

Permalink
[database]: Fix "program:redisprogram:redis_bmp" ERR from supervisor (#…
Browse files Browse the repository at this point in the history
…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... (#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.
  • Loading branch information
wdoekes authored and mssonicbld committed Dec 4, 2024
1 parent 7aa6414 commit 2544e48
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions dockers/docker-database/critical_processes.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% if INSTANCES %}
{% for redis_inst, redis_items in INSTANCES.items() %}
{% if INSTANCES -%}
{% for redis_inst, redis_items in INSTANCES.items() -%}
program:{{ redis_inst }}
{%- endfor %}
{%- endif %}
{% endfor -%}
{% endif -%}

0 comments on commit 2544e48

Please sign in to comment.