attach_volume fails for LXC due to wrong root_device_name and path
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Vish Ishaya |
Bug Description
I'm trying to run the following command:
$ euca-attach-volume vol-00000007 -i i-0000000b -d /dev/vdc
It fails and the nova-compute log is copied and pasted below.
The error message is :
"InvalidDevic
The device name given is "/dev/vdc", but it looks like that get_device_
changes it to '/dev/a'.
And it ends up the error of "InvalidDeviceP
I pulled the nova from github on August 29th.
And the followings are configured in /etc/nova/nova.conf file.
use_cow_
libvirt_type=lxc
--------
Vish's reply
This looks like a recent bug. Lxc may not be setting root_device_path in the block device mapping table. It is now using root_device_path to set the path for the volumes. We may need to supply a fallback if it isn't set.
tags: | added: lxc |
Changed in nova: | |
importance: | Undecided → High |
milestone: | none → folsom-rc1 |
status: | New → Confirmed |
Changed in nova: | |
assignee: | nobody → Vish Ishaya (vishvananda) |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | folsom-rc1 → 2012.2 |
------------- log of nova-compute ---------------
2012-09-04 13:37:46 DEBUG nova.utils [req-79250a0b- 6c11-4afc- a0a4-75736d3853 c5 admin admin] Got semaphore "f3fb4350- a72e-404f- a21f-10f333fe67 e8" for method "do_reserve"... from (pid=13108) inner /usr/local/ nova/nova/ utils.py: 712 6c11-4afc- a0a4-75736d3853 c5 admin admin] Attempting to grab semaphore "compute_resources" for method "update_ load_stats_ for_instance" ... from (pid=13108) inner /usr/local/ nova/nova/ utils.py: 708 6c11-4afc- a0a4-75736d3853 c5 admin admin] Got semaphore "compute_resources" for method "update_ load_stats_ for_instance" ... from (pid=13108) inner /usr/local/ nova/nova/ utils.py: 712 common. rpc.amqp [-] Exception during message handling common. rpc.amqp Traceback (most recent call last): common. rpc.amqp File "/usr/local/ nova/nova/ openstack/ common/ rpc/amqp. py", line 275, in _process_data common. rpc.amqp rval = self.proxy. dispatch( ctxt, version, method, **args) common. rpc.amqp File "/usr/local/ nova/nova/ openstack/ common/ rpc/dispatcher. py", line 145, in dispatch common. rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs) common. rpc.amqp File "/usr/local/ nova/nova/ exception. py", line 117, in wrapped common. rpc.amqp temp_level, payload) common. rpc.amqp File "/usr/lib64/ python2. 6/contextlib. py", line 23, in __exit__ common. rpc.amqp self.gen.next() common. rpc.amqp File "/usr/local/ nova/nova/ exception. py", line 92, in wrapped common. rpc.amqp return f(*args, **kw) common. rpc.amqp File "/usr/local/ nova/nova/ compute/ manager. py", line 211, in decorated_function common. rpc.amqp pass common. rpc.amqp File "/usr/lib64/ python2. 6/contextlib. py", line 23, in __exit__ common. rpc.amqp self.gen.next() common. rpc.amqp File "/usr/local/ nova/nova/ compute/ manager. py", line 204, in decorated_function common. rpc.amqp return function(self, context, *args, **kwargs) common. rpc.amqp File "/usr/local/ nova/nova/ compute/ manager. py", line 237, in decorated_function common. rpc.amqp instance_uuid, e, sys.exc_info()) common. rpc.amqp File "/usr/lib64/ python2. 6/contextlib. py", line 23, in __exit__ common. rpc.amqp self.gen.next() comm...
2012-09-04 13:37:46 DEBUG nova.utils [req-79250a0b-
2012-09-04 13:37:46 DEBUG nova.utils [req-79250a0b-
2012-09-04 13:37:46 ERROR nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.
2012-09-04 13:37:46 TRACE nova.openstack.