Skip to content

Commit e2e53e9

Browse files
Update telemetry docker entry flow to detect FEATURE table (#23756)
keep FEATURE controlling the container functioning or not, but do not want container to be rollouted/rollbacked via k8s during FEATURE switch changes, thus have container check FEATURE table itself and stay idling if FEATURE is disabled
1 parent e1e8a3e commit e2e53e9

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

dockers/docker-sonic-telemetry/Dockerfile.j2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ COPY ["start.sh", "telemetry.sh", "dialout.sh", "/usr/bin/"]
2626
COPY ["telemetry_vars.j2", "/usr/share/sonic/templates/"]
2727
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
2828
COPY ["critical_processes", "/etc/supervisor"]
29+
COPY ["docker-telemetry-entry.sh", "/usr/local/bin/"]
2930

3031
FROM $BASE
3132

@@ -37,4 +38,5 @@ ENV DEBIAN_FRONTEND=noninteractive
3738
# Pass the image_version to container
3839
ENV IMAGE_VERSION=$image_version
3940

40-
ENTRYPOINT ["/usr/local/bin/supervisord"]
41+
RUN chmod +x /usr/local/bin/docker-telemetry-entry.sh
42+
ENTRYPOINT ["/usr/local/bin/docker-telemetry-entry.sh"]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env bash
2+
3+
while true; do
4+
STATE=$(redis-cli -n 4 HGET "FEATURE|telemetry" state)
5+
if [ "$STATE" == "enabled" ]; then
6+
echo "Telemetry is enabled. Starting service..."
7+
break
8+
else
9+
echo "Telemetry is disabled. Entering idle..."
10+
sleep 10
11+
fi
12+
done
13+
14+
exec /usr/local/bin/supervisord

0 commit comments

Comments
 (0)