XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    VMware migration tool: we need your feedback!

    Scheduled Pinned Locked Moved Migrate to XCP-ng
    318 Posts 37 Posters 176.8k Views 30 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ismo-conguairtaI Offline
      ismo-conguairta @olivierlambert
      last edited by ismo-conguairta

      @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.

      1 Reply Last reply Reply Quote 0
      • olivierlambertO Offline
        olivierlambert Vates 🪐 Co-Founder CEO
        last edited by

        No but @florent will take a look ASAP 🙂

        1 Reply Last reply Reply Quote 0
        • S Offline
          Seclusion
          last edited by Seclusion

          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)"
          }
          
          ismo-conguairtaI 1 Reply Last reply Reply Quote 0
          • olivierlambertO Offline
            olivierlambert Vates 🪐 Co-Founder CEO
            last edited by

            @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

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              Seclusion @olivierlambert
              last edited by

              @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:Screenshot from 2023-02-28 17-41-20.png
              and on on the esxi side:
              Screenshot from 2023-02-28 17-45-44.png
              XO-log.txt
              I am currently on commit 25759

              1 Reply Last reply Reply Quote 0
              • olivierlambertO Offline
                olivierlambert Vates 🪐 Co-Founder CEO
                last edited by

                @florent will take a look 🙂

                1 Reply Last reply Reply Quote 0
                • florentF Offline
                  florent Vates 🪐 XO Team @ismo-conguairta
                  last edited by

                  @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

                  1 Reply Last reply Reply Quote 2
                  • ismo-conguairtaI Offline
                    ismo-conguairta @Seclusion
                    last edited by

                    @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.

                    florentF 1 Reply Last reply Reply Quote 0
                    • florentF Offline
                      florent Vates 🪐 XO Team @ismo-conguairta
                      last edited by

                      @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

                      1 Reply Last reply Reply Quote 0
                      • florentF Offline
                        florent Vates 🪐 XO Team @ismo-conguairta
                        last edited by florent

                        @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)

                        fbeauchamp opened this pull request in vatesfr/xen-orchestra

                        closed feat(xo-server): use dcpath in Esxi import #6694

                        ismo-conguairtaI 1 Reply Last reply Reply Quote 0
                        • ismo-conguairtaI Offline
                          ismo-conguairta @florent
                          last edited by

                          @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.

                          Screenshot_2023-03-01_18-23-03.png

                          From documentation

                          dcPath is the inventory path to the Datacenter containing the Datastore.

                          florentF 1 Reply Last reply Reply Quote 0
                          • florentF Offline
                            florent Vates 🪐 XO Team @ismo-conguairta
                            last edited by

                            @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

                            ismo-conguairtaI 1 Reply Last reply Reply Quote 1
                            • ismo-conguairtaI Offline
                              ismo-conguairta @florent
                              last edited by

                              @florent I have just checked and your last update works like a charm. Great!

                              1 Reply Last reply Reply Quote 1
                              • T Offline
                                Touille
                                last edited by olivierlambert

                                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)"
                                }
                                

                                7a20e697-09d6-4da4-9655-f2b440a163a4-image.png

                                ismo-conguairtaI 1 Reply Last reply Reply Quote 0
                                • ismo-conguairtaI Offline
                                  ismo-conguairta @Touille
                                  last edited by

                                  @Touille As @florent said in a previous message probably the full SR object is sent to the backend instead of its id. This happens when you change the destination SR from the default one to another. You can try to proceed with the export on the default SR.

                                  Take a look at this branch: https://github.com/vatesfr/xen-orchestra/pull/6696/files
                                  It seems to fix the error.

                                  Rajaa-BARHTAOUI opened this pull request in vatesfr/xen-orchestra

                                  closed fix(xo-web/import/vmware): fix invalid params #6696

                                  T 1 Reply Last reply Reply Quote 0
                                  • olivierlambertO Offline
                                    olivierlambert Vates 🪐 Co-Founder CEO
                                    last edited by

                                    It's even merged in master (few seconds ago) 🙂

                                    1 Reply Last reply Reply Quote 1
                                    • T Offline
                                      Touille @ismo-conguairta
                                      last edited by

                                      Hi @ismo-conguairta.
                                      As you and Florent said, before the update, when I tried to import to another SR than the default one, it wouldn't work.

                                      Since the update an hour ago, it's fixed 🙂 I've just imported a VM from VMware to any SR I want

                                      thank you!! 🙂

                                      1 Reply Last reply Reply Quote 1
                                      • planedropP Offline
                                        planedrop Top contributor
                                        last edited by

                                        It may have already been mentioned in here more recently, but I still think some kind of system to select specific VHDs from the ESXi box would be super nice.

                                        Sometimes one may only need to move the data of specific VHDs (excluding say logging or other temporary data style VHDs) and this would greatly speed up migrations.

                                        It would also help in the event someone has VHDs that are larger than 2TiB, since you'd be able to only move the smaller ones and find an alternate solution for the larger than 2TiB VHDs.

                                        Just a thought though; this tool is still amazing and has helped me start migrations!

                                        1 Reply Last reply Reply Quote 1
                                        • olivierlambertO Offline
                                          olivierlambert Vates 🪐 Co-Founder CEO
                                          last edited by

                                          @planedrop the issue is that we are about to add multi-VM migration, so it will be a bit harder to make individual choices per disk. However, we could always create a convention based on a tag/name of the disk to ignore it, what do you think?

                                          planedropP 1 Reply Last reply Reply Quote 2
                                          • planedropP Offline
                                            planedrop Top contributor @olivierlambert
                                            last edited by

                                            @olivierlambert I think a tag or name based exclusion would be a great idea! Helps in the more niche use cases where not all drives have to be moved.

                                            As an example use case, I have a VM I am going to migrate sometime in the next few weeks, but I only need it's C drive (the other drives are for logging, etc... and are more than 2TiB anyway). Right now I plan to export the VMDK and try importing it but I've had mixed results with that working correctly in the past, whereas this new V2V migration tool has been super reliable so far, so I'd have more confidence in it working (not to mention it's less work haha).

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post