openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #06881
Re: Boot from volume invalid device name /dev/vda
On 01/21/2012 01:04 PM, Tres Henry wrote:
> Getting an error trying to boot an instance from volume (the following is the
> traceback from nova compute):
>
> (nova.rpc): TRACE: Traceback (most recent call last):
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/rpc/impl_kombu.py", line 723,
> in _process_data
> (nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/exception.py", line 126, in
> wrapped
> (nova.rpc): TRACE: return f(*args, **kw)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 150,
> in decorated_function
> (nova.rpc): TRACE: self.add_instance_fault_from_exc(context, instance_uuid, e)
> (nova.rpc): TRACE: File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
> (nova.rpc): TRACE: self.gen.next()
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 145,
> in decorated_function
> (nova.rpc): TRACE: return function(self, context, instance_uuid, *args,
> **kwargs)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 565,
> in run_instance
> (nova.rpc): TRACE: self._run_instance(context, instance_uuid, **kwargs)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 394,
> in _run_instance
> (nova.rpc): TRACE: vm_state=vm_states.ERROR)
> (nova.rpc): TRACE: File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
> (nova.rpc): TRACE: self.gen.next()
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 381,
> in _run_instance
> (nova.rpc): TRACE: self._deallocate_network(context, instance)
> (nova.rpc): TRACE: File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
> (nova.rpc): TRACE: self.gen.next()
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 378,
> in _run_instance
> (nova.rpc): TRACE: injected_files, admin_password)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 511,
> in _spawn
> (nova.rpc): TRACE: network_info, block_device_info)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/exception.py", line 126, in
> wrapped
> (nova.rpc): TRACE: return f(*args, **kw)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/virt/libvirt/connection.py",
> line 681, in spawn
> (nova.rpc): TRACE: domain = self._create_new_domain(xml)
> (nova.rpc): TRACE: File "/opt/stack/nova/nova/virt/libvirt/connection.py",
> line 1255, in _create_new_domain
> (nova.rpc): TRACE: domain = self._conn.defineXML(xml)
> (nova.rpc): TRACE: File "/usr/lib/python2.7/dist-packages/libvirt.py", line
> 1708, in defineXML
> (nova.rpc): TRACE: if ret is None:raise libvirtError('virDomainDefineXML()
> failed', conn=self)
> (nova.rpc): TRACE: libvirtError: internal error Invalid harddisk device name:
> /dev/vda
> (nova.rpc): TRACE:
>
> The block_device_mapping supplied was {"/dev/vda": "1:::1"} which results in:
> [{u'volume_size': u'', u'device_name': u'/dev/vda', u'delete_on_termination':
> u'1', u'volume_id': u'1'}]), however I've tried about every combination of
> values I can think of (supplying type, size, changing device name, etc.) with
> the same result (although the error is "Invalid harddisk device name:
> /dev/vdb" or whatever I supplied as the device name).
>
> If it helps:
> Running devstack @ af0f7cadb9
> Tried to launch an instance with both the cirros default devstack image and
> UEC oneiric x64.
> The existing volume is larger than the image's ephemeral volume (not sure if
> that matters).
>
> What am I doing wrong?
>
I think libvirt is expecting a device name like 'vda' and not '/dev/vda', so
try giving that a spin in block_device_mapping.
- Cole
Follow ups
References