GitHub user zhanglong2015 opened a pull request:

    https://github.com/apache/incubator-aurora/pull/16

    add mesos role feature

    ## Problems
    We are from eBay platform team. Previously, we used marathon to generate 
Jenkins master instance in dedicated vms and recieve resource offer from same 
dedicated vms. For the details, please refer to 
    
http://www.ebaytechblog.com/2014/04/04/delivering-ebays-ci-solution-with-apache-mesos-part-i/#.VNQUuC6_SPU
    
    Now, we found Aurora is more stable and powerful. We are moving from 
Marathon to Aurora. During the move, we found  there is no mesos role in Aurora 
now. But we need use mesos role way to solve the problem in section "Frameworks 
stopped receiving offers after a while" of the given url. 
    
    Here is a snippet of the problem description:
    
    *We noticed occurred after we used Marathon to create the initial set of CI 
masters. As those CI masters started registering themselves as frameworks, 
Marathon stopped receiving any offers from Mesos; essentially, no new CI 
masters could be launched. Let’s start with Marathon. In the DRF model, it 
was unfair to treat Marathon in the same bucket/role alongside hundreds of 
connected Jenkins frameworks. After launching all these Jenkins frameworks, 
Marathon had a large resource share and Mesos would aggressively offer 
resources to frameworks that were using little or no resources. Marathon was 
placed last in priority and got starved out.*
    
    *We decided to define a dedicated Mesos role for Marathon and to have all 
of the Mesos slaves that were reserved for Jenkins master instances support 
that Mesos role. Jenkins frameworks were left with the default role “*”.* 
*This solved the problem – Mesos offered resources per role and hence 
Marathon never got starved out. A framework with a special role will get 
resource offers from both slaves supporting that special role and also from the 
default role “*”.** However, since we were using placement constraints, 
Marathon accepted resource offers only from slaves that supported both the role 
and the placement constraints.*
    
    ## Solution
    So we add role feature is the source code to solve the problem in same way: 
When accept a resource offer, Aurora will send back the needed resources to 
Mesos with the mesos role in resource offer.
    
    How to configure the Mesos role:
    1.Add cmd option --mesos_role=${Mesos role name} when start Aurora 
scheduler.
    
    We change the test cases according code change. Each changed test case is 
green.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/zhanglong2015/incubator-aurora master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-aurora/pull/16.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #16
    
----
commit 28cc5843a384b84f45cf07b122057d103163e893
Author: jyang12 <jyan...@ebay.com>
Date:   2015-02-05T08:58:19Z

    add mesos role feature

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to