mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-05 03:38:12 +08:00
This commit is contained in:
@@ -265,7 +265,7 @@ def submit_module_build(scm_url, branch, server, id_provider, pyrpkg, verify=Tru
|
||||
return data['id']
|
||||
return -3
|
||||
|
||||
def do_local_build(scm_url, branch, skiptests):
|
||||
def do_local_build(scm_url, branch, skiptests, log_flag=None):
|
||||
"""
|
||||
Starts the local build using the 'mbs-manager build_module_locally'
|
||||
command. Returns exit code of that command or None when scm_url or
|
||||
@@ -278,7 +278,10 @@ def do_local_build(scm_url, branch, skiptests):
|
||||
|
||||
|
||||
logging.info("Starting local build of %s, branch %s", scm_url, branch)
|
||||
command = ['mbs-manager', 'build_module_locally']
|
||||
command = ['mbs-manager']
|
||||
if log_flag:
|
||||
command.append(log_flag)
|
||||
command.append('build_module_locally')
|
||||
if skiptests:
|
||||
command.append('--skiptests')
|
||||
logging.info("Tests will be skipped due to --skiptests option.")
|
||||
@@ -372,10 +375,17 @@ def main():
|
||||
# Parse command line arguments
|
||||
parser = argparse.ArgumentParser(description="Submits and manages module builds.")
|
||||
subparsers = parser.add_subparsers(dest="cmd_name")
|
||||
parser.add_argument('-v', dest='verbose', action='store_true',
|
||||
# logging
|
||||
flag_debug = '-d'
|
||||
flag_verbose = '-v'
|
||||
flag_quiet = '-q'
|
||||
parser.add_argument(flag_debug, dest='debug', action='store_true',
|
||||
help="shows debug output")
|
||||
parser.add_argument(flag_verbose, dest='verbose', action='store_true',
|
||||
help="shows verbose output")
|
||||
parser.add_argument('-q', dest='quiet', action='store_true',
|
||||
help="shows only warnings and errors")
|
||||
parser.add_argument(flag_quiet, dest='quiet', action='store_true',
|
||||
help="shows only errors")
|
||||
|
||||
parser.add_argument('-k', '--insecure', dest='verify', action='store_false',
|
||||
help="allow connections to SSL sites without certs")
|
||||
parser.add_argument('-s', dest='server', action='store',
|
||||
@@ -438,12 +448,18 @@ def main():
|
||||
args = parser.parse_args()
|
||||
|
||||
# Initialize the logging.
|
||||
if args.verbose:
|
||||
log_flag = None
|
||||
if args.debug:
|
||||
loglevel = logging.DEBUG
|
||||
elif args.quiet:
|
||||
loglevel = logging.WARNING
|
||||
else:
|
||||
log_flag = flag_debug
|
||||
elif args.verbose:
|
||||
loglevel = logging.INFO
|
||||
log_flag = flag_verbose
|
||||
elif args.quiet:
|
||||
loglevel = logging.ERROR
|
||||
log_flag = flag_quiet
|
||||
else:
|
||||
loglevel = logging.WARNING
|
||||
logging.basicConfig(level=loglevel, format="%(levelname)s: %(message)s")
|
||||
|
||||
if args.cmd_name == "submit":
|
||||
@@ -458,7 +474,8 @@ def main():
|
||||
else:
|
||||
logging.info("Submitted module build %r" % build_id)
|
||||
elif args.cmd_name == "local":
|
||||
sys.exit(do_local_build(args.scm_url, args.branch, args.skiptests))
|
||||
sys.exit(do_local_build(args.scm_url, args.branch, args.skiptests,
|
||||
log_flag))
|
||||
elif args.cmd_name == "watch":
|
||||
# Watch the module build.
|
||||
try:
|
||||
|
||||
@@ -44,7 +44,8 @@ from flask import Flask, has_app_context, url_for
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from logging import getLogger
|
||||
|
||||
from module_build_service.logger import init_logging, ModuleBuildLogs
|
||||
from module_build_service.logger import (
|
||||
init_logging, ModuleBuildLogs, level_flags)
|
||||
|
||||
from module_build_service.errors import (
|
||||
ValidationError, Unauthorized, UnprocessableEntity, Conflict, NotFound,
|
||||
@@ -52,14 +53,32 @@ from module_build_service.errors import (
|
||||
from module_build_service.config import init_config
|
||||
from module_build_service.proxy import ReverseProxy
|
||||
|
||||
app = Flask(__name__)
|
||||
app.wsgi_app = ReverseProxy(app.wsgi_app)
|
||||
|
||||
def create_app(debug=False, verbose=False, quiet=False):
|
||||
app = Flask(__name__)
|
||||
app.wsgi_app = ReverseProxy(app.wsgi_app)
|
||||
|
||||
# logging (intended for flask-script, see manage.py)
|
||||
log = getLogger(__name__)
|
||||
if debug:
|
||||
log.setLevel(level_flags["debug"])
|
||||
elif verbose:
|
||||
log.setLevel(level_flags["verbose"])
|
||||
elif quiet:
|
||||
log.setLevel(level_flags["quiet"])
|
||||
|
||||
return app
|
||||
|
||||
app = create_app()
|
||||
conf = init_config(app)
|
||||
|
||||
db = SQLAlchemy(app)
|
||||
|
||||
|
||||
def load_views():
|
||||
from module_build_service import views
|
||||
assert views
|
||||
|
||||
|
||||
@app.errorhandler(ValidationError)
|
||||
def validationerror_error(e):
|
||||
"""Flask error handler for ValidationError exceptions"""
|
||||
@@ -122,5 +141,4 @@ def get_url_for(*args, **kwargs):
|
||||
"multiple session being used in the same time.")
|
||||
return url_for(*args, **kwargs)
|
||||
|
||||
|
||||
from module_build_service import views
|
||||
load_views()
|
||||
|
||||
@@ -51,6 +51,12 @@ levels["error"] = logging.ERROR
|
||||
levels["warning"] = logging.WARNING
|
||||
levels["info"] = logging.INFO
|
||||
|
||||
level_flags = {}
|
||||
level_flags["debug"] = levels["debug"]
|
||||
level_flags["verbose"] = levels["info"]
|
||||
level_flags["quiet"] = levels["error"]
|
||||
|
||||
|
||||
log_format = '%(asctime)s - %(threadName)s - %(name)s - %(levelname)s - %(message)s'
|
||||
|
||||
|
||||
|
||||
7
module_build_service/manage.py
Normal file → Executable file
7
module_build_service/manage.py
Normal file → Executable file
@@ -30,7 +30,7 @@ import ssl
|
||||
from shutil import rmtree
|
||||
import getpass
|
||||
|
||||
from module_build_service import app, conf, db
|
||||
from module_build_service import app, conf, db, create_app
|
||||
from module_build_service import models
|
||||
from module_build_service.utils import (
|
||||
submit_module_build_from_scm,
|
||||
@@ -39,11 +39,14 @@ import module_build_service.messaging
|
||||
import module_build_service.scheduler.consumer
|
||||
|
||||
|
||||
manager = Manager(app)
|
||||
manager = Manager(create_app)
|
||||
help_args = ('-?', '--help')
|
||||
manager.help_args = help_args
|
||||
migrate = flask_migrate.Migrate(app, db)
|
||||
manager.add_command('db', flask_migrate.MigrateCommand)
|
||||
manager.add_option('-d', '--debug', dest='debug', action='store_true')
|
||||
manager.add_option('-v', '--verbose', dest='verbose', action='store_true')
|
||||
manager.add_option('-q', '--quiet', dest='quiet', action='store_true')
|
||||
|
||||
|
||||
def console_script_help(f):
|
||||
|
||||
Reference in New Issue
Block a user