Project

General

Profile

Actions

Feature #7301

closed

Infrastructure for bulk actions

Added by Ivan Necas about 10 years ago. Updated about 10 years ago.

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

Description

Foreman tasks should support triggering an action on a set of resources
and tracking the progress of the sub-tasks.

Implementation

There is a ::Actions::BulkAction:

plan_action(::Actions::BulkAction, ActionToTriggerPerTarget, targets, *args)

This will plan the ActionToTriggerPerTarget on every target from the
targets. By default, it uses the targets class and the id of the
targets for serializing the data into the input and loading the
objects back in the run phase. The *args are also passed as arguments
to the ActionToTriggerPerTarget.

To customize the logic around serialization/deserialization of the
input targets and args, one can override the plan and
create_sub_plans method.

The Task model has parent_task reference to the task that planned it.
In bulk action task details there is a link to a list of subtasks
(/tasks/uuid/sub_tasks), and in the sub task details, there is link
to the parent task.


Related issues 2 (0 open2 closed)

Blocks Katello - Tracker #6190: Dynflowize bulk actionsRejected

Actions
Blocks Katello - Refactor #7304: Use dynflow for repository sync bulk actionsClosedIvan Necas08/29/2014Actions
Actions

Also available in: Atom PDF