From 7cd3da9b585dbb40e49486fe272bb7093cd3826d Mon Sep 17 00:00:00 2001 From: Steve Gargan Date: Thu, 8 Sep 2016 07:17:56 +0200 Subject: [PATCH] correctly iterate and return results of any service checks. (#2878) current implementation was breaking making the module unusable, changing to the list comprehension fixes this. Also default to seconds instead of throwing a exception when no duration units are supplied as this causes tests to fail --- lib/ansible/modules/extras/clustering/consul.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/extras/clustering/consul.py b/lib/ansible/modules/extras/clustering/consul.py index 002aca3e7b6..b9cdfb09d8a 100644 --- a/lib/ansible/modules/extras/clustering/consul.py +++ b/lib/ansible/modules/extras/clustering/consul.py @@ -315,7 +315,7 @@ def add_service(module, service): service_id=result.id, service_name=result.name, service_port=result.port, - checks=map(lambda x: x.to_dict(), service.checks), + checks=[check.to_dict() for check in service.checks], tags=result.tags) @@ -484,8 +484,7 @@ class ConsulCheck(): if duration: duration_units = ['ns', 'us', 'ms', 's', 'm', 'h'] if not any((duration.endswith(suffix) for suffix in duration_units)): - raise Exception('Invalid %s %s you must specify units (%s)' % - (name, duration, ', '.join(duration_units))) + duration = "{}s".format(duration) return duration def register(self, consul_api):