opendevstack / opendevstack/ods-provisioning-app
Redesign project creation rollback strategy implementation
@stitakis is already working on this.
Since Feb 28, 2020.
- Dominant language
- Java
- Stars
- 14
- Forks
- 20
- Avg merge
- 3h 35m
- Merged PRs (30d)
- 1
Description
Is your feature request related to a problem? Please describe.
Redesign current the current rollback strategy implementation (ref ProjectAPIController.cleanup()) (used to ensure no resources are left over in case we cannot provision components /e.g. repo across the federated stack) to make it more resilient and operations friendly.
Problem:
Potentially any other exception than ProjectAlreadyExistsException happening in ProjectAPIController.addProject() will lead to the cleanup block. For example, any change/mistake in future implementation of the used dependencies whithin the try/catch block (e.g. mailAdapter, JiraAdatper, etc...) could thrown an exception and trigger the ```cleanup`` method.
Describe the solution you'd like
Reimplement project provision flow to:
- not remove left over components in case of exception" but mark them for deletion and
- wrap the project creation flow in a task
- create a screen that shows list of tasks with its status (error description), so admin do not need to dig into the log file to find the error descriptoin
- provide posibility(buttons) for retry (complete task) or cleanup
Describe alternatives you've considered
Note: I haven't considered any other alternatives yet
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.