{"id":18690468,"url":"https://github.com/kvaps/linstor-csi-migrator","last_synced_at":"2025-11-08T08:30:31.120Z","repository":{"id":80916037,"uuid":"178066822","full_name":"kvaps/linstor-csi-migrator","owner":"kvaps","description":"Convert old LINSTOR flexVolumes to CSI","archived":false,"fork":false,"pushed_at":"2019-04-30T13:33:18.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-28T02:31:02.257Z","etag":null,"topics":["csi","flexvolume","linstor"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-27T20:05:52.000Z","updated_at":"2019-04-30T13:33:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8556c98-3660-4b10-9f9f-a9074c5e666c","html_url":"https://github.com/kvaps/linstor-csi-migrator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Flinstor-csi-migrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Flinstor-csi-migrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Flinstor-csi-migrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Flinstor-csi-migrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvaps","download_url":"https://codeload.github.com/kvaps/linstor-csi-migrator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239550283,"owners_count":19657541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csi","flexvolume","linstor"],"created_at":"2024-11-07T10:47:40.077Z","updated_at":"2025-11-08T08:30:31.068Z","avatar_url":"https://github.com/kvaps.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# linstor-csi-migrator\nConvert old LINSTOR flexVolumes to CSI\n\n### How it works\n\nScript takes PersistentVolumes with Linstor flexVolume driver or old-style CSI metadata, which stopped working after last update of linstor csi-plugin and generates commands for update their metadata to use with new csi-plugin.\n\n* https://github.com/LINBIT/linstor-csi/issues/4 `flexvolume` (migrate flexvolumes to csi)\n* https://github.com/LINBIT/linstor-csi/issues/7 `csi1` (migrate csi to use right volume names)\n* https://github.com/LINBIT/linstor-csi/issues/11 `csi2` (update csi to use right driver name)\n\n### Preparation\n\n* Make sure that you have `jq` and `kubectl` installed in your system.\n\n* Download the script:\n\n  ```\n  curl -LO https://github.com/kvaps/linstor-csi-migrator/raw/master/linstor-csi-migrator.sh\n  chmod +x linstor-csi-migrator.sh\n  ```\n\n### Usage\n\n\n* Make sure that you have access to list PVs in your cluster.\n\n* Generate commands:\n\n  ```\n  # FlexVolumes:\n  ./linstor-csi-migrator.sh flexvolume \u003e flexvolume_commands.sh\n  # Old format CSIs:\n  ./linstor-csi-migrator.sh csi1 \u003e csi1_commands.sh\n  # CSIs with old driver name:\n  ./linstor-csi-migrator.sh csi2 \u003e csi2_commands.sh\n  ```\n\n* Create backup of your Persistent Volumes:\n\n  ```\n  kubectl get pv -o json \u003e pv.json\n  ```\n\n* Now you can open `*_commands.sh` and apply the changes.\n\n\n### Additional steps\n\n* To avoid problems with pods termination, before upgrade `flexvolume` volumes, please stop all the workload.\n\n* During `csi2` upgrade, you should also change drivername for running pods, on every node run:\n\n  ```\n  sed -i 's/io.drbd.linstor-csi/linstor.csi.linbit.com/g' `find /var/lib/kubelet/pods/ -mindepth 5 -maxdepth 5 -name vol_data.json`\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Flinstor-csi-migrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvaps%2Flinstor-csi-migrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Flinstor-csi-migrator/lists"}