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

Plain filesystem storage #516

Merged
merged 2 commits into from
Jun 5, 2023
Merged

Plain filesystem storage #516

merged 2 commits into from
Jun 5, 2023

Conversation

jennydaman
Copy link
Contributor

@jennydaman jennydaman commented Jun 5, 2023

Summary

  • CUBE is decoupled from Swift
  • CUBE can use a filesystem as file storage

Motivation

Storing files in a directory on the host's filesystem is preferable to object storage in some cases:

  • single-machine
  • single-replica
  • object storage not available
  • use NFS for storage

Changes

  • Minimized SwiftManager's public interface
  • Created a new Python package, core.storage. core.swiftmanager was moved into core.storage
  • StorageManager is an abstract interface implemented by SwiftManager
  • Created new FilesystemManager implementation of StorageManager, which adapts pathlib to use a UNIX filesystem as the file storage service for CUBE
  • tests were updated to replace mock.patch.object usage on SwiftManager with a custom context manager mock_storage which patches settings to use a temporary directory as the file storage service

How to configure: https://github.com/FNNDSC/ChRIS_ultron_backEnd/wiki/Storage-Backends

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant