Reviewed: https://review.openstack.org/359548 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=22b8ae0975187a847fc201a750f05be0af9818a4 Submitter: Jenkins Branch: master
commit 22b8ae0975187a847fc201a750f05be0af9818a4 Author: Huan Xie <huan....@citrix.com> Date: Wed Aug 24 02:25:10 2016 +0000 XenAPI: Fix VM live-migrate with iSCSI SR volume With XenServer 7.0 (XCP 2.1.0), VM live migration with iSCSI volume will fail due to no relax_xsm_sr_check in /etc/xapi.conf in Dom0. But since XS7.0, the default value of relax_xsm_sr_check is true if not configured in /etc/xapi.conf in Dom0. This fix is to add checks on XCP version, if it's equal or greater than 2.1.0, will treat relax_xsm_sr_check=true if not found in /etc/xapi.conf Change-Id: I88d1d384ab7587c428e517d184258bb517dfb4ab Closes-bug: #1610932 ** 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/1610932 Title: XenServer 7.0 failed live-migrate with iSCSI SR volume Status in OpenStack Compute (nova): Fix Released Bug description: I deployed a two compute nodes devstack environment with XenServer 7.0 (XCP platform version 2.1.0) I booted a VM and tried to live migrate it to another compute node, but it failed at both source compute node and dest compute node with: 2016-08-08 02:29:46.042 DEBUG oslo_messaging.drivers.amqpdriver [-] received reply msg_id: 8022537717374357b576f5a11ec98719 from (pid=30939) __call_ /usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:296 2016-08-08 02:29:46.045 ERROR oslo_messaging.rpc.server [req-fc49665b-5361-4042-bcca-2992335f75a8 admin demo] Exception during message handling 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server Traceback (most recent call last): 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/server.py", line 133, in _process_incoming 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 150, in dispatch 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 121, in _do_dispatch 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server result = func(ctxt, **new_args) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/exception_wrapper.py", line 75, in wrapped 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server function_name, call_dict, binary) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in _exit_ 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server self.force_reraise() 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/exception_wrapper.py", line 66, in wrapped 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server return f(self, context, *args, **kw) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/utils.py", line 613, in decorated_function 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server return function(self, context, *args, **kwargs) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 216, in decorated_function 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server kwargs['instance'], e, sys.exc_info()) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in _exit_ 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server self.force_reraise() 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 204, in decorated_function 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server return function(self, context, *args, **kwargs) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/compute/manager.py", line 5118, in check_can_live_migrate_source 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server block_device_info) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/xenapi/driver.py", line 484, in check_can_live_migrate_source 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server dest_check_data) 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server File "/opt/stack/nova/nova/virt/xenapi/vmops.py", line 2246, in check_can_live_migrate_source 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server raise exception.MigrationError(reason=_('XAPI supporting ' 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server MigrationError: Migration error: XAPI supporting relax-xsm-sr-check=true required 2016-08-08 02:29:46.045 TRACE oslo_messaging.rpc.server 2016-08-08 02:29:46.058 DEBUG oslo_messaging._drivers.amqpdriver [req-fc49665b-5361-4042-bcca-2992335f75a8 admin demo] sending reply msg_id: 65f490411aa040658334509746dc94d4 reply queue: reply_2672337a8bd94bc189201dd0bc97098d time elapsed: 0.21841500001s from (pid=30939) _send_reply /usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:73 ================================= Analyze: With XenServer 7.0 (XCP 2.1.0), "relax-xsm-sr-check=true" is the default setting even it is not set in /etc/xapi.conf, so with XenServer 7.0 and later, if "relax-xsm-sr-check=true" is not set, nova compute driver need use the default value, related code: https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vmops.py#L2218 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1610932/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp