From 1b392dcb9a72b99f344b1a61ca66efc756dda04e Mon Sep 17 00:00:00 2001
From: Jake Moshenko <jake.moshenko@coreos.com>
Date: Tue, 19 Jan 2016 14:50:31 -0500
Subject: [PATCH] Remove dependent signatures before removing image storages

---
 data/model/storage.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/data/model/storage.py b/data/model/storage.py
index 41c5583b0..0f2220f91 100644
--- a/data/model/storage.py
+++ b/data/model/storage.py
@@ -75,6 +75,12 @@ def garbage_collect_storage(storage_id_whitelist):
                           .execute())
       logger.debug('Removed %s torrent info records', torrents_removed)
 
+      signatures_removed = (ImageStorageSignature
+                            .delete()
+                            .where(ImageStorageSignature.storage << orphaned_storages)
+                            .execute())
+      logger.debug('Removed %s image storage signatures', signatures_removed)
+
       storages_removed = (ImageStorage
                           .delete()
                           .where(ImageStorage.id << orphaned_storages)