This patch implements output to OpenStack Cinder volumes using
OpenStack APIs.
It has only been lightly tested, but appears to work.
There are some important things to understand about how this works:
(1) You must run virt-v2v in a conversion appliance running on top of
OpenStack. And you must supply the name or UUID of this appliance to
virt-v2v using the ‘-oo server-id=NAME|UUID’ parameter. (See the
manual for more details)
(2) Virt-v2v will use the same environment variables as the openstack
command line tool (eg. OS_USERNAME, OS_PASSWORD etc). You can also
supply the same authentication data on the command line using
‘-oo os-username=NAME’ etc.
(3) There is no definitive list of authentication parameters consumed
by OpenStack, *and any wrapper software around virt-v2v should not
assume one*. It should be able to handle any arbitrary (key, value)
pairs and simply pass them through.
(4) You can run multiple parallel conversions in a single conversion
appliance, but OpenStack has some nasty, low limits which will affect
this. See the manual for details.
(5) Virt-v2v will try to clean up Cinder volumes on failure, but as
with RHV this relies on virt-v2v exiting cleanly (not crashing). In
case virt-v2v crashes, Cinder volumes which were not successfully
converted have the description field "virt-v2v temporary volume for ...",
so hopefully this can be used for some kind of garbage collection.
(6) Only raw output format is supported. Other output formats
wouldn't seem to make any sense since format is internal to Cinder (I
think?)
This patch seems largely complete. There is hopefully not any major
extra work to do.
I haven't tested it with guests with more than one disk, and there are
some questions about whether OpenStack can really handle this.
I haven't tested full end to end (from VMware) conversions.
Rich.