protect node not to be delete

Registered by Hongbin Li

if don't want to delete a special node in cluster, we should protect the node not to be deleted by scaling operation.

a short text for design is below.
1. add a metadata named 'protected' or 'locked' to node and provide a api to set the metadata to true or false value.
2. with the metadata set, scale-in operation will not delete this node but find other node to delete. (should revise the scale arithmetic in scaleutils)
3.if health-check operation find the server is not active, we just mark the node to warning status but not run rebuild or recreate operation action.
4. at the same time, we should consider whether the python-openstacksdk and python-senlinclient should revised.

Blueprint information

Status:
Not started
Approver:
Qiming Teng
Priority:
Undefined
Drafter:
Hongbin Li
Direction:
Approved
Assignee:
Hongbin Li
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

need some short text for the design. How would you like to label a node so that it won't be deleted when scaling in a cluster? Via its metadata?

suppose we add a 'locked' metadata or tag to a node, we have to remove it before the node can be deleted. can we use the same label to prevent the node from being changed? what would be the scope of such a label?

[Hongbin Li 20170519]
have updated the summary with a short text for design.
[Qiming 20170605]
What will happen if user trigger cluster-update, node-update, or cluster-delete?
[Hongbin Li 20170801]
Protect a node means don't want the node to be delete or change, I think we shouldn't operate the node until remove protect state. What's your suggest?

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.