Yan Xu created MESOS-2535:
-----------------------------
Summary: Improve Resources filters to refuse certain roles
Key: MESOS-2535
URL: https://issues.apache.org/jira/browse/MESOS-2535
Project: Mesos
Issue Type: Improvement
Reporter: Yan Xu
We have certain use case where a framework only uses certain hosts in the
cluster (e.g. either because they have some special hardware or just large
disks/ram). The way we are currently implementing it is that the slaves on
these hosts tag all their resources as belonged to a certain role and the
scheduler only uses resources of that role.
To make sure the framework plays nicely with other frameworks it also
immediately declines resources of other roles (including '*' roles)
"infinitely". The current {{declineOffer()}} API however, is at the "offer"
level, not the
- framework level, so the framework can directly reject offers from all slaves
collectively instead of individually, nor the
- resource level, so that the framework can reject some resources from this
offer but not all.
The framework-level requirement is less of a problem because rejecting the
offers individually achieves the same result, just with more message overhead.
The resource level requirement, though, is hard to achieve with the current
declineOffer() API. If the special slaves do not dedicate all its resources to
one framework but rather, have some resources with a certain role that I want
to reject for 5 seconds (due to an idle scheduler) and some other resources
that I want to reject forever (e.g. due to role mismatch), there is no way to
do that.
Some improvement on the resource filters that solve this would be nice. Such
improvement should make sure that we are still able to revive the offers (or
rather, directly, remove the filters that do not tie to an offer)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)