1. Proposed title of this feature request
[RFE] Create a tunable dynflow that allows for custom prioritization of tasks
3. What is the nature and description of the request?
Occasionally on large satellites, certain actions in the environment may cause an influx of tasks that can starve out other more timely tasks, or tasks that have a higher business importance.
For example, a change to repos across the environment may cause a high number of tasks to regenerate errata applicability, which may interfere with something more user-driven like a Host Creation task from provisioning, or a one-time task like a host registration.
Customer would like a way to prioritize certain tasks so that they can jump ahead of a potential wave of other less important tasks.
4. Why does the customer need this? (List the business requirements here)
Certain actions in the environment like building a new host or registering it, or promoting new content have a higher expectation of availability, while others like package profile uploads can be done whenever. Allowing for customer customization could help solve business priorities first.
5. How would the customer like to achieve this? (List the functional requirements here)
The implementation is fairly open for discussion, but it is envisioned as a giving priority to certain task types over others. (a "nice" system for foreman tasks may be a good analogy)
6. For each functional requirement listed, specify how Red Hat and the customer can test to confirm the requirement is successfully implemented.
Customer would prioritize certain task types, and then when an overwhelming number of tasks of a lower priority were encountered, the high-priority business task would succeed without having to wait for the numerous less important tasks.
7. Is there already an existing RFE upstream or in Red Hat Bugzilla?
No. There are BZs for improving the queue (BZ#1609371), but this RFE is asking for more of a user control over customization of priority.
8. Does the customer have any specific timeline dependencies and which release would they like to target (i.e. RHEL5, RHEL6)?
9. Is the sales team involved in this request and do they have any additional input?
10. List any affected packages or components.
11. Would the customer be able to assist in testing this functionality if implemented?
Rather than with prioritization. it should be possible to use separate queue for host-related tasks to not infer with those triggered by users, similarly as we did for remote execution jobs https://bugzilla.redhat.com/show_bug.cgi?id=1386283
I'm updating the summary to better cover the actions we are currently taking to address the core issue describe in the summary.
To prevent the user-related actions to be highly influenced by the hosts-related tasks (such as errata applicability calculations), the work for the hosts should be put on dedicated queue with independent set of worker threads to process, so if the host-workers get starved, the non-host work could still flow.
Created redmine issue https://projects.theforeman.org/issues/27248 from this bug
Upstream bug assigned to email@example.com
Upstream bug assigned to firstname.lastname@example.org
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/27248 has been resolved.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.