[ 
https://issues.apache.org/jira/browse/MESOS-3366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14733974#comment-14733974
 ] 

Felix Abecassis edited comment on MESOS-3366 at 9/7/15 6:26 PM:
----------------------------------------------------------------

I don't like this approach for the following reasons:
- If we continue down this path, in addition to {{\-\-ip_discovery_command}} we 
might end up with {{\-\-resources_script}} and then {{\-\-attributes_script}} 
and possibly {{\-\-topology_script}}, etc.
- If the script simply outputs the discovered resources on stdout, there is a 
risk that it will print a malformed output (because of a bug, or a version 
mismatch). The interaction looks fragile, you have no way of checking version 
compatibility. It might be acceptable for an IP address, but it sounds risky 
for something more complex like resources.
- You can already do that, without having to run an arbitrary script inside 
mesos:
{{mesos-master --resources=`discover_resources.sh`}}
- You still cannot compose multiple scripts or override the values detected by 
default (see above).

Actually, it is mentioned in MESOS-2902 that the solution could have been 
implemented by using a module/hook. I think that's a more sensible approach for 
future additions.


was (Author: flx42):
I don't like this approach for the following reasons:
- If we continue down this path, in addition to {{--ip_discovery_command}} we 
might end up with {{--resources_script}} and then {{--attributes_script}} and 
possibly {{--topology_script}}, etc.
- If the script simply outputs the discovered resources on stdout, there is a 
risk that it will print a malformed output (because of a bug, or a version 
mismatch). The interaction looks fragile, you have no way of checking version 
compatibility. It might be acceptable for an IP address, but it sounds risky 
for something more complex like resources.
- You can already do that, without having to run an arbitrary script inside 
mesos:
{{mesos-master --resources=`discover_resources.sh`}}
- You still cannot compose multiple scripts or override the values detected by 
default (see above).

Actually, it is mentioned in MESOS-2902 that the solution could have been 
implemented by using a module/hook. I think that's a more sensible approach for 
future additions.

> Allow resources/attributes discovery
> ------------------------------------
>
>                 Key: MESOS-3366
>                 URL: https://issues.apache.org/jira/browse/MESOS-3366
>             Project: Mesos
>          Issue Type: Improvement
>          Components: slave
>            Reporter: Felix Abecassis
>
> In heterogeneous clusters, tasks sometimes have strong constraints on the 
> type of hardware they need to execute on. The current solution is to use 
> custom resources and attributes on the agents. Detecting non-standard 
> resources/attributes requires wrapping the "mesos-slave" binary behind a 
> script and use custom code to probe the agent. Unfortunately, this approach 
> doesn't allow composition. The solution would be to provide a hook/module 
> mechanism to allow users to use custom code performing resources/attributes 
> discovery.
> Please review the detailed document below:
> https://docs.google.com/document/d/15OkebDezFxzeyLsyQoU0upB0eoVECAlzEkeg0HQAX9w
> Feel free to express comments/concerns by annotating the document or by 
> replying to this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to