nova-compute requires genisoimage for config drive

Bug #1165174 reported by Lorin Hochstein
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Fix Released
Undecided
Unassigned

Bug Description

If you launch an instance using nova with the config drive enabled:

nova --config-drive=true

Then the instance will fail to launch if genisioimage is not installed on the compute host.

The error looks like this:

2013-04-05 16:04:54 ERROR nova.compute.manager [req-4e5709fa-92d9-4fc5-8910-367a312b1c24 8a44600ac8c6402fb781584022ceeb91 8283efb2e53d46e1a6bdbb2bdef9cb9a] [instance: 2e50ff38-3c7c-421d-900f-22584bdc331a] Build error: ['Traceback (most recent call last):\n', ' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 496, in _run_instance\n injected_files, admin_password)\n', ' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 749, in _spawn\n block_device_info)\n', ' File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 117, in wrapped\n temp_level, payload)\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/exception.py", line 92, in wrapped\n return f(*args, **kw)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1090, in spawn\n admin_pass=admin_password)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1440, in _create_image\n cdb.make_drive(configdrive_path)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/configdrive.py", line 131, in make_drive\n self._make_iso9660(path)\n', ' File "/usr/lib/python2.7/dist-packages/nova/virt/configdrive.py", line 89, in _make_iso9660\n run_as_root=False)\n', ' File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 195, in execute\n shell=shell)\n', ' File "/usr/lib/python2.7/dist-packages/eventlet/green/subprocess.py", line 25, in __init__\n subprocess_orig.Popen.__init__(self, args, 0, *argss, **kwds)\n', ' File "/usr/lib/python2.7/subprocess.py", line 679, in __init__\n errread, errwrite)\n', ' File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child\n raise child_exception\n', 'OSError: [Errno 2] No such file or directory\n']

Sanely formatted:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 496, in _run_instance
    injected_files, admin_password)
  File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 749, in _spawn
    block_device_info)
  File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 117, in wrapped
    temp_level, payload)
  File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
    self.gen.next()
  File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 92, in wrapped
    return f(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1090, in spawn
    admin_pass=admin_password)
  File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1440, in _create_image
    cdb.make_drive(configdrive_path)
  File "/usr/lib/python2.7/dist-packages/nova/virt/configdrive.py", line 131, in make_drive
    self._make_iso9660(path)
  File "/usr/lib/python2.7/dist-packages/nova/virt/configdrive.py", line 89, in _make_iso9660
    run_as_root=False)
  File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 195, in execute
    shell=shell)
  File "/usr/lib/python2.7/dist-packages/eventlet/green/subprocess.py", line 25, in __init__
    subprocess_orig.Popen.__init__(self, args, 0, *argss, **kwds)
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

The reason is that

In nova/virt/configdrive.py there's a ConfigDriveBuilder._make_iso9660 function that calls genisioimage'

Making genisioimage a dependency of nova-compute-kvm should resolve this.

Yaguang Tang (heut2008)
Changed in cloud-archive:
status: New → Confirmed
Revision history for this message
James Page (james-page) wrote :

Fixed in Havana packaging.

Changed in cloud-archive:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.