yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #37475
[Bug 1461678] Re: nova error handling causes glance to keep unlinked files open, wasting space
** Changed in: python-glanceclient
Status: Fix Committed => Fix Released
** Changed in: python-glanceclient
Milestone: None => 1.0.0
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1461678
Title:
nova error handling causes glance to keep unlinked files open, wasting
space
Status in OpenStack Compute (nova):
Fix Committed
Status in python-glanceclient:
Fix Released
Bug description:
When creating larger glance images (like a 10GB CentOS7 image), if we
run into situation where we run out of room on the destination device,
we cannot recover the space from glance. glance-api will have open
unlinked files, so a TONNE of space is unavailable until we restart
glance-api.
Nova will try to reschedule the instance 3 times, so should see this nova-conductor.log :
u'RescheduledException: Build of instance 98ca2c0d-44b2-48a6-b1af-55f4b2db73c1 was re-scheduled: [Errno 28] No space left on device\n']
The problem is this code in
nova.image.glance.GlanceImageService.download():
if data is None:
return image_chunks
else:
try:
for chunk in image_chunks:
data.write(chunk)
finally:
if close_file:
data.close()
image_chunks is an iterator. If we take an exception (like we can't
write the file because the filesystem is full) then we will stop
iterating over the chunks. If we don't iterate over all the chunks
then glance will keep the file open.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1461678/+subscriptions
References