[RFE] Basic workflow support in ironic
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
Ironic manage baremetals on a node basis: instropection, cleaning, deploy, etc, concurrently but per node.
External batch operations actually is a bunch of single requests, requests coming in one by one, processed one by one, there is no concept of the batch operation itself, whether the batch is completed, or whether the batch is succeeded or failed as a whole.
From the design of ironic service, we also lack an abstraction on those nodes, each conductor manages its assigned nodes without coordination.
For a basic workflow, the conductor can act as an arbitrator and provides a workflow api, which supports batch operation, keeps tracking the execution status of the operation. Non-query requests on Nodes in an uncompleted workflow should be prohibited.
description: | updated |
I guess a more detailed write-up of the mechanics of what is envisioned would be helpful. Why existing workflow technologies are unsuitable, adn why this should be in ironic?
Granted, we are sort of a workflow engine for baremetal with a lifecycle applied, but I'm unsure what problem this entirely solves.