2014-10-18 16:10 GMT+02:00 Richard W.M. Jones <rjones(a)redhat.com>:
Really this should be a warning, not an error, but at least
let's
print out the product version so we have a hope of diagnosing the
problem.
error: internal error: v2v-vcenter is neither an ESX 3.5, 4.x nor 5.x host (product
version = 0x40007)
In this instance the error was that you have to use 'vpx://'
instead of 'esx://'.
No, this should not be a warning and it cannot be a warning easily
without reworking the URI semantic of the driver.
The esx:// and vpx:// URI formats are different. An essential
difference is that you have to specify the datacenter name, cluster
name (conditional) and server name as the path of a vpx:// URI. All of
this information has no meaning for an esx:// URI. The driver already
warns you that it is going to ignore the path section of an esx:// URI
if it's not empty. Which should give you a hint that there is
something wrong with your URI. The driver also complains if the path
section is malformed of missing from a vpx:// URI.
So in the case you mentioned about accidentally using esx:// instead
of vpx:// to connect to a ESX serer through a vCenter server, you
already get a warning like this:
Ignoring unexpected path '/dc1/srv1' for non-vpx scheme 'esx'
from
virsh -c esx://v2v-vcenter/dc1/srv1
assuming you provided a proper path in you URI, but just mixed up
esx:// and vpx://.
Also reporting this product version value doesn't really help here, as
this is just some driver internal enum value.
I propose a different patch instead:
https://www.redhat.com/archives/libvir-list/2014-October/msg00517.html
This simplifies and relaxes the internal version checks and as a side
effect also improves the error messages. In your case it would now
report
Expecting 'v2v-vcenter' to be a ESX(i) host but found a vCenter/VPX host
--
Matthias Bolte
http://photron.blogspot.com