← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1215765] Re: Attach volume failed with hyper-v compute node instance

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => havana-3

-- 
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/1215765

Title:
  Attach volume failed with hyper-v compute node instance

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  My test environment is use IBM storwize storage, but I think all of
  volume drive will have this bug when attach volume with hyper-V
  compute node instance.

  After create one volume in cinder volume node and one instance in
  hyper-V compute node. When attach this volume, from cinder/api.log. I
  got the following error message:

  2013-08-19 13:30:38.427 8899 ERROR cinder.openstack.common.rpc.common [req-65226e05-392e-437d-ad72-49e1406c370d 911c0704817d4eb7b79d2e5e42061d67 44804665fbab4368bb306d97de7e6171] ['Traceback (most recent call last):\n', '  File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/amqp.py", line 433, in _process_data\n    **args)\n', '  File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch\n    return getattr(proxyobj, method)(ctxt, **kwargs)\n', '  File "/usr/lib/python2.6/site-packages/cinder/volume/manager.py", line 520, in initialize_connection\n    return self.driver.initialize_connection(volume_ref, connector)\n', '  File "/usr/lib/python2.6/site-packages/cinder/volume/drivers/storwize_svc.py", line 697, in initialize_connection\n    host_name = connector[\'host\']\n', "KeyError: 'host'\n"]
  2013-08-19 13:30:40.529 8899 ERROR cinder.openstack.common.rpc.amqp [req-051dbe31-a889-4a21-a03a-a7d5bea0acd8 911c0704817d4eb7b79d2e5e42061d67 44804665fbab4368bb306d97de7e6171] Exception during message handling
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp Traceback (most recent call last):
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/amqp.py", line 433, in _process_data
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp     **args)
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp     return getattr(proxyobj, method)(ctxt, **kwargs)
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/cinder/volume/manager.py", line 520, in initialize_connection
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp     return self.driver.initialize_connection(volume_ref, connector)
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/cinder/volume/drivers/storwize_svc.py", line 697, in initialize_connection
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp     host_name = connector['host']
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp KeyError: 'host'
  2013-08-19 13:30:40.529 8899 TRACE cinder.openstack.common.rpc.amqp
  2013-08-19 13:30:40.530 8899 ERROR cinder.openstack.common.rpc.common [req-051dbe31-a889-4a21-a03a-a7d5bea0acd8 911c0704817d4eb7b79d2e5e42061d67 44804665fbab4368bb306d97de7e6171] Returning exception 'host' to caller
  2013-08-19 13:30:40.531 8899 ERROR cinder.openstack.common.rpc.common [req-051dbe31-a889-4a21-a03a-a7d5bea0acd8 911c0704817d4eb7b79d2e5e42061d67 44804665fbab4368bb306d97de7e6171] ['Traceback (most recent call last):\n', '  File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/amqp.py", line 433, in _process_data\n    **args)\n', '  File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch\n    return getattr(proxyobj, method)(ctxt, **kwargs)\n', '  File "/usr/lib/python2.6/site-packages/cinder/volume/manager.py", line 520, in initialize_connection\n    return self.driver.initialize_connection(volume_ref, connector)\n', '  File "/usr/lib/python2.6/site-packages/cinder/volume/drivers/storwize_svc.py", line 697, in initialize_connection\n    host_name = connector[\'host\']\n', "KeyError: 'host'\n"] 

  
  After investigated, I found the root cause of this bug is from nova.  I found in hyperV compute node,  nova/compute.py will call "get_volume_connector" method to get volume connector, and it just return 'ip' and 'initiator' info in this connector, do not contain 'host' info in this connector, so in cinder part, it need to check "host", it will throws  KeyError: host problem.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1215765/+subscriptions