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