[ https://issues.apache.org/jira/browse/MESOS-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14587291#comment-14587291 ]
Ben Whitehead commented on MESOS-2841: -------------------------------------- I like the idea of a framework being able to "advertise" things about itself, but I'm not sure labels is the best way to go about doing that. webui_url is one such thing, but in practice it is really too limited and it would be nice if a framework could advertise it's UI in a better form. A few other things I can think of that would be great to advertise are: # An HTTP Api (Cassandra Framework API) # An admin server for a framework scheduler process (Maybe expose metrics, health checks etc) # An event stream (Marathon events) # A DNS Record of how to locate a scheduler process (Where is the kafka api running so I can check the status of my brokers?) # Special URLs that other things would useful (Kafka broker url) I think ultimately in a lot of ways, this particular problem falls in the space of service discovery. A few reasons why I think labels probably aren't enough to satisfy what we're going to want: # Labels aren't structure and will lead to lots of odd, non-uniform usages and formats of labels # Writing things that will want to integrate with this information, it would be great if they were more structured and easier to reason about # Allowing other frameworks access to the information # Defining ACLs to restrict the information that can be seen by other things in the cluster I don't know that DiscoveryInfo is going to be sufficient for all scenarios, but I doubt labels will be capable of expressing the different things that we'll want frameworks to be able to express. One thing I just thought of, what if mesos allowed frameworks to advertise Resources that could then be part of resource offers made to frameworks. > FrameworkInfo should include a Labels field to support arbitrary, lightweight > metadata > -------------------------------------------------------------------------------------- > > Key: MESOS-2841 > URL: https://issues.apache.org/jira/browse/MESOS-2841 > Project: Mesos > Issue Type: Epic > Reporter: James DeFelice > Labels: mesosphere > > A framework instance may offer specific capabilities to the cluster: storage, > smartly-balanced request handling across deployed tasks, access to 3rd party > services outside of the cluster, etc. These capabilities may or may not be > utilized by all, or even most mesos clusters. However, it should be possible > for processes running in the cluster to discover capabilities or features of > frameworks in order to achieve a higher level of functionality and a more > seamless integration experience across the cluster. > A rich discovery API attached to the FrameworkInfo could result in some form > of early lock-in: there are probably many ways to realize cross-framework > integration and external services integration that we haven't considered yet. > Rather than over-specify a discovery info message type at the framework level > I think FrameworkInfo should expose a **very generic** way to supply metadata > for interested consumers (other processes, tasks, etc). > Adding a Labels field to FrameworkInfo reuses an existing message type and > seems to fit well with the overall intent: attaching generic metadata to a > framework instance. These labels should be visible when querying a mesos > master's state.json endpoint. -- This message was sent by Atlassian JIRA (v6.3.4#6332)