Reviewed: https://review.openstack.org/439960 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=55d42affb7760b836f5aecd613d95bceeffed613 Submitter: Jenkins Branch: master
commit 55d42affb7760b836f5aecd613d95bceeffed613 Author: Huan Xie <[email protected]> Date: Wed Mar 1 18:58:02 2017 -0800 Make xenapi driver compatible with assert_can_migrate The newly released XenServer 7.1 has changed to check vif_map in its api VM.assert_can_migrate(), if the vif_map isn't set, it will raise exception with VIF_NOT_IN_MAP, but at this point destination compute node doesn't have dest_vif_map, this patch is to make code in xenserver driver be compatible with xenserver's changes Closes-bug: 1669719 Change-Id: I8fb8d26fbbc12dd4f17b3541968fc16254131b6c ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1669719 Title: Cannot live migrate on XenServer Ely and later Status in OpenStack Compute (nova): Fix Released Bug description: With XenServer Dundee + OpenStack upstream, we can successfully live migrate VMs, but with the newly released Ely, when I use devstack environment to test live migration, it failed with nova-compute logs: 2017-03-01 08:33:09.776 DEBUG nova.virt.xenapi.vmops [req-5bbf6979-5602-469a-888c-fbd6cd878a8a admin admin] assert_can_migrate failed because: VIF_NOT_IN_MAP from (pid=640) check_can_live_migrate_source /opt/stack/nova/nova/virt/xenapi/vmops.py:2251 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops Traceback (most recent call last): 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 2247, in check_can_live_migrate_source 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops "VM.assert_can_migrate", vm_ref, dest_check_data) 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 2368, in _call_live_migrate_command 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops vdi_map, vif_map, options) 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/session.py", line 200, in call_xenapi 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops return session.xenapi_request(method, args) 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/XenAPI.py", line 130, in xenapi_request 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops result = _parse_result(getattr(self, methodname)(*full_params)) 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops File "/usr/local/lib/python2.7/dist-packages/os_xenapi/client/XenAPI.py", line 212, in _parse_result 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops raise Failure(result['ErrorDescription']) 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops Failure: ['VIF_NOT_IN_MAP', 'OpaqueRef:43079752-83d4-8958-57ce-761e1e19e841'] 2017-03-01 08:33:09.776 TRACE nova.virt.xenapi.vmops This mean the xapi call VM.can_live_migrate() failed and raise errors, after checking the xapi code, I found there is new restriction added in xapi, it will check that all VIFs are mapped in the call https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vmops.py#L2245 That's why we didn't have such problem against Dundee, but have such problem with the newly released Ely To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1669719/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

