Merge branch 'rustedbuilds' of https://bitbucket.org/yackob03/quay into rustedbuilds

This commit is contained in:
Joseph Schorr 2014-02-25 18:22:59 -05:00
commit a6128978cb
20 changed files with 143 additions and 67 deletions

View file

@ -1252,15 +1252,14 @@ def request_repo_build(namespace, repository):
logger.debug('**********Md5: %s' % display_name)
host = urlparse.urlparse(request.url).netloc
repo = '%s/%s/%s' % (host, repo.namespace, repo.name)
repo_tag_base = '%s/%s/%s' % (host, repo.namespace, repo.name)
job_config = {
'docker_tags': ['latest'],
'build_subdir': '',
'repository': repo,
'resource_key': dockerfile_id,
'repository': repo_tag_base,
}
build_request = model.create_repository_build(repo, token, job_config,
display_name)
dockerfile_id, display_name)
dockerfile_build_queue.put(json.dumps({
'build_uuid': build_request.uuid,
'namespace': namespace,

View file

@ -90,12 +90,14 @@ def common_login(db_user):
@app.errorhandler(model.DataModelException)
def handle_dme(ex):
logger.exception(ex)
return make_response(ex.message, 400)
@app.errorhandler(KeyError)
def handle_dme_key_error(ex):
return make_response(ex.message, 400)
logger.exception(ex)
return make_response('Invalid key: %s' % ex.message, 400)
def generate_csrf_token():

View file

@ -9,8 +9,8 @@ from collections import OrderedDict
from data import model, userevent
from data.queue import webhook_queue
from app import mixpanel, app
from auth.auth import (process_auth, get_authenticated_user,
get_validated_token)
from auth.auth import process_auth
from auth.auth_context import get_authenticated_user, get_validated_token
from util.names import parse_repository_name
from util.email import send_confirmation_email
from auth.permissions import (ModifyRepositoryPermission, UserPermission,
@ -193,17 +193,15 @@ def create_repository(namespace, repository):
for desc in image_descriptions])
new_repo_images = dict(added_images)
existing_image_translations = {}
for existing in model.get_repository_images(namespace, repository):
if existing.docker_image_id in new_repo_images:
existing_image_translations[existing.docker_image_id] = existing.id
added_images.pop(existing.docker_image_id)
username = get_authenticated_user() and get_authenticated_user().username
translations = {}
for image_description in added_images.values():
model.create_or_link_image(image_description['id'], repo, username,
translations, existing_image_translations)
model.find_create_or_link_image(image_description['id'], repo, username,
translations)
response = make_response('Created', 201)

View file

@ -2,7 +2,7 @@ import logging
import json
from flask import (make_response, request, session, Response, redirect,
Blueprint, abort as flask_abort)
Blueprint)
from functools import wraps
from datetime import datetime
from time import time
@ -259,7 +259,7 @@ def get_image_json(namespace, repository, image_id, headers):
data = store.get_content(store.image_json_path(namespace, repository,
image_id, uuid))
except IOError:
flask_abort(404)
abort(404, message='Image data not found')
try:
size = store.get_size(store.image_layer_path(namespace, repository,

View file

@ -84,10 +84,10 @@ def build_trigger_webhook(namespace, repository, trigger_uuid):
'docker_tags': tags,
'repository': repo,
'build_subdir': subdir,
'resource_key': dockerfile_id,
}
build_request = model.create_repository_build(trigger.repository, token,
job_config, name, trigger)
job_config, dockerfile_id,
name, trigger)
dockerfile_build_queue.put(json.dumps({
'build_uuid': build_request.uuid,