thanks @haosdent, here is the explanation 
https://github.com/mesosphere/marathon/issues/3851#issuecomment-216192331 
<https://github.com/mesosphere/marathon/issues/3851#issuecomment-216192331>
--
Best Regards,

GaoJin CAO 
ChinaMobile(Suzhou) R&D
Mail:caogaojin at cmss.chinamobile.com <http://cmss.chinamobile.com/>
> On May 2, 2016, at 12:00, haosdent <[email protected]> wrote:
> 
> Actually "unreserved" here in Marathon means Resources which don't contains 
> ReservationInfo. For static reservation, they didn't contains 
> ReservationInfo, so they are "unreserved". For dynamic reservation, they have 
> ReservationInfo, so they are "reserved". This is why your task works in 
> static reservation while could not work in dynamic reservation.
> 
> On Mon, May 2, 2016 at 9:10 AM, caogaojin <[email protected] 
> <mailto:[email protected]>> wrote:
> @Haosdent,  sorry for delay; i’m not familiar with scala, the compilation 
> takes me some time. you are right, after changing the file you told me, it 
> works. But that’s not what i want, it my situation, marathon should takes 
> both reserved resource and unreserved resource; when using official marathon 
> version, marathon will use static reserved resources (mesos agent started 
> with `--default_role dev` flag, and marathon with `--mesos_role dev`), but it 
> seems marathon did not take static reserved resource as  *reserved resource*,
> 
> ```
> Considering unreserved resources with roles {dev}. Not all basic resources 
> satisfied: cpus NOT SATISFIED (1.0 > 0.0), mem NOT SATISFIED (128.0 > 0.0) 
> (mesosphere.mesos.ResourceMatcher$:marathon-akka.actor.default-dispatcher-6)
> ```
> 
> the above shows that marathon only considers *unreserved* resources with role 
> `dev`. However IMO, all resources with role `dev` should be reserved 
> resources, right? i’m quite confused, @haosdent, are resources provided  by 
> mesos agent  that started with `--default_role dev` flag unreseved resources? 
> i will advise mesosphere/marathon community for more help.
> 
> Thanks,
> 
> --
> Best Regards,
> 
> GaoJin CAO 
> ChinaMobile(Suzhou) R&D
> Mail:caogaojin at cmss.chinamobile.com <http://cmss.chinamobile.com/>
>> On May 1, 2016, at 18:04, haosdent <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> This may be a feature of Marathon. I saw it only filter resources from those 
>> unreserved resources. After change
>> 
>> ```
>> diff --git a/src/main/scala/mesosphere/mesos/TaskBuilder.scala 
>> b/src/main/scala/mesosphere/mesos/TaskBuilder.scala
>> index efa3406..e750881 100644
>> --- a/src/main/scala/mesosphere/mesos/TaskBuilder.scala
>> +++ b/src/main/scala/mesosphere/mesos/TaskBuilder.scala
>> @@ -80,7 +80,7 @@ class TaskBuilder(app: AppDefinition,
>> 
>>      val resourceMatch =
>>        ResourceMatcher.matchResources(
>> -        offer, app, runningTasks, ResourceSelector(acceptedResourceRoles, 
>> reserved = false))
>> +        offer, app, runningTasks, ResourceSelector(acceptedResourceRoles, 
>> reserved = true))
>> 
>>      build(offer, resourceMatch)
>>    }
>> ```
>> 
>> It would use the dynamic resources we reserved before. I find Marathon 
>> document have these words:
>> 
>> ```
>> ### Static Reservations
>> 
>> Dynamic reservations can only be created for unreserved resources. If you 
>> specify an agent's resources to be reserved for a role via the Mesos 
>> `--resources` or `--default_role` flag, these resources cannot be used for 
>> dynamic reservations. In addition, if Marathon is started with the 
>> `--default_accepted_resource_roles` flag specifying a value that does not 
>> contain `*`, your application definition should explicitly specify 
>> `"acceptedResourceRoles": ["*"]` in order to allow usage and reservation of 
>> unreserved cluster resources.
>> ```
>> 
>> You could double check this with Marathon mailing list 
>> https://groups.google.com/forum/?hl=en#!forum/marathon-framework 
>> <https://groups.google.com/forum/?hl=en#!forum/marathon-framework> . Thanks 
>> a lot!
>> 
>> On Sun, May 1, 2016 at 5:07 PM, haosdent <[email protected] 
>> <mailto:[email protected]>> wrote:
>> hmm, I am still digging more information in marathon. It may delay because I 
>> am not familiar with marathon's code and sick today, but I would inform you 
>> once have result. My quick conclusion is this may be the bug of marathon 
>> when match resource requirement in offers from Mesos Master. Still under 
>> finding the root cause of it.
>> 
>> On Sun, May 1, 2016 at 4:24 PM, caogaojin <[email protected] 
>> <mailto:[email protected]>> wrote:
>> @Haosdent, what does http://10.132.46.71:5050/roles 
>> <http://10.132.46.71:5050/roles> mean? shouldn’t that tell us all resources 
>> that framework with `dev` role takes, both from `dev` and `*` role? It 
>> doesn’t mean resources are consumed from `dev` role, right?
>> --
>> Best Regards,
>> 
>> GaoJin CAO 
>> ChinaMobile(Suzhou) R&D
>> Mail:caogaojin at cmss.chinamobile.com <http://cmss.chinamobile.com/>
>>> On May 1, 2016, at 16:02, caogaojin <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> 
>>> ```
>>> [root@localhost ~]# curl http://10.132.46.71:5050/roles 
>>> <http://10.132.46.71:5050/roles> | python -m json.tool
>>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  
>>> Current
>>>                                  Dload  Upload   Total   Spent    Left  
>>> Speed
>>> 100   250  100   250    0     0  46772      0 --:--:-- --:--:-- --:--:-- 
>>> 50000
>>> {
>>>     "roles": [
>>>         {
>>>             "frameworks": [],
>>>             "name": "*",
>>>             "resources": {
>>>                 "cpus": 0,
>>>                 "disk": 0,
>>>                 "mem": 0
>>>             },
>>>             "weight": 1.0
>>>         },
>>>         {
>>>             "frameworks": [
>>>                 "439a851d-aa09-47af-bc68-d5588dc9f5da-0002"
>>>             ],
>>>             "name": "dev",
>>>             "resources": {
>>>                 "cpus": 1.0,
>>>                 "disk": 0,
>>>                 "mem": 128.0,
>>>                 "ports": "[31994-31994]"
>>>             },
>>>             "weight": 1.0
>>>         }
>>>     ]
>>> }
>>> ```
>> 
>> 
>> 
>> 
>> -- 
>> Best Regards,
>> Haosdent Huang
>> 
>> 
>> 
>> -- 
>> Best Regards,
>> Haosdent Huang
> 
> 
> 
> 
> -- 
> Best Regards,
> Haosdent Huang

Reply via email to