From 6997e5a61218920e869523be88a18ba28eb3eb6f Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Fri, 15 Oct 2021 16:33:28 +0200 Subject: [PATCH] TT#146104 services: Always flush queues even when not running .services We need to flush the queues unconditionally regardless on whether we have executed .services files, otherwise the enqueued services during package upgrades might be left unattended for long periods of time in case no .services files got triggered due to modified configuration files. We flush all queues in case some enqueued service was left behind in the default queue. Change-Id: Iea8ab11fcb7e580cb8e160b8674e2dff3c9c85a0 --- scripts/services | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/services b/scripts/services index 5a4f44e7..87255c81 100755 --- a/scripts/services +++ b/scripts/services @@ -83,16 +83,22 @@ sort_service_list() { >> "${SORTED_LIST}" || true } -execute() { +services_start_queue() +{ log_info "Clearing out enqueued services actions" ngcp-service queue-clear log_info "Starting enqueued services actions mode" ngcp-service queue-start +} +execute() { while read -r line ; do exec_wrapper "${line}" done < "${SORTED_LIST}" +} +services_flush_enqueued() +{ log_info "Executing enqueued services actions" ngcp-service --queue=default,policy-rc.d queue-show ngcp-service --queue=default,policy-rc.d queue-run @@ -226,12 +232,17 @@ if [[ -s "${TMPFILE}" ]]; then log_debug "sort_service_list function" sort_service_list + services_start_queue + log_debug "execute function" execute else log_debug "No services file(s) reported - no explicit service state changed." fi +# Always flush the queues, to handle actions from package upgrades. +services_flush_enqueued + log_debug "services_sync_state function" services_sync_state