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

Researching Virtual Machine (kubevirt) migration with crane #91

Open
djzager opened this issue May 16, 2022 · 7 comments
Open

Researching Virtual Machine (kubevirt) migration with crane #91

djzager opened this issue May 16, 2022 · 7 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/normal Higher priority than priority/minor. Nice to have.

Comments

@djzager
Copy link
Contributor

djzager commented May 16, 2022

This issue is a means of documenting the effort of migrating Virtual Machine's using crane.

@djzager djzager added kind/feature Categorizes issue or PR as related to a new feature. and removed kind/feature Categorizes issue or PR as related to a new feature. labels May 16, 2022
@djzager
Copy link
Contributor Author

djzager commented May 16, 2022

The changes were made to the following projects as part of this effort:

Container Image: docker pull quay.io/djzager/crane-runner:cnv-playground .. this provides an image with all of the changes contained inside.

@djzager
Copy link
Contributor Author

djzager commented May 16, 2022

Issues that I've found

This section isn't complete until the issues listed are linked to actual GH Issues.

  • Crane's transfer-pvc needs to support specifying pod mutations.
  • Konveyor needs a solution for migrating PVCs with volumeMode: block
  • Konveyor needs a story for dealing with VirtualMachineSnapshots, and necessarily, VolumeSnapshots.
  • Crane export fails when you specify KUBECONFIG=/some/kubeconfig:/another/kubeconfig
  • We need a net new crane plugin...crane-plugin-kubevirt that can handle the mutations necessary for VirtualMachines. Further conversation needed on all the ways to handle this.

@djzager
Copy link
Contributor Author

djzager commented May 16, 2022

Environment Details

  • Using mig-agnosticd to provide two openshift 4.10 clusters (source cluster and destination cluster). The only thing that must be changed is the worker_instance_type must be m5.metal (related: OpenShift Virtualization on AWS).
  • Manually (via Console UI) installed the OpenShift Virtualization Operator and the HyperConverged CR in both source and destination clusters.
  • Mostly because writing Tekton Pipeline's is so much easier than having to write a shell script and just as portable (a file with .yaml or .sh), I also installed OpenShift Pipelines in the destination cluster.

@djzager
Copy link
Contributor Author

djzager commented May 18, 2022

Demonstration: https://youtu.be/tvDYvfoHNxg

@djzager djzager self-assigned this May 18, 2022
@djzager
Copy link
Contributor Author

djzager commented Jun 9, 2022

PRs:

@djzager djzager added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jun 18, 2022
@eriknelson
Copy link
Contributor

@djzager I think we need to split this one into tractable issues in GH as features to get them onto the priority roadmap and potentially turn this into an epic. I'll hold off on triaging this into Jira until we have a conversation about how that should be done.

@eriknelson
Copy link
Contributor

/priority normal
/kind feature

@openshift-ci openshift-ci bot added priority/normal Higher priority than priority/minor. Nice to have. kind/feature Categorizes issue or PR as related to a new feature. labels Jun 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. priority/normal Higher priority than priority/minor. Nice to have.
Projects
None yet
Development

No branches or pull requests

2 participants