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 174.3k 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.
    • S Offline
      severhart @olivierlambert
      last edited by

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

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

        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 😉

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

          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.

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

            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?

            ismo-conguairtaI 1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post