From 6568203c15c9a35343ba402ce330e363ef18de28 Mon Sep 17 00:00:00 2001 From: pavel-shirshov Date: Tue, 26 Jun 2018 12:17:51 -0700 Subject: [PATCH] Enable sairedis counter thread in 3 minutes after SONiC was started (#1813) * Enable sairedis counter thread in 3 minutes after SONiC was started * Enable all counters --- files/build_templates/enable_counters.service | 7 +++++++ files/build_templates/enable_counters.timer | 9 +++++++++ files/build_templates/snmp.service.j2 | 7 ++----- files/build_templates/snmp.timer | 9 +++++++++ files/build_templates/sonic_debian_extension.j2 | 8 ++++++++ src/sonic-sairedis | 2 +- src/sonic-swss | 2 +- src/sonic-utilities | 2 +- 8 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 files/build_templates/enable_counters.service create mode 100644 files/build_templates/enable_counters.timer create mode 100644 files/build_templates/snmp.timer diff --git a/files/build_templates/enable_counters.service b/files/build_templates/enable_counters.service new file mode 100644 index 000000000000..f19249369f87 --- /dev/null +++ b/files/build_templates/enable_counters.service @@ -0,0 +1,7 @@ +[Unit] +Description=Enable SONiC counters + +[Service] +Type=oneshot +ExecStart=/bin/bash -c '/usr/bin/counterpoll queue enable ; /usr/bin/counterpoll port enable ; /usr/bin/pfcwd counter_poll enable' +RemainAfterExit=yes diff --git a/files/build_templates/enable_counters.timer b/files/build_templates/enable_counters.timer new file mode 100644 index 000000000000..7382a1658c1b --- /dev/null +++ b/files/build_templates/enable_counters.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Delays the SONiC counters gathering until SONiC has started + +[Timer] +OnBootSec=3min +Unit=enable_counters.service + +[Install] +WantedBy=timers.target diff --git a/files/build_templates/snmp.service.j2 b/files/build_templates/snmp.service.j2 index f0612a9cfcb6..93ef869b86e1 100644 --- a/files/build_templates/snmp.service.j2 +++ b/files/build_templates/snmp.service.j2 @@ -1,12 +1,9 @@ [Unit] Description=SNMP container -Requires=updategraph.service swss.service -After=updategraph.service swss.service +Requires=updategraph.service swss.service enable_counters.service +After=updategraph.service swss.service enable_counters.service [Service] ExecStartPre=/usr/bin/{{docker_container_name}}.sh start ExecStart=/usr/bin/{{docker_container_name}}.sh attach ExecStop=/usr/bin/{{docker_container_name}}.sh stop - -[Install] -WantedBy=multi-user.target diff --git a/files/build_templates/snmp.timer b/files/build_templates/snmp.timer new file mode 100644 index 000000000000..464cf01459ba --- /dev/null +++ b/files/build_templates/snmp.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Delays snmp container until SONiC has started + +[Timer] +OnBootSec=3min 30 sec +Unit=snmp.service + +[Install] +WantedBy=timers.target diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 0849118b83a4..4898bdb294cf 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -272,6 +272,14 @@ sudo LANG=C chroot $FILESYSTEM_ROOT fuser -km /sys || true sudo LANG=C chroot $FILESYSTEM_ROOT umount -lf /sys {% endif %} +# Copy systemd timer configuration +# It implements delayed start of services +sudo cp $BUILD_TEMPLATES/enable_counters.timer $FILESYSTEM_ROOT/etc/systemd/system/ +sudo cp $BUILD_TEMPLATES/enable_counters.service $FILESYSTEM_ROOT/etc/systemd/system/ +sudo cp $BUILD_TEMPLATES/snmp.timer $FILESYSTEM_ROOT/etc/systemd/system/ +sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable enable_counters.timer +sudo LANG=C chroot $FILESYSTEM_ROOT systemctl enable snmp.timer + sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get remove -y python-dev sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get clean -y sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get autoremove -y diff --git a/src/sonic-sairedis b/src/sonic-sairedis index ce6abfa3acc4..17fd36e2e115 160000 --- a/src/sonic-sairedis +++ b/src/sonic-sairedis @@ -1 +1 @@ -Subproject commit ce6abfa3acc4ffc376844d46d051a1e5647945e0 +Subproject commit 17fd36e2e115af90dea491f71689147fc06f7d30 diff --git a/src/sonic-swss b/src/sonic-swss index 7a9f49b7be2d..06718ad33eae 160000 --- a/src/sonic-swss +++ b/src/sonic-swss @@ -1 +1 @@ -Subproject commit 7a9f49b7be2d2ecfa971c38ec0c5ff5da8187893 +Subproject commit 06718ad33eae0f14659dbe6401d9f63088dd263f diff --git a/src/sonic-utilities b/src/sonic-utilities index c641d2b3eec5..27bea61072d0 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit c641d2b3eec5684182eb56ee71ac3843dbf3b0d0 +Subproject commit 27bea61072d0a4c8756b4be89b4b349f72918889