Project

General

Profile

Actions

Bug #25541

closed

Singleton actions may not start after unclean shutdown

Added by Adam Ruzicka over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1652060

Description of problem:
We trigger singleton actions (LOCE, EQM) from dynflow's on_init hook. Recently we moved invalidation to happen after running the hooks. It is now possible to get into a situation where

1) On init hook is run, singleton actions fail because a lock is being held by another execution plan
2) Invalidation is performed, old actions fail with abnormal termination error and their locks are released
3) The satellite is left without LOCE and EQM

We used to do steps 1 and 2 in reverse order which worked, but changed that because of another issue.

How reproducible:
always

Steps to Reproduce:
0. (optional) Patch LOCE to make this easier to reproduce, add a lengthy sleep into its run method
1. systemctl kill --signal=9 foreman-tasks when the singleton action's step is running
2. systemctl restart foreman-tasks

Actual results:
New singleton actions fail with "$ACTION_CLASS is already active", old singleton actions fail with abnormal termination error, satellite is left without LOCE and EQM.

Expected results:
Old singleton actions get cleaned up, new are started.

Additional info:

Actions

Also available in: Atom PDF