Add status reset when abnormal appear
I want to use blueprints change the senlin status, when the status for some reason it triggers a certain state for a long time.
Senlin has exist status about:
- INIT
- ACTIVE
- ERROR
- WARNING
- CREATING
- UPDATING
- DELETING
- RECOVERING
- OPERATING
In this status, We can't ensure that every state can perform a change, not a long-term state. If state in ACTIVE or ERROR we are execute delete operation, but the other state, don't delete, maybe we can only delete it through the database. So, I want add reset-state operation.
Thie blueprints allow user use thie operatin update change:
- senlin reset-state xxxx --active (the default error, if don't add --active)
reset-state operation allow node or cluster state update.
Blueprint information
- Status:
- Not started
- Approver:
- Qiming Teng
- Priority:
- Undefined
- Drafter:
- chenyb4
- Direction:
- Needs approval
- Assignee:
- chenyb4
- Definition:
- Pending Approval
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
This looks like a very dangerous operation to me. Senlin engine is very strict on resource status management. I don't think we should expose an API to change the resource status. It will render the whole engine very unstable.
Imagine this: you have a cluster which is RECOVERING, do you want it to be deletable?
If you have a node which is in ERROR status, do you want Senlin to recover its status or you want to intervene instead?