Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

csi: volume claim garbage collection #7125

Merged
merged 4 commits into from
Feb 19, 2020
Merged

csi: volume claim garbage collection #7125

merged 4 commits into from
Feb 19, 2020

Commits on Feb 19, 2020

  1. csi: volume claim garbage collection

    When an alloc is marked terminal (and after node unstage/unpublish
    have been called), the client syncs the terminal alloc state with the
    server via `Node.UpdateAlloc RPC`.
    
    For each job that has a terminal alloc, the `Node.UpdateAlloc` RPC
    handler at the server will emit an eval for a new core job to garbage
    collect CSI volume claims. When this eval is handled on the core
    scheduler, it will call a `volumeReap` method to release the claims
    for all terminal allocs on the job.
    
    The volume reap will issue a `ControllerUnpublishVolume` RPC for any
    node that has no alloc claiming the volume. Once this returns (or
    is skipped), the volume reap will send a new `CSIVolume.Claim` RPC
    that releases the volume claim for that allocation in the state store,
    making it available for scheduling again.
    
    This same `volumeReap` method will be called from the core job GC,
    which gives us a second chance to reclaim volumes during GC if there
    were controller RPC failures.
    tgross committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    abb4550 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    21966cf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7e0faf4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a4a4b75 View commit details
    Browse the repository at this point in the history