[ 
https://issues.apache.org/jira/browse/MESOS-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14589318#comment-14589318
 ] 

James DeFelice commented on MESOS-2841:
---------------------------------------

Agree that it's useful for API or UI (http(s) things). URI's don't have to be 
URL's though, they could just be unique names that announce capabilities. For 
example:
{code}
// define a handle that describes a storage driver capability of a framework
storageCap = mesos.Handle{
  uri: "urn:mesos:capability:storage", // declares specific capability of 
framework
  labels: { { "version", "v1" }, { "version", "v1.1" } }, // supported 
capability API versions
  visibility: { VisibilityMesos }, // only mesos masters and slaves can see 
this handle
}

// define a handle that describes a plugin capability of a framework
mesosDnsPlugin = mesos.Handle{
  uri: "urn:mesos:discovery:plugin", // declares specific capability of 
framework
  // supported capability API versions, name of the plugin, location of plugin 
discovery metadata
  labels: { { "version", "v1" }, { "name", "k8s-services-discovery-plugin" }, { 
"location": "http://<hostname>/service/kubernetes/mesos/discovery" } },
  visibility: { VisibilityCluster }, // visible within the mesos cluster, not 
outside the cluster
}
{code}

/cc [~joerg84]

> 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