Open aluzzardi opened 8 years ago
/cc @aaronlehmann
This partially depends on #279.
In addition to the above points, if/when we choose to introduce additional scheduling strategies, the rebalancing should happen in agreement with the strategy. I'm interested in working on this.
Will this story include a case like, reschedule/restart a service which fail to schedule due to lack of reservable memory/cpu.
If a task couldn't be scheduled because there wasn't enough memory or CPU available anywhere, it should already get scheduled once the resource becomes available.
Seems It is not what is expected in my virtualbox swarm cluster, maybe I should post a bug report
Tasks are currently assigned to Nodes based on a snapshot of information available at that moment.
The scheduler should actually be able to rebalance the cluster based on state change.
For instance, when a new node joins, tasks from other nodes could be assigned to it to spread the load evenly. The decision could be based on preemption and priorities, see #309.
This also applies when a node is updated (different set of labels, change of plugins, etc), the scheduler should re-evaluate whether the node tasks still meet all criterias and reschedule accordingly.