diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/check_health.py | 66 | ||||
-rwxr-xr-x | bin/run.py | 89 |
2 files changed, 0 insertions, 155 deletions
diff --git a/bin/check_health.py b/bin/check_health.py deleted file mode 100755 index ae61881..0000000 --- a/bin/check_health.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 -# ============LICENSE_START======================================================= -# 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. -from http.server import HTTPServer, BaseHTTPRequestHandler -from urllib import parse - -#from BaseHTTPServer import BaseHTTPRequestHandler -#import urlparse -import json - -class GetHandler(BaseHTTPRequestHandler): - - def do_GET(self): - parsed_path = parse.urlparse(self.path) - message = '\n'.join([ - 'CLIENT VALUES:', - 'client_address=%s (%s)' % (self.client_address, self.address_string()), - 'command=%s' % self.command, - 'path=%s' % self.path, - 'real path=%s' % parsed_path.path, - 'query=%s' % parsed_path.query, - 'request_version=%s' % self.request_version, - '', - 'SERVER VALUES:', - 'server_version=%s' % self.server_version, - 'sys_version=%s' % self.sys_version, - 'protocol_version=%s' % self.protocol_version, - '', - ]) - self.send_response(200) - self.end_headers() - self.wfile.write(message) - return - - def do_POST(self): - content_len = int(self.headers.getheader('content-length')) - post_body = self.rfile.read(content_len) - self.send_response(200) - self.end_headers() - - data = json.loads(post_body) - - self.wfile.write(data['health']) - return - -if __name__ == '__main__': - from http.server import HTTPServer - #from BaseHTTPServer import HTTPServer - server = HTTPServer(("", 10001), GetHandler) - print('Starting server at http://localhost:10001') - server.serve_forever() diff --git a/bin/run.py b/bin/run.py deleted file mode 100755 index 311b44c..0000000 --- a/bin/run.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python3 - -# ============LICENSE_START======================================================= -# 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. -# -# Author Gokul Singaraju gs244f@att.com -# - -import os -import sys -import yaml -import multiprocessing -import logging -import subprocess -from miss_htbt_service import get_logger - -mr_url = 'http://mrrouter.onap.org:3904' -pol_url = 'http://mrrouter.onap.org:3904' -intopic = 'VESCOLL-VNFNJ-SECHEARTBEAT-OUTPUT' -outopic = 'POLICY-HILOTCA-EVENT-OUTPUT' - -#Checks heartbeat by calling worker thread -def checkhtbt(mr_url, intopic, pol_url, outopic, misshtbt,intvl): - print('Doing some work',mr_url, misshtbt,intvl,intopic,outopic) - subprocess.call(["/usr/bin/python","./miss_htbt_service/htbtworker.py" , mr_url , intopic, pol_url, outopic, str(misshtbt) , str(intvl) ]) - sys.stdout.flush() - return - -_logger = get_logger(__name__) - -#main functon which reads yaml config and invokes heartbeat -#monitoring -if __name__ == '__main__': - try: - print("Heartbeat Microservice ...") - if "INURL" in os.environ.keys(): - mr_url = os.environ['INURL'] - if "INTOPIC" in os.environ.keys(): - intopic = os.environ['INTOPIC'] - if "OUTURL" in os.environ.keys(): - pol_url = os.environ['OUTURL'] - if "OUTOPIC" in os.environ.keys(): - outopic = os.environ['OUTOPIC'] - print(outopic) - multiprocessing.log_to_stderr() - logger = multiprocessing.get_logger() - logger.setLevel(logging.INFO) - my_env = os.environ.copy() - my_env["PYTHONPATH"] = my_env["PYTHONPATH"]+"/usr/local/lib/python3.6:" - p = subprocess.Popen(['./bin/check_health.py'],stdout=subprocess.PIPE,env=my_env) - #print(p.communicate()) - with open("./miss_htbt_service/config/config.yaml", 'r') as ymlfile: - cfg = yaml.load(ymlfile) - # Put some initial values into the queue - for section in cfg: - print(section) - #print(cfg['global']) - #print(cfg['global']['message_router_url']) - jobs = [] - for vnf in (cfg['vnfs']): - print(cfg['vnfs'][vnf]) - #print(cfg['vnfs'][vnf][0]) - #print(cfg['vnfs'][vnf][1]) - #print(cfg['vnfs'][vnf][2]) - #Start Heartbeat monitoring process worker thread on VNFs configured - logger.info("Starting threads...") - p = multiprocessing.Process(target=checkhtbt, args=( mr_url, intopic, pol_url, outopic, cfg['vnfs'][vnf][0],cfg['vnfs'][vnf][1])) - jobs.append(p) - p.start() - for j in jobs: - j.join() - print('%s.exitcode = %s' % (j.name, j.exitcode)) - except Exception as e: - _logger.error("Fatal error. Could not start missing heartbeat service due to: {0}".format(e)) |