Skip to content

Conversation

@jopemachine
Copy link
Member

@jopemachine jopemachine commented Jan 8, 2026

resolves #7863 (BA-3798)

Checklist: (if applicable)

  • Milestone metadata specifying the target backport version
  • Mention to the original issue
  • Installer updates including:
    • Fixtures for db schema changes
    • New mandatory config options
  • Update of end-to-end CLI integration tests in ai.backend.test
  • API server-client counterparts (e.g., manager API -> client SDK)
  • Test case(s) to:
    • Demonstrate the difference of before/after
    • Demonstrate the flow of abstract/conceptual models with a concrete implementation
  • Documentation
    • Contents in the docs directory
    • docstrings in public interfaces and type annotations

@github-actions github-actions bot added size:XL 500~ LoC comp:common Related to Common component comp:storage-proxy Related to Storage proxy component labels Jan 8, 2026
@github-actions github-actions bot added size:L 100~500 LoC and removed size:XL 500~ LoC labels Jan 8, 2026
@jopemachine jopemachine marked this pull request as ready for review January 8, 2026 02:57
Copilot AI review requested due to automatic review settings January 8, 2026 02:57
@jopemachine jopemachine added the skip:changelog Make the action workflow to skip towncrier check label Jan 8, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the BEP-1020 proposal document to refine the architecture for VFolder destination support in artifact imports. The changes improve the design by introducing a more flexible StorageTarget wrapper class and renaming VFolderStorage to the more accurate VolumeStorageAdapter.

Key changes:

  • Simplified API changes documentation by removing the detailed GraphQL mutation example
  • Introduced StorageTarget class to wrap storage references (string names or storage instances)
  • Renamed VFolderStorage to VolumeStorageAdapter for better clarity

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@fregataa fregataa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a short-term plan or an ultimate refactoring plan for the import pipeline?

@jopemachine
Copy link
Member Author

jopemachine commented Jan 8, 2026

Is this a short-term plan or an ultimate refactoring plan for the import pipeline?

I will implement this within the current sprint through two or three PRs.
The refactoring will be carried out separately from the BEP scope.

@jopemachine jopemachine requested a review from fregataa January 9, 2026 04:19
Comment on lines +117 to +131
async def stream_upload(self, filepath: str, data_stream: StreamReader) -> None:
# Delegates to volume.add_file()
...

async def stream_download(self, filepath: str) -> StreamReader:
# Delegates to volume.read_file()
...

async def delete_file(self, filepath: str) -> None:
# Delegates to volume.delete_files()
...

async def get_file_info(self, filepath: str) -> VFSFileMetaResponse:
# Uses volume.sanitize_vfpath() + aiofiles.os.stat()
...
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are they abstract methods from AbstractStorage?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

@jopemachine jopemachine requested a review from fregataa January 9, 2026 05:47
@fregataa fregataa added this pull request to the merge queue Jan 9, 2026
Merged via the queue into main with commit 5ffa9bd Jan 9, 2026
29 checks passed
@fregataa fregataa deleted the beps/1020-3 branch January 9, 2026 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:common Related to Common component comp:storage-proxy Related to Storage proxy component size:L 100~500 LoC skip:changelog Make the action workflow to skip towncrier check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rewrite BEP for VFolder Destination Support for Artifact Import

4 participants