diff options
Diffstat (limited to 'dcae-policy/dcaepolicyplugin')
-rw-r--r-- | dcae-policy/dcaepolicyplugin/discovery.py | 21 | ||||
-rw-r--r-- | dcae-policy/dcaepolicyplugin/tasks.py | 5 |
2 files changed, 19 insertions, 7 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"]) diff --git a/dcae-policy/dcaepolicyplugin/tasks.py b/dcae-policy/dcaepolicyplugin/tasks.py index fd3e37c..b3a29aa 100644 --- a/dcae-policy/dcaepolicyplugin/tasks.py +++ b/dcae-policy/dcaepolicyplugin/tasks.py @@ -50,6 +50,7 @@ class PolicyHandler(object): SERVICE_NAME_POLICY_HANDLER = "policy_handler" X_ECOMP_REQUESTID = 'X-ECOMP-RequestID' STATUS_CODE_POLICIES_NOT_FOUND = 404 + DEFAULT_URL = "http://policy-handler" _url = None @staticmethod @@ -59,6 +60,8 @@ class PolicyHandler(object): return PolicyHandler._url = discover_service_url(PolicyHandler.SERVICE_NAME_POLICY_HANDLER) + if not PolicyHandler._url: + PolicyHandler._url = PolicyHandler.DEFAULT_URL @staticmethod def get_latest_policy(policy_id): @@ -68,7 +71,7 @@ class PolicyHandler(object): ph_path = "{0}/policy_latest/{1}".format(PolicyHandler._url, policy_id) headers = {PolicyHandler.X_ECOMP_REQUESTID: str(uuid.uuid4())} - ctx.logger.info("getting latest policy from {0} headers={1}".format( \ + ctx.logger.info("getting latest policy from {0} headers={1}".format( ph_path, json.dumps(headers))) res = requests.get(ph_path, headers=headers) ctx.logger.info("latest policy for policy_id({0}) status({1}) response: {2}" |