From d346cb3898d58aeb16c22a66a79b117ab267d4b8 Mon Sep 17 00:00:00 2001
From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com>
Date: Wed, 6 Nov 2019 22:12:31 +0200
Subject: [PATCH] [services] make snmp.timer work again and delay
 telemetry.service (#3657)

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
---
 files/build_templates/snmp.service.j2           | 2 --
 files/build_templates/sonic_debian_extension.j2 | 6 ++++--
 files/build_templates/telemetry.service.j2      | 2 --
 files/build_templates/telemetry.timer           | 9 +++++++++
 4 files changed, 13 insertions(+), 6 deletions(-)
 create mode 100644 files/build_templates/telemetry.timer

diff --git a/files/build_templates/snmp.service.j2 b/files/build_templates/snmp.service.j2
index 310048e68beb..9d419b8e0dfd 100644
--- a/files/build_templates/snmp.service.j2
+++ b/files/build_templates/snmp.service.j2
@@ -14,5 +14,3 @@ ExecStop=/usr/bin/{{docker_container_name}}.sh stop
 Restart=always
 RestartSec=30
 
-[Install]
-WantedBy=multi-user.target swss.service
diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2
index d08aa7b6f1cc..9e8d4eb16a3e 100644
--- a/files/build_templates/sonic_debian_extension.j2
+++ b/files/build_templates/sonic_debian_extension.j2
@@ -317,7 +317,7 @@ EOF
 ## Bind docker path
 if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
     sudo mkdir -p $FILESYSTEM_ROOT/dockerfs
-    sudo mount --bind dockerfs $FILESYSTEM_ROOT/dockerfs 
+    sudo mount --bind dockerfs $FILESYSTEM_ROOT/dockerfs
 fi
 
 {% if installer_images.strip() -%}
@@ -334,7 +334,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS ta
 {% endif %}
 {% endfor %}
 if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
-    sudo umount $FILESYSTEM_ROOT/dockerfs 
+    sudo umount $FILESYSTEM_ROOT/dockerfs
     sudo rm -fr $FILESYSTEM_ROOT/dockerfs
     sudo kill -9 `sudo $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS_PID` || true
 else
@@ -362,6 +362,8 @@ sudo LANG=C cp $SCRIPTS_DIR/syncd.sh $FILESYSTEM_ROOT/usr/local/bin/syncd.sh
 # It implements delayed start of services
 sudo cp $BUILD_TEMPLATES/snmp.timer $FILESYSTEM_ROOT/etc/systemd/system/
 sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable snmp.timer
+sudo cp $BUILD_TEMPLATES/telemetry.timer $FILESYSTEM_ROOT/etc/systemd/system/
+sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable telemetry.timer
 
 sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get purge -y python-dev
 sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get clean -y
diff --git a/files/build_templates/telemetry.service.j2 b/files/build_templates/telemetry.service.j2
index 2e7e45218df2..4d653e42327d 100644
--- a/files/build_templates/telemetry.service.j2
+++ b/files/build_templates/telemetry.service.j2
@@ -10,5 +10,3 @@ ExecStartPre=/usr/bin/{{docker_container_name}}.sh start
 ExecStart=/usr/bin/{{docker_container_name}}.sh wait
 ExecStop=/usr/bin/{{docker_container_name}}.sh stop
 
-[Install]
-WantedBy=multi-user.target
diff --git a/files/build_templates/telemetry.timer b/files/build_templates/telemetry.timer
new file mode 100644
index 000000000000..e08f1c09eac6
--- /dev/null
+++ b/files/build_templates/telemetry.timer
@@ -0,0 +1,9 @@
+[Unit]
+Description=Delays telemetry container until SONiC has started
+
+[Timer]
+OnBootSec=3min 30 sec
+Unit=telemetry.service
+
+[Install]
+WantedBy=timers.target