From 95b7fd7fce6933a9263b50ea8bef55b6c6733957 Mon Sep 17 00:00:00 2001 From: Sree Iyer Date: Wed, 2 Sep 2026 09:31:26 +0000 Subject: [PATCH] alpine-config wait for redis, copp_cfg cleanup Signed-off-by: Sree Iyer --- docker-sonic-alpinevs/Dockerfile.j2 | 1 + docker-sonic-alpinevs/alpinevs-script.sh | 22 ++- docker-sonic-alpinevs/copp_cfg_alpinevs.j2 | 192 ++++++--------------- docker-sonic-alpinevs/supervisord.conf.j2 | 6 +- docker-syncd-vs/Dockerfile.j2 | 19 +- 5 files changed, 81 insertions(+), 159 deletions(-) diff --git a/docker-sonic-alpinevs/Dockerfile.j2 b/docker-sonic-alpinevs/Dockerfile.j2 index 8789b35..f2391ce 100644 --- a/docker-sonic-alpinevs/Dockerfile.j2 +++ b/docker-sonic-alpinevs/Dockerfile.j2 @@ -20,6 +20,7 @@ RUN apt-get update && apt-get install -y \ ndisc6 \ ethtool \ tcpdump \ + strace \ ifupdown \ bridge-utils \ libjudydebian1 \ diff --git a/docker-sonic-alpinevs/alpinevs-script.sh b/docker-sonic-alpinevs/alpinevs-script.sh index b9ee4ca..f048083 100755 --- a/docker-sonic-alpinevs/alpinevs-script.sh +++ b/docker-sonic-alpinevs/alpinevs-script.sh @@ -1,9 +1,19 @@ #!/bin/bash -ex -# This script now calls pkt-handler at the end and blocks. Because of this, -# alpinevs-healthcheck.sh expects the script to be always running. -# If pkt-handler is made to run in the background and this script terminates -# modify the health script, perhaps handling this as a special case. - /usr/bin/alpinevs-init.sh -/usr/bin/alpinevs-config.sh + +# Wait for Redis to be responsive +echo "Waiting for Redis to start..." +MAX_RETRIES=30 +COUNT=0 +while ! redis-cli ping > /dev/null 2>&1; do + sleep 1 + COUNT=$((COUNT + 1)) + if [ $COUNT -ge $MAX_RETRIES ]; then + echo "Redis failed to start in $MAX_RETRIES seconds. Exiting." + exit 1 + fi +done +echo "Redis is up. Proceeding with configuration." + +exec /usr/bin/alpinevs-config.sh diff --git a/docker-sonic-alpinevs/copp_cfg_alpinevs.j2 b/docker-sonic-alpinevs/copp_cfg_alpinevs.j2 index 18e3076..9bf39db 100644 --- a/docker-sonic-alpinevs/copp_cfg_alpinevs.j2 +++ b/docker-sonic-alpinevs/copp_cfg_alpinevs.j2 @@ -33,244 +33,148 @@ "queue": "7" }, "trap.group.cpu.queue.0": { - "queue": "0", - "genetlink_name" : "genl_packet_q0", - "genetlink_mcgrp_name" : "packets" + "queue": "0" }, "trap.group.cpu.queue.1": { - "queue": "1", - "genetlink_name" : "genl_packet_q1", - "genetlink_mcgrp_name" : "packets" + "queue": "1" }, "trap.group.cpu.queue.2": { - "queue": "2", - "genetlink_name" : "genl_packet_q2", - "genetlink_mcgrp_name" : "packets" + "queue": "2" }, "trap.group.cpu.queue.3": { - "queue": "3", - "genetlink_name" : "genl_packet_q3", - "genetlink_mcgrp_name" : "packets" + "queue": "3" }, "trap.group.cpu.queue.4": { - "queue": "4", - "genetlink_name" : "genl_packet_q4", - "genetlink_mcgrp_name" : "packets" + "queue": "4" }, "trap.group.cpu.queue.5": { - "queue": "5", - "genetlink_name" : "genl_packet_q5", - "genetlink_mcgrp_name" : "packets" + "queue": "5" }, "trap.group.cpu.queue.6": { - "queue": "6", - "genetlink_name" : "genl_packet_q6", - "genetlink_mcgrp_name" : "packets" + "queue": "6" }, "trap.group.cpu.queue.7": { - "queue": "7", - "genetlink_name" : "genl_packet_q7", - "genetlink_mcgrp_name" : "packets" + "queue": "7" }, "trap.group.cpu.queue.8": { - "queue": "8", - "genetlink_name" : "genl_packet_q8", - "genetlink_mcgrp_name" : "packets" + "queue": "8" }, "trap.group.cpu.queue.9": { - "queue": "9", - "genetlink_name" : "genl_packet_q9", - "genetlink_mcgrp_name" : "packets" + "queue": "9" }, "trap.group.cpu.queue.10": { - "queue": "10", - "genetlink_name" : "genl_packet_q10", - "genetlink_mcgrp_name" : "packets" + "queue": "10" }, "trap.group.cpu.queue.11": { - "queue": "11", - "genetlink_name" : "genl_packet_q11", - "genetlink_mcgrp_name" : "packets" + "queue": "11" }, "trap.group.cpu.queue.12": { - "queue": "12", - "genetlink_name" : "genl_packet_q12", - "genetlink_mcgrp_name" : "packets" + "queue": "12" }, "trap.group.cpu.queue.13": { - "queue": "13", - "genetlink_name" : "genl_packet_q13", - "genetlink_mcgrp_name" : "packets" + "queue": "13" }, "trap.group.cpu.queue.14": { - "queue": "14", - "genetlink_name" : "genl_packet_q14", - "genetlink_mcgrp_name" : "packets" + "queue": "14" }, "trap.group.cpu.queue.15": { - "queue": "15", - "genetlink_name" : "genl_packet_q15", - "genetlink_mcgrp_name" : "packets" + "queue": "15" }, "trap.group.cpu.queue.16": { - "queue": "16", - "genetlink_name" : "genl_packet_q16", - "genetlink_mcgrp_name" : "packets" + "queue": "16" }, "trap.group.cpu.queue.17": { - "queue": "17", - "genetlink_name" : "genl_packet_q17", - "genetlink_mcgrp_name" : "packets" + "queue": "17" }, "trap.group.cpu.queue.18": { - "queue": "18", - "genetlink_name" : "genl_packet_q18", - "genetlink_mcgrp_name" : "packets" + "queue": "18" }, "trap.group.cpu.queue.19": { - "queue": "19", - "genetlink_name" : "genl_packet_q19", - "genetlink_mcgrp_name" : "packets" + "queue": "19" }, "trap.group.cpu.queue.20": { - "queue": "20", - "genetlink_name" : "genl_packet_q20", - "genetlink_mcgrp_name" : "packets" + "queue": "20" }, "trap.group.cpu.queue.21": { - "queue": "21", - "genetlink_name" : "genl_packet_q21", - "genetlink_mcgrp_name" : "packets" + "queue": "21" }, "trap.group.cpu.queue.22": { - "queue": "22", - "genetlink_name" : "genl_packet_q22", - "genetlink_mcgrp_name" : "packets" + "queue": "22" }, "trap.group.cpu.queue.23": { - "queue": "23", - "genetlink_name" : "genl_packet_q23", - "genetlink_mcgrp_name" : "packets" + "queue": "23" }, "trap.group.cpu.queue.24": { - "queue": "24", - "genetlink_name" : "genl_packet_q24", - "genetlink_mcgrp_name" : "packets" + "queue": "24" }, "trap.group.cpu.queue.25": { - "queue": "25", - "genetlink_name" : "genl_packet_q25", - "genetlink_mcgrp_name" : "packets" + "queue": "25" }, "trap.group.cpu.queue.26": { - "queue": "26", - "genetlink_name" : "genl_packet_q26", - "genetlink_mcgrp_name" : "packets" + "queue": "26" }, "trap.group.cpu.queue.27": { - "queue": "27", - "genetlink_name" : "genl_packet_q27", - "genetlink_mcgrp_name" : "packets" + "queue": "27" }, "trap.group.cpu.queue.28": { - "queue": "28", - "genetlink_name" : "genl_packet_q28", - "genetlink_mcgrp_name" : "packets" + "queue": "28" }, "trap.group.cpu.queue.29": { - "queue": "29", - "genetlink_name" : "genl_packet_q29", - "genetlink_mcgrp_name" : "packets" + "queue": "29" }, "trap.group.cpu.queue.30": { - "queue": "30", - "genetlink_name" : "genl_packet_q30", - "genetlink_mcgrp_name" : "packets" + "queue": "30" }, "trap.group.cpu.queue.31": { - "queue": "31", - "genetlink_name" : "genl_packet_q31", - "genetlink_mcgrp_name" : "packets" + "queue": "31" }, "trap.group.cpu.queue.32": { - "queue": "32", - "genetlink_name" : "genl_packet_q32", - "genetlink_mcgrp_name" : "packets" + "queue": "32" }, "trap.group.cpu.queue.33": { - "queue": "33", - "genetlink_name" : "genl_packet_q33", - "genetlink_mcgrp_name" : "packets" + "queue": "33" }, "trap.group.cpu.queue.34": { - "queue": "34", - "genetlink_name" : "genl_packet_q34", - "genetlink_mcgrp_name" : "packets" + "queue": "34" }, "trap.group.cpu.queue.35": { - "queue": "35", - "genetlink_name" : "genl_packet_q35", - "genetlink_mcgrp_name" : "packets" + "queue": "35" }, "trap.group.cpu.queue.36": { - "queue": "36", - "genetlink_name" : "genl_packet_q36", - "genetlink_mcgrp_name" : "packets" + "queue": "36" }, "trap.group.cpu.queue.37": { - "queue": "37", - "genetlink_name" : "genl_packet_q37", - "genetlink_mcgrp_name" : "packets" + "queue": "37" }, "trap.group.cpu.queue.38": { - "queue": "38", - "genetlink_name" : "genl_packet_q38", - "genetlink_mcgrp_name" : "packets" + "queue": "38" }, "trap.group.cpu.queue.39": { - "queue": "39", - "genetlink_name" : "genl_packet_q39", - "genetlink_mcgrp_name" : "packets" + "queue": "39" }, "trap.group.cpu.queue.40": { - "queue": "40", - "genetlink_name" : "genl_packet_q40", - "genetlink_mcgrp_name" : "packets" + "queue": "40" }, "trap.group.cpu.queue.41": { - "queue": "41", - "genetlink_name" : "genl_packet_q41", - "genetlink_mcgrp_name" : "packets" + "queue": "41" }, "trap.group.cpu.queue.42": { - "queue": "42", - "genetlink_name" : "genl_packet_q42", - "genetlink_mcgrp_name" : "packets" + "queue": "42" }, "trap.group.cpu.queue.43": { - "queue": "43", - "genetlink_name" : "genl_packet_q43", - "genetlink_mcgrp_name" : "packets" + "queue": "43" }, "trap.group.cpu.queue.44": { - "queue": "44", - "genetlink_name" : "genl_packet_q44", - "genetlink_mcgrp_name" : "packets" + "queue": "44" }, "trap.group.cpu.queue.45": { - "queue": "45", - "genetlink_name" : "genl_packet_q45", - "genetlink_mcgrp_name" : "packets" + "queue": "45" }, "trap.group.cpu.queue.46": { - "queue": "46", - "genetlink_name" : "genl_packet_q46", - "genetlink_mcgrp_name" : "packets" + "queue": "46" }, "trap.group.cpu.queue.47": { - "queue": "47", - "genetlink_name" : "genl_packet_q47", - "genetlink_mcgrp_name" : "packets" + "queue": "47" } }, "COPP_TRAP": { diff --git a/docker-sonic-alpinevs/supervisord.conf.j2 b/docker-sonic-alpinevs/supervisord.conf.j2 index 5fd2481..b4c4dab 100644 --- a/docker-sonic-alpinevs/supervisord.conf.j2 +++ b/docker-sonic-alpinevs/supervisord.conf.j2 @@ -22,9 +22,9 @@ command=/usr/sbin/rsyslogd -n priority=2 autostart=false autorestart=false -stdout_logfile=NONE +stdout_logfile=/var/log/rsyslogd.log stdout_syslog=true -stderr_logfile=NONE +stderr_logfile=/var/log/rsyslog.err stderr_syslog=true [program:redis-server] @@ -296,7 +296,7 @@ stderr_syslog=true [program:alpine] command=/usr/bin/alpinevs-script.sh -priority=25 +priority=30 autostart=true autorestart=false startsecs=0 diff --git a/docker-syncd-vs/Dockerfile.j2 b/docker-syncd-vs/Dockerfile.j2 index aa57a24..a231b6f 100644 --- a/docker-syncd-vs/Dockerfile.j2 +++ b/docker-syncd-vs/Dockerfile.j2 @@ -7,11 +7,18 @@ RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%s ## Make apt-get non-interactive ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update - -RUN apt-get install -f -y libcap2-bin -RUN apt-get install -f -y libgoogle-glog-dev -RUN apt-get install -f -y libgrpc++1.51 libgrpc29 libprotobuf32 libprotoc-dev protobuf-compiler python3-protobuf libgrpc++-dev libgrpc-dev protobuf-compiler-grpc +RUN apt-get update && apt-get install -f -y \ + libcap2-bin \ + libgoogle-glog-dev \ + libabsl-dev \ + libgrpc++-dev \ + libgrpc-dev \ + libprotobuf-dev \ + libprotoc-dev \ + protobuf-compiler \ + protobuf-compiler-grpc \ + python3-protobuf \ + && rm -rf /var/lib/apt/lists/* COPY debs/libnl-3-dev_{{ LIBNL3_VERSION_SONIC }}_{{ CONFIGURED_ARCH }}.deb debs/libnl-route-3-dev_{{ LIBNL3_VERSION_SONIC }}_{{ CONFIGURED_ARCH }}.deb debs/ RUN dpkg -i debs/libnl-3-dev_{{ LIBNL3_VERSION_SONIC }}_{{ CONFIGURED_ARCH }}.deb debs/libnl-route-3-dev_{{ LIBNL3_VERSION_SONIC }}_{{ CONFIGURED_ARCH }}.deb @@ -38,7 +45,7 @@ COPY ["start.sh", "/usr/bin/"] COPY ["critical_processes", "/etc/supervisor/"] ## Clean up -RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y +RUN apt-get clean -y; apt-get autoclean -y RUN rm -rf /debs ENTRYPOINT ["/usr/local/bin/supervisord"]