Add a tool to compute a list of orphans and missing data between the storage and the database.
This commit is contained in:
parent
06582369df
commit
859f2b9db2
1 changed files with 24 additions and 0 deletions
24
tools/orphans.py
Normal file
24
tools/orphans.py
Normal file
|
@ -0,0 +1,24 @@
|
|||
from data.database import Image
|
||||
from app import app
|
||||
|
||||
live_image_id_set = set()
|
||||
|
||||
for image in Image.select():
|
||||
live_image_id_set.add(image.docker_image_id)
|
||||
|
||||
store = app.config['STORAGE']
|
||||
|
||||
storage_image_id_set = set()
|
||||
for customer in store.list_directory('images/'):
|
||||
for repo in store.list_directory(customer):
|
||||
for image in store.list_directory(repo):
|
||||
storage_image_id_set.add(image.split('/')[-1])
|
||||
|
||||
orphans = storage_image_id_set.difference(live_image_id_set)
|
||||
missing_image_data = live_image_id_set.difference(storage_image_id_set)
|
||||
|
||||
for orphan in orphans:
|
||||
print "Orphan: %s" % orphan
|
||||
|
||||
for missing in missing_image_data:
|
||||
print "Missing: %s" % missing
|
Reference in a new issue