all delayed deletes will be going through a new service, if delayed_delete is False, then delete it right away, otherwise set it to pending_delete
This commit is contained in:
parent
bd13621450
commit
f8d10a4bdf
@ -56,9 +56,6 @@ swift_store_create_container_on_put = False
|
||||
# Turn on/off delayed delete
|
||||
delayed_delete = False
|
||||
|
||||
# Delayed delete time in seconds
|
||||
delayed_delete_time = 43200
|
||||
|
||||
[pipeline:glance-api]
|
||||
pipeline = versionnegotiation apiv1app
|
||||
|
||||
|
@ -482,8 +482,6 @@ class Controller(wsgi.Controller):
|
||||
# to delete the image if the backend doesn't yet store it.
|
||||
# See https://bugs.launchpad.net/glance/+bug/747799
|
||||
if image['location']:
|
||||
registry.update_image_metadata(self.options, id,
|
||||
{'status': 'pending_delete'})
|
||||
schedule_delete_from_backend(image['location'], self.options, id)
|
||||
registry.delete_image_metadata(self.options, id)
|
||||
|
||||
|
@ -164,11 +164,15 @@ def schedule_delete_from_backend(uri, options, id, **kwargs):
|
||||
Given a uri and a time, schedule the deletion of an image. Time may be 0
|
||||
in which case we delete immediatly (or if it is less than 1 ;).
|
||||
"""
|
||||
time = config.get_option(options, 'delayed_delete_time', default=1)
|
||||
use_delay = config.get_option(options, 'delayed_delete', default=False)
|
||||
if time < 1 or not use_delay:
|
||||
time = 1
|
||||
if not use_delay:
|
||||
registry.update_image_metadata(self.options, id,
|
||||
{'status': 'deleted'})
|
||||
try:
|
||||
return delete_from_backend(uri, **kwargs)
|
||||
except (UnsupportedBackend, exception.NotFound):
|
||||
msg = "Failed to delete image from store (%s). "
|
||||
logger.error(msg % uri)
|
||||
|
||||
scheduled_delete = greenthread.spawn_after(time, delete_from_backend, uri,
|
||||
**kwargs)
|
||||
scheduled_delete.link(_log_scheduled_delete, id, options, uri)
|
||||
registry.update_image_metadata(self.options, id,
|
||||
{'status': 'pending_delete'})
|
||||
|
Loading…
x
Reference in New Issue
Block a user