Project

General

Profile

Actions

Feature #8015

closed

[Crunch2] Keep-backed mount points: tmp/output dir, read-only collection, read-only by-id dir

Added by Peter Amstutz about 9 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Crunch
Target version:
Story points:
0.5
Release:
Release relationship:
Auto

Description

Implement mount points in crunch-run as described here: https://dev.arvados.org/projects/arvados/wiki/Containers_API#Mount-types

Scope

Support the following mount types:
  • kind=collection, writable=false, uuid=X
  • kind=collection, writable=false, portable_data_hash=X
  • kind=collection, writable=true, no uuid or portable_data_hash
  • kind=tmp, device_type={disk or network} (for now this can be a plain docker data volume, although at some point we might need something like a loopback device so we can reserve/limit capacity)

Note the "kind=collection, writable=true, and uuid-or-portable_data_hash provided" feature is not included here because it requires additional support from arv-mount that isn't implemented yet.

Approach

  1. Before starting the docker container, build an arv-mount command line and run arv-mount in a new temporary directory
  2. Add host bind mounts to the container, mapping the arv-mount directories to the desired targets inside the container.
  3. Run the docker container, wait for it to finish
  4. If the container used one of its mount points as an output directory, record its output (i.e., get the manifest_text from the JSON object in the magic .arvados#collection file, create a new collection, and record the resulting PDH)
  5. Run "fusermount -u" to unmount the arv-mount directory
  6. Delete temporary directories

Subtasks 3 (0 open3 closed)

Task #8356: Review 8015-crunch2-mountResolvedRadhika Chippada02/25/2016Actions
Task #8362: Add testsResolvedPeter Amstutz02/16/2016Actions
Task #8361: Mount point supportResolvedPeter Amstutz02/16/2016Actions
Actions

Also available in: Atom PDF