From aaefb718a85f7cefea9bf46e1a33ec4e6760ea93 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 30 Aug 2024 18:26:17 +0800 Subject: [PATCH 01/29] Updated supervisord.conf.j2 to support multidb --- 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..88a303e2d80d 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -31,6 +31,8 @@ dependent_startup=true {% if INSTANCES %} {% for redis_inst, redis_items in INSTANCES.items() %} {%- if redis_inst != 'remote_redis' %} + + [program:{{ redis_inst }}] {% if redis_items['hostname'] != '127.0.0.1' %} {%- set ADDITIONAL_OPTS = '--protected-mode no' %} @@ -43,7 +45,6 @@ dependent_startup=true {%- 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 -user=redis autostart=true autorestart=false stdout_logfile=syslog From 289f8e642fefa2c7370ce0f393fa723cbf78fe4a Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Sat, 31 Aug 2024 18:04:53 +0800 Subject: [PATCH 02/29] chown redis --- dockers/docker-database/docker-database-init.sh | 1 + dockers/docker-database/supervisord.conf.j2 | 2 ++ 2 files changed, 3 insertions(+) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 467f33c212d1..d343216fe343 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -130,5 +130,6 @@ rm -rf /etc/localtime ln -sf /usr/share/zoneinfo/$TZ /etc/localtime chown -R redis:redis $REDIS_DIR +chown -R redis:redis /var/lib exec /usr/local/bin/supervisord diff --git a/dockers/docker-database/supervisord.conf.j2 b/dockers/docker-database/supervisord.conf.j2 index 88a303e2d80d..95ee23d40e11 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -45,6 +45,7 @@ dependent_startup=true {%- 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 +user=redis autostart=true autorestart=false stdout_logfile=syslog @@ -53,6 +54,7 @@ stderr_logfile=syslog {% endfor %} {% endif %} + [program:flushdb] command=/bin/bash -c "sleep 300 && /usr/local/bin/flush_unused_database" priority=3 From f51867e4cb0712e4120f79ea49a384e62ec67c30 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Sun, 1 Sep 2024 16:20:15 +0800 Subject: [PATCH 03/29] update multi db json.j2 --- dockers/docker-database/Dockerfile.j2 | 1 + .../multi_database_config.json.j2 | 182 ++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 dockers/docker-database/multi_database_config.json.j2 diff --git a/dockers/docker-database/Dockerfile.j2 b/dockers/docker-database/Dockerfile.j2 index 6f39d0ac5f58..d9ba01360b30 100644 --- a/dockers/docker-database/Dockerfile.j2 +++ b/dockers/docker-database/Dockerfile.j2 @@ -48,5 +48,6 @@ COPY ["files/supervisor-proc-exit-listener", "/usr/bin"] COPY ["files/sysctl-net.conf", "/etc/sysctl.d/"] COPY ["files/update_chassisdb_config", "/usr/local/bin/"] COPY ["flush_unused_database", "/usr/local/bin/"] +COPY ["multi_database_config.json.j2", "/usr/share/sonic/templates/"] ENTRYPOINT ["/usr/local/bin/docker-database-init.sh"] diff --git a/dockers/docker-database/multi_database_config.json.j2 b/dockers/docker-database/multi_database_config.json.j2 new file mode 100644 index 000000000000..d9d2bcf5f931 --- /dev/null +++ b/dockers/docker-database/multi_database_config.json.j2 @@ -0,0 +1,182 @@ +{% set include_remote_db = (REMOTE_DB_IP is defined and REMOTE_DB_PORT is defined) %} +{ + "INSTANCES": { + "redis":{ + "hostname" : "{{HOST_IP}}", + "port" : {{REDIS_PORT}}, + "unix_socket_path" : "/var/run/redis{{DEV}}/redis.sock", + "persistence_for_warm_boot" : "yes" + {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} + ,"database_type": "{{DATABASE_TYPE}}" + {% endif %} + }, + "redis1": { + "hostname" : "{{HOST_IP}}", + "port" : {{REDIS_PORT + 1}}, + "unix_socket_path" : "/var/run/redis{{DEV}}/redis1.sock", + "persistence_for_warm_boot" : "yes" + {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} + ,"database_type": "{{DATABASE_TYPE}}" + {% endif %} + }, + "redis2": { + "hostname" : "{{HOST_IP}}", + "port" : {{REDIS_PORT + 2}}, + "unix_socket_path" : "/var/run/redis{{DEV}}/redis2.sock", + "persistence_for_warm_boot" : "yes" + {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} + ,"database_type": "{{DATABASE_TYPE}}" + {% endif %} + }, + "redis3": { + "hostname" : "{{HOST_IP}}", + "port" : {{REDIS_PORT + 3}}, + "unix_socket_path" : "/var/run/redis{{DEV}}/redis3.sock", + "persistence_for_warm_boot" : "yes" + {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} + ,"database_type": "{{DATABASE_TYPE}}" + {% endif %} + }, + "redis4": { + "hostname" : "{{HOST_IP}}", + "port" : {{REDIS_PORT + 4}}, + "unix_socket_path" : "/var/run/redis{{DEV}}/redis4.sock", + "persistence_for_warm_boot" : "yes" + {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} + ,"database_type": "{{DATABASE_TYPE}}" + {% endif %} + }, + "redis_chassis":{ + "hostname" : "redis_chassis.server", + "port": 6380, + "unix_socket_path": "/var/run/redis-chassis/redis_chassis.sock", + "persistence_for_warm_boot" : "yes" + } +{% if include_remote_db %} + ,"remote_redis":{ + "hostname" : "{{REMOTE_DB_IP}}", + "port" : {{REMOTE_DB_PORT}}, + "unix_socket_path": "", + "persistence_for_warm_boot" : "yes" + } +{% endif %} + }, + "DATABASES" : { + "APPL_DB": { + "id": 0, + "separator": ":", + "instance": "redis1" + }, + "ASIC_DB": { + "id": 1, + "separator": ":", + "instance": "redis2" + }, + "COUNTERS_DB": { + "id": 2, + "separator": ":", + "instance": "redis3" + }, + "LOGLEVEL_DB": { + "id": 3, + "separator": ":", + "instance": "redis" + }, + "CONFIG_DB": { + "id": 4, + "separator": "|", + "instance": "redis" + }, + "PFC_WD_DB": { + "id": 5, + "separator": ":", + "instance": "redis3" + }, + "FLEX_COUNTER_DB": { + "id": 5, + "separator": ":", + "instance": "redis3" + }, + "STATE_DB": { + "id": 6, + "separator": "|", + "instance": "redis" + }, + "SNMP_OVERLAY_DB": { + "id": 7, + "separator": "|", + "instance": "redis" + }, + "SYSMON_DB": { + "id": 10, + "separator": "|", + "instance": "redis" + }, + "BMC_DB": { + "id": 12, + "separator": ":", + "instance": "redis4" + }, + "RESTAPI_DB": { + "id": 8, + "separator": "|", + "instance": "redis" + }, + "GB_ASIC_DB": { + "id": 9, + "separator": ":", + "instance": "redis" + }, + "GB_COUNTERS_DB": { + "id": 10, + "separator": ":", + "instance": "redis" + }, + "GB_FLEX_COUNTER_DB": { + "id": 11, + "separator": ":", + "instance": "redis" + }, + "APPL_STATE_DB": { + "id": 14, + "separator": ":", + "instance": "redis" + }, + "CHASSIS_APP_DB" : { + "id" : 12, + "separator": "|", + "instance" : "redis_chassis" + }, + "CHASSIS_STATE_DB" : { + "id" : 13, + "separator": "|", + "instance" : "redis_chassis" + } +{% if DATABASE_TYPE is defined and DATABASE_TYPE == "dpudb" %} + , + "DPU_APPL_DB" : { + "id" : 15, + "separator": ":", + "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %}, + "format": "proto" + }, + "DPU_APPL_STATE_DB" : { + "id" : 16, + "separator": "|", + "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %} + }, + "DPU_STATE_DB" : { + "id" : 17, + "separator": "|", + "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %} + }, + "DPU_COUNTERS_DB" : { + "id" : 18, + "separator": ":", + "instance" : {% if include_remote_db %} "remote_redis" {% else %} "redis" {% endif %} + } +{% endif %} + }, + "VERSION" : "1.0" +} + From 42fc418f39ca458465755cfb3fe11e3f14161003 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Sun, 1 Sep 2024 17:11:44 +0800 Subject: [PATCH 04/29] [sonic-swss] update submodule for sonic-swss --- src/sonic-swss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-swss b/src/sonic-swss index 29cea04a0b98..d4b143ecd77b 160000 --- a/src/sonic-swss +++ b/src/sonic-swss @@ -1 +1 @@ -Subproject commit 29cea04a0b98cc440fd5730c758a9b73ac95362c +Subproject commit d4b143ecd77b08567f7f8ef9292efde73c06e5b1 From 67a980410b109b6676457b76b02f9736eda8400e Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Sun, 1 Sep 2024 18:19:53 +0800 Subject: [PATCH 05/29] Updated docker-database-init.sh to support multidb --- dockers/docker-database/docker-database-init.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index d343216fe343..b4014b91c581 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -45,10 +45,20 @@ REDIS_DIR=/var/run/redis$NAMESPACE_ID mkdir -p $REDIS_DIR/sonic-db mkdir -p /etc/supervisor/conf.d/ +# read SONiC immutable variables +[ -f /etc/sonic/sonic-environment ] && . /etc/sonic/sonic-environment + +HWSKU=${HWSKU:-`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['hwsku']"`} + if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else - HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE + if [ $HWSKU == "Force10-S6000" ]; then + j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + else + j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + fi fi # on VoQ system, we only publish redis_chassis instance and CHASSIS_APP_DB when From 4c6527ef1d1eaa4396fff8644574f337dbe852d5 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Sun, 1 Sep 2024 19:04:14 +0800 Subject: [PATCH 06/29] update multi_database_config.json.j2 --- dockers/docker-database/multi_database_config.json.j2 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/dockers/docker-database/multi_database_config.json.j2 b/dockers/docker-database/multi_database_config.json.j2 index d9d2bcf5f931..c6ddbbea8b55 100644 --- a/dockers/docker-database/multi_database_config.json.j2 +++ b/dockers/docker-database/multi_database_config.json.j2 @@ -12,7 +12,7 @@ }, "redis1": { "hostname" : "{{HOST_IP}}", - "port" : {{REDIS_PORT + 1}}, + "port" : 6380, "unix_socket_path" : "/var/run/redis{{DEV}}/redis1.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -21,7 +21,7 @@ }, "redis2": { "hostname" : "{{HOST_IP}}", - "port" : {{REDIS_PORT + 2}}, + "port" : 6381, "unix_socket_path" : "/var/run/redis{{DEV}}/redis2.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -30,7 +30,7 @@ }, "redis3": { "hostname" : "{{HOST_IP}}", - "port" : {{REDIS_PORT + 3}}, + "port" : 6382, "unix_socket_path" : "/var/run/redis{{DEV}}/redis3.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -39,7 +39,7 @@ }, "redis4": { "hostname" : "{{HOST_IP}}", - "port" : {{REDIS_PORT + 4}}, + "port" : 6383, "unix_socket_path" : "/var/run/redis{{DEV}}/redis4.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -179,4 +179,3 @@ }, "VERSION" : "1.0" } - From 46939a0bc0ccb5f02a86f2568b9dee18a6988964 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Sun, 1 Sep 2024 19:17:20 +0800 Subject: [PATCH 07/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index b4014b91c581..351c62143db2 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -53,11 +53,10 @@ HWSKU=${HWSKU:-`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['hwsku']"`} if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else - HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE if [ $HWSKU == "Force10-S6000" ]; then - j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json else - j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json fi fi From 5b3c458ecde233ac64d2308f83246fc1c4e9a683 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Thu, 5 Sep 2024 12:19:08 +0800 Subject: [PATCH 08/29] update multi_database_config.json --- dockers/docker-database/multi_database_config.json.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/dockers/docker-database/multi_database_config.json.j2 b/dockers/docker-database/multi_database_config.json.j2 index c6ddbbea8b55..8a68a77afdac 100644 --- a/dockers/docker-database/multi_database_config.json.j2 +++ b/dockers/docker-database/multi_database_config.json.j2 @@ -39,6 +39,7 @@ }, "redis4": { "hostname" : "{{HOST_IP}}", + "bind": "240.1.1.2 127.0.0.1", "port" : 6383, "unix_socket_path" : "/var/run/redis{{DEV}}/redis4.sock", "persistence_for_warm_boot" : "yes" From 2bc006ad14af055f46217012618b62f0de7ff2b8 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Thu, 5 Sep 2024 14:41:00 +0800 Subject: [PATCH 09/29] update critical_processes.j2 --- dockers/docker-database/critical_processes.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/dockers/docker-database/critical_processes.j2 b/dockers/docker-database/critical_processes.j2 index 1f524132e938..cbc3243da523 100644 --- a/dockers/docker-database/critical_processes.j2 +++ b/dockers/docker-database/critical_processes.j2 @@ -1,5 +1,6 @@ {% if INSTANCES %} {% for redis_inst, redis_items in INSTANCES.items() %} + program:{{ redis_inst }} {%- endfor %} {%- endif %} From 614bb83c823c5189b93fc1750b00be947c7585f4 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Thu, 5 Sep 2024 18:00:53 +0800 Subject: [PATCH 10/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 351c62143db2..3f0ede6cbede 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -132,6 +132,8 @@ do else echo -n > /var/lib/$inst/dump.rdb fi + + chown -R redis:redis /var/lib/$inst done TZ=$(cat /etc/timezone) @@ -139,6 +141,5 @@ rm -rf /etc/localtime ln -sf /usr/share/zoneinfo/$TZ /etc/localtime chown -R redis:redis $REDIS_DIR -chown -R redis:redis /var/lib exec /usr/local/bin/supervisord From e42bfc316dea82da2a67120158d5256b208537da Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 6 Sep 2024 18:08:01 +0800 Subject: [PATCH 11/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 3f0ede6cbede..75f7b8a5f0c6 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -48,8 +48,6 @@ mkdir -p /etc/supervisor/conf.d/ # read SONiC immutable variables [ -f /etc/sonic/sonic-environment ] && . /etc/sonic/sonic-environment -HWSKU=${HWSKU:-`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['hwsku']"`} - if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else From f51eedb494a1698b4a5eaa7fa5e3d555934e9dbd Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Wed, 11 Sep 2024 16:18:47 +0800 Subject: [PATCH 12/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 75f7b8a5f0c6..ff7351439eb5 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -45,8 +45,8 @@ REDIS_DIR=/var/run/redis$NAMESPACE_ID mkdir -p $REDIS_DIR/sonic-db mkdir -p /etc/supervisor/conf.d/ -# read SONiC immutable variables -[ -f /etc/sonic/sonic-environment ] && . /etc/sonic/sonic-environment + +[ -f /usr/share/sonic/platform/default_sku ] && HWSKU=$(head -1 /usr/share/sonic/platform/default_sku | awk '{print $1}') if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json From 2b121deef586f13623a0280666804382f3f427d4 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 20 Sep 2024 00:37:15 +0800 Subject: [PATCH 13/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index ff7351439eb5..a575a1f91835 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -45,13 +45,24 @@ REDIS_DIR=/var/run/redis$NAMESPACE_ID mkdir -p $REDIS_DIR/sonic-db mkdir -p /etc/supervisor/conf.d/ +multidb_hwsku_check() { + local hwsku=$1 + local hwsku_enable_list="Force10-S6000 cisco-8101-p4-32x100-vs" + + if echo "$hwsku_enable_list" | grep -qw "$hwsku"; then + return 0 + else + return 1 + fi +} [ -f /usr/share/sonic/platform/default_sku ] && HWSKU=$(head -1 /usr/share/sonic/platform/default_sku | awk '{print $1}') if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else - if [ $HWSKU == "Force10-S6000" ]; then + #if [ $HWSKU == "Force10-S6000" ]; then + if multidb_hwsku_check "$HWSKU"; then HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json else HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json From 397c6fa63359c3f834993c1b8735ae8855fbcb05 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Mon, 23 Sep 2024 15:19:42 +0800 Subject: [PATCH 14/29] Enable Multi DB --- dockers/docker-database/docker-database-init.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index a575a1f91835..0760942cddf9 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -61,7 +61,6 @@ multidb_hwsku_check() { if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else - #if [ $HWSKU == "Force10-S6000" ]; then if multidb_hwsku_check "$HWSKU"; then HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json else From 81fdc485da5060f8ae8a6ff2d5e0cfdcfb66202b Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Tue, 24 Sep 2024 14:11:21 +0800 Subject: [PATCH 15/29] Revert changes to src/sonic-swss --- src/sonic-swss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sonic-swss b/src/sonic-swss index d4b143ecd77b..29cea04a0b98 160000 --- a/src/sonic-swss +++ b/src/sonic-swss @@ -1 +1 @@ -Subproject commit d4b143ecd77b08567f7f8ef9292efde73c06e5b1 +Subproject commit 29cea04a0b98cc440fd5730c758a9b73ac95362c From a220f2c195801280403ec810f5dff36c76342b57 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Thu, 26 Sep 2024 13:11:19 +0800 Subject: [PATCH 16/29] enable multi db for cisco-8101-p4-32x100-vs --- dockers/docker-database/docker-database-init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 0760942cddf9..ed90b3f66f8b 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -47,7 +47,7 @@ mkdir -p /etc/supervisor/conf.d/ multidb_hwsku_check() { local hwsku=$1 - local hwsku_enable_list="Force10-S6000 cisco-8101-p4-32x100-vs" + local hwsku_enable_list="cisco-8101-p4-32x100-vs" if echo "$hwsku_enable_list" | grep -qw "$hwsku"; then return 0 From e53cc25ca8c0cdb32f1c32e1d2809162d229b072 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Wed, 9 Oct 2024 19:38:36 +0800 Subject: [PATCH 17/29] Set ENABLE_MULTIDB=y when building SONiC image and enable Multidb depends on /etc/sonic/enable_multidb --- Makefile.work | 4 ++++ dockers/docker-database/docker-database-init.sh | 15 +-------------- files/build_templates/sonic_debian_extension.j2 | 5 +++++ slave.mk | 2 ++ 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/Makefile.work b/Makefile.work index 6079906a1005..69e1430f2966 100644 --- a/Makefile.work +++ b/Makefile.work @@ -61,6 +61,9 @@ # * SONIC_PTF_ENV_PY_VER: Python version for PTF image # * Default: mixed # * Values: mixed,py3 +# * ENABLE_MULTIDB: Enable multiple redis database instances. +# * Default: unset +# * Values: y ############################################################################### SHELL = /bin/bash @@ -570,6 +573,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \ BUILD_PROCESS_TIMEOUT=$(BUILD_PROCESS_TIMEOUT) \ LEGACY_SONIC_MGMT_DOCKER=$(LEGACY_SONIC_MGMT_DOCKER) \ SONIC_PTF_ENV_PY_VER=$(SONIC_PTF_ENV_PY_VER) \ + ENABLE_MULTIDB=$(ENABLE_MULTIDB) \ $(SONIC_OVERRIDE_BUILD_VARS) .PHONY: sonic-slave-build sonic-slave-bash init reset diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index ed90b3f66f8b..8464c8faffd7 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -45,23 +45,10 @@ REDIS_DIR=/var/run/redis$NAMESPACE_ID mkdir -p $REDIS_DIR/sonic-db mkdir -p /etc/supervisor/conf.d/ -multidb_hwsku_check() { - local hwsku=$1 - local hwsku_enable_list="cisco-8101-p4-32x100-vs" - - if echo "$hwsku_enable_list" | grep -qw "$hwsku"; then - return 0 - else - return 1 - fi -} - -[ -f /usr/share/sonic/platform/default_sku ] && HWSKU=$(head -1 /usr/share/sonic/platform/default_sku | awk '{print $1}') - if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else - if multidb_hwsku_check "$HWSKU"; then + if [ -f /etc/sonic/enable_multidb ]; then HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json else HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 1845f9b8c18e..0f86e190581f 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -1131,3 +1131,8 @@ sudo rm -rf $FILESYSTEM_ROOT/tmp/mask_disabled_services.py sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install python3-dbus + +## Enable MULTIDB +{% if ENABLE_MULTIDB == "y" %} +sudo touch $FILESYSTEM_ROOT_ETC_SONIC/enable_multidb +{% endif %} diff --git a/slave.mk b/slave.mk index 15abbc7259d9..e878e6db0fed 100644 --- a/slave.mk +++ b/slave.mk @@ -472,6 +472,7 @@ $(info "CROSS_BUILD_ENVIRON" : "$(CROSS_BUILD_ENVIRON)") $(info "LEGACY_SONIC_MGMT_DOCKER" : "$(LEGACY_SONIC_MGMT_DOCKER)") $(info "INCLUDE_EXTERNAL_PATCHES" : "$(INCLUDE_EXTERNAL_PATCHES)") $(info "PTF_ENV_PY_VER" : "$(PTF_ENV_PY_VER)") +$(info "ENABLE_MULTIDB" : "$(ENABLE_MULTIDB)") $(info ) else $(info SONiC Build System for $(CONFIGURED_PLATFORM):$(CONFIGURED_ARCH)) @@ -1492,6 +1493,7 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \ export include_mux="$(INCLUDE_MUX)" export include_bootchart="$(INCLUDE_BOOTCHART)" export enable_bootchart="$(ENABLE_BOOTCHART)" + export enable_multidb="$(ENABLE_MULTIDB)" $(foreach docker, $($*_DOCKERS),\ export docker_image="$(docker)" export docker_image_name="$(basename $(docker))" From 87aab3e40dfa1bbb896c04dfd0f8c8ec9d572979 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Thu, 10 Oct 2024 14:57:43 +0800 Subject: [PATCH 18/29] update sonic_debian_extension.j2 --- .../build_templates/sonic_debian_extension.j2 | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 0f86e190581f..ce2d0d7a94ba 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -362,13 +362,16 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/sonic-db-cli_*.deb || \ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f -{% if include_system_eventd == "y" and build_reduce_image_size != "y" %} +{% if include_system_eventd == "y" %} # Install sonic-rsyslog-plugin sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/sonic-rsyslog-plugin_*.deb || \ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f # Generate host conf for rsyslog_plugin -j2 -f json $BUILD_TEMPLATES/rsyslog_plugin.conf.j2 $BUILD_TEMPLATES/events_info.json | sudo tee $FILESYSTEM_ROOT_ETC/rsyslog.d/host_events.conf +sudo mkdir -p $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/rsyslog_plugin +sudo cp $BUILD_TEMPLATES/rsyslog_plugin.conf.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/rsyslog_plugin/ +sudo cp $BUILD_TEMPLATES/events_info.json $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/rsyslog_plugin/ +sudo cp $BUILD_TEMPLATES/syncd_events_info.json $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/rsyslog_plugin/ sudo cp $BUILD_TEMPLATES/monit_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/sshd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/systemd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ @@ -377,11 +380,7 @@ sudo cp $BUILD_TEMPLATES/dockerd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/seu_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/zebra_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/bgpd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ - - -j2 -f json $BUILD_TEMPLATES/rsyslog_plugin.conf.j2 $BUILD_TEMPLATES/syncd_events_info.json | sudo tee $FILESYSTEM_ROOT_ETC/rsyslog.d/syncd_events.conf sudo cp $BUILD_TEMPLATES/syncd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ - {% endif %} # Install custom-built monit package and SONiC configuration files @@ -431,6 +430,13 @@ echo "ntpsec.service" | sudo tee -a $GENERATED_SERVICE_FILE # Copy DNS templates sudo cp $BUILD_TEMPLATES/dns.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/ +# Copy cli-sessions config files +sudo cp $IMAGE_CONFIGS/cli_sessions/tmout-env.sh.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/ +sudo cp $IMAGE_CONFIGS/cli_sessions/sysrq-sysctl.conf.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/ +sudo cp $IMAGE_CONFIGS/cli_sessions/serial-config.sh $FILESYSTEM_ROOT/usr/bin/ +sudo cp $IMAGE_CONFIGS/cli_sessions/serial-config.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM +echo "serial-config.service" | sudo tee -a $GENERATED_SERVICE_FILE + # Copy warmboot-finalizer files sudo LANG=C cp $IMAGE_CONFIGS/warmboot-finalizer/finalize-warmboot.sh $FILESYSTEM_ROOT/usr/local/bin/finalize-warmboot.sh sudo LANG=C cp $IMAGE_CONFIGS/warmboot-finalizer/warmboot-finalizer.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM @@ -1095,6 +1101,14 @@ sudo install -m 755 platform/mellanox/rshim/files/rshim.sh $FILESYSTEM_ROOT/usr/ # Install rshim services sudo cp platform/mellanox/rshim/files/rshim@.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/ sudo cp platform/mellanox/rshim/files/rshim-manager.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/ + +# Install dpuctl script and config file +sudo install -m 755 platform/mellanox/smartswitch/dpuctl/dpuctl.sh $FILESYSTEM_ROOT/usr/bin/dpuctl.sh +sudo install -m 755 platform/mellanox/smartswitch/dpuctl/dpu.conf $FILESYSTEM_ROOT_ETC/mlnx/ + +# Install dpuctl services +sudo cp platform/mellanox/smartswitch/dpuctl/dpuctl.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM/ + {% endif %} {% if sonic_asic_platform == "nvidia-bluefield" %} @@ -1108,6 +1122,8 @@ for fw_file_name in ${!FW_FILE_MAP[@]}; do sudo ln -s /host/image-$SONIC_IMAGE_VERSION/$PLATFORM_DIR/fw/dpu/${FW_FILE_MAP[$fw_file_name]} $FILESYSTEM_ROOT/etc/bluefield/${FW_FILE_MAP[$fw_file_name]} done +sudo install -m 755 platform/nvidia-bluefield/byo/sonic-byo.py $FILESYSTEM_ROOT/usr/bin/sonic-byo.py + SONIC_PLATFORM_PY3_WHEEL_NAME=$(basename {{platform_api_py3_wheel_path}}) sudo cp {{platform_api_py3_wheel_path}} $FILESYSTEM_ROOT/$SONIC_PLATFORM_PY3_WHEEL_NAME sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install $SONIC_PLATFORM_PY3_WHEEL_NAME From 8c942d601c7de57abc11d3abacfe2d2f72fa26d6 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Wed, 23 Oct 2024 13:07:23 +0800 Subject: [PATCH 19/29] remove "bind": "240.1.1.2 127.0.0.1" --- dockers/docker-database/multi_database_config.json.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/dockers/docker-database/multi_database_config.json.j2 b/dockers/docker-database/multi_database_config.json.j2 index 8a68a77afdac..c6ddbbea8b55 100644 --- a/dockers/docker-database/multi_database_config.json.j2 +++ b/dockers/docker-database/multi_database_config.json.j2 @@ -39,7 +39,6 @@ }, "redis4": { "hostname" : "{{HOST_IP}}", - "bind": "240.1.1.2 127.0.0.1", "port" : 6383, "unix_socket_path" : "/var/run/redis{{DEV}}/redis4.sock", "persistence_for_warm_boot" : "yes" From 5981cb43983860db679a3d10a745948727a922e2 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 1 Nov 2024 08:40:03 +0800 Subject: [PATCH 20/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 04b13c5990cc..5cbba0bb85d8 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -50,15 +50,11 @@ mkdir -p /etc/supervisor/conf.d/ if [ -f /etc/sonic/database_config$NAMESPACE_ID.json ]; then cp /etc/sonic/database_config$NAMESPACE_ID.json $REDIS_DIR/sonic-db/database_config.json else -<<<<<<< HEAD if [ -f /etc/sonic/enable_multidb ]; then - HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE BMP_DB_PORT=$BMP_DB_PORT j2 /usr/share/sonic/templates/multi_database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json else - HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json + HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE BMP_DB_PORT=$BMP_DB_PORT j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json fi -======= - HOST_IP=$host_ip REDIS_PORT=$redis_port DATABASE_TYPE=$DATABASE_TYPE BMP_DB_PORT=$BMP_DB_PORT j2 /usr/share/sonic/templates/database_config.json.j2 > $REDIS_DIR/sonic-db/database_config.json ->>>>>>> 8a9ff73c9339cabc9413b796157afae563df114f fi # on VoQ system, we only publish redis_chassis instance and CHASSIS_APP_DB when From 1743065e7f0e0c58171fa30784b4708f87eaf707 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 1 Nov 2024 10:38:51 +0800 Subject: [PATCH 21/29] chmod -f 0760 $sock_file --- dockers/docker-database/docker-database-init.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 5cbba0bb85d8..31b6c77bf448 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -131,6 +131,8 @@ do fi chown -R redis:redis /var/lib/$inst + sock_file="/var/run/redis/$inst.sock" + chgrp -f redis $sock_file && chmod -f 0760 $sock_file done TZ=$(cat /etc/timezone) From ca52619f0aa456027d25bc246b08234943b87643 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 1 Nov 2024 13:43:40 +0800 Subject: [PATCH 22/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 31b6c77bf448..5cbba0bb85d8 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -131,8 +131,6 @@ do fi chown -R redis:redis /var/lib/$inst - sock_file="/var/run/redis/$inst.sock" - chgrp -f redis $sock_file && chmod -f 0760 $sock_file done TZ=$(cat /etc/timezone) From 8c5405ea1c3a28d69867abaa9377b637004a4a40 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Mon, 4 Nov 2024 12:15:22 +0800 Subject: [PATCH 23/29] update docker-database-init.sh --- dockers/docker-database/docker-database-init.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 5cbba0bb85d8..31b6c77bf448 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -131,6 +131,8 @@ do fi chown -R redis:redis /var/lib/$inst + sock_file="/var/run/redis/$inst.sock" + chgrp -f redis $sock_file && chmod -f 0760 $sock_file done TZ=$(cat /etc/timezone) From 21850145bbeafc113c98386505fdfb89b362b8a3 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Mon, 4 Nov 2024 13:45:54 +0800 Subject: [PATCH 24/29] update docker-databse-init.sh --- dockers/docker-database/docker-database-init.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 31b6c77bf448..5cbba0bb85d8 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -131,8 +131,6 @@ do fi chown -R redis:redis /var/lib/$inst - sock_file="/var/run/redis/$inst.sock" - chgrp -f redis $sock_file && chmod -f 0760 $sock_file done TZ=$(cat /etc/timezone) From 5c98f54cec20f2438d947f08d34cab260c5a6808 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Mon, 4 Nov 2024 14:51:24 +0800 Subject: [PATCH 25/29] chmod -f 0760 $sock_file --- dockers/docker-database/docker-database-init.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 5cbba0bb85d8..10da1d391e78 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -131,6 +131,10 @@ do fi chown -R redis:redis /var/lib/$inst + sock_file="$REDIS_DIR/$inst.sock" + if [[ -f $sock_file ]]; then + chgrp -f redis $sock_file && chmod -f 0760 $sock_file + fi done TZ=$(cat /etc/timezone) From 2f7eda000af91da01d01e49d53117a8969c07871 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Wed, 6 Nov 2024 13:41:06 +0800 Subject: [PATCH 26/29] going down for new redis instances --- dockers/docker-database/multi_database_config.json.j2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dockers/docker-database/multi_database_config.json.j2 b/dockers/docker-database/multi_database_config.json.j2 index a3d23832aea2..26ddb006b83d 100644 --- a/dockers/docker-database/multi_database_config.json.j2 +++ b/dockers/docker-database/multi_database_config.json.j2 @@ -12,7 +12,7 @@ }, "redis1": { "hostname" : "{{HOST_IP}}", - "port" : 6380, + "port" : 6378, "unix_socket_path" : "/var/run/redis{{DEV}}/redis1.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -21,7 +21,7 @@ }, "redis2": { "hostname" : "{{HOST_IP}}", - "port" : 6381, + "port" : 6377, "unix_socket_path" : "/var/run/redis{{DEV}}/redis2.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -30,7 +30,7 @@ }, "redis3": { "hostname" : "{{HOST_IP}}", - "port" : 6382, + "port" : 6376, "unix_socket_path" : "/var/run/redis{{DEV}}/redis3.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} @@ -39,7 +39,7 @@ }, "redis4": { "hostname" : "{{HOST_IP}}", - "port" : 6383, + "port" : 6375, "unix_socket_path" : "/var/run/redis{{DEV}}/redis4.sock", "persistence_for_warm_boot" : "yes" {% if DATABASE_TYPE is defined and DATABASE_TYPE != "" %} From 3b3064579b986f49959533b3d20d55d6c8a63444 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Wed, 6 Nov 2024 22:43:20 +0800 Subject: [PATCH 27/29] revert changes to supervisord.conf.j2 and revert chmod -f 0760 $sock_file --- dockers/docker-database/docker-database-init.sh | 4 ---- dockers/docker-database/supervisord.conf.j2 | 3 --- 2 files changed, 7 deletions(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 10da1d391e78..5cbba0bb85d8 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -131,10 +131,6 @@ do fi chown -R redis:redis /var/lib/$inst - sock_file="$REDIS_DIR/$inst.sock" - if [[ -f $sock_file ]]; then - chgrp -f redis $sock_file && chmod -f 0760 $sock_file - fi done TZ=$(cat /etc/timezone) diff --git a/dockers/docker-database/supervisord.conf.j2 b/dockers/docker-database/supervisord.conf.j2 index 2e8c6116a128..f2fdffd2677d 100644 --- a/dockers/docker-database/supervisord.conf.j2 +++ b/dockers/docker-database/supervisord.conf.j2 @@ -31,8 +31,6 @@ dependent_startup=true {% if INSTANCES %} {% for redis_inst, redis_items in INSTANCES.items() %} {%- if redis_inst != 'remote_redis' %} - - [program:{{ redis_inst }}] {% if redis_items['hostname'] != '127.0.0.1' %} {%- set ADDITIONAL_OPTS = '--protected-mode no' %} @@ -55,7 +53,6 @@ stderr_logfile=syslog {% endfor %} {% endif %} - [program:flushdb] command=/bin/bash -c "sleep 300 && /usr/local/bin/flush_unused_database" priority=3 From 55808b514aeb5c56373b4066b3f65215bb490e55 Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Thu, 7 Nov 2024 10:30:31 +0800 Subject: [PATCH 28/29] add comments on chown -R redis:redis /var/lib/$inst --- dockers/docker-database/docker-database-init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockers/docker-database/docker-database-init.sh b/dockers/docker-database/docker-database-init.sh index 5cbba0bb85d8..076e06396447 100755 --- a/dockers/docker-database/docker-database-init.sh +++ b/dockers/docker-database/docker-database-init.sh @@ -129,7 +129,7 @@ do else echo -n > /var/lib/$inst/dump.rdb fi - + # the Redis process is operating under the 'redis' user in supervisord and make redis user own /var/lib/$inst inside db container. chown -R redis:redis /var/lib/$inst done From f947e14fde766b43b48f04cec89aee9c1291900c Mon Sep 17 00:00:00 2001 From: Panxt <993660576@qq.com> Date: Fri, 8 Nov 2024 10:51:20 +0800 Subject: [PATCH 29/29] change {%- endfor %} to {% endfor %} in critical_processes.j2 --- dockers/docker-database/critical_processes.j2 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dockers/docker-database/critical_processes.j2 b/dockers/docker-database/critical_processes.j2 index cbc3243da523..5ddd782e172b 100644 --- a/dockers/docker-database/critical_processes.j2 +++ b/dockers/docker-database/critical_processes.j2 @@ -1,6 +1,5 @@ {% if INSTANCES %} {% for redis_inst, redis_items in INSTANCES.items() %} - program:{{ redis_inst }} -{%- endfor %} +{% endfor %} {%- endif %}