aboutsummaryrefslogtreecommitdiffstats
path: root/policyhandler/__main__.py
diff options
context:
space:
mode:
authorAlex Shatov <alexs@att.com>2018-06-14 12:06:42 -0400
committerAlex Shatov <alexs@att.com>2018-06-14 12:06:42 -0400
commitc9ec231483d905f3a391c3985c2c2762344ed5c1 (patch)
treefae12736cb572f07f733fe4a5ffd68e2df21d77e /policyhandler/__main__.py
parent83de7401162dc895ae8343a2e43f2c9eb57afb06 (diff)
3.0.0 policy-handler - migrated to python 3.6
- migrated from python 2.7 to 3.6 - brought up the latest versions of dependencies -- Cherrypy 15.0.0, requests 2.18.4, websocket-client 0.48.0 - fixed migration errors -- renamed the standard package Queue to queue -- dict.items() instead of dict.iteritems() -- dict.keys() instead of dict.viewkeys() -- range() instead of xrange() -- subprocess.check_output(..., universal_newlines=True) to get str instead of byte-stream from stdout - cleaned up migration warnings -- super() instead of super(A, self) -- logger.warning() instead of .warn() - moved main() from policy_handler.py to __main__.py - getting the policy_handler version directly from setup.py instead of the env var on init of the audit Change-Id: I0fc4ddc51c08a64f3cfdc5d2f010b1c6a1ae92f0 Signed-off-by: Alex Shatov <alexs@att.com> Issue-ID: DCAEGEN2-515
Diffstat (limited to 'policyhandler/__main__.py')
-rw-r--r--policyhandler/__main__.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/policyhandler/__main__.py b/policyhandler/__main__.py
new file mode 100644
index 0000000..1f17d9d
--- /dev/null
+++ b/policyhandler/__main__.py
@@ -0,0 +1,57 @@
+# ================================================================================
+# Copyright (c) 2017-2018 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=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+"""
+ run as server:
+ python -m policyhandler
+
+ that will invoke this module __main__.py in folder of policyhandler
+"""
+
+import logging
+import sys
+
+from policyhandler import LogWriter
+from policyhandler.config import Config
+from policyhandler.onap.audit import Audit
+from policyhandler.policy_receiver import PolicyReceiver
+from policyhandler.web_server import PolicyWeb
+
+
+def run_policy_handler():
+ """main run function for policy-handler"""
+ Config.load_from_file()
+ Config.discover()
+
+ logger = logging.getLogger("policy_handler")
+ sys.stdout = LogWriter(logger.info)
+ sys.stderr = LogWriter(logger.error)
+
+ logger.info("========== run_policy_handler ========== %s", __package__)
+ Audit.init(Config.get_system_name(), Config.LOGGER_CONFIG_FILE_PATH)
+
+ logger.info("starting policy_handler with config:")
+ logger.info(Audit.log_json_dumps(Config.config))
+
+ audit = Audit(req_message="start policy handler")
+ PolicyReceiver.run(audit)
+ PolicyWeb.run_forever(audit)
+
+
+if __name__ == "__main__":
+ run_policy_handler()