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 address hidden>:
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
Might be nice to get a clean log as the one in the description is fairly unreadable :)