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

Bill Farner commented on AURORA-1289:
-------------------------------------

*note* the mention of static ports in that doc assumes dedicated machines are 
used, so the machine is already specially-handled.

I agree that ideally these ports would be handled as a resource, and static 
ports muddies this.  For this reason Aurora by default prevents use of static 
ports on shared machines _in the Announcer configuration_.  I emphasize the 
last part since ultimately we currently have no means to prevent a process from 
binding to a port that Aurora did not allocate to it.  This is a hole, but we 
currently lack built-in controls in Mesos to do more than that.

Ultimately, the guidance we give is to use dynamically-allocated ports whenever 
possible, but as you may have seen in AURORA-1212 we have uncovered use cases 
that may demand this.  Supporting statically-assigned ports brings up 
additional issues of Aurora being out of the loop for what ports a user has 
privilege to bind, as well as what ports are in use by system services.

> Preclude co-scheduling of multiple tasks with the same static port
> ------------------------------------------------------------------
>
>                 Key: AURORA-1289
>                 URL: https://issues.apache.org/jira/browse/AURORA-1289
>             Project: Aurora
>          Issue Type: Story
>            Reporter: zane silver
>            Assignee: Bill Farner
>
> The current documentation states that, 
> "Static ports should be used cautiously as Aurora does nothing to prevent two 
> tasks with the same static port allocations from being co-scheduled".
> http://aurora.apache.org/documentation/latest/configuration-reference/#announcer-objects
> Is there a benefit to being able to co-schedule two (or more) tasks with the 
> same static port number to the same machine? It would seem that this is a 
> bug. The proper functionality should treat static ports as a resource: once 
> the port is acquired by a task, it will not be offered to any other task 
> until the port resource is released. Therefore, no two tasks with the same 
> port can be co-scheduled to the same machine. 
> The current implementation requires that clients using the Aurora scheduler 
> have global knowledge of all static port allocations. This is clearly 
> impossible for a large and scalable system.



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

Reply via email to