From bf73377394852821cd85ed5ac3f21070bf262aff Mon Sep 17 00:00:00 2001 From: Steffen Neubauer Date: Wed, 30 Aug 2017 21:26:36 +0200 Subject: [PATCH] consul: Always fail if no service_name was provided. (#25877) Fixes a subtile bug introduced in PR #21737 --- lib/ansible/modules/clustering/consul.py | 4 ++-- .../roles/test_consul_service/tasks/main.yml | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/clustering/consul.py b/lib/ansible/modules/clustering/consul.py index 29212635cf..aeb8787446 100644 --- a/lib/ansible/modules/clustering/consul.py +++ b/lib/ansible/modules/clustering/consul.py @@ -389,8 +389,8 @@ def parse_service(module): module.params.get('service_port'), module.params.get('tags'), ) - elif module.params.get('service_port') and not module.params.get('service_name'): - module.fail_json(msg="service_port supplied but no service_name, a name is required to configure a service.") + elif not module.params.get('service_name'): + module.fail_json(msg="service_name is required to configure a service.") class ConsulService(): diff --git a/test/integration/roles/test_consul_service/tasks/main.yml b/test/integration/roles/test_consul_service/tasks/main.yml index ce9ac29cfb..2fd593b1b3 100644 --- a/test/integration/roles/test_consul_service/tasks/main.yml +++ b/test/integration/roles/test_consul_service/tasks/main.yml @@ -47,6 +47,17 @@ - basic2_result.service_id == 'service2' - basic2_result.service_name == 'Basic Service' +- name: register service without name + consul: + service_id: this_will_fail + register: noname_result + ignore_errors: True + +- name: verify registering service without name fails + assert: + that: + - noname_result | failed + - name: register very basic service without service_port consul: service_name: Basic Service Without Port