/tmp space near full causes failure of create from image

Bug #1217552 reported by Jeff Applewhite on 2013-08-27
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Eric Harney

Bug Description

when a cinder create using an --image-id as source for the volume happens in conjunction with inadequate space free on /tmp the create fails due to the conversion to bare format running out of disk space.

converting in /tmp seems to me to be a reasonable choice at first but not when you consider that image files in glance can be quite large. Doesn't cinder need some way to allow defining the conversion space to be somewhere other than /tmp. Many conversions will happen on VM's with small memory and disk footprints. Perhaps the conversion would better take place somewhere defined by the admin?

Eric Harney (eharney) wrote :

You can redefine this dir with the setting:
# parent dir for tempdir used for image conversion (string
# value)

But, I am not particularly convinced that /tmp is the best default for this as opposed to something like $state_path/conversion. Needs some thought here IMO.

John Griffith (john-griffith) wrote :

tmp is inappropriate, first inclination is to go with your suggestion of $state_path/conversions, it fits with the schema we use for everything else and seems like the most *logical* place to me.

Changed in cinder:
status: New → Triaged
importance: Undecided → Medium
Eric Harney (eharney) on 2013-08-27
Changed in cinder:
importance: Medium → High
importance: High → Undecided
Eric Harney (eharney) on 2013-08-27
Changed in cinder:
importance: Undecided → Medium
Jeff Applewhite (ajeffrey) wrote :

A more elegant solution would be to have Glance convert and stream in the proper format so on disk conversion is not necessary. Not sure if this is technically feasible or not..

Ayal Baron (abaron) wrote :

iiuc, in this case the conversion is using qemu-img convert which does not support streaming atm. But I totally agree that this is a qemu-img limitation and can and should be addressed there (it would also avoid the additional copy).

Fix proposed to branch: master
Review: https://review.openstack.org/46500

Changed in cinder:
assignee: nobody → Eric Harney (eharney)
status: Triaged → In Progress
Eric Harney (eharney) on 2013-09-13
Changed in cinder:
milestone: none → havana-rc1

Reviewed: https://review.openstack.org/46500
Committed: http://github.com/openstack/cinder/commit/37e775f12592824de17aee73216549bcb182c7cc
Submitter: Jenkins
Branch: master

commit 37e775f12592824de17aee73216549bcb182c7cc
Author: Eric Harney <email address hidden>
Date: Fri Sep 13 09:43:33 2013 -0400

    Use $state_path/conversion for image_conversion_dir default

    image_conversion_dir currently defaults to /tmp. Using
    $state_path/conversion seems to be a more appropriate default.

    Closes-Bug: #1217552
    Change-Id: Iaaa462449a257b1b48fc349399bf409d7301a1e6

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-10-04
Changed in cinder:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in cinder:
milestone: havana-rc1 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers