diff options
author | Alex Shatov <alexs@att.com> | 2018-06-14 12:06:42 -0400 |
---|---|---|
committer | Alex Shatov <alexs@att.com> | 2018-06-14 12:06:42 -0400 |
commit | c9ec231483d905f3a391c3985c2c2762344ed5c1 (patch) | |
tree | fae12736cb572f07f733fe4a5ffd68e2df21d77e /policyhandler/__main__.py | |
parent | 83de7401162dc895ae8343a2e43f2c9eb57afb06 (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__.py | 57 |
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() |