diff options
author | Tommy Carpenter <tommy@research.att.com> | 2017-08-11 15:02:32 -0400 |
---|---|---|
committer | Tommy Carpenter <tommy@research.att.com> | 2017-08-11 19:12:47 +0000 |
commit | 0581c1ed0320acd612dc38757744e8cc1212014b (patch) | |
tree | 7a9f4dbb689f56307c4ad1ca03d942c77d30b6b5 /config_binding_service/controller.py | |
parent | 816ac43c7c53508ca3ec174f38bd49d1583f1d12 (diff) |
Intial commit of CBS to ONAP
Change-Id: I2082544efc59476ac8de0dc39c899f968c3847bd
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
Issue-Id: DCAEGEN2-47
Diffstat (limited to 'config_binding_service/controller.py')
-rw-r--r-- | config_binding_service/controller.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/config_binding_service/controller.py b/config_binding_service/controller.py new file mode 100644 index 0000000..a74d60f --- /dev/null +++ b/config_binding_service/controller.py @@ -0,0 +1,49 @@ +# ============LICENSE_START======================================================= +# org.onap.dcae +# ================================================================================ +# Copyright (c) 2017 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 config_binding_service import client, get_consul_uri, get_logger +import requests +from flask import request, Response +import json + +def bind_config_for_scn(service_component_name): + try: + bound = client.resolve(service_component_name) + return Response(response=json.dumps(bound), + status=200, + mimetype="application/json") + except client.CantGetConfig as e: + return Response(status=e.code, + response=e.response) + except Exception as e: #should never happen... + _logger.error(e) + return Response(response="Please report this error", + status=500) + +def healthcheck(): + #got this far, I must be alive... check my connection to Consul by checking myself + CONSUL = get_consul_uri() + res = requests.get("{0}/v1/catalog/service/config_binding_service".format(CONSUL)) + if res.status_code == 200: + return Response(response = "CBS is alive and Consul connection OK", + status = 200) + else: + return Response(response = "CBS is alive but cannot reach Consul", + status = 503) + |