[ 
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)

Reply via email to