fetch_images() method no more needed
The Nova Glance wrapper returns all images metadata if the parameter 'limit' is not define. It doesn't split the image metadata list. So the sub method fetch_image is no more needed. We can delete it. I added a check in Nova Glance wrapper to be sure the parameter 'marker' or another one aren't set to 'None' (like in bug #1065053). Fixes LP bug #1070904 Change-Id: I24ecc4adf158401f60b508aa3a20bd4c91bfa92b
This commit is contained in:
parent
549b26ab87
commit
17149f688d
4
.mailmap
4
.mailmap
@ -21,7 +21,7 @@
|
||||
<devin.carlen@gmail.com> <devcamcar@illian.local>
|
||||
<doug.hellmann@dreamhost.com> <doug.hellmann@gmail.com>
|
||||
<dprince@redhat.com> <dan.prince@rackspace.com>
|
||||
<edouard1.thuleau@orange.com> <thuleau@gmail.com>
|
||||
<edouard.thuleau@orange.com> <thuleau@gmail.com>
|
||||
<ewan.mellor@citrix.com> <emellor@silver>
|
||||
<ghe@debian.org> <ghe.rivero@gmail.com>
|
||||
<ilyaalekseyev@acm.org> <ialekseev@griddynamics.com>
|
||||
@ -85,6 +85,7 @@ Dan Wendlandt <dan@nicira.com> danwent <dan@nicira.com>
|
||||
Dan Wendlandt <dan@nicira.com> danwent <danwent@dan-xs3-cs>
|
||||
Dan Wendlandt <dan@nicira.com> danwent@gmail.com <>
|
||||
Dan Wendlandt <dan@nicira.com> danwent@gmail.com <dan@nicira.com>
|
||||
Édouard Thuleau <edouard.thuleau@orange.com> Thuleau Édouard <thuleau@gmail.com>
|
||||
Jake Dahn <jake@ansolabs.com> jakedahn <jake@ansolabs.com>
|
||||
Jason Koelker <jason@koelker.net> Jason Kölker <jason@koelker.net>
|
||||
Jay Pipes <jaypipes@gmail.com> jaypipes@gmail.com <>
|
||||
@ -116,4 +117,3 @@ Vishvananda Ishaya <vishvananda@gmail.com> <root@mirror.nasanebula.net>
|
||||
Vishvananda Ishaya <vishvananda@gmail.com> <root@ubuntu>
|
||||
Vivek YS <vivek.ys@gmail.com> Vivek YS vivek.ys@gmail.com <>
|
||||
Zhongyue Luo <zhongyue.nah@intel.com> <lzyeval@gmail.com>
|
||||
Édouard Thuleau <edouard1.thuleau@orange.com> Thuleau Édouard <thuleau@gmail.com>
|
||||
|
@ -1242,43 +1242,27 @@ class ComputeManager(manager.SchedulerDependentManager):
|
||||
:param rotation: int representing how many backups to keep around;
|
||||
None if rotation shouldn't be used (as in the case of snapshots)
|
||||
"""
|
||||
# NOTE(jk0): Eventually extract this out to the ImageService?
|
||||
def fetch_images():
|
||||
images = []
|
||||
marker = None
|
||||
while True:
|
||||
if marker is not None:
|
||||
batch = image_service.detail(context, filters=filters,
|
||||
marker=marker, sort_key='created_at',
|
||||
sort_dir='desc')
|
||||
else:
|
||||
batch = image_service.detail(context, filters=filters,
|
||||
sort_key='created_at', sort_dir='desc')
|
||||
if not batch:
|
||||
break
|
||||
images += batch
|
||||
marker = batch[-1]['id']
|
||||
return images
|
||||
|
||||
image_service = glance.get_default_image_service()
|
||||
filters = {'property-image_type': 'backup',
|
||||
'property-backup_type': backup_type,
|
||||
'property-instance_uuid': instance['uuid']}
|
||||
|
||||
images = fetch_images()
|
||||
images = image_service.detail(context, filters=filters,
|
||||
sort_key='created_at', sort_dir='desc')
|
||||
num_images = len(images)
|
||||
LOG.debug(_("Found %(num_images)d images (rotation: %(rotation)d)")
|
||||
% locals(), instance=instance)
|
||||
LOG.debug(_("Found %(num_images)d images (rotation: %(rotation)d)"),
|
||||
locals(), instance=instance)
|
||||
|
||||
if num_images > rotation:
|
||||
# NOTE(sirp): this deletes all backups that exceed the rotation
|
||||
# limit
|
||||
excess = len(images) - rotation
|
||||
LOG.debug(_("Rotating out %d backups") % excess,
|
||||
LOG.debug(_("Rotating out %d backups"), excess,
|
||||
instance=instance)
|
||||
for i in xrange(excess):
|
||||
image = images.pop()
|
||||
image_id = image['id']
|
||||
LOG.debug(_("Deleting image %s") % image_id,
|
||||
LOG.debug(_("Deleting image %s"), image_id,
|
||||
instance=instance)
|
||||
image_service.delete(context, image_id)
|
||||
|
||||
|
@ -177,7 +177,7 @@ class GlanceImageService(object):
|
||||
accepted_params = ('filters', 'marker', 'limit',
|
||||
'sort_key', 'sort_dir')
|
||||
for param in accepted_params:
|
||||
if param in params:
|
||||
if params.get(param):
|
||||
_params[param] = params.get(param)
|
||||
|
||||
# ensure filters is a dict
|
||||
|
Loading…
x
Reference in New Issue
Block a user