owncloud / ocis

:atom_symbol: ownCloud Infinite Scale Stack
https://doc.owncloud.com/ocis/next/
Apache License 2.0
1.36k stars 178 forks source link

Migrate Spaces to new instance #9301

Open AliveDevil opened 3 months ago

AliveDevil commented 3 months ago

Description

Currently there is no way of migrating one OCIS installation (with all Spaces included) to another, with a different backend (POSIX -> S3NG, or vice versa).

User Stories

Value

Acceptance Criteria

Definition of ready

Definition of done

micbar commented 3 months ago

@butonic @kobergj

As we are currently implementing #9004 , we could easily extend that to download all blobs to the decomposed FS or upload all blobs to the S3 (two way migration).

kobergj commented 3 months ago

This is not really what https://github.com/owncloud/ocis/issues/9004 is for. It is simply checking for consistency, not downloading any blobs.

But we could build a similar command that migrates blobs from one store to another.

micbar commented 3 months ago

But we could build a similar command that migrates blobs from one store to another.

Yes. That is what i meant. But you already did some ground work in reva to export some props to get that done.

kobergj commented 3 months ago

Sounds good :+1:

So the action item would be to create a cli command that copies all blobs from one blobstore into another. Using the new List method on the source blobstore should make this a straightforward task. We will not validate anything, just copy the blobs into the new store.

AliveDevil commented 3 months ago

That would be fine by me, and even more premium than the initial option of just keeping the ids and copying data manually.

AliveDevil commented 3 months ago

Updated entry post. Anything to amend?

micbar commented 3 months ago

@tbsbdr @dragotin we need to squeeze that in.

micbar commented 3 months ago

Added to backlog. Candidate for next sprint.

butonic commented 3 weeks ago

I am reading this as 'only copy blobs between blobstores' not anything related to metadata, right? The latter would require a Dump and Load mechanism for node metadata.