My use case is to provide an edge router on all nodes. To do this I use a UNIQUE hostname constraint and set the number of instances to the number of nodes.
In one of my tests I only use a single VM, but leave the constraint at 3 (for example). If one of the containers die during deployment, they will not be restarted until the constraint is satisfied. I.e. never.
To recreate, create a Meos/marathon (tested with 15.3), with fewer than three worker nodes. Use the following json below:
Then create the app with POST /v2/groups.
Then drill down to view the application. You will see that the "fail" task is stuck waiting to be deployed, despite the fact that there is nothing stopping it from being redeployed.