Skip to content

0.90.0 requires write permission on cache dir #3510

@florianspecker

Description

@florianspecker

Since 0.90.0, dvc fetch, dvc checkout and dvc pull all fail with:

$ dvc pull
ERROR: unexpected error - [Errno 30] Read-only file system: '/Volumes/dvc/eac-plv-dataset-iphone5-4k-okr_q4_2019/2c/b5d8b77eb1ac4f56dfbce8aa2f4dfd'

/Volumes/dvc is a read-only NFS mount. Up and including 0.89.0, this setup worked like a charm.

$ more .dvc/config
[core]
analytics = false
remote = datasetmaster
['remote "datasetmaster"']
url = s3:///eac-plv-dataset-iphone5-4k-okr_q4_2019
profile = datasets

$ more .dvc/config.local
[cache]
dir = /Volumes/dvc/eac-plv-dataset-iphone5-4k-okr_q4_2019/

Background on our setup:
DVC pushes images to S3. Our dataset engineers have the .dvc/config as pasted above. The same config is used for our ML training runs that are being executed on AWS.
Our ML developers need the same datasets, and so do the ML trainings that are executed onprem (we have our own GPUs; AWS is only used for peaks). Both these use cases have .dvc/config.local as pasted above (in addition to the same .dvc/config as everybody else). It points to a NFS share, where we sync the content of our S3 bucket. It is read-only to make sure it stays consistent.

Environment (this is my machine - the same issue occurred on a colleagues machine running Ubuntu):
DVC version: 0.90.0
Python version: 3.7.7
Platform: Darwin-19.3.0-x86_64-i386-64bit
Binary: False
Package: brew
Supported remotes: azure, gdrive, gs, http, https, s3, ssh, oss
Cache: reflink - supported, hardlink - supported, symlink - supported

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions