Uploaded image for project: 'XenServer Org'
  1. XenServer Org
  2. XSO-890

VM migrate in partially upgraded pool (7.0-7.5) not working due to method VM.assert_can_migrate_sender

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 8.0
    • 7.5
    • None
      • XenServer Pool 7.0 (2016/10/28, 125380c) on top of two Lenovo x3650 M5 hosts.
      • licensed as a xendesktop/xenapp environment
      • Upgrade to 7.5 (2018/05/21) in progress
      • VMs on local storage and on NFS share
    • XSI-91

    Description

      Right now the state of the pool is "partially upgraded to XenServer 7.5". 

      • I cleared the pool-master of all VMs (live migrate to pool-member).
      • Shut down the master and started the upgrade to 7.5 via base-image iso.
      • Upgrade without any problems. 
      • Server comes back online again, now the pool is in state "partially upgraded".
      • Start to migrate all VMs from the pool-member to the now upgraded pool-master.
      • One VM on NFS shared storage migrated live and running without problems.
      • First try to migrate a running VM that is on local storage fails with:

      Migrate to Server: You tried to call a method that does not exist. The method name that you used is VM.assert_can_migrate_sender. 

      And that's the issue. I can't migrate the VMs to the upgraded master to finnish the pool upgrade by emptying the pool-member still on 7.0.

      Tried to move an offline VM on local storage to the master and this breaks with error: INVALID_VALUE

      Found this (via: https://github.com/xapi-project/xen-api/blob/master/ocaml/xapi/xapi_vm_migrate.ml )

      let assert_can_migrate_sender ~__context ~vm ~dest ~live ~vdi_map ~vif_map ~vgpu_map ~options =
       (* Check that the destination host has compatible pGPUs -- if needed *)
       let remote = remote_of_dest dest in
       let remote_for_migration_type =
       match migration_type ~__context ~remote with
       | `intra_pool -> None
       | `cross_pool -> Some (remote.rpc, remote.session)
       in
       (* We only need to check compatibility for "live" vGPUs *)
       if Db.VM.get_power_state ~__context ~self:vm <> `Halted then
       Xapi_pgpu_helpers.assert_destination_has_pgpu_compatible_with_vm ~__context
       ~vm ~vgpu_map ~host:remote.dest_host ?remote:remote_for_migration_type ()
      

      pGPUs are the same

       

      I've opened a forum discussion but so far no clues on what's happening (granted it's been just few hours and I'm in Euro timezone)
      https://discussions.citrix.com/topic/397948-upgrade-pool-70-to-75-xenmotion-storage-not-working-method-vmassert_can_migrate_sender/

      Any help much appriciated. If any infos are missing I'm happy to add them..

      Attachments

        Activity

          People

            Unassigned Unassigned
            AndreasG Andreas Goertz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: