moby / swarmkit

A toolkit for orchestrating distributed systems at any scale. It includes primitives for node discovery, raft-based consensus, task scheduling and more.
Apache License 2.0
3.36k stars 615 forks source link

Node removal #388

Closed aluzzardi closed 8 years ago

aluzzardi commented 8 years ago

There is no way to remove a node at the moment.

We'd have to support some kind of mechanism, either a node rm command or garbage collecting down nodes.

If we go the node rm route, what does it mean when a node is still running? It will reconnect using the same certificate therefore the same ID.

There are some related tasks:

/cc @diogomonica @stevvooe @LK4D4

nishanttotla commented 8 years ago

Another question: When a node is removed, it's possible that the resource requests made by the set of services running in the cluster becomes infeasible i.e. not all current services can keep running with the same specs as defined in their config files. What happens in that case?

aaronlehmann commented 8 years ago

If we go the node rm route, what does it mean when a node is still running? It will reconnect using the same certificate therefore the same ID.

For swarmctl manager rm, we make tell the removed manager to exit its process, since it is not useful for it to keep running once it is no longer associated with a cluster. Could the same thing make sense for agents?

Drainer/Orchestrator/etc would have to deal with node deletion as well

BTW, this should already be handled correctly.

aluzzardi commented 8 years ago

Implemented by @LK4D4 - closing this down.

Please re-open if you think there's more work left

/cc @aaronlehmann