From d1e8ef79ea2b5f22d875f0e468e6ce0a4e0ab6e8 Mon Sep 17 00:00:00 2001 From: Rene Moser Date: Sun, 19 Mar 2017 09:52:11 +0100 Subject: [PATCH] cloudstack: fix load balancer idempotency if no zone given get_zone() is special, as it always returns a zone (default zone) even if no zone param is given. This makes sense for many use cases. --- lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py | 2 +- .../modules/cloud/cloudstack/cs_loadbalancer_rule_member.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py b/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py index d3c4d34c66d..668f2f62153 100644 --- a/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py +++ b/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py @@ -253,7 +253,7 @@ class AnsibleCloudStackLBRule(AnsibleCloudStack): 'account': self.get_account(key='name'), 'domainid': self.get_domain(key='id'), 'projectid': self.get_project(key='id'), - 'zoneid': self.get_zone(key='id'), + 'zoneid': self.get_zone(key='id') if self.module.params.get('zone') else None, 'publicipid': self.get_ip_address(key='id'), 'name': self.module.params.get('name'), } diff --git a/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py b/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py index 86f645f138e..9516dcf2238 100644 --- a/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py +++ b/lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py @@ -227,7 +227,7 @@ class AnsibleCloudStackLBRuleMember(AnsibleCloudStack): def get_rule(self): args = self._get_common_args() args['name'] = self.module.params.get('name') - args['zoneid'] = self.get_zone(key='id') + args['zoneid'] = self.get_zone(key='id') if self.module.params.get('zone') else None if self.module.params.get('ip_address'): args['publicipid'] = self.get_ip_address(key='id') rules = self.cs.listLoadBalancerRules(**args)