From d9e7a94c408ab9b849919433da8240012c3ef79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Peccatte?= Date: Thu, 1 Apr 2021 16:21:23 +0200 Subject: [PATCH] Fixes #19112: reload cf-serverd only if file changed --- .../50-reload-policy-file-server | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/webapp/sources/rudder/rudder-core/src/main/resources/hooks.d/policy-generation-finished/50-reload-policy-file-server b/webapp/sources/rudder/rudder-core/src/main/resources/hooks.d/policy-generation-finished/50-reload-policy-file-server index 688b59405ef..811d9206948 100755 --- a/webapp/sources/rudder/rudder-core/src/main/resources/hooks.d/policy-generation-finished/50-reload-policy-file-server +++ b/webapp/sources/rudder/rudder-core/src/main/resources/hooks.d/policy-generation-finished/50-reload-policy-file-server @@ -11,12 +11,14 @@ # Signal to cf-serverd that it shall look-up the new promises -ACL_BACK="/var/rudder/tmp/cf-serverd.backup" +export PATH="/opt/rudder/bin:$PATH" +ACL_BAC="/var/rudder/tmp/cf-serverd.sha256" ACL_FILE="/var/rudder/cfengine-community/inputs/common/1.0/cf-serverd.cf" +ACL_HASH=$(openssl sha256 -r "${ACL_FILE}" | cut -d' ' -f 1) if [ -f "${ACL_BACK}" ]; then - if [ "$(stat --format=%Y "${ACL_BACK}")" -ge "$(stat --format=%Y "${ACL_FILE}")" ]; then + if [ "${ACL_HASH}" = "$(cat "${ACL_BACK}")" ]; then exit 0 fi fi -cp "${ACL_FILE}" "${ACL_BACK}" +echo "${ACL_HASH}" > "${ACL_BACK}" systemctl reload-or-restart rudder-cf-serverd