{"action":"created","issue":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/2184","labels_url":"https://api.github.com/repos/mesosphere/marathon/issues/2184/labels{/name}","comments_url":"https://api.github.com/repos/mesosphere/marathon/issues/2184/comments","events_url":"https://api.github.com/repos/mesosphere/marathon/issues/2184/events","html_url":"https://github.com/mesosphere/marathon/issues/2184","id":104782761,"number":2184,"title":"Generalize task address discovery e.g. for health checks, UI.","user":{"login":"ConnorDoyle","id":379372,"avatar_url":"https://avatars.githubusercontent.com/u/379372?v=3","gravatar_id":"","url":"https://api.github.com/users/ConnorDoyle","html_url":"https://github.com/ConnorDoyle","followers_url":"https://api.github.com/users/ConnorDoyle/followers","following_url":"https://api.github.com/users/ConnorDoyle/following{/other_user}","gists_url":"https://api.github.com/users/ConnorDoyle/gists{/gist_id}","starred_url":"https://api.github.com/users/ConnorDoyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConnorDoyle/subscriptions","organizations_url":"https://api.github.com/users/ConnorDoyle/orgs","repos_url":"https://api.github.com/users/ConnorDoyle/repos","events_url":"https://api.github.com/users/ConnorDoyle/events{/privacy}","received_events_url":"https://api.github.com/users/ConnorDoyle/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mesosphere/marathon/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-03T21:10:38Z","updated_at":"2015-09-04T03:01:19Z","closed_at":null,"body":"In the [future](https://docs.google.com/document/d/17mXtAmdAXcNBwp_JfrxmZcQrs7EO6ancSbejrqjLQ0g), it will not be safe to assume that tasks will be reachable by the Mesos agent hostname or address (as read from the resource offer).  In case of custom network isolation modules, the task executor could be assigned an arbitrary IP address.  Per the design, linked above, a correct way to learn the task's assigned IP is to read it from status update metadata.  Marathon might want to provide a flag to control how task addresses are resolved.\r\n\r\nFor example:\r\n\r\n- `--task_address_mode host_address`  \r\n    Current mode of operation.\r\n- `--task_address_mode status_update`  \r\n    Read assigned address from status update metadata.\r\n- `--task_address_mode mesos_dns`  \r\n    Infer a DNS name that _mesos-dns_ can resolve to an address.\r\n\r\ncc @spikecurtis @djosborne @karya0 @nqn"},"comment":{"url":"https://api.github.com/repos/mesosphere/marathon/issues/comments/137635882","html_url":"https://github.com/mesosphere/marathon/issues/2184#issuecomment-137635882","issue_url":"https://api.github.com/repos/mesosphere/marathon/issues/2184","id":137635882,"user":{"login":"ConnorDoyle","id":379372,"avatar_url":"https://avatars.githubusercontent.com/u/379372?v=3","gravatar_id":"","url":"https://api.github.com/users/ConnorDoyle","html_url":"https://github.com/ConnorDoyle","followers_url":"https://api.github.com/users/ConnorDoyle/followers","following_url":"https://api.github.com/users/ConnorDoyle/following{/other_user}","gists_url":"https://api.github.com/users/ConnorDoyle/gists{/gist_id}","starred_url":"https://api.github.com/users/ConnorDoyle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConnorDoyle/subscriptions","organizations_url":"https://api.github.com/users/ConnorDoyle/orgs","repos_url":"https://api.github.com/users/ConnorDoyle/repos","events_url":"https://api.github.com/users/ConnorDoyle/events{/privacy}","received_events_url":"https://api.github.com/users/ConnorDoyle/received_events","type":"User","site_admin":false},"created_at":"2015-09-04T03:01:19Z","updated_at":"2015-09-04T03:01:19Z","body":"No, you're right; it's something that needs to be handled. Marathon will have to avoid conflating the host ports and the application (or service) ports.  Here's a related issue for work on the networking API: https://github.com/mesosphere/marathon/issues/1112\n\n> On Sep 3, 2015, at 18:58, Chad Heuschober <notifications@github.com> wrote:\n> \n> Perhaps I'm a little behind, but last I'd checked health checks still had support for the concept of portIndex which, as I understand it would be incompatible with an independent task address. Service ports may not need to be exposed directly but, short of a COMMAND protocol, I don't see how it would be possible to, say, specify HTTP checks on a web service with a task address. Is there something I'm missing?\n> \n> —\n> Reply to this email directly or view it on GitHub.\n> \n"}}