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

Yan Xu commented on MESOS-672:
------------------------------

Hi [~solidsnack] and [~ajforgue], proxying in the long run is an interesting 
idea for more than master UI redirection but in the short term storing a 
ProtoBuf blob MasterInfo gives us the benefit of putting more fields other than 
the public hostname into ZK in an atomic manner so we can use it for both 
master redirection and other things such as MESOS-422. We have figured out a 
way to solve the backward compatibility issue which is akin to Brenden's 
approach.

I created a new ticket MESOS-903 to track the implementation of this approach 
and will leave this ticket to track the brainstormed ideas. Please feel free to 
comment on either.

> Web UI redirection does not work for hosts whose ip addresses are not 
> publicly accessible
> -----------------------------------------------------------------------------------------
>
>                 Key: MESOS-672
>                 URL: https://issues.apache.org/jira/browse/MESOS-672
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 0.14.0
>            Reporter: Jie Yu
>            Assignee: Yan Xu
>              Labels: twitter
>             Fix For: 0.17.0
>
>
> Web UI redirection does not work for hosts where the local interface address 
> is not publicly accessible. For example, with EC2 the redirection will not 
> work.
> There are some possible solutions:
> (1) Add a new REST endpoint on the master called 'info'. When master A finds 
> out that master B is the leader it hits master B's '/master/info' endpoint to 
> get back information about that master including it's (public) hostname. 
>     - This also requires making sure that each master uses it's public 
> hostname which may possibly require adding a --hostname flag (similar to what 
> we did on the slave). 
>     - Alternatively, we could update os::hostname to special case EC2, thus 
> making Mesos work "out of the box" without requiring operators to explicitly 
> set it to the private hostname. 
> (2) Add a 'hostname' field to PID and make sure that stringification of the 
> PID uses the hostname. Then master redirection is done by getting the 
> hostname of the PID instead of the IP. Note this still requires detecting the 
> public hostname using mechanisms mentioned in (1). 
> (3) Store a separate ZNode for the public hostname. Patch from Brenden 
> Matthews: https://reviews.apache.org/r/11975/
> (4) Store a protobuf blob of 'MasterInfo' in ZooKeeper which includes the 
> hostname field (suggested by Vinod Kone in the above review). We have to deal 
> with issues with backwards compatibility. When old slaves read the new 
> master's data, it deserializes the protobuf blob as a PID; when new slaves 
> read the old master's data, it deserializes the PID as protobuf.
> This ticket intends to evaluate these potential solutions and solicit new 
> ideas.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to