I'd like to run a monitoring agent on every slave. Given enough resources I could currently set a constraint UNIQUE hostname and the number of instances to the number of slaves.
Instead of having to manually specify the number of slaves (which might fluctuate) Marathon should be able to figure it out itself. I'd like to use a variable name like '$num_slaves' instead of entering a specific number. Marathon should scale those apps as slaves come and go.
Likewise I'd like to be able to enter mathematical expressions (maybe this should be a second ticket?). So that I can run a service on e.g. 1/3 of my available slaves. For that I'd like to enter '$num_slaves/3'
There is currently an open ticket (would have to ask Cody for the number) in Mesos that will allow running system services on slaves irregardless of available resources/in system reserved resources.
This feature would already be universally useful for all kinds of monitoring, metrics collection agents and distributed filesystem clients and will be even more useful once Mesos supports system services.
This will also enable a new kind of DCOS application. At the moment to ensure that a service like e.g. the prometheus node exporter is running on every DCOS node we have to ship it embedded with the DCOS system image. This function will allow us and partners to ship services like the monitoring agents or a distributed filesystem client and run it on every slave in the cluster, without it having to be hard embedded into the system image.