diff --git a/endpoints/common.py b/endpoints/common.py index d778e552e..bc7498738 100644 --- a/endpoints/common.py +++ b/endpoints/common.py @@ -10,6 +10,7 @@ from flask.ext.principal import identity_changed from random import SystemRandom from data import model +from data.database import db from app import app, login_manager, dockerfile_build_queue, notification_queue from auth.permissions import QuayDeferredPermissionUser from auth import scopes @@ -222,16 +223,17 @@ def start_build(repository, dockerfile_id, tags, build_name, subdir, manual, 'build_subdir': subdir } - build_request = model.create_repository_build(repository, token, job_config, - dockerfile_id, build_name, - trigger, pull_robot_name=pull_robot_name) + with app.config['DB_TRANSACTION_FACTORY'](db): + build_request = model.create_repository_build(repository, token, job_config, + dockerfile_id, build_name, + trigger, pull_robot_name=pull_robot_name) - dockerfile_build_queue.put([repository.namespace_user.username, repository.name], json.dumps({ - 'build_uuid': build_request.uuid, - 'namespace': repository.namespace_user.username, - 'repository': repository.name, - 'pull_credentials': model.get_pull_credentials(pull_robot_name) if pull_robot_name else None - }), retries_remaining=1) + dockerfile_build_queue.put([repository.namespace_user.username, repository.name], json.dumps({ + 'build_uuid': build_request.uuid, + 'namespace': repository.namespace_user.username, + 'repository': repository.name, + 'pull_credentials': model.get_pull_credentials(pull_robot_name) if pull_robot_name else None + }), retries_remaining=1) # Add the build to the repo's log. metadata = {