We need to modify the operations (create/update/delete) of heat.engine.resource.Resource to work in both the convergence architecture and the legacy architecture.
Create a lightweight wrapper in the worker that runs the appropriate operation using a TaskRunner. Any code that is specific to the convergence architecture and that shouldn’t be executed in the legacy architecture can hopefully also be contained in this wrapper.
To the extent that any changes to the create/update/delete operations themselves are benign to the legacy architecture (for example, storing the extra data needed by convergence in the Resource table), they should be implemented as part of the existing operations.
The prototype https://github.com/zaneb/heat-convergence-prototype/blob/resumable/converge/resource.py should give a good indication of the types of changes that will be neccessary.
An alternative would be to build separate create/update/delete operations for convergence as part of the Resource class. We could do that if it proved necessary, but it seems preferable to keep to a single code path as much as possible.