diff options
author | Chris Donley <christopher.donley@huawei.com> | 2018-03-16 14:16:45 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-03-16 14:16:45 +0000 |
commit | 1c473e186f58b2211e4658a472fc7dced7ec2f64 (patch) | |
tree | ac1ca80e07e1bf2bdffb79d26c37931348dd297a /ice-server/heat_test/app.py | |
parent | 2fab7d685ff579f1fa00013fe268a9a2bed03e5f (diff) | |
parent | b071b23b024a07b5e0d9f1c915468384369e26af (diff) |
Merge "Dockerize rest API for ICE tests"
Diffstat (limited to 'ice-server/heat_test/app.py')
-rw-r--r-- | ice-server/heat_test/app.py | 53 |
1 files changed, 45 insertions, 8 deletions
diff --git a/ice-server/heat_test/app.py b/ice-server/heat_test/app.py index c61150a..97c32a9 100644 --- a/ice-server/heat_test/app.py +++ b/ice-server/heat_test/app.py @@ -1,18 +1,19 @@ #!flask/bin/python -import argparse +import atexit import logging -import requests import connexion +import requests from connexion.resolver import RestyResolver +config = '' def create_app(): logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') app = connexion.App(__name__, specification_dir='swagger/') # load default config - app.app.config.from_object("default_settings") + app.app.config.from_pyfile("default_settings.cfg") app.app.config.from_envvar('ICE_SETTINGS', silent=True) app.add_api('ice_api.yaml', swagger_ui=app.app.config['DEBUG'], resolver=RestyResolver('ice_validator')) @@ -32,15 +33,51 @@ def start_app(app): logging.info("######################################") logging.info("starting server") logging.info("######################################") + global config + config = app.app.config + msb_register() + atexit.register(msb_unregister) app.run(port=app.app.config['ICE_PORT'], debug=app.app.config['DEBUG']) - # register service in MSB + +def msb_register(): + try: + msb_url = config['MSB_URL'] + ice_json = { + "serviceName": config['ICE_SERVICE_NAME'], + "version": config['ICE_VERSION'], + "url": "/onapapi/ice/v1", + "protocol": "REST", + "visualRange": "1", + "nodes": [ + { + "ip": config['ICE_ADDR'], + "port": config['ICE_PORT'], + "ttl": 0 + } + ] + } + resp = requests.post(msb_url, json=ice_json) + if resp.status_code == 201: + global registered + registered = True + logging.info("registration to '%s' done", msb_url) + else: + logging.info("registration to '%s' failed; status_code = '%s'", msb_url, resp.status_code) + except: + logging.info("registration to '%s' failed", msb_url) + + +def msb_unregister(): try: - msb_url = app.app.config['MSB_URL'] - requests.get(msb_url) - logging.info("registration to %s done", msb_url) + msb_url = "%s/%s/version/%s" % (config['MSB_URL'], config['ICE_SERVICE_NAME'], config['ICE_VERSION']) + resp = requests.delete(msb_url) + if resp.status_code == 200: + logging.info("unregistration from '%s' done", msb_url) + else: + logging.info("unregistration from '%s' failed; status_code = '%s'", msb_url, resp.status_code) except: - logging.info("registration to %s failed", msb_url) + logging.info("unregistration from '%s' failed", msb_url) if __name__ == '__main__': |