VMware migration tool: we need your feedback!
-
Ah, there's a typo in the command name, I fixed it in our doc, thinking it was just a typo from the example
vm.importFomEsxi
is the "right" command. @florent will fix thisFYI:
xo-cli list-commands
will display all the commands, that's how I found out. -
@olivierlambert thanks heaps. Now I get the following error.
root@xoa:~# xo-cli vm.importFomEsxi host=192.168.40.203 user='root' password='password' sslVerify=false vm=11 sr=648548b5-a789-6c72-2518-407a12717fad network=83594c5b-8b5b-b45f-d3a7-7e5301468dc8 ✖ HANDLE_INVALID(network, OpaqueRef:478f9e9d-7592-40a2-ab07-10a0a6982e45) JsonRpcError: HANDLE_INVALID(network, OpaqueRef:478f9e9d-7592-40a2-ab07-10a0a6982e45) at Peer._callee$ (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/json-rpc-peer/dist/index.js:139:44) at tryCatch (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17) at Generator.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22) at Generator.next (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21) at asyncGeneratorStep (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24) at _next (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9) at /opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7 at new Promise (<anonymous>) at Peer.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12) at Peer.exec (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/json-rpc-peer/dist/index.js:182:20)
-
@olivierlambert I've created a new network and it's now working, yay.
-
Okay please tell us the final outcome
-
@olivierlambert said in VMware migration tool: we need your feedback!:
Ah, there's a typo in the command name, I fixed it in our doc, thinking it was just a typo from the example
vm.importFomEsxi
is the "right" command. @florent will fix thisFYI:
xo-cli list-commands
will display all the commands, that's how I found out.my bad, I pushed the branch, with a lot of fixes , and prelminary work for the delta on esxi 7 ( not working for now )
-
@olivierlambert will do, thanks.
-
Thank you both for your help.
-
You are welcome Eager to get your feedback on the outcome, keep us posted!
-
@olivierlambert I managed to get a CentOS 7 vm imported and running. I'm now trying to import an Ubuntu vm and I get the bellow error.
root@xoa:~# xo-cli vm.importFomEsxi host=192.168.40.203 user='root' password='password' sslVerify=false vm=12 sr=648548b5-a789-6c72-2518-407a12717fad network=0b3e9312-541d-a036-06b4-2bd63c53d852 ✖ Cannot create property 'detailed' on string 'ubuntu-64' JsonRpcError: Cannot create property 'detailed' on string 'ubuntu-64' at Peer._callee$ (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/json-rpc-peer/dist/index.js:139:44) at tryCatch (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17) at Generator.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22) at Generator.next (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21) at asyncGeneratorStep (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24) at _next (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9) at /opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7 at new Promise (<anonymous>) at Peer.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12) at Peer.exec (/opt/xo/xo-builds/xen-orchestra-202301220427/node_modules/json-rpc-peer/dist/index.js:182:20)
-
Hi, I am getting the following error:
$ xo-cli vm.importFomEsxi host=192.XXX.XXX.XXX user=USERNAME password=MYPASS sslVerify=false vm=3 sr=d5a9a2f3-3e94-b73f-f8fd-dcefdc356804 network=557d6a0f-ff4c-7692-b342-0671c0a8385b × Cannot read properties of undefined (reading 'current') JsonRpcError: Cannot read properties of undefined (reading 'current') at Peer._callee$ (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\json-rpc-peer\dist\index.js:139:44) at tryCatch (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\regeneratorRuntime.js:44:17) at Generator.<anonymous> (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\regeneratorRuntime.js:125:22) at Generator.next (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\regeneratorRuntime.js:69:21) at asyncGeneratorStep (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24) at _next (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\asyncToGenerator.js:22:9) at C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\asyncToGenerator.js:27:7 at new Promise (<anonymous>) at Peer.<anonymous> (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\@babel\runtime\helpers\asyncToGenerator.js:19:12) at Peer.exec (C:\Users\asdf\AppData\Roaming\npm\node_modules\xo-cli\node_modules\json-rpc-peer\dist\index.js:182:20)
-
-
@florent It is off, no snapshots.
I also disabled Change Block Tracking and deleted the ctk file.
If it helps, I'm using
ESXi-6.7.0-20190802001-standard
and the VM is a 10GB old CentOS.Update: On the server side, the error looks like this:
vm.importFomEsxi { "host": "192.168.1.107", "user": "XXXXXXX", "password": "* obfuscated *", "sslVerify": false, "vm": "3", "sr": "d5a9a2f3-3e94-b73f-f8fd-dcefdc356804", "network": "557d6a0f-ff4c-7692-b342-0671c0a8385b" } { "message": "Cannot read properties of undefined (reading 'current')", "name": "TypeError", "stack": "TypeError: Cannot read properties of undefined (reading 'current') at parseVmsd (file:///usr/local/lib/node_modules/xo-server/node_modules/@xen-orchestra/vmware-explorer/parsers/vmsd.mjs:48:30) at Esxi.getTransferableVmMetadata (file:///usr/local/lib/node_modules/xo-server/node_modules/@xen-orchestra/vmware-explorer/esxi.mjs:250:23) at processTicksAndRejections (node:internal/process/task_queues:95:5) at MigrateVm.migrationfromEsxi (file:///usr/local/lib/node_modules/xo-server/src/xo-mixins/migrate-vm.mjs:122:28) at Xo.importFomEsxi (file:///usr/local/lib/node_modules/xo-server/src/api/vm.mjs:1304:10) at Api.#callApiMethod (file:///usr/local/lib/node_modules/xo-server/src/xo-mixins/api.mjs:394:20)" }
It looks like the presence/dependency of the VMSD file and the tool's attempt to process it has something to do with the problem.
Update: The .vmsd file is empty.
-
@ysageev I'm running across the same error when trying to do some imports, for testing I deleted the vmsd file (didn't think that would do anything at all) and got an error about not being able to find the VM (which is what I thought would happen), re-added the vmsd but still getting this "cannot read properties of undefined" error.
I also tried with a different VM, this time a Windows one (was Ubuntu on the first try) and get a slightly different error:
Cannot convert undefined or null to object
-
@brezlord have you got a more detailed error on the xo logs side ?
@planedrop I pushed a little fix to ensure it does not crash when vmsd file is missing or empty
-
@florent I have rebuilt from source and I get the following errors. The host is running VMware ESXi, 7.0.3, 20328353
root@xoa:~# xo-cli vm.importFromEsxi host=192.168.40.203 user='root' password='obfuscated ' sslVerify=false vm=12 sr=648548b5-a789-6c72-2518-407a12717fad network=0b3e9312-541d-a036-06b4-2bd63c53d852 ✖ Cannot create property 'detailed' on string 'ubuntu-64' JsonRpcError: Cannot create property 'detailed' on string 'ubuntu-64' at Peer._callee$ (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/json-rpc-peer/dist/index.js:139:44) at tryCatch (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17) at Generator.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22) at Generator.next (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21) at asyncGeneratorStep (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24) at _next (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9) at /opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7 at new Promise (<anonymous>) at Peer.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12) at Peer.exec (/opt/xo/xo-builds/xen-orchestra-202301240816/node_modules/json-rpc-peer/dist/index.js:182:20)
vm.importFromEsxi { "host": "192.168.40.203", "user": "root", "password": "* obfuscated *", "sslVerify": false, "vm": "12", "sr": "648548b5-a789-6c72-2518-407a12717fad", "network": "0b3e9312-541d-a036-06b4-2bd63c53d852" } { "message": "Cannot create property 'detailed' on string 'ubuntu-64'", "name": "TypeError", "stack": "TypeError: Cannot create property 'detailed' on string 'ubuntu-64' at set (file:///opt/xo/xo-builds/xen-orchestra-202301240816/@xen-orchestra/vmware-explorer/parsers/vmx.mjs:35:18) at set (file:///opt/xo/xo-builds/xen-orchestra-202301240816/@xen-orchestra/vmware-explorer/parsers/vmx.mjs:37:7) at file:///opt/xo/xo-builds/xen-orchestra-202301240816/@xen-orchestra/vmware-explorer/parsers/vmx.mjs:47:5 at Array.forEach (<anonymous>) at parseVmx (file:///opt/xo/xo-builds/xen-orchestra-202301240816/@xen-orchestra/vmware-explorer/parsers/vmx.mjs:45:20) at Esxi.getTransferableVmMetadata (file:///opt/xo/xo-builds/xen-orchestra-202301240816/@xen-orchestra/vmware-explorer/esxi.mjs:197:17) at processTicksAndRejections (node:internal/process/task_queues:95:5) at MigrateVm.migrationfromEsxi (file:///opt/xo/xo-builds/xen-orchestra-202301240816/packages/xo-server/src/xo-mixins/migrate-vm.mjs:171:28) at Xo.importFromEsxi (file:///opt/xo/xo-builds/xen-orchestra-202301240816/packages/xo-server/src/api/vm.mjs:1307:10) at Api.#callApiMethod (file:///opt/xo/xo-builds/xen-orchestra-202301240816/packages/xo-server/src/xo-mixins/api.mjs:394:20)" }
-
This post is deleted! -
@florent I'm ready to test when you have something, thanks.
-
@brezlord great, that is a usable mesage
could you post the ( or send by email ) , the vmx file ?
-
.encoding = "UTF-8" config.version = "8" virtualHW.version = "19" vmci0.present = "TRUE" floppy0.present = "FALSE" memSize = "2048" tools.upgrade.policy = "manual" sched.cpu.units = "mhz" vm.createDate = "1613734854100000" scsi0.virtualDev = "lsilogic" scsi0.present = "TRUE" sata0.present = "TRUE" sata0:0.startConnected = "FALSE" sata0:0.deviceType = "atapi-cdrom" sata0:0.clientDevice = "TRUE" sata0:0.fileName = "emptyBackingString" sata0:0.present = "TRUE" scsi0:0.deviceType = "scsi-hardDisk" scsi0:0.fileName = "Graylog-000001.vmdk" sched.scsi0:0.shares = "normal" sched.scsi0:0.throughputCap = "off" scsi0:0.present = "TRUE" ethernet0.virtualDev = "vmxnet3" ethernet0.shares = "normal" ethernet0.addressType = "vpx" ethernet0.generatedAddress = "00:50:56:8f:51:24" ethernet0.uptCompatibility = "TRUE" ethernet0.present = "TRUE" displayName = "Graylog" guestOS = "ubuntu-64" toolScripts.afterPowerOn = "TRUE" toolScripts.afterResume = "TRUE" toolScripts.beforeSuspend = "TRUE" toolScripts.beforePowerOff = "TRUE" tools.syncTime = "FALSE" uuid.bios = "42 0f 33 f8 9b 7f 7d 26-a8 bc 61 26 ee 46 16 22" vc.uuid = "50 0f dd 17 4c f8 3c 79-1f 26 ac 99 23 6a 06 d4" sched.cpu.min = "0" sched.cpu.shares = "normal" sched.mem.min = "0" sched.mem.minSize = "0" sched.mem.shares = "normal" migrate.encryptionMode = "opportunistic" ftcpt.ftEncryptionMode = "ftEncryptionOpportunistic" vmci0.id = "-297396701" cleanShutdown = "FALSE" ethernet0.networkName = "vLAN_40" uuid.location = "56 4d 44 f3 60 00 fc b5-f6 4b f4 e7 50 0a 74 f2" sched.cpu.affinity = "all" tools.guest.desktop.autolock = "FALSE" nvram = "Graylog.nvram" pciBridge0.present = "TRUE" svga.present = "TRUE" pciBridge4.present = "TRUE" pciBridge4.virtualDev = "pcieRootPort" pciBridge4.functions = "8" pciBridge5.present = "TRUE" pciBridge5.virtualDev = "pcieRootPort" pciBridge5.functions = "8" pciBridge6.present = "TRUE" pciBridge6.virtualDev = "pcieRootPort" pciBridge6.functions = "8" pciBridge7.present = "TRUE" pciBridge7.virtualDev = "pcieRootPort" pciBridge7.functions = "8" hpet0.present = "TRUE" sched.cpu.latencySensitivity = "normal" numa.autosize.cookie = "10012" numa.autosize.vcpu.maxPerVirtualNode = "1" pciBridge0.pciSlotNumber = "17" pciBridge4.pciSlotNumber = "21" pciBridge5.pciSlotNumber = "22" pciBridge6.pciSlotNumber = "23" pciBridge7.pciSlotNumber = "24" scsi0.pciSlotNumber = "16" ethernet0.pciSlotNumber = "160" vmci0.pciSlotNumber = "32" sata0.pciSlotNumber = "33" monitor.phys_bits_used = "45" vmotion.checkpointFBSize = "4194304" vmotion.checkpointSVGAPrimarySize = "4194304" softPowerOff = "FALSE" svga.guestBackedPrimaryAware = "TRUE" guestOS.detailed.data = "architecture='X86' bitness='64' distroName='Ubuntu' distroVersion='20.04' familyName='Linux' kernelVersion='5.4.0-88-generic' prettyName='Ubuntu 20.04.3 LTS'" toolsInstallManager.updateCounter = "4" viv.moid = "a3752e64-f7d6-4473-8fd5-3b91a194cccc:vm-7093:9iC7plvv3uF5K6K4G++QYV5VZf6Mjp3GrS0FdLa2/1w=" guestInfo.detailed.data = "architecture='X86' bitness='64' distroName='Ubuntu' distroVersion='20.04' familyName='Linux' kernelVersion='5.4.0-137-generic' prettyName='Ubuntu 20.04.3 LTS'" checkpoint.vmState.readOnly = "FALSE" SCSI0:0.ctkEnabled = "TRUE" ctkEnabled = "TRUE" sched.swap.derivedName = "/vmfs/volumes/dc0ddd0a-e7e89bd7/Graylog/Graylog-eda98aed.vswp" migrate.hostLog = "Graylog-50f77235.hlog" guestinfo.vmtools.buildNumber = "18090558" guestinfo.vmtools.description = "open-vm-tools 11.3.0 build 18090558" guestinfo.vmtools.versionNumber = "11360" guestinfo.vmtools.versionString = "11.3.0" scsi0:0.redo = "" vmotion.svga.mobMaxSize = "4194304" vmotion.svga.graphicsMemoryKB = "4096"
-
I edited your post to get the right "code" display (you need to have the three
```
on a new line)