[ https://issues.apache.org/jira/browse/MESOS-2902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14621226#comment-14621226 ]
Cody Maloney commented on MESOS-2902: ------------------------------------- [~bmahler] Mesos is much more particular and peculiar in it's DNS / Hostname / IP requirements than a lot of datacenter software. nginx, httpd, etc. don't actually use the machine's hostname, they purely use whatever a request comes in as. They also don't publish anywhere saying "This is me come find me" based on the DNS address of the local machine. They get a request in, they inspect what IP address / port that request came in on, and in the case of nginx / apache possibly what the {{Host}} HTTP header is and deal with it from there. In the case of Mesos for the Masters for instance if a master and framework disagree on the master IP, you just end up with lost packets with no logging currently. The HTTP API should help in this area, but we need to ship Mesos today / can't wait for that to come. We only use cloud-init in some environments. And it only has coreos public / private IPv4. There are environments we install using the myriad of other host install / setup tools (chef, salt, fleet, ...). There are a lot of ways we ship this stuff to clients. Adding one simple flag doesn't considerably add to the Mesos maintenance burden, and solves our use case at the moment. If adding a flag is unpalatable, it could be added as a mesos 'hook' module which does exactly the same thing, just makes the IP lookup pluggable. That would make it so someone could write a mesos module which does NetworkManager if they wished (Although there will still be a problem of Mesos slave can't handle when it's IP address changes) This isn't teaching mesos configuration management at all. It is trying to get it out of the policy of trying to self-configure itself badly for a lot of our customer environments, leading to lots of headaches for various customers we are trying to ship Mesos as a component of DCOS to. The maintenance burden for this is no more than the `--ip` flag that Mesos has currently which is the exact same as setting LIBPROCESS_IP. It does not significantly effect organizations which do not need the flag / wish to use it I believe, and if they don't give it, it will not change the behavior of their setups. > Enable Mesos to use arbitrary script / module to figure out IP, HOSTNAME > ------------------------------------------------------------------------ > > Key: MESOS-2902 > URL: https://issues.apache.org/jira/browse/MESOS-2902 > Project: Mesos > Issue Type: Improvement > Components: master, modules, slave > Reporter: Cody Maloney > Assignee: Marco Massenzio > Priority: Critical > Labels: mesosphere > > Currently Mesos tries to guess the IP, HOSTNAME by doing a reverse DNS > lookup. This doesn't work on a lot of clouds as we want things like public > IPs (which aren't the default DNS), there aren't FQDN names (Azure), or the > correct way to figure it out is to call some cloud-specific endpoint. > If Mesos / Libprocess could load a mesos-module (Or run a script) which is > provided per-cloud, we can figure out perfectly the IP / Hostname for the > given environment. It also means we can ship one identical set of files to > all hosts in a given provider which doesn't happen to have the DNS scheme + > hostnames that libprocess/Mesos expects. Currently we have to generate > host-specific config files which Mesos uses to guess. > The host-specific files break / fall apart if machines change IP / hostname > without being reinstalled. -- This message was sent by Atlassian JIRA (v6.3.4#6332)