Reviewed: https://review.openstack.org/50936 Committed: http://github.com/openstack/nova/commit/cad1c865c63833dc68dbe6f1ed1ebf45a7ac9075 Submitter: Jenkins Branch: milestone-proposed
commit cad1c865c63833dc68dbe6f1ed1ebf45a7ac9075 Author: Bob Ball <[email protected]> Date: Tue Sep 17 15:29:30 2013 +0100 XenAPI: Add versioning for plugins Because the plugins live on a host seperate to Nova we need an interface to test whether they are the expected version. We can't use pip or other requirement systems as they are cross-machine. Closes bug 1226622 Change-Id: I58ab669061f51bd87071e2cf0d93d33021001309 (cherry picked from commit 24fd331b8cd5aca66362e6f76deec9c437875933) ** Changed in: nova Status: Fix Committed => 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/1226622 Title: Obscure error when plugins mismatch Status in OpenStack Compute (Nova): Fix Released Bug description: When the version of XenServer plugins do not match the version exepcted by Nova you can get very obscure errors, such as the one below - posted to [email protected]: 2013-09-17 02:44:17.853 ERROR nova.compute.manager [req-b524f9d2-7675 -4e3b-acc1-25b8cb3e544c 7378135d00ec442a80fb1cd7eac6f489 5b1acda6173a46cea4e2448147c20662] [instance: 437aba49-d9eb-4924-8753-5446725aeae0] Error: ['Traceback (most recent call last):\n', ' File "/usr/lib/python2.7/dist- packages/nova/compute/manager.py", line 848, in _run_instance\n set_access_ip=set_access_ip)\n', ' File "/usr/lib/python2.7/dist- packages/nova/compute/manager.py", line 1107, in _spawn\n LOG.exception(_(\'Instance failed to spawn\'), instance=instance)\n', ' File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__\n self.gen.next()\n', ' File "/usr/lib/python2.7/dist- packages/nova/compute/manager.py", line 1103, in _spawn\n block_device_info)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/driver.py", line 177, in spawn\n admin_password, network_info, block_device_info)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vmops.py", line 480, in spawn\n undo_mgr.rollback_and_reraise(msg=msg, instance=instance)\n', ' File "/usr/lib/python2.7/dist- packages/nova/utils.py", line 1250, in rollback_and_reraise\n self._rollback()\n', ' File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__\n self.gen.next()\n', ' File "/usr/lib/python2.7 /dist-packages/nova/virt/xenapi/vmops.py", line 463, in spawn\n vdis = create_disks_step(undo_mgr, disk_image_type, image_meta)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vmops.py", line 142, in inner\n rv = f(*args, **kwargs)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vmops.py", line 346, in create_disks_step\n block_device_info=block_device_info)\n', ' File "/usr/lib/python2.7 /dist-packages/nova/virt/xenapi/vmops.py", line 317, in _create_disks\n block_device_info=block_device_info)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py", line 518, in get_vdis_for_instance\n context, session, instance, name_label, image, image_type)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/vm_utils.py", line 974, in _create_image\n image_id, image_type)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/vm_utils.py", line 919, in _create_cached_image\n image_id, image_type)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py", line 994, in _fetch_image\n vdis = _fetch_vhd_image(context, session, instance, image_id)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/vm_utils.py", line 1109, in _fetch_vhd_image\n callback=callback)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py", line 1022, in _fetch_using_dom0_plugin_with_retry\n plugin_name, \'download_vhd\', **params)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/driver.py", line 739, in call_plugin_serialized\n rv = self.call_plugin(plugin, fn, params)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/driver.py", line 735, in call_plugin\n host, plugin, fn, args)\n', ' File "/usr/lib/python2.7/dist- packages/nova/virt/xenapi/driver.py", line 749, in _unwrap_plugin_exceptions\n return func(*args, **kwargs)\n', ' File "/usr/lib/python2.7/dist-packages/XenAPI.py", line 235, in __call__\n return self.__send(self.__name, args)\n', ' File "/usr/lib/python2.7/dist-packages/XenAPI.py", line 139, in xenapi_request\n result = _parse_result(getattr(self, methodname)(*full_params))\n', ' File "/usr/lib/python2.7/dist- packages/XenAPI.py", line 209, in _parse_result\n raise Failure(result[\'ErrorDescription\'])\n', 'Failure: [\'XENAPI_PLUGIN_FAILURE\', \'download_vhd\', \'TypeError\', "download_vhd() got an unexpected keyword argument \'auth_token\'"]\n'] We should test for compatible versions when starting Nova To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1226622/+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

