Sid Senthilnathan
12/10/2021, 3:53 PMYoni Augarten
12/10/2021, 4:00 PMYoni Augarten
12/10/2021, 4:17 PMlakectl inget
or lakefs import
?
I'm asking because such objects will require special treatment, as they do not exist in the buckets managed by lakeFS.Sid Senthilnathan
12/10/2021, 4:19 PMYoni Augarten
12/10/2021, 4:20 PMYoni Augarten
12/10/2021, 4:30 PMlakectl refs-dump
command to export the repositories. No manual db changes, but your users and permissions will need to be re-created.
@Sid Senthilnathan, please tell me which option sounds better to you so I can give you further info.Sid Senthilnathan
12/10/2021, 4:33 PMYoni Augarten
12/10/2021, 4:34 PMYoni Augarten
12/10/2021, 4:42 PMlakectl refs-dump
(see reference): this writes all metadata related to the repository (commits, branches, tags) to the repository’s storage namespace. You should save the output of this command to a file, let's call it my-repo-refs.json
.
2. For every such repository, create a bare repository on the new installation. Here you will decide the new storage namespace for each repository.
3. For every repository on the old installation, copy all the objects under the repository's storage namespace into a the corresponding new storage namespace in your new bucket. You can use rclone, distcp or another tool to copy the data.
4. For every new repository you have created, run lakectl refs-restore
(see reference), with the file you created in step (1). Example:
cat my-repo-refs.json | lakectl refs-restore <lakefs://my-new-bare-repository> --manifest -
Yoni Augarten
12/10/2021, 4:43 PMrefs-dump
doesn't handle uncommitted records. Everything should be committed before you do the migration.Sid Senthilnathan
12/10/2021, 4:49 PMYoni Augarten
12/10/2021, 4:52 PMSid Senthilnathan
12/10/2021, 5:14 PMYoni Augarten
12/10/2021, 5:17 PM