Details
-
Task
-
Status: Resolved
-
Major
-
Resolution: Later
-
None
-
None
-
None
-
None
-
Mesosphere Sprint 77, Mesosphere Sprint 78, Mesosphere Sprint 79
-
3
Description
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:
// 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; }
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.
Attachments
Issue Links
- is related to
-
MESOS-9387 Surface errors for publishing CSI volumes in task status updates.
- Open