[ https://issues.apache.org/jira/browse/MESOS-5158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16513015#comment-16513015 ]
James Peach edited comment on MESOS-5158 at 6/14/18 9:27 PM: ------------------------------------------------------------- Persistent volumes are managed in {{Slave::syncCheckpointedResources()}}, which will create new volumes and also delete old ones. The isolators are not notified about these changes. To support persistent volumes in the XFS isolators, we need to do a few things: # On recovery, we need to scan existing persistent volumes in order to recover the project IDs # On resources update, we need to notice any new persistent volumes and allocate a project ID for them # Periodically, we need to re-scan the persistent volumes to reclaim project IDs for volumes that have been deleted. # If we are doing active enforcement, we need to add the persistent volumes into the set of quotas that we are polling for usage. We need to consider which tasks would be killed if the volume is filled. There's no explicit way to support the {{GROW_VOLUME}} or {{SHRINK_VOLUME}} operations since we would need to know how to update the quota when that happens. The agent doesn't explicitly grow the volume, it just updates its checkpointed resources. However, updating the quota when it is attached to a task would work, since the size of shared volumes cannot be altered. was (Author: jamespeach): Persistent volumes are managed in {{Slave::syncCheckpointedResources()}}, which will create new volumes and also delete old ones. The isolators are not notified about these changes. To support persistent volumes in the XFS isolators, we need to do a few things: # On recovery, we need to scan existing persistent volumes in order to recover the project IDs # On resources update, we need to notice any new persistent volumes and allocate a project ID for them # Periodically, we need to re-scan the persistent volumes to reclaim project IDs for volumes that have been deleted. # If we are doing active enforcement, we need to add the persistent volumes into the set of quotas that we are polling for usage. We need to consider which tasks would be killed if the volume is filled. There's no explicit way to support the the {{GROW_VOLUME}} or {{SHRINK_VOLUME}} operations since we would need to know how to update the quota when that happens. The agent doesn't explicitly grow the volume, it just updates its checkpointed resources. However, updating the quota when it is attached to a task would work, since the size of shared volumes cannot be altered. > Provide XFS quota support for persistent volumes. > ------------------------------------------------- > > Key: MESOS-5158 > URL: https://issues.apache.org/jira/browse/MESOS-5158 > Project: Mesos > Issue Type: Improvement > Components: containerization > Reporter: Yan Xu > Priority: Major > > Given that the lifecycle of persistent volumes is managed outside of the > isolator, we may need to further abstract out the quota management > functionality to do it outside the XFS isolator. -- This message was sent by Atlassian JIRA (v7.6.3#76005)