diff options
author | 2017-09-20 15:11:00 -0400 | |
---|---|---|
committer | 2017-09-20 16:55:34 -0400 | |
commit | c3a485a0a2805519a217575fd8c984b0312e9b43 (patch) | |
tree | 71da2f7e0909a41936542e9dd0ff2209fa74ae56 /python-cbs-docker-client/cbs_docker_client | |
parent | 385a2870137aa18d558f413136a361d0562a8ac6 (diff) |
Rename the cbs docker client
Issue-ID: DCAEGEN2-60
Change-Id: Ia0d4726215efc1c2fe78bee1bdfdf1403e2c349c
Signed-off-by: Tommy Carpenter <tommy@research.att.com>
Diffstat (limited to 'python-cbs-docker-client/cbs_docker_client')
-rw-r--r-- | python-cbs-docker-client/cbs_docker_client/__init__.py | 19 | ||||
-rw-r--r-- | python-cbs-docker-client/cbs_docker_client/client.py | 85 |
2 files changed, 0 insertions, 104 deletions
diff --git a/python-cbs-docker-client/cbs_docker_client/__init__.py b/python-cbs-docker-client/cbs_docker_client/__init__.py deleted file mode 100644 index 9e81f65..0000000 --- a/python-cbs-docker-client/cbs_docker_client/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# 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. - diff --git a/python-cbs-docker-client/cbs_docker_client/client.py b/python-cbs-docker-client/cbs_docker_client/client.py deleted file mode 100644 index 4423995..0000000 --- a/python-cbs-docker-client/cbs_docker_client/client.py +++ /dev/null @@ -1,85 +0,0 @@ -# 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. - -import json -import requests -import os -import logging - -root = logging.getLogger() -logger = root.getChild(__name__) - -def _get_uri_from_consul(consul_url, name): - """ - Call consul's catalog - TODO: currently assumes there is only one service with this HOSTNAME - """ - url = "{0}/v1/catalog/service/{1}".format(consul_url, name) - logger.debug("Trying to lookup service: {0}".format(url)) - res = requests.get(url) - try: - res.raise_for_status() - services = res.json() - return "http://{0}:{1}".format(services[0]["ServiceAddress"], services[0]["ServicePort"]) - except Exception as e: - logger.error("Exception occured when querying Consul: either could not hit {0} or no service registered. Error code: {1}, Error Text: {2}".format(url, res.status_code, res.text)) - return None - -def _get_envs(): - """ - Returns HOSTNAME, CONSUL_HOST, CONFIG_BINDING_SERVICE or crashes for caller to deal with - """ - HOSTNAME = os.environ["HOSTNAME"] - CONSUL_HOST = os.environ["CONSUL_HOST"] - return HOSTNAME, CONSUL_HOST - -#Public -def get_config(): - """ - This call does not raise an exception if Consul or the CBS cannot complete the request. - It logs an error and returns {} if the config is not bindable. - It could be a temporary network outage. Call me again later. - - It will raise an exception if the necessary env parameters were not set because that is irrecoverable. - This function is called in my /heatlhcheck, so this will be caught early. - """ - - config = {} - - HOSTNAME, CONSUL_HOST = _get_envs() - - #not sure how I as the component developer is supposed to know consul port - consul_url = "http://{0}:8500".format(CONSUL_HOST) - - #get the CBS URL. Would not need the following hoorahrah if we had DNS. - cbs_url = _get_uri_from_consul(consul_url, "config_binding_service") - if cbs_url is None: - logger.error("Cannot bind config at this time, cbs is unreachable") - else: - #get my config - my_config_endpoint = "{0}/service_component/{1}".format(cbs_url, HOSTNAME) - res = requests.get(my_config_endpoint) - try: - res.raise_for_status() - config = res.json() - logger.info("get_config returned the following configuration: {0}".format(json.dumps(config))) - except: - logger.error("in get_config, the config binding service endpoint {0} blew up on me. Error code: {1}, Error text: {2}".format(my_config_endpoint, res.status_code, res.text)) - return config - |