From a435bbb0863fbe20a4204ba27ba62ac358b8e7d1 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Mon, 20 May 2024 08:07:51 +0000 Subject: [PATCH 1/6] Add new redis database instance for BMP_STATE_DB. --- dockers/docker-database/database_config.json.j2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dockers/docker-database/database_config.json.j2 b/dockers/docker-database/database_config.json.j2 index b5c231a93f41..a8c8db3e2564 100644 --- a/dockers/docker-database/database_config.json.j2 +++ b/dockers/docker-database/database_config.json.j2 @@ -130,6 +130,12 @@ "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %} } {% endif %} + , + "BMP_STATE_DB" : { + "id" : 19, + "separator": "|", + "instance" : "redis" + } }, "VERSION" : "1.0" } From f7a26c87393322143d088ceaffbd4d17ae6a0cea Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Mon, 20 May 2024 08:07:51 +0000 Subject: [PATCH 2/6] Add new redis database instance for BMP_STATE_DB. --- dockers/docker-database/database_config.json.j2 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dockers/docker-database/database_config.json.j2 b/dockers/docker-database/database_config.json.j2 index b5c231a93f41..1398cd2be3a0 100644 --- a/dockers/docker-database/database_config.json.j2 +++ b/dockers/docker-database/database_config.json.j2 @@ -24,6 +24,12 @@ "persistence_for_warm_boot" : "yes" } {% endif %} + ,"redis_bmp":{ + "hostname" : "redis_bmp.server", + "port": 6399, + "unix_socket_path": "/var/run/redis-chassis/redis_bmp.sock", + "persistence_for_warm_boot" : "yes" + } }, "DATABASES" : { "APPL_DB" : { @@ -130,6 +136,12 @@ "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %} } {% endif %} + , + "BMP_STATE_DB" : { + "id" : 19, + "separator": "|", + "instance" : "redis" + } }, "VERSION" : "1.0" } From fbd913b54a3df34957b7b9de81aadd04328a1c16 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Mon, 9 Sep 2024 07:54:35 +0000 Subject: [PATCH 3/6] Update code --- dockers/docker-database/database_config.json.j2 | 9 ++++----- rules/docker-restapi.mk | 1 - 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dockers/docker-database/database_config.json.j2 b/dockers/docker-database/database_config.json.j2 index 399ad30c77f8..f37b64ee9665 100644 --- a/dockers/docker-database/database_config.json.j2 +++ b/dockers/docker-database/database_config.json.j2 @@ -23,11 +23,11 @@ "unix_socket_path": "", "persistence_for_warm_boot" : "yes" } -{% endif %} - ,"redis_bmp":{ +{% endif %}, + "redis_bmp":{ "hostname" : "{{HOST_IP}}", "port" : {{BMP_DB_PORT}}, - "unix_socket_path" : "/var/run/redis/redis_bmp.sock", + "unix_socket_path" : "/var/run/redis{{DEV}}/redis_bmp.sock", "persistence_for_warm_boot" : "yes" } }, @@ -135,8 +135,7 @@ "separator": ":", "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %} } -{% endif %} - , +{% endif %}, "BMP_STATE_DB" : { "id" : 20, "separator": "|", diff --git a/rules/docker-restapi.mk b/rules/docker-restapi.mk index 5cc515a5991b..0fb8e19d5c92 100644 --- a/rules/docker-restapi.mk +++ b/rules/docker-restapi.mk @@ -29,7 +29,6 @@ endif $(DOCKER_RESTAPI)_CONTAINER_NAME = restapi $(DOCKER_RESTAPI)_RUN_OPT += -t $(DOCKER_RESTAPI)_RUN_OPT += -v /var/run/redis/redis.sock:/var/run/redis/redis.sock -$(DOCKER_RESTAPI)_RUN_OPT += -v /var/run/redis/redis_bmp.sock:/var/run/redis/redis_bmp.sock $(DOCKER_RESTAPI)_RUN_OPT += -v /etc/sonic/credentials:/etc/sonic/credentials:ro $(DOCKER_RESTAPI)_RUN_OPT += -p=8081:8081/tcp From fdf1908b622c9c4642e272d0470fb662f3de0b04 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Fri, 27 Sep 2024 14:22:25 +0000 Subject: [PATCH 4/6] Fix supervisord.conf issue --- dockers/docker-database/supervisord.conf.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/dockers/docker-database/supervisord.conf.j2 b/dockers/docker-database/supervisord.conf.j2 index 232b8ffcbfa7..226b58998b12 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -48,6 +48,7 @@ autostart=true autorestart=false stdout_logfile=syslog stderr_logfile=syslog + {%- endif -%} {% endfor %} {% endif %} From 345efba1866b5742b0731117e12daad9fa852f52 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Fri, 27 Sep 2024 14:22:25 +0000 Subject: [PATCH 5/6] Fix supervisord.conf issue --- dockers/docker-database/supervisord.conf.j2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dockers/docker-database/supervisord.conf.j2 b/dockers/docker-database/supervisord.conf.j2 index 232b8ffcbfa7..f2fdffd2677d 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -48,7 +48,8 @@ autostart=true autorestart=false stdout_logfile=syslog stderr_logfile=syslog -{%- endif -%} + +{% endif %} {% endfor %} {% endif %} From 26b1ae9aa602804416ffa0dabb3c7588cb5a4b49 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Mon, 30 Sep 2024 16:59:01 +0000 Subject: [PATCH 6/6] Fix supervisord.conf.j2 issue --- dockers/docker-database/supervisord.conf.j2 | 26 ++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/dockers/docker-database/supervisord.conf.j2 b/dockers/docker-database/supervisord.conf.j2 index 0800e1ddff31..3c27415fcb0c 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -28,8 +28,18 @@ stdout_logfile=syslog stderr_logfile=syslog dependent_startup=true +[program:flushdb] +command=/bin/bash -c "sleep 300 && /usr/local/bin/flush_unused_database" +priority=2 +autostart=false +autorestart=false +stdout_logfile=syslog +stderr_logfile=syslog +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running + {% if INSTANCES %} -{% for redis_inst, redis_items in INSTANCES.items() %} +{% for index, (redis_inst, redis_items) in enumerate(INSTANCES.items()) %} {%- if redis_inst != 'remote_redis' %} [program:{{ redis_inst }}] {% if redis_items['hostname'] != '127.0.0.1' %} @@ -42,23 +52,13 @@ dependent_startup=true {%- set ADDITIONAL_OPTS = '' %} {%- endif -%} command=/bin/bash -c "{ [[ -s /var/lib/{{ redis_inst }}/dump.rdb ]] || rm -f /var/lib/{{ redis_inst }}/dump.rdb; } && mkdir -p /var/lib/{{ redis_inst }} && exec /usr/bin/redis-server /etc/redis/redis.conf --bind {{ LOOPBACK_IP }} {{ redis_items['hostname'] }} --port {{ redis_items['port'] }} --unixsocket {{ redis_items['unix_socket_path'] }} --pidfile /var/run/redis/{{ redis_inst }}.pid --dir /var/lib/{{ redis_inst }} {{ ADDITIONAL_OPTS }}" -priority=2 +priority={{ index + 3 }} user=redis autostart=true autorestart=false stdout_logfile=syslog stderr_logfile=syslog -{% endif -%} +{% endif %} {% endfor %} {% endif %} - -[program:flushdb] -command=/bin/bash -c "sleep 300 && /usr/local/bin/flush_unused_database" -priority=3 -autostart=false -autorestart=false -stdout_logfile=syslog -stderr_logfile=syslog -dependent_startup=true -dependent_startup_wait_for=rsyslogd:running