From 65b3746ea784e2a089b992d6fe234fa232e25b24 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 14 Nov 2022 08:59:36 +0000 Subject: [PATCH] Talk about using virt-v2v in Kubevirt --- 2022-v2v-in-kubevirt/2022-v2v-in-kubevirt.odp | Bin 0 -> 26857 bytes 2022-v2v-in-kubevirt/notes.txt | 125 ++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 2022-v2v-in-kubevirt/2022-v2v-in-kubevirt.odp create mode 100644 2022-v2v-in-kubevirt/notes.txt diff --git a/2022-v2v-in-kubevirt/2022-v2v-in-kubevirt.odp b/2022-v2v-in-kubevirt/2022-v2v-in-kubevirt.odp new file mode 100644 index 0000000000000000000000000000000000000000..54aee8f2e5344c9cc2b62a0f3ecd8171b0094c7d GIT binary patch literal 26857 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 bYyWG4by-CazZC!gUHn-n&d~+ie(n7ajzqm> literal 0 HcmV?d00001 diff --git a/2022-v2v-in-kubevirt/notes.txt b/2022-v2v-in-kubevirt/notes.txt new file mode 100644 index 0000000..0863161 --- /dev/null +++ b/2022-v2v-in-kubevirt/notes.txt @@ -0,0 +1,125 @@ +Virt-v2v in Kubevirt +==================== + +(0) What is it + +Convert a virtual machine from VMware (usually) to run on KVM. +Involves installing the correct device drivers inside the guest +and making many other changes so it is bootable. + +Supports Windows and some Linux distros. + +First version of virt-p2v was written in 2007(!) We've been +serious about it since about 2008/2009. + + +(1) Virt-v2v is a process, not a step + +Many different types of inputs supported: + +* VMware over HTTP + +* VMware over VDDK + +* VMware over SSH + +* Xen + +* local disk files + +* OVA files (GUI export or ovftool) + +* local VMX files + +* libvirt + +* from physical machines (p2v*) + *slightly different process + +Command line is complicated, but stick to the documentation and +you'll be fine. + + +(2) Correctness, supportability + +For a correct conversion, it's vitally important that we query +VMware for the full metadata, and also vital that the metadata +that virt-v2v writes is consumed by the target hypervisor. + +Metadata == VMware VMX data on the input side + == Kubevirt YAML on the output side + +Virt-v2v already knows how to do this, and also how to efficiently +copy the guest. There are many complex corner cases. +Don't duplicate this work. + +We only support virt-v2v when used as directed. + +I'm the one who does third line support when things go wrong. + +I've been in several "difficult" calls with customers +when we've fucked up over the years, and I'm not keen on being +on any more. + + +(3) What we've tried + +Modified Tomas's example volume populator +(https://github.com/nyoxi/vmware-populator) so that it just runs +virt-v2v. + +=> Ugly having to pass virt-v2v args + + * could be cleaned up with some CRDs + +=> Only a single disk supported + +=> No place to write out the metadata + +=> Have to specify the size up front + +=> How to report errors? + +=> Possible we could use a filesystem PVC and write out: + + * disk1.qcow2 + * disk2.qcow2 + * guest.yaml + * virt-v2v.log + + but would involve an extra copying step (or else modifying + Kubevirt to be able to boot from this). + + * The main point about reducing copies is reducing *remote* copies + because VDDK is expensive and finnicky. Local copies of fully + sparsified data within the target cluster may be acceptable for a + first pass. + + +(4) What we also talked about + +Could we just run virt-v2v in a pod? + +=> It would do the conversion and run kubectl / virtctl commands + in order to create resources and the final guest as needed. + +=> Cannot create PVCs + +Can we chain pods together? + +=> One pod sets up the PVCs, second pod does the conversion and + finishes up. + +I feel we are missing some "automation" thing in Kubernetes. +Is this what operators are? + + +(5) Miscellaneous + +We have an "-o kubevirt" output mode which generates Kubevirt YAML. +It's not upstream, but could be once we've decided what to do. + +If we decide that some other process must create the PVC(s) in +advance, then virt-v2v needs a way to estimate the number/size +of disks needed. (We had this in the past and removed it, but +could add something again once it's clear what is exactly needed.) -- 1.8.3.1