summaryrefslogtreecommitdiffstats
path: root/dcae-policy/dcaepolicyplugin/discovery.py
diff options
context:
space:
mode:
authorAlex Shatov <alexs@att.com>2018-03-26 17:16:29 -0400
committerAlex Shatov <alexs@att.com>2018-03-26 17:16:29 -0400
commit19470fb77656cd6680058f456fb0f09e86f504dc (patch)
treea8cbb44de0d6ae9a1196f448f6f6a2ed7ebcaba5 /dcae-policy/dcaepolicyplugin/discovery.py
parent7d9895ebb2ed0554ed8fafa5c909a9a930c3f962 (diff)
2.2.0 dcaepolicyplugin and data types
- dcaepolicyplugin to use default policy-handler url by dns to discover policy-handler under k8s when policy_handler record not found under consul-service - pending hardcoding the proper dns based url that is to be provided by k8s + MSB solution Change-Id: I8bf49fe29735ec842235c0b58595c7196f5d24ca Signed-off-by: Alex Shatov <alexs@att.com> Issue-ID: DCAEGEN2-419
Diffstat (limited to 'dcae-policy/dcaepolicyplugin/discovery.py')
-rw-r--r--dcae-policy/dcaepolicyplugin/discovery.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/dcae-policy/dcaepolicyplugin/discovery.py b/dcae-policy/dcaepolicyplugin/discovery.py
index f463b04..45a061b 100644
--- a/dcae-policy/dcaepolicyplugin/discovery.py
+++ b/dcae-policy/dcaepolicyplugin/discovery.py
@@ -20,14 +20,23 @@
import requests
+from cloudify import ctx
+
# it is safe to assume that consul agent is at localhost:8500 along with cloudify manager
CONSUL_SERVICE_URL = "http://localhost:8500/v1/catalog/service/{0}"
def discover_service_url(service_name):
"""find the service record in consul"""
- response = requests.get(CONSUL_SERVICE_URL.format(service_name))
- response.raise_for_status()
- resp_json = response.json()
- if resp_json:
- service = resp_json[0]
- return "http://{0}:{1}".format(service["ServiceAddress"], service["ServicePort"])
+ service_url_url = CONSUL_SERVICE_URL.format(service_name)
+ ctx.logger.info("getting service_url at {0}".format(service_url_url))
+
+ response = requests.get(service_url_url)
+
+ ctx.logger.info("got service_url at {0} status({1}) response: {2}"
+ .format(service_url_url, response.status_code, response.text))
+
+ if response.status_code == requests.codes.ok:
+ resp_json = response.json()
+ if resp_json:
+ service = resp_json[0]
+ return "http://{0}:{1}".format(service["ServiceAddress"], service["ServicePort"])