← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1226622] Re: Obscure error when plugins mismatch

 

Reviewed:  https://review.openstack.org/50936
Committed: http://github.com/openstack/nova/commit/cad1c865c63833dc68dbe6f1ed1ebf45a7ac9075
Submitter: Jenkins
Branch:    milestone-proposed

commit cad1c865c63833dc68dbe6f1ed1ebf45a7ac9075
Author: Bob Ball <bob.ball@xxxxxxxxxx>
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 openstack@xxxxxxxxxxxxxxxxxxx:

  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