summaryrefslogtreecommitdiffstats
path: root/oti/event-handler/otihandler/__main__.py
diff options
context:
space:
mode:
authorKotagiri, Ramprasad (rp5662) <rp5662@att.com>2019-12-19 17:41:16 -0500
committerKotagiri, Ramprasad (rp5662) <rp5662@att.com>2020-01-21 16:50:17 -0500
commit158b75abd6095a3155f5057832ec868bc99ced36 (patch)
treed374ba4adcfa6db9a036cb2bf018fe529c215eee /oti/event-handler/otihandler/__main__.py
parent77900bb3097491cd9fca964c111ea70724e53989 (diff)
Add OTI event-handler project
OTI event handler application in DCAEGEN2 platform Change-Id: Ie64f26f851e2045f00043f90279d503c2dc62948 Issue-ID: DCAEGEN2-1910 Signed-off-by: Kotagiri, Ramprasad (rp5662) <rp5662@att.com>
Diffstat (limited to 'oti/event-handler/otihandler/__main__.py')
-rw-r--r--oti/event-handler/otihandler/__main__.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/oti/event-handler/otihandler/__main__.py b/oti/event-handler/otihandler/__main__.py
new file mode 100644
index 0000000..59a7087
--- /dev/null
+++ b/oti/event-handler/otihandler/__main__.py
@@ -0,0 +1,74 @@
+# ================================================================================
+# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+"""run as server: python -m otihandler"""
+
+import logging
+import os
+import sys
+
+from otihandler.config import Config
+from otihandler.onap.audit import Audit
+from otihandler.web_server import DTIWeb
+from otihandler.dbclient import DaoBase
+
+
+class LogWriter(object):
+ """redirect the standard out + err to the logger"""
+
+ def __init__(self, logger_func):
+ self.logger_func = logger_func
+
+ def write(self, log_line):
+ """actual writer to be used in place of stdout or stderr"""
+
+ log_line = log_line.rstrip()
+ if log_line:
+ self.logger_func(log_line)
+
+ def flush(self):
+ """no real flushing of the buffer"""
+
+ pass
+
+
+def run_event_handler():
+ """main run function for event_handler"""
+
+ Config.load_from_file()
+ # Config.discover()
+
+ logger = logging.getLogger("event_handler")
+ sys.stdout = LogWriter(logger.info)
+ sys.stderr = LogWriter(logger.error)
+
+ logger.info("========== run_event_handler ==========")
+ app_version = os.getenv("APP_VER")
+ logger.info("app_version %s", app_version)
+ Audit.init(Config.get_system_name(), app_version, Config.LOGGER_CONFIG_FILE_PATH)
+
+ logger.info("starting event_handler with config:")
+ logger.info(Audit.log_json_dumps(Config.config))
+
+ audit = Audit(req_message="start event_handler")
+
+ audit = Audit(req_message="DB init start")
+ DaoBase.init_db(os.environ.get("DB_CONN_URL"))
+
+ DTIWeb.run_forever(audit)
+
+if __name__ == "__main__":
+ run_event_handler()