Refactor TaskFlow implementation

Registered by Michal Dulko

Code that's using TaskFlow in Cinder is almost 2 years old. There's a lot of outdated comments and redundant code paths. Additionally some limitations of TaskFlow led to ugly workarounds that are making the code hard to understand. At the summit team agreed to have time for refactoring till around Liberty-1 and then decide if we want to integrate with TaskFlow further.

This BP aims to clean up and refactor each of create_volume workflows (c-api, c-sch, c-vol). To cover TaskFlow limitations problem we want to step up and work with TaskFlow community to address the gaps and refactor Cinder's code to use latest features.

All these efforts should make current code easier to understand and make further TaskFlow adoption possible.

[1] https://etherpad.openstack.org/p/cinder-taskflow
[2] https://etherpad.openstack.org/p/YVR-cinder-tasks-resumptions

Blueprint information

Status:
Complete
Approver:
Mike Perez
Priority:
Medium
Drafter:
Michal Dulko
Direction:
Approved
Assignee:
Michal Dulko
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 7.0.0
Started by
Mike Perez
Completed by
Michal Dulko

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/taskflow-refactoring,n,z

Addressed by: https://review.openstack.org/187624
    Refactor API create_volume flow

Addressed by: https://review.openstack.org/193167
    WIP: Refactoring of manager's create_volume flow

Gerrit topic: https://review.openstack.org/#q,topic:bp/blueprint,n,z

Addressed by: https://review.openstack.org/199590
    Remove unused arguments from c-vol's create_volume

Addressed by: https://review.openstack.org/205896
    Refactoring of manager's manage_existing flow

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.