Comment 6 for bug 1246708

Revision history for this message
kaka (mingb1989) wrote :

I also have a similar problem in IceHouse,as follow :
<179>Sep 2 09:02:27 node-5 nova-nova.compute.manager ERROR: Instance failed to spawn
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 1720, in _spawn
    block_device_info)
  File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 2467, in spawn
    admin_pass=admin_password)
  File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 2857, in _create_image
    ephemeral_size=ephemeral_gb)
  File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/imagebackend.py", line 194, in cache
    *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/imagebackend.py", line 601, in create_image
    prepare_template(target=base, max_size=size, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nova/openstack/common/lockutils.py", line 249, in inner
    return f(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/imagebackend.py", line 184, in fetch_func_sync
    fetch_func(target=target, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 2667, in _create_ephemeral
    disk.mkfs(os_type, fs_label, target, run_as_root=is_block_dev)
  File "/usr/lib/python2.6/site-packages/nova/virt/disk/api.py", line 117, in mkfs
    utils.mkfs(default_fs, target, fs_label, run_as_root=run_as_root)
  File "/usr/lib/python2.6/site-packages/nova/utils.py", line 855, in mkfs
    execute(*args, run_as_root=run_as_root)
  File "/usr/lib/python2.6/site-packages/nova/utils.py", line 164, in execute
    return processutils.execute(*cmd, **kwargs)
  File "/usr/lib/python2.6/site-packages/nova/openstack/common/processutils.py", line 193, in execute
    cmd=' '.join(cmd))
ProcessExecutionError: Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf mkfs -t ext3 -F -L ephemeral0 /var/lib/nova/instances/_base/ephemeral_5_default
Exit code: 1
Stdout: ''
Stderr: 'mke2fs 1.41.12 (17-May-2010)\nmkfs.ext3: No such file or directory while trying to determine filesystem size\n'

In code:

    def _create_ephemeral(self, target, ephemeral_size,
                          fs_label, os_type, is_block_dev=False,
                          max_size=None):
        if not is_block_dev:
            self._create_local(target, ephemeral_size)

        # Run as root only for block devices.
        disk.mkfs(os_type, fs_label, target, run_as_root=is_block_dev)

when use rbd "is_block_dev" is "True".so,can't create a local ephemeral disk