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
mr10.2
Guillem Jover 4 years ago
parent 4a94941c56
commit 6997e5a612

@ -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

Loading…
Cancel
Save