VMware migration tool: we need your feedback!
-
@severhart that would really put the orchestra in xen orchestra , but it would be a huge workload
-
We are potentially investigating if HyperV APIs are friendly to do a similar thing than we do with VMware.
However, we do not have the objective to have XO managing VMware or HyperV clusters (at least, not for the next 3 years)
-
@olivierlambert I understand that, just for the migration purposes is all.. some of these migrations take months, if not years to get complete, and having it all under a single hood while that migration work is being done would be nice... I know that it is a HUGE ask
-
Yeah, each platform got its own logic, that's why having an universal one is very very hard, except if you are a very big company able to have dedicated people on it (while doing all the rest).
I mean, if we can do it, it means we had a huge success, so I won't be against that
-
I have two different behaviour on two different XO instances. Each XO instance refers to a different pool (different hosts, same xcp-ng version). In both the instances I try to connect to the same Private Virtual Datacenter based on VMware/vSphere at OVH.
In the first one I get the following error message by using the web UI: "invalid parameters" (take a look at this logfile 2023-02-28T19_25_21.933Z - XO.txt )
In the second one, I get the following error message by using the web UI "404 Not Found https://<vsphere-ip>/folder/<vm-name>/<vm-name>.vmx?dsName=<datastore-name>"
By using the xo-cli I get the "404 Not Found" on both the instances.
Regarding the "404 Not Found", I want to point out that at OVH I have a VMware datacenter (with 2 hosts) and in order to access to the storage I need to specify the parameter
dcPath=<datacenter-name>
So the right URL should be https://<vsphere-ip>/folder/<vm-name>/<vm-name>.vmx?dcPath=<datacenter-name>&dsName=<datastore-name>
Simply adding (in a static way) the dcPath specification on line :54 of esxi.mjs file makes it work.
-
Interesting, that's probably a parameter we need to add (as optional) in the case it's needed. Would you mind test a dedicated branch when @florent will add it?
-
@olivierlambert Yeah sure! No problem, it'll be a pleasure.
Do you have any idea about the issue related to the message "invalid parameters"? Do you have any suggestion in order to go deeper? Thanks.
-
No but @florent will take a look ASAP
-
For what it's worth I'm seeing the same invalid parameters error when I attempt to perform a migration from an on prem ESXI 7.0U2 host.
Error message:
vm.importFromEsxi { "host": "* obfuscated *", "network": "1fb3daf2-b27d-b7ef-48ce-b8986440247a", "password": "* obfuscated *", "sr": { "type": "SR", "content_type": "user", "physical_usage": 26223620096, "allocationStrategy": "thin", "current_operations": {}, "inMaintenanceMode": false, "name_description": "", "name_label": "Local storage", "size": 964124073984, "shared": false, "SR_type": "ext", "tags": [], "usage": 79456894976, "VDIs": [ "393e3767-07c2-4c23-bdca-b573e8ba5980", "16a72d41-a97d-4b8b-ae6e-3b043882ef8e", "59ae272b-00a8-483c-975b-48f55a15119b", "dcf1d26c-1f85-41f5-9045-cb931bf9ab3b" ], "other_config": { "i18n-original-value-name_label": "Local storage", "i18n-key": "local-storage" }, "sm_config": { "devserial": "" }, "$container": "5a58d8a6-0ed1-4825-b1fd-8d720832bf02", "$PBDs": [ "26c0dc31-2cf6-15c5-8683-5c60e10382d0" ], "id": "3662768f-4a40-31ed-54b9-21eb26876205", "uuid": "3662768f-4a40-31ed-54b9-21eb26876205", "$pool": "20ec2c95-dbb7-f4a3-8bb6-a80ff9de4d00", "$poolId": "20ec2c95-dbb7-f4a3-8bb6-a80ff9de4d00", "_xapiRef": "OpaqueRef:e1b6c317-a854-449b-80e3-b69bbeb389fc" }, "sslVerify": false, "stopSource": false, "thin": true, "user": "root", "vm": "16" } { "code": 10, "data": { "errors": [ { "instancePath": "/sr", "schemaPath": "#/properties/sr/type", "keyword": "type", "params": { "type": "string" }, "message": "must be string" } ] }, "message": "invalid parameters", "name": "XoError", "stack": "XoError: invalid parameters at Module.invalidParameters (/opt/xo/xo-builds/xen-orchestra-202302280214/packages/xo-common/api-errors.js:26:11) at Xo.call (file:///opt/xo/xo-builds/xen-orchestra-202302280214/packages/xo-server/src/xo-mixins/api.mjs:65:20) at Api.#callApiMethod (file:///opt/xo/xo-builds/xen-orchestra-202302280214/packages/xo-server/src/xo-mixins/api.mjs:390:19)" }
-
@Seclusion are you doing it while the VM is running on VMware side? If yes, that's normal then, the delta mode (VM on) isn't supported yet on ESXi > 6.5
-
@olivierlambert No, I thought doing a live migration seemed too ambitions to try first, but I also didn't realize that it also wasn't supported, haha. Here are my settings:
and on on the esxi side:
XO-log.txt
I am currently on commit 25759 -
@florent will take a look
-
@ismo-conguairta said in VMware migration tool: we need your feedback!:
I have two different behaviour on two different XO instances. Each XO instance refers to a different pool (different hosts, same xcp-ng version). In both the instances I try to connect to the same Private Virtual Datacenter based on VMware/vSphere at OVH.
In the first one I get the following error message by using the web UI: "invalid parameters" (take a look at this logfile 2023-02-28T19_25_21.933Z - XO.txt )
In the second one, I get the following error message by using the web UI "404 Not Found https://<vsphere-ip>/folder/<vm-name>/<vm-name>.vmx?dsName=<datastore-name>"
By using the xo-cli I get the "404 Not Found" on both the instances.
Regarding the "404 Not Found", I want to point out that at OVH I have a VMware datacenter (with 2 hosts) and in order to access to the storage I need to specify the parameter
dcPath=<datacenter-name>
So the right URL should be https://<vsphere-ip>/folder/<vm-name>/<vm-name>.vmx?dcPath=<datacenter-name>&dsName=<datastore-name>
Simply adding (in a static way) the dcPath specification on line :54 of esxi.mjs file makes it work.
I thought it was constant. I will look into the api to get it, and if not possible expose it in the UI
@Seclusion : noted I will look into theis error message, this one is a first for me
-
@Seclusion @florent In my case the ESXi version is 7.0.3 (build 20842708) and the vCSA version is 7.0 (build 20845200). The VM I try to migrate is not running on VMware side.
The only difference between the 2 XO instances is that the first one is installed on a PV machine while the second one on a PVHVM machine. -
@ismo-conguairta @rajaa-b can you check it, I think the full SR object is sent to the backend when changing the sr from the default one to another , instead of the id
-
@ismo-conguairta
Can you try this branch : https://github.com/vatesfr/xen-orchestra/pull/6694/files ?Edit : I can get the dcPath from the esxi api, you can test from the frontend, no need to use the command line
For now you can't change the SR ( changing it will lead to a parameter error)
-
@florent I just checked the branch and I get this error message "404 Not Found https://<vsphere-host>/folder/<vm-name>/<vm-name>.vmx?dcPath=datacenter-61&dsName=<ds-name>"
where
datacenter-61
is not the right reference to my datacenter. Please take a look at the following screenshot.From documentation
dcPath is the inventory path to the Datacenter containing the Datastore.
-
@ismo-conguairta said in VMware migration tool: we need your feedback!:
inventory path to the Datacenter
I updated to use another property (from https://developer.vmware.com/apis/196/vsphere/doc/vim.Datacenter.html ) is it better ? on our lab, theses properties have the same value
-
@florent I have just checked and your last update works like a charm. Great!
-
Hi folks,
I have an error when importing from VMware
I'm using XO from sources :
commit number : ea2c6 Hypervisor : Xcp-ng 8.2.1 node : 18.14.2
When I go on import and "from VMware", I put my ESX credentials, check "skip SSL", I do see the list of my VMs from my ESX. I select everything that needed and when I import, I have an error, doesn't matter which option I select or if the VM is running Windows or Linux. Also my ESX are running vmware 5.5.0
Here is the log and screenshot :
vm.importFromEsxi { "host": "IP MASKED", "network": "6277d50c-5d2e-e896-864a-5afcc009ad51", "password": "* obfuscated *", "sr": { "type": "SR", "content_type": "user", "physical_usage": 33929035776, "allocationStrategy": "thin", "current_operations": {}, "inMaintenanceMode": false, "name_description": "VM", "name_label": "NFS", "size": 12884899659776, "shared": true, "SR_type": "nfs", "tags": [], "usage": 289910292480, "VDIs": [ "afef80db-c923-4248-b731-4d1712f02db1", "42fc30c3-4d8f-4126-bb78-fd4a8285b03a", "b286ad66-3d19-4984-aa80-840d93c72cf0", "03869f0c-1a02-4e32-9932-4e221e534eb0", "d17a4e5e-7276-4ef2-84f4-4766c4ad471e" ], "other_config": { "auto-scan": "true" }, "sm_config": {}, "$container": "3eb75cbb-0cc2-3c90-e63e-ae6da1ef9417", "$PBDs": [ "90204213-cbec-5194-439d-ab795a0fe4b8", "2c8adf39-d2a9-8dd5-568d-872fcc04de54" ], "id": "cecb563f-f745-3ed6-1f64-85de34dfbbd5", "uuid": "cecb563f-f745-3ed6-1f64-85de34dfbbd5", "$pool": "3eb75cbb-0cc2-3c90-e63e-ae6da1ef9417", "$poolId": "3eb75cbb-0cc2-3c90-e63e-ae6da1ef9417", "_xapiRef": "OpaqueRef:04f1c17c-357e-428c-bbbe-2a558cd7238a" }, "sslVerify": false, "stopSource": false, "thin": false, "user": "root", "vm": "109" } { "code": 10, "data": { "errors": [ { "instancePath": "/sr", "schemaPath": "#/properties/sr/type", "keyword": "type", "params": { "type": "string" }, "message": "must be string" } ] }, "message": "invalid parameters", "name": "XoError", "stack": "XoError: invalid parameters at Module.invalidParameters (/opt/xo/xo-builds/xen-orchestra-202303011617/packages/xo-common/api-errors.js:26:11) at Xo.call (file:///opt/xo/xo-builds/xen-orchestra-202303011617/packages/xo-server/src/xo-mixins/api.mjs:65:20) at Api.#callApiMethod (file:///opt/xo/xo-builds/xen-orchestra-202303011617/packages/xo-server/src/xo-mixins/api.mjs:390:19)" }