Update the audit script for geographic distribution.

This commit is contained in:
Jake Moshenko 2014-06-27 17:15:06 -04:00
parent 6047f3759f
commit b47742b011

View file

@ -1,7 +1,7 @@
import logging
import json
from data.database import Image, ImageStorage, Repository
from data.database import Image, ImageStorage, Repository, configure
from data import model
from app import app, storage as store
@ -9,6 +9,8 @@ from app import app, storage as store
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)
configure(app.config)
# Turn off debug logging for boto
logging.getLogger('boto').setLevel(logging.CRITICAL)
@ -17,7 +19,8 @@ query = (Image
.select(Image, ImageStorage, Repository)
.join(ImageStorage)
.switch(Image)
.join(Repository))
.join(Repository)
.where(Repository.name == 'userportal', Repository.namespace == 'crsinc'))
bad_count = 0
good_count = 0
@ -59,9 +62,11 @@ def all_ancestors_exist(ancestors):
cant_fix = []
for img in query:
try:
with_locations = model.get_repo_image(img.repository.namespace, img.repository.name,
img.docker_image_id)
ancestry_storage = store.image_ancestry_path(img.storage.uuid)
if store.exists(ancestry_storage):
full_ancestry = json.loads(store.get_content(ancestry_storage))[1:]
if store.exists(with_locations.storage.locations, ancestry_storage):
full_ancestry = json.loads(store.get_content(with_locations.storage.locations, ancestry_storage))[1:]
full_ancestry.reverse()
ancestor_dbids = [int(anc_id)
@ -84,6 +89,8 @@ for img in query:
bad_count += 1
else:
good_count += 1
else:
bad_count += 1
except RuntimeError:
cant_fix.append(img)