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)

Reply via email to