I would like to understand what the scheduler would do in the following setup:
- 3 client nodes
- 10 unique (long-running) services
– each is it’s own job
– each with a count of 3
– constraint distinct_hosts is set to true
=> so in theory this results in exactly unique 10 services per node
Now lets assume the total required memory of the 10 services (based on the sum of the memory in the resources stanza) is higher than the available memory of each host.
e.g. each service has 1 GB defined in the resources stanza but the hosts have only 8 GB available each.
What will the scheduler do in such a case?
Based on everything I read in the documentation I’m currently assuming, that the scheduler will allocate up to 8 services per node and in the worst case up to 2 unique services won’t be running on neither host.
Is that assumption correct?
If it’s correct, is there a way to bypass it? A way to say the scheduler “trust me, just do what I’m asking for”?