X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fobserver%2Fsteps%2Fgarbage_collector.py;h=705ed67a08a3ab3a71be3369c942f6d48dfcd8e7;hb=46c2d5056e93a5f60987cfe9fa7604f010ceb613;hp=a45db8cc519fd4fdfcdaa430250b7c02a5774ea7;hpb=e1509e86fb337d86fb377248340181f786821b12;p=plstackapi.git diff --git a/planetstack/observer/steps/garbage_collector.py b/planetstack/observer/steps/garbage_collector.py index a45db8c..705ed67 100644 --- a/planetstack/observer/steps/garbage_collector.py +++ b/planetstack/observer/steps/garbage_collector.py @@ -227,4 +227,18 @@ class GarbageCollector(OpenStackSyncStep): Node.objects.filter(name__in=old_node_names).delete() def gc_images(self): - pass + # collect local images + images = Image.objects.all() + images_dict = {} + for image in images: + images_dict[image.name] = image + + # collect glance images + glance_images = self.driver.shell.glance.get_images() + glance_images_dict = {} + for glance_image in glance_images: + glance_images_dict[glance_image['name']] = glance_image + + # remove old images + old_image_names = set(images_dict.keys()).difference(glance_images_dict.keys()) + Image.objects.filter(name__in=old_image_names).delete()