From c9ec231483d905f3a391c3985c2c2762344ed5c1 Mon Sep 17 00:00:00 2001 From: Alex Shatov Date: Thu, 14 Jun 2018 12:06:42 -0400 Subject: 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 Issue-ID: DCAEGEN2-515 --- policyhandler/__main__.py | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 policyhandler/__main__.py (limited to 'policyhandler/__main__.py') 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() -- cgit 1.2.3-korg