- Added an
inlookup to theWorkflowRunworkflowfilter (workflow__in) so the runs for several workflows can be fetched in a single list request.
- Workflows can now set a
dispatch_intervalto re-run on a recurring schedule. Added aWorkflowRunresource (/pulp/api/v3/workflow/workflow-runs/), which tracks each execution of a workflow. #20
- Moved per-execution state off of the
Workflowresource. Thestate,started_at,finished_at,error,current_task, andtask_groupfields now live on the newWorkflowRunresource. Support for workflow cancellation callbacks has also been removed for now. #20
No significant changes.
- Added a
pulpcore-manager add-callback-servicemanagement command for registering aCallbackServicefrom the worker host (mirrors pulpcore'sadd-signing-service). Useful for image bootstrap scripts that need to register a callback before the API serves traffic. #30 - Added
list-callback-servicesandremove-callback-servicemanagement commands for inspecting and removing registeredCallbackServicerows, mirroring pulpcore'slist-signing-servicesandremove-signing-service. #36
No significant changes.
- Allowed canceling a Workflow after it has started running. PATCH
{"state": "canceled"}now cancels in-flight child tasks and queued continuations via the workflow'sTaskGroup; canceling theTaskGroupdirectly also propagatesCANCELEDto theWorkflow. #4 - Added user-registered callbacks that fire on
Workflowlifecycle events. A newCallbackServiceresource (modeled after pulpcore'sSigningService) points at an absolute path to an executable; it is attached to a workflow via aWorkflowCallbackwhosecallback_typeselects the event (running,completed, etc). The script runs as a Pulp task with workflow context available as environment variables. #10 - Added support for
pulp_labelson Workflows. Labels can be set at create time, updated via theset_label/unset_labelactions, and used to filter the list endpoint withpulp_label_select. - Associated every Workflow with a pulpcore
TaskGroup, exposed via a new read-onlytask_groupfield on the Workflow resource. - Reworked the
WorkflowAPI: server-assignedWorkflowTask.indexandWorkflowTaskArg.arg_index, hyperlinkedWorkflow.current_task, and mutually-exclusivevalue/content_typeon task args (replacing the removeddynamicflag). Added expanded list filters viaBaseFilterSet(pulp_href,prn,q, name/state lookups, datetime ranges).
- Fixed an
AttributeErrorinexecute_workflowwhen a previous step's dispatchedcore.Taskhad been deleted between dispatch and the continuation (e.g. byorphan_cleanup). The workflow is now transitioned tofailedwith a clear description in that case. - Pinned the generated OpenAPI spec to 3.0.1 to work around an
openapi-generator bug that produces broken Python bindings for plain
JSONFieldunder OAS 3.1.