Attributes of backend activities
Define a pattern for the publication of attributes about objects that Taskflow interacts with which invoke machines not fully under Nova (compute) control to perform work.
For example, a Cinder Volume Driver can control a remote Cinder target and instruct it to perform certain time consuming operations such as backing up or replicating a volume or snapshot.
Using Cinder backend-activities, with the backup_volume method as the first example, define a set of attributes which will allow a backup task to optimally interface with volume driver routines that use different implementation strategies to fulfill the same method.
While the desired and initial invocation is the same, there are different fundamental implementation strategies which the Cinder volume driver can be using which call upon the co-ordingating taskflow to understand for best results (especially when recovering from an error).
The goal is to define a minimal set of publishable attributes which enable optimal usage of varying backend strategies, complete with enough information to allow developers of cinder volume drivers to know which attributes they should publish, and provide clear guidance for usage of this information in a volume backup taskflow.
This pattern would then be repeated for other potentially long lasting Cinder activities.
The same pattern should be applicable to other storage related backends, and possibly other backends as well.
Blueprint information
- Status:
- Not started
- Approver:
- Joshua Harlow
- Priority:
- Medium
- Drafter:
- Caitlin Bestler
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Discussion
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Supersedes: https:/
Looks pretty good, hopefully something pretty basic in taskflow can help initially here.
Maybe something like @ https:/