Nicholas Jones dac751d04b Merge diverged code
Change-Id: I7a88d9bec69371bec1004572a4fa87cdfbbf1f28
2018-05-08 11:50:06 -05:00

70 lines
1.9 KiB
Python
Executable File

import logging
from orm.common.client.audit.audit_client.api import audit
from pecan import conf, make_app
from pecan.commands import CommandRunner
from services import region_resource_id_status
from sot import sot_factory
from storage import factory
logger = logging.getLogger(__name__)
def setup_app(pecan_config):
"""This method is the starting point of the application.
The application can be started either by running pecan
and pass it the config.py,
or by running this file with python,
then the main method is called and starting pecan.
The method initializes components and return a WSGI application
"""
init_sot()
init_audit()
factory.database = conf.database
region_resource_id_status.config = conf.region_resource_id_status
app = make_app(conf.app.root, logging=conf.logging)
logger.info('Starting RDS...')
validate_sot()
return app
def init_sot():
"""Initialize SoT module
"""
sot_factory.sot_type = conf.sot.type
sot_factory.local_repository_path = conf.git.local_repository_path
sot_factory.relative_path_format = conf.git.relative_path_format
sot_factory.file_name_format = conf.git.file_name_format
sot_factory.commit_message_format = conf.git.commit_message_format
sot_factory.commit_user = conf.git.commit_user
sot_factory.commit_email = conf.git.commit_email
sot_factory.git_server_url = conf.git.git_server_url
sot_factory.git_type = conf.git.type
def init_audit():
"""Initialize audit client module
"""
audit.init(conf.audit.audit_server_url,
conf.audit.num_of_send_retries,
conf.audit.time_wait_between_retries,
conf.app.service_name)
def validate_sot():
sot_factory.get_sot().validate_sot_state()
def main():
runner = CommandRunner()
runner.run(['serve', '../config.py'])
if __name__ == "__main__":
main()