[ https://issues.apache.org/jira/browse/MESOS-8760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16695192#comment-16695192 ]
Chun-Hung Hsiao commented on MESOS-8760: ---------------------------------------- If we go with MESOS-9387, an alternative approach for this is to add a framework-supplied workload ID in the {{Volume}} protobuf, then do proper unpublish/publish in SLRP. > Make resource provider aware of workloads. > ------------------------------------------ > > Key: MESOS-8760 > URL: https://issues.apache.org/jira/browse/MESOS-8760 > Project: Mesos > Issue Type: Task > Reporter: Chun-Hung Hsiao > Assignee: Chun-Hung Hsiao > Priority: Major > > Since the {{NodePublishVolume}} CSI call is supposed to be called for each > workload, SLRP it self should be aware of workloads. Potentially, we could > have the following event in the resource provider API: > {noformat} > // Received when the master or agent wants to update the resource usage of > // this resource provider for each workload (e.g., framework or container). > message ApplyResourceUsage { > required UUID uuid = 1; > // A map from a workload identifier (e.g., FrameworkID or ContainerID) to > // the resources used by the workload. > map<string, Resources> resources = 2; > } > {noformat} > For SLRP or any local resource provider, a workload is a container, and SLRP > can implement {{ApplyResourceUsage}} by checking if a resource is used by a > new workload, and call {{NodeUnpublishVolume}} and {{NodePublishVolume}} > accordingly. > For ERP, a workload can be a framework, so the resource provider can > checkpoint which framework is using what resources and provide such > information to the allocator after a failover. > Note that the {{ApplyResourceUsage}} call should report *all* resources being > used on an agent, so it can handle resources without identifiers (such as > cpus, mem) correctly. -- This message was sent by Atlassian JIRA (v7.6.3#76005)