Create config for frontend or backend seperately

1. init_web_config: create Config object for frontend, load
   configuration from `web_config.py`.
2. init_backend_config: create Config for backend, load configuration
   from `backend_config.py`.

And two new classes inherit from `Config` in config.py:

1. WebConfig: representing the orchestrator frontend web configuration
2. BackendConfig: representing the orchestrator backend workers
                  configuration

Before calling init_{web,backend}_config, check sys.argv, if
"fedmsg-hub*", "celery" or "build_module_locally" is present, it's
running as backend.
This commit is contained in:
Qixiang Wan
2019-11-13 18:44:18 +08:00
committed by mprahl
parent f8079308b1
commit 81d9554af3
10 changed files with 245 additions and 192 deletions

View File

@@ -14,7 +14,7 @@ import koji
import module_build_service
from module_build_service import db
from module_build_service.utils import get_rpm_release, import_mmd, mmd_to_str
from module_build_service.config import init_config
from module_build_service.config import init_web_config
from module_build_service.models import (
ModuleBuild, ModuleArch, ComponentBuild, VirtualStream,
BUILD_STATES,
@@ -25,7 +25,7 @@ from module_build_service.db_session import db_session
base_dir = os.path.dirname(__file__)
app = module_build_service.app
conf = init_config(app)
conf = init_web_config(app)
def staged_data_filename(filename):

View File

@@ -8,7 +8,7 @@ import module_build_service.config as mbs_config
import module_build_service.monitor
from module_build_service import models
from module_build_service.db_session import db_session
from conf.config import TestConfiguration
from conf.web_config import TestConfiguration
from six.moves import reload_module
from tests import app, init_data, make_module_in_db