summaryrefslogtreecommitdiffstats
path: root/dcae-policy/dcaepolicyplugin/discovery.py
diff options
context:
space:
mode:
authorLusheng Ji <lji@research.att.com>2018-04-12 21:42:15 +0000
committerGerrit Code Review <gerrit@onap.org>2018-04-12 21:42:15 +0000
commitfe5179575191dd40af3d9e4a8d4bd0144e4d08de (patch)
treeae096943a244065006fc21b750fb61e6ef00f529 /dcae-policy/dcaepolicyplugin/discovery.py
parent0b36661caa4c32d652614f256b41644ade09a937 (diff)
parent5a412c36b76f375aba863e3668ce6cb4f457e0d7 (diff)
Merge "2.3.0 dcaepolicyplugin and data types"
Diffstat (limited to 'dcae-policy/dcaepolicyplugin/discovery.py')
-rw-r--r--dcae-policy/dcaepolicyplugin/discovery.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/dcae-policy/dcaepolicyplugin/discovery.py b/dcae-policy/dcaepolicyplugin/discovery.py
index 1faee08..0517377 100644
--- a/dcae-policy/dcaepolicyplugin/discovery.py
+++ b/dcae-policy/dcaepolicyplugin/discovery.py
@@ -23,10 +23,15 @@ import json
import requests
from cloudify import ctx
+from cloudify.exceptions import NonRecoverableError
-# 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}"
-CONSUL_KV_MASK = "http://localhost:8500/v1/kv/{0}"
+# it is safe to assume that consul agent is at consul:8500
+# define consul alis in /etc/hosts on cloudify manager vm
+# $ cat /etc/hosts
+# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 consul
+
+CONSUL_SERVICE_URL = "http://consul:8500/v1/catalog/service/{0}"
+CONSUL_KV_MASK = "http://consul:8500/v1/kv/{0}"
def discover_service_url(service_name):
@@ -34,7 +39,11 @@ def discover_service_url(service_name):
service_url = CONSUL_SERVICE_URL.format(service_name)
ctx.logger.info("getting service_url at {0}".format(service_url))
- response = requests.get(service_url)
+ try:
+ response = requests.get(service_url)
+ except requests.ConnectionError as ex:
+ raise NonRecoverableError(
+ "ConnectionError - failed to get {0}: {1}".format(service_url, str(ex)))
ctx.logger.info("got {0} for service_url at {1} response: {2}"
.format(response.status_code, service_url, response.text))
@@ -53,7 +62,11 @@ def discover_value(key):
kv_url = CONSUL_KV_MASK.format(key)
ctx.logger.info("getting kv at {0}".format(kv_url))
- response = requests.get(kv_url)
+ try:
+ response = requests.get(kv_url)
+ except requests.ConnectionError as ex:
+ raise NonRecoverableError(
+ "ConnectionError - failed to get {0}: {1}".format(kv_url, str(ex)))
ctx.logger.info("got {0} for kv at {1} response: {2}"
.format(response.status_code, kv_url, response.text))