We will present an overview of Taskflow: a Python library for OpenStack that helps make task execution easy, consistent, and reliable. TaskFlow allows the creation of lightweight task objects and/or functions that are combined together into flows (aka: workflows). It includes components for running these flows in a manner that can be stopped, resumed, and safely reverted. Projects implemented using the Taskflow library enjoy added state resiliency, and fault tolerance. The library also simplifies crash recovery for resumption of tasks, flows, and jobs. With Taskflow, interrupted actions may be resumed or rolled back automatically when a manager process is resumed.
TaskFlow is proposed to be the foundation library for Convection (Cloud based Workflow-as-a-Service capabilities for OpenStack). An update on the progress for TaskFlow (features and capabilities ready to be consumed by OpenStack projects) and a proposed path for possible integration into Oslo and development of Convection will be presented.